.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-normal);overflow:hidden}.sidebar-collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);height:var(--header-height);border-bottom:1px solid var(--border-light);flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);min-width:0}.sidebar-brand{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary);white-space:nowrap;letter-spacing:-.02em}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast);flex-shrink:0}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-collapsed .sidebar-toggle{margin:0 auto}.sidebar-nav{padding:var(--space-2) var(--space-2);flex-shrink:0}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;min-height:36px}.sidebar-nav-item:hover{background:var(--primary-50);color:var(--primary)}.sidebar-nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:var(--font-weight-semibold)}.sidebar-collapsed .sidebar-nav-item{justify-content:center;padding:var(--space-2);flex-direction:column;gap:2px}.sidebar-nav-short{font-size:10px;color:var(--text-muted);line-height:1;white-space:nowrap}.sidebar-collapsed .sidebar-nav-item.active .sidebar-nav-short{color:var(--primary)}.sidebar-plugin-section{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-light);min-height:0}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-2) var(--space-2) var(--space-1)}.sidebar-accordion{display:flex;flex-direction:column}.accordion-group{margin-bottom:1px}.accordion-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:all var(--transition-fast);min-height:30px}.accordion-trigger:hover{background:var(--surface-hover);color:var(--text-primary)}.accordion-trigger.expanded{color:var(--primary);background:var(--primary-50)}.accordion-icon{display:flex;align-items:center;flex-shrink:0;width:16px;height:16px}.accordion-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accordion-count{font-size:.65rem;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--border-light);color:var(--text-muted);font-weight:600}.accordion-trigger.expanded .accordion-count{background:var(--primary-100);color:var(--primary)}.accordion-chevron{flex-shrink:0;color:var(--text-muted);transition:transform var(--transition-fast)}.accordion-chevron.chevron-open{transform:rotate(180deg)}.accordion-body{padding:2px 0 4px 20px;animation:accordionSlideIn .15s ease}@keyframes accordionSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.accordion-plugin-item{display:flex;align-items:center;gap:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);text-decoration:none;transition:all var(--transition-fast)}.accordion-plugin-item:hover{background:var(--primary-50);color:var(--primary)}.plugin-ready-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;animation:breathe 2.5s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.accordion-plugin-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-empty{padding:var(--space-1) var(--space-2)}.accordion-empty-text{font-size:var(--font-size-xs);color:var(--text-muted)}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light);flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-2);transition:background var(--transition-fast)}.sidebar-user:hover{background:var(--surface-hover)}.sidebar-user-avatar{width:26px;height:26px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-200),var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;flex-shrink:0}.sidebar-user-name{font-size:var(--font-size-sm);color:var(--text-secondary)}.sidebar-footer-version{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}}.app-header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);z-index:90;transition:left var(--transition-normal)}.sidebar-collapsed~.app-main .app-header,.app-main.sidebar-collapsed .app-header{left:var(--sidebar-collapsed-width)}.header-left{display:flex;align-items:center;gap:var(--space-4)}.header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.header-right{display:flex;align-items:center;gap:var(--space-4)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.header-status.online{background:var(--success-bg);color:var(--success)}.header-status.offline{background:var(--warning-bg);color:var(--warning)}.header-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.header-status-text{white-space:nowrap}@media (max-width: 768px){.app-header{left:0}}.offline-banner{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:13px;animation:slideDown .3s ease}.offline-banner--ready{background:#fef3c7;border-bottom:1px solid #f59e0b;color:#92400e}.offline-banner--warning{background:#fee2e2;border-bottom:1px solid #ef4444;color:#991b1b}.offline-banner__content{display:flex;align-items:center;gap:10px}.offline-banner__icon{font-size:16px;flex-shrink:0}.offline-banner__text{display:flex;flex-direction:column;gap:2px}.offline-banner__title{font-weight:600}.offline-banner__desc{opacity:.85}.offline-banner__resources{font-size:11px;opacity:.7;margin-top:2px}.offline-banner__dismiss{background:none;border:none;font-size:18px;cursor:pointer;opacity:.5;padding:4px 8px;line-height:1;color:inherit}.offline-banner__dismiss:hover{opacity:1}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.data-uploader{width:100%}.uploader-zone{position:relative;border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--surface);overflow:hidden}.uploader-zone:hover{border-color:var(--primary);background:var(--primary-light)}.uploader-zone.dragging{border-color:var(--primary);background:var(--primary-light);transform:scale(1.01)}.uploader-zone.processing{cursor:wait;opacity:.8}.uploader-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.uploader-icon{color:var(--primary);opacity:.7}.uploader-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary)}.uploader-hint{font-size:var(--font-size-sm);color:var(--text-secondary)}.uploader-formats{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.uploader-formats .badge{background:var(--bg);color:var(--text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.uploader-processing{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-4)}.uploader-processing .uploader-text{color:var(--text-secondary);font-size:var(--font-size-sm)}.uploader-error{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-bg);color:var(--error);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.data-preview{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden}.preview-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);gap:var(--space-4);flex-wrap:wrap}.preview-header-left{display:flex;flex-direction:column;gap:var(--space-1)}.preview-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.preview-info{font-size:var(--font-size-sm);color:var(--text-secondary)}.preview-filename{color:var(--text-muted);margin-left:var(--space-2)}.preview-column-summary{display:flex;flex-wrap:wrap;gap:var(--space-2)}.column-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);background:var(--bg);color:var(--text-secondary)}.column-chip.numeric{background:#f0fdfa;color:var(--primary)}.column-chip.categorical{background:#fce8e6;color:var(--error)}.column-chip.date{background:#e6f4ea;color:var(--success)}.column-chip-type{font-size:10px;opacity:.7}.column-chip.more{color:var(--text-muted)}.preview-stats{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-light);overflow-x:auto;flex-wrap:nowrap}.stat-card{flex-shrink:0;padding:var(--space-2) var(--space-3);background:var(--bg);border-radius:var(--radius-md);min-width:140px}.stat-card-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--space-1)}.stat-card-values{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:11px;color:var(--text-secondary)}.stat-missing{color:var(--warning)}.preview-table-wrapper{overflow-x:auto;max-height:500px;overflow-y:auto}.preview-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.preview-table thead{position:sticky;top:0;z-index:1;background:var(--bg)}.preview-table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);border-bottom:1px solid var(--border);white-space:nowrap}.th-name{margin-right:var(--space-1)}.th-type{font-size:10px;padding:1px 4px;border-radius:var(--radius-sm);font-weight:var(--font-weight-normal)}.th-type.numeric{background:#f0fdfa;color:var(--primary)}.th-type.categorical{background:#fce8e6;color:var(--error)}.th-type.date{background:#e6f4ea;color:var(--success)}.preview-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-light);color:var(--text-primary);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.preview-table tbody tr:hover{background:var(--surface-hover)}.row-num-col{width:40px;text-align:center;color:var(--text-muted);font-size:var(--font-size-xs)}.cell-empty{color:var(--text-muted);font-style:italic}.preview-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light)}.pagination-info{font-size:var(--font-size-sm);color:var(--text-secondary)}.privacy-control-bar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-light);background:#f59e0b0a}.privacy-control-left{display:flex;align-items:center;gap:var(--space-3)}.privacy-toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#b45309}.privacy-toggle input[type=checkbox]{accent-color:#f59e0b;width:16px;height:16px}.privacy-toggle-label{user-select:none}.privacy-info{font-size:var(--font-size-xs);color:#92400e;background:#f59e0b1a;padding:2px 8px;border-radius:var(--radius-full)}.privacy-column-configs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-1)}.privacy-col-config{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);background:var(--bg);border-radius:var(--radius-md);padding:2px 6px;border:1px solid var(--border-light)}.privacy-col-name{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.privacy-method-select{font-size:11px;padding:1px 4px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;outline:none}.privacy-method-select:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.privacy-preview-banner{text-align:center;font-size:var(--font-size-xs);color:#92400e;background:#f59e0b14;padding:4px 0;border-bottom:1px solid rgba(245,158,11,.15)}.cell-masked{background:#f59e0b1a!important;font-family:monospace}.slot-mapper{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px;background:var(--bg-secondary, #f8f9fa);border-radius:var(--radius-md, 10px)}.slot-mapper-columns-header,.slot-mapper-slots-header{font-size:.78rem;font-weight:600;color:var(--text-secondary, #666);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.slot-mapper-column-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:240px;overflow-y:auto;padding:4px 0}.slot-mapper-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.82rem;cursor:grab;transition:all .15s;user-select:none;border:1px solid transparent}.slot-mapper-chip.numeric{background:#1a73e814;border-color:#1a73e833;color:#2563eb}.slot-mapper-chip.categorical{background:#10b98114;border-color:#10b98133;color:#059669}.slot-mapper-chip:hover:not(.used){box-shadow:0 1px 4px #0000001a;transform:translateY(-1px)}.slot-mapper-chip.used{opacity:.35;cursor:not-allowed}.slot-mapper-chip.dragging{opacity:.5;transform:scale(.95)}.slot-mapper-chip.filled{cursor:pointer;opacity:1}.chip-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-type{font-size:.65rem;padding:0 4px;border-radius:3px;background:#0000000f}.chip-remove{font-size:14px;line-height:1;margin-left:2px;opacity:.4;cursor:pointer}.slot-mapper-chip.filled:hover .chip-remove{opacity:1}.slot-mapper-slots{display:flex;flex-direction:column;gap:8px}.slot-mapper-slot{padding:8px 12px;border:2px dashed var(--border-color, #ddd);border-radius:8px;transition:all .15s;min-height:48px}.slot-mapper-slot.hover{border-color:var(--primary, #0D9488);background:#0d94880d}.slot-mapper-slot.filled{border-style:solid;border-color:var(--primary, #0D9488);background:#0d948808}.slot-mapper-slot.required.empty{border-color:#ef44444d}.slot-label{display:flex;align-items:center;gap:6px;margin-bottom:4px}.slot-label-text{font-size:.8rem;font-weight:600;color:var(--text-primary)}.slot-accept-type{font-size:.65rem;padding:0 5px;border-radius:3px;background:#0000000d;color:var(--text-secondary)}.slot-required{color:var(--error, #EF4444);font-weight:700}.slot-auto-badge{font-size:.6rem;padding:0 5px;border-radius:3px;background:#8b5cf61a;color:#8b5cf6;font-weight:700}.slot-placeholder{font-size:.78rem;color:var(--text-secondary, #999);padding:2px 0;font-style:italic}@media (max-width: 640px){.slot-mapper{grid-template-columns:1fr}}.data-health-report{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.health-check-prompt{padding:24px;text-align:center;color:#6b7280}.health-check-btn{background:#3b82f6;color:#fff;border:none;padding:8px 24px;border-radius:6px;cursor:pointer;font-size:14px;margin-top:12px}.health-check-btn:hover{background:#2563eb}.health-check-loading{padding:32px;text-align:center;color:#6b7280}.health-check-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;margin:0 auto 12px;animation:spin .8s linear infinite}.health-score-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.health-score-circle{width:64px;height:64px;border-radius:50%;border:3px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.health-score-number{font-size:20px;font-weight:700;line-height:1}.health-score-grade{font-size:11px;font-weight:600}.health-score-summary{flex:1}.health-summary-text{margin:0 0 4px;font-size:13px;color:#374151}.health-score-stats{display:flex;gap:12px;font-size:12px;color:#6b7280}.stat-warning{color:#f59e0b;font-weight:600}.stat-ok{color:#10b981}.health-score-actions{display:flex;gap:8px}.health-fix-btn{background:#10b981;color:#fff;border:none;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:13px}.health-fix-btn:disabled{background:#d1d5db;cursor:not-allowed}.health-fix-btn:hover:not(:disabled){background:#059669}.health-recheck-btn{background:transparent;color:#6b7280;border:1px solid #d1d5db;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:13px}.health-recheck-btn:hover{background:#f3f4f6}.health-tabs{display:flex;border-bottom:1px solid #e5e7eb;padding:0 16px}.health-tab{background:none;border:none;padding:10px 16px;cursor:pointer;font-size:13px;color:#6b7280;border-bottom:2px solid transparent}.health-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.health-tab:hover:not(.active){color:#374151}.health-tab-content{padding:16px;max-height:400px;overflow-y:auto}.health-recommendations h4{margin:0 0 12px;font-size:14px;color:#374151}.health-rec{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:6px;margin-bottom:6px;background:#fefce8}.health-rec-anomaly{background:#fef2f2}.health-rec-missing{background:#fff7ed}.health-rec-duplicate{background:#fefce8}.health-rec-distribution{background:#f0fdf4}.health-rec-icon{font-weight:700;font-size:16px;flex-shrink:0}.health-rec-anomaly .health-rec-icon{color:#ef4444}.health-rec-missing .health-rec-icon{color:#f97316}.health-rec-duplicate .health-rec-icon{color:#eab308}.health-rec-distribution .health-rec-icon{color:#22c55e}.health-rec-content{display:flex;flex-direction:column;gap:2px}.health-rec-desc{font-size:13px;color:#374151}.health-rec-action{font-size:11px;color:#9ca3af}.health-all-clear{text-align:center;padding:24px}.health-all-clear-icon{font-size:32px;color:#10b981;display:block;margin-bottom:8px}.health-empty{text-align:center;color:#9ca3af;padding:24px}.health-table{width:100%;border-collapse:collapse;font-size:12px}.health-table th{background:#f9fafb;padding:6px 8px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;position:sticky;top:0}.health-table td{padding:4px 8px;border-bottom:1px solid #f3f4f6;color:#4b5563}.health-row-critical td{background:#fef2f2}.health-row-warning td{background:#fffbeb}.health-more{text-align:center;color:#9ca3af;font-size:12px;padding:8px}.error-card{border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0;border:1px solid var(--error-bg);background:var(--surface)}.error-card--data_format,.error-card--column_missing{border-left:4px solid var(--warning);background:var(--warning-bg)}.error-card--parameter_invalid,.error-card--computation{border-left:4px solid var(--primary);background:var(--info-bg)}.error-card--statistical_assumption{border-left:4px solid var(--warning);background:var(--warning-bg)}.error-card--memory,.error-card--timeout{border-left:4px solid var(--error);background:var(--error-bg)}.error-card--unknown{border-left:4px solid var(--text-secondary);background:var(--surface-hover)}.error-card__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.error-card__icon{font-size:1.2rem;flex-shrink:0}.error-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.error-card__explanation{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-3)}.error-card__suggestion{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed);background:#fff9;border-radius:var(--radius-sm);padding:var(--space-3)}.error-card__suggestion-label{font-weight:var(--font-weight-semibold);color:var(--primary)}.error-card__reflection{margin-top:var(--space-3);padding:var(--space-3);background:#fffc;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--warning);line-height:var(--line-height-relaxed)}.error-card__reflection-icon{margin-right:var(--space-1)}.error-card__details{margin-top:var(--space-3)}.error-card__details-toggle{font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;padding:var(--space-1) 0;background:none;border:none}.error-card__details-toggle:hover{color:var(--text-secondary)}.error-card__details-content{margin-top:var(--space-2);padding:var(--space-3);background:var(--bg);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary);max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.analysis-page{max-width:1100px;margin:0 auto}.analysis-select{text-align:center;padding:var(--space-8) 0}.analysis-select h2{margin-bottom:var(--space-2)}.analysis-select>p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-6)}.plugin-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3);text-align:left}.plugin-select-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast)}.plugin-select-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.plugin-select-card h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.plugin-select-card p{font-size:var(--font-size-xs);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.analysis-workspace{max-width:900px;margin:0 auto}.workspace-plugin-info{margin-bottom:var(--space-6)}.workspace-plugin-info h2{margin-bottom:var(--space-1)}.workspace-plugin-info p{color:var(--text-secondary);font-size:var(--font-size-sm)}.workspace-section{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.workspace-section.results-section{background:var(--primary-50);border-color:var(--primary-200)}.section-heading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4)}.step-number{width:24px;height:24px;border-radius:var(--radius-full);background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;flex-shrink:0}.results-section .step-number{background:var(--success)}.data-loaded-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--success-bg);border-radius:var(--radius-md)}.data-summary{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.workspace-actions{display:flex;justify-content:center;margin:var(--space-6) 0}.error-message{padding:var(--space-4);background:var(--error-bg);border-radius:var(--radius-md);color:var(--error);font-size:var(--font-size-sm)}.error-message h4{margin-bottom:var(--space-2);color:var(--error)}.error-message pre{white-space:pre-wrap;word-break:break-all;font-size:var(--font-size-xs);font-family:var(--font-mono);opacity:.85}.export-actions{margin-top:var(--space-4);display:flex;gap:var(--space-3)}.aw-chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.aw-chart-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-secondary);user-select:none}.aw-chart-toggle-switch{position:relative;display:inline-block;width:36px;height:20px}.aw-chart-toggle-switch input{opacity:0;width:0;height:0}.aw-chart-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;border-radius:20px;transition:background-color .2s}.aw-chart-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.aw-chart-toggle-switch input:checked+.aw-chart-toggle-slider{background-color:var(--primary, #3b82f6)}.aw-chart-toggle-switch input:checked+.aw-chart-toggle-slider:before{transform:translate(16px)}.aw-global-style{position:relative}.aw-style-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-light, #e2e8f0);border-radius:6px;background:#ffffffb3;color:var(--text-secondary, #64748b);font-size:12px;cursor:pointer;transition:all .15s;backdrop-filter:blur(8px)}.aw-style-btn:hover{background:#ffffffe6;border-color:var(--primary-200, #bfdbfe);color:var(--primary, #3b82f6)}.aw-style-chevron{transition:transform .15s}.aw-style-chevron-open{transform:rotate(180deg)}.aw-style-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:300px;padding:10px 12px;background:#fffffff5;backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.06);border-radius:10px;box-shadow:0 8px 24px #00000014;display:flex;flex-direction:column;gap:8px}.aw-style-row{display:flex;align-items:center;gap:8px}.aw-style-label{flex-shrink:0;width:32px;font-size:12px;color:var(--text-secondary, #64748b);font-weight:500}.aw-style-options{display:flex;flex-wrap:wrap;gap:4px}.aw-style-option{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary, #64748b);font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.aw-style-option:hover{background:#3b82f60f;border-color:var(--primary-100, #dbeafe)}.aw-style-option-active{background:#3b82f61a;border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6);font-weight:500}.aw-style-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.aw-result-groups{display:flex;flex-direction:column;gap:24px}.aw-result-group{display:flex;flex-direction:column;gap:16px}.aw-group-charts{display:flex;flex-direction:column;gap:12px;padding-left:8px;border-left:3px solid var(--primary-100, #dbeafe)}.aw-group-charts .chart-container{position:relative;width:100%}@media (max-width: 768px){.plugin-select-grid{grid-template-columns:1fr}.aw-style-panel{min-width:240px;right:-16px}}.recommended-section{margin-bottom:var(--space-4)}.recommended-header{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-3)}.recommended-icon{color:#f59e0b;font-size:16px}.recommended-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.recommended-subtitle{font-size:var(--font-size-xs);color:var(--text-secondary);margin-left:4px}.recommended-cards{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:4px}.recommended-card{flex-shrink:0;min-width:200px;max-width:260px;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:left;font-family:inherit;font-size:inherit;color:inherit}.recommended-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.recommended-card.loading{opacity:.6;pointer-events:none}.recommended-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.recommended-card-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.recommended-badge-default{font-size:10px;padding:1px 6px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-weight:600;white-space:nowrap}.recommended-card-meta{display:flex;align-items:center;gap:6px;margin-bottom:6px}.recommended-card-rows{font-size:var(--font-size-xs);color:var(--text-secondary)}.recommended-card-category{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--primary-50);color:var(--primary)}.recommended-card-desc{font-size:var(--font-size-xs);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-bottom:6px}.recommended-card-action{font-size:var(--font-size-xs);color:var(--primary);font-weight:var(--font-weight-medium);text-align:right}.recommended-loading{display:flex;align-items:center;gap:8px;padding:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm)}.recommended-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.recommended-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) 0;color:var(--text-secondary);font-size:var(--font-size-xs)}.recommended-divider:before,.recommended-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.data-source-badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-weight:600;margin-left:6px;vertical-align:middle}.analysis-page{max-width:960px;margin:0 auto}.analysis-tabs-bar{margin-bottom:var(--space-5)}.analysis-tabs{display:flex;gap:var(--space-1);background:var(--bg);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--border-light)}.analysis-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.analysis-tab:hover{color:var(--text-secondary);background:var(--surface-hover)}.analysis-tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}.analysis-tab svg{flex-shrink:0;opacity:.7}.analysis-tab.active svg{opacity:1}.analysis-tab-count{font-size:.65rem;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--border-light);color:var(--text-muted);font-weight:600}.analysis-tab.active .analysis-tab-count{background:var(--primary-light);color:var(--primary)}.analysis-tab-content{animation:apFadeIn .15s ease}@keyframes apFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.ap-empty-icon{color:var(--text-muted);margin-bottom:var(--space-4)}.ap-empty h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.ap-empty p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-5)}.ap-empty-actions{display:flex;gap:var(--space-3)}.ap-plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.ap-plugin-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column}.ap-plugin-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ap-plugin-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.ap-plugin-card-top h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1;min-width:0}.ap-plugin-card-desc{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-3)}.ap-plugin-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.ap-plugin-version{font-size:var(--font-size-xs);color:var(--text-muted)}.ap-plugin-card-actions{display:flex;align-items:center;gap:var(--space-1)}.ap-plugin-use-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.ap-plugin-use-btn:hover{background:var(--primary);color:#fff}.ap-plugin-edit-btn,.ap-plugin-share-btn,.ap-plugin-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);color:var(--text-muted);transition:all var(--transition-fast)}.ap-plugin-edit-btn:hover{background:var(--primary-light);color:var(--primary)}.ap-plugin-share-btn:hover{background:#8b5cf61a;color:#8b5cf6}.ap-plugin-share-btn:disabled{opacity:.4;cursor:not-allowed}.ap-plugin-delete-btn:hover{background:var(--error-bg);color:var(--error)}.ap-vip-action{position:relative;color:#d97706!important;border:1px solid rgba(245,158,11,.3);background:#f59e0b0f}.ap-vip-action:hover{background:#f59e0b26!important;color:#b45309!important}.ap-recommended-section{background:linear-gradient(135deg,#f59e0b0f,#3b82f60a);border:1px solid rgba(245,158,11,.15);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.ap-recommended-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.ap-recommended-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ap-recommended-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto}.ap-recommended-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.ap-recommended-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.ap-recommended-card-top{display:flex;align-items:center;justify-content:space-between}.ap-recommended-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ap-recommended-score{font-size:var(--font-size-xs);font-weight:700;color:#d97706;background:#f59e0b1a;padding:1px 8px;border-radius:var(--radius-full)}.ap-recommended-reason{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-recommended-actions{display:flex;justify-content:flex-end;margin-top:auto}.ap-rec-badge{display:inline-flex;align-items:center;padding:0 6px;border-radius:var(--radius-full);font-size:.6rem;font-weight:600;white-space:nowrap;line-height:16px}.ap-rec-badge--recommended{background:#10b9811f;color:#059669}.ap-rec-badge--compatible{background:#3b82f61a;color:#3b82f6}.ap-rec-badge--hidden{background:#6b72801a;color:#6b7280}.ap-marketplace-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);margin-bottom:var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ap-marketplace-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.ap-marketplace-search svg{color:var(--text-muted);flex-shrink:0}.ap-marketplace-search input{flex:1;border:none;outline:none;font-size:var(--font-size-sm);background:transparent;color:var(--text-primary)}.ap-marketplace-search input::placeholder{color:var(--text-muted)}.ap-loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-8);justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm)}.ap-marketplace-tabs{display:flex;gap:var(--space-1);overflow-x:auto;padding:4px;background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border-light);margin-bottom:var(--space-3)}.ap-marketplace-tab{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.ap-marketplace-tab:hover{color:var(--text-secondary);background:var(--surface-hover)}.ap-marketplace-tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}.ap-marketplace-tab-count{font-size:.65rem;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--border-light);color:var(--text-muted);font-weight:600}.ap-marketplace-tab.active .ap-marketplace-tab-count{background:var(--primary-light);color:var(--primary)}.ap-category-empty{padding:var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--font-size-xs)}.ap-plugin-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.ap-plugin-item:hover{background:var(--surface-hover)}.ap-plugin-info{flex:1;min-width:0}.ap-plugin-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex;align-items:center;gap:6px}.ap-plugin-desc{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-plugin-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.ap-installed-badge{font-size:var(--font-size-xs);color:var(--success);font-weight:var(--font-weight-medium);flex-shrink:0}.ap-install-btn{font-size:var(--font-size-xs);height:24px;padding:0 var(--space-2)}.ap-badge{display:inline-flex;align-items:center;padding:0 6px;border-radius:var(--radius-full);font-size:.6rem;font-weight:600;white-space:nowrap;flex-shrink:0;line-height:16px}.ap-badge--official{background:#3b82f61a;color:#3b82f6}.ap-badge--custom{background:#8b5cf61a;color:#8b5cf6}.ap-badge--user{background:#10b9811a;color:#10b981}.ap-generate{display:flex;flex-direction:column;gap:var(--space-4)}.ap-gen-hero h3{font-size:var(--font-size-lg);margin-bottom:var(--space-1)}.ap-gen-hero p{color:var(--text-secondary);font-size:var(--font-size-sm)}.ap-gen-form{display:flex;flex-direction:column;gap:var(--space-3)}.ap-gen-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);resize:vertical;outline:none;transition:border-color var(--transition-fast)}.ap-gen-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.ap-gen-progress{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-4);background:var(--bg);border-radius:var(--radius-md)}.ap-gen-result{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.ap-gen-result-header{display:flex;align-items:center;justify-content:space-between}.ap-gen-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.ap-gen-code{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-xs);font-family:var(--font-mono);max-height:320px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.ap-gen-actions{display:flex;gap:var(--space-2)}.ap-gen-error{font-size:var(--font-size-sm);color:var(--error);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#ef44440f;border-radius:var(--radius-md)}.ap-gen-examples{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.ap-gen-examples-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.ap-gen-example{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-1);border:1px solid transparent;transition:all var(--transition-fast)}.ap-gen-example:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary-200)}.ap-edit-overlay{position:fixed;inset:0;background:#0f172a80;z-index:300;display:flex;align-items:center;justify-content:center}.ap-edit-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.ap-edit-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.ap-edit-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-muted);background:none;border:none;cursor:pointer}.ap-edit-close:hover{background:var(--surface-hover);color:var(--text-primary)}.ap-edit-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto}.ap-edit-section{display:flex;flex-direction:column;gap:var(--space-2)}.ap-edit-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.ap-edit-label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.ap-edit-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-primary);font-size:var(--font-size-sm);outline:none}.ap-edit-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.ap-edit-param-table{border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.ap-edit-param-header{display:grid;grid-template-columns:1fr 1fr 100px;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted)}.ap-edit-param-row{display:grid;grid-template-columns:1fr 1fr 100px;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-light);font-size:var(--font-size-sm)}.ap-edit-param-key{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary)}.ap-edit-param-label{color:var(--text-secondary)}.ap-edit-param-type{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg);padding:2px 8px;border-radius:var(--radius-sm);text-align:center}.ap-edit-section-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);padding:var(--space-2) 0;cursor:pointer}.ap-edit-section-toggle:hover{color:var(--primary)}.ap-edit-chevron{flex-shrink:0;color:var(--text-muted);transition:transform var(--transition-fast)}.ap-edit-chevron.chevron-open{transform:rotate(180deg)}.ap-edit-code{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-primary);font-size:var(--font-size-xs);font-family:var(--font-mono);resize:vertical;outline:none;line-height:1.6}.ap-edit-code:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.ap-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-light)}@media (max-width: 768px){.analysis-tabs{overflow-x:auto}.ap-plugin-grid{grid-template-columns:1fr}.ap-edit-modal{width:100%;max-height:100vh;border-radius:0}}.plugin-card{background:var(--bg-card, #fff);border-radius:8px;padding:16px;border:1px solid var(--border-color, #e0e0e0);transition:box-shadow .2s}.plugin-card:hover{box-shadow:0 2px 8px #00000014}.plugin-card-title{font-size:1rem;font-weight:600;color:var(--text-primary, #333);margin:0 0 4px}.plugin-card-desc{font-size:.85rem;color:var(--text-secondary, #666);margin:0}.plugin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.plugin-detail h3{margin:0 0 12px;font-size:1.1rem}.dynamic-form{display:flex;flex-direction:column;gap:12px}.dynamic-form-field{display:flex;flex-direction:column;gap:4px}.dynamic-form-field-inline{flex-direction:row;align-items:center}.dynamic-form-multi-select{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;max-height:200px;overflow-y:auto}.dynamic-form-col-name{font-size:.85rem;margin-left:4px}.dynamic-form-col-type{font-size:.7rem;padding:1px 6px;border-radius:8px;margin-left:4px}.dynamic-form-col-type.numeric{background:#1a73e81a;color:var(--primary, #0D9488)}.dynamic-form-col-type.categorical{background:#34a8531a;color:#10b981}.dynamic-form-group{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:12px}.dynamic-form-group-title{font-weight:600;font-size:.9rem;margin-bottom:8px;color:var(--text-primary, #333)}.dynamic-form-group-fields{display:flex;flex-direction:column;gap:8px}.dynamic-form-empty{padding:24px;text-align:center;color:var(--text-secondary, #999)}.form-help{font-size:.8rem;color:var(--text-secondary, #666);margin:2px 0 0}.help-tooltip{position:relative;display:inline-flex;align-items:center;margin-left:4px}.help-tooltip-trigger{width:18px;height:18px;border-radius:50%;border:1px solid var(--primary, #0D9488);background:var(--primary-50, #F0FDFA);color:var(--primary, #0D9488);font-size:11px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background var(--transition-fast)}.help-tooltip-trigger:hover{background:var(--primary-100, #CCFBF1)}.help-tooltip-card{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:240px;max-width:320px;padding:12px;background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(12px));-webkit-backdrop-filter:var(--glass-blur, blur(12px));border:var(--glass-border, 1px solid rgba(255, 255, 255, .3));border-radius:var(--radius-md, 10px);box-shadow:var(--shadow-lg);z-index:50;font-size:.8125rem;line-height:1.5}.help-tooltip-title{font-weight:600;color:var(--text-primary);margin-bottom:6px;font-size:.8125rem}.help-tooltip-content{margin:0;color:var(--text-secondary);font-size:.8rem}.help-tooltip-pitfall{margin-top:8px;padding:8px;background:var(--warning-bg, #FFFBEB);border-left:3px solid var(--warning, #F59E0B);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.75rem;color:var(--text-secondary)}.help-tooltip-pitfall-label{display:block;font-weight:600;color:var(--warning, #F59E0B);margin-bottom:2px;font-size:.7rem}.form-required{color:var(--error, #EF4444);margin-left:2px}.form-checkbox{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer}.plugin-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;font-size:.65rem;font-weight:600;white-space:nowrap;flex-shrink:0;line-height:1.6}.plugin-badge--official{background:#3b82f61a;color:#3b82f6}.plugin-badge--lab{background:#10b9811a;color:#10b981}.plugin-badge--dept{background:#8b5cf61a;color:#8b5cf6}.plugin-card-references{border-top:1px solid var(--border-color, #e0e0e0);padding-top:8px;margin-top:4px}.plugin-card-refs-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--text-secondary, #666);padding:2px 0;width:100%}.plugin-card-refs-toggle:hover{color:var(--primary, #0D9488)}.plugin-card-refs-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.plugin-card-ref-item{font-size:.72rem;line-height:1.4;color:var(--text-secondary, #666)}.plugin-card-ref-citation em{font-style:italic;color:var(--text-primary, #333)}.plugin-card-ref-relevance{display:block;font-size:.68rem;color:var(--primary, #0D9488);margin-top:1px}.slot-field-container{display:flex;flex-direction:column;gap:12px}.slot-field-item{display:flex;flex-direction:column;gap:4px;position:relative}.slot-field-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.slot-required{color:#dc2626;font-weight:700}.slot-ai-badge{font-size:.6rem;font-weight:700;padding:0 5px;border-radius:8px;background:#f59e0b1f;color:#d97706;letter-spacing:.3px}.slot-field-value{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:6px 10px;border:1.5px dashed var(--border);border-radius:8px;background:var(--bg);cursor:pointer;transition:all .15s ease}.slot-field-value:hover{border-color:var(--primary, #0D9488);background:#0d948808}.slot-field-value--open{border-color:var(--primary, #0D9488);box-shadow:0 0 0 3px #0d94881a}.slot-field-value--filled{border-style:solid;border-color:var(--border);background:var(--surface)}.slot-field-placeholder{font-size:.8rem;color:var(--text-muted)}.slot-field-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1}.slot-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;background:var(--primary-light, rgba(13, 148, 136, .1));color:var(--primary, #0D9488);font-size:.75rem;font-weight:500}.slot-chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:transparent;color:var(--text-muted);font-size:12px;line-height:1;border:none;cursor:pointer;padding:0}.slot-chip-remove:hover{background:#00000014;color:var(--text-primary)}.slot-field-arrow{flex-shrink:0;color:var(--text-muted);transition:transform .15s ease}.slot-field-arrow--open{transform:rotate(180deg)}.slot-popover{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;max-height:240px;display:flex;flex-direction:column;animation:slotPopIn .12s ease}@keyframes slotPopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.slot-popover-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border-light);font-size:.72rem;color:var(--text-muted)}.slot-clear-btn{font-size:.72rem;color:var(--primary, #0D9488);background:none;border:none;cursor:pointer;font-weight:500}.slot-clear-btn:hover{text-decoration:underline}.slot-popover-list{overflow-y:auto;padding:4px}.slot-popover-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .1s ease}.slot-popover-item:hover{background:var(--surface-hover, rgba(0, 0, 0, .03))}.slot-popover-item--selected{background:var(--primary-light, rgba(13, 148, 136, .08))}.slot-popover-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary, #0D9488)}.slot-popover-name{font-size:.8rem;font-weight:500;color:var(--text-primary);flex:1}.slot-popover-type{font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:8px;flex-shrink:0}.slot-popover-missing{font-size:.65rem;color:var(--text-muted);flex-shrink:0}.mapper-mode-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:.72rem;font-weight:500;color:var(--text-muted);background:var(--bg);border:1px solid var(--border-light);cursor:pointer;transition:all .15s ease}.mapper-mode-toggle:hover{color:var(--primary, #0D9488);border-color:var(--primary, #0D9488);background:#0d94880d}.marketplace-page{max-width:1100px;margin:0 auto}.marketplace-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.marketplace-header h2{margin-bottom:4px}.marketplace-header-text p{color:var(--text-secondary);font-size:var(--font-size-sm)}.marketplace-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);min-width:260px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.marketplace-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.marketplace-search svg{color:var(--text-muted);flex-shrink:0}.marketplace-search input{flex:1;border:none;outline:none;font-size:var(--font-size-sm);background:transparent;color:var(--text-primary)}.marketplace-search input::placeholder{color:var(--text-muted)}.marketplace-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:var(--space-4);color:var(--text-secondary)}.marketplace-categories{display:flex;flex-direction:column;gap:var(--space-8)}.marketplace-category{scroll-margin-top:calc(var(--header-height) + var(--space-4))}.category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.category-header-left{display:flex;align-items:center;gap:var(--space-3)}.category-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.category-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary)}.category-count{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium)}.category-desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-4)}.marketplace-plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.mp-plugin-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;min-height:120px}.mp-plugin-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.mp-plugin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.mp-plugin-top h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.3}.mp-official-badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--radius-full);font-size:.65rem;font-weight:600;background:var(--primary-light);color:var(--primary);white-space:nowrap;flex-shrink:0}.mp-plugin-desc{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-3)}.mp-plugin-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.mp-version{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium)}.mp-install-btn{font-size:var(--font-size-xs);height:26px;padding:0 var(--space-3)}.mp-installed{font-size:var(--font-size-xs);color:var(--success);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:4px}.mp-installed:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success)}.mp-uninstall-btn{font-size:var(--font-size-xs);padding:2px 10px;border-radius:var(--radius-md);color:var(--text-muted);border:1px solid var(--border);background:transparent;cursor:pointer;transition:all .15s ease}.mp-uninstall-btn:hover{color:var(--error);border-color:var(--error);background:var(--error-bg)}.marketplace-search-results{margin-top:var(--space-2)}.search-result-count{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-4)}@media (max-width: 768px){.marketplace-header{flex-direction:column;align-items:stretch}.marketplace-search{min-width:auto}.marketplace-plugin-grid{grid-template-columns:1fr}}.plugin-detail-page{max-width:800px;margin:0 auto}.plugin-detail-page>.btn-ghost{margin-bottom:var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm)}.plugin-detail-page>.btn-ghost:hover{color:var(--primary)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.detail-header h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.detail-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.detail-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.version-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--primary-light);color:var(--primary)}.installed-label{display:inline-flex;align-items:center;gap:4px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--success-bg);color:var(--success);white-space:nowrap}.installed-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success)}.detail-section{padding:var(--space-5);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.detail-section h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.detail-section p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.data-contract-preview{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--font-size-xs);font-family:var(--font-mono);overflow-x:auto;line-height:1.6;color:var(--text-primary)}.plugin-detail-page .loading-state{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--text-secondary)}.detail-header .plugin-badge{font-size:.7rem;padding:2px 10px}@media (max-width: 768px){.detail-header{flex-direction:column}.detail-header-actions{flex-wrap:wrap}}.generation-page{max-width:900px;margin:0 auto;padding:var(--space-6)}.generation-page h2{margin-bottom:var(--space-2)}.generation-desc{color:var(--text-secondary);margin-bottom:var(--space-6)}.generation-form{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.prompt-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;resize:vertical;min-height:100px;background:var(--surface);color:var(--text-primary)}.prompt-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.generation-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-10) 0;color:var(--text-secondary)}.generation-result{margin-top:var(--space-4)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.result-header h3{margin:0;color:var(--success)}.result-meta{font-size:var(--font-size-sm);color:var(--text-secondary)}.result-section{margin-bottom:var(--space-4)}.result-section h4{margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.code-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.code-header h4{margin:0}.code-preview-full{background:#1e1e2e;color:#cdd6f4;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;max-height:600px;overflow:auto;white-space:pre;tab-size:4;margin:0}.code-preview-full code{font-family:inherit}.security-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.security-badge.safe{background:#e6f9e6;color:#1a7f1a}.security-badge.unsafe{background:#ffe6e6;color:#c00}.security-violations{margin-top:var(--space-2);padding-left:var(--space-5);font-size:var(--font-size-sm)}.security-violations li{margin-bottom:var(--space-1)}.violation-critical{color:#c00}.violation-high{color:#e67700}.violation-medium{color:#c90}.gen-log-details{margin-bottom:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-md)}.gen-log-details summary{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);user-select:none}.gen-log-details summary:hover{background:var(--surface)}.gen-log-content{padding:var(--space-3);border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-2)}.gen-log-section{display:flex;gap:var(--space-3);font-size:var(--font-size-xs);font-family:var(--font-mono)}.gen-log-label{min-width:80px;color:var(--text-secondary);font-weight:var(--font-weight-medium)}.approve-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) 0;border-top:1px solid var(--border-light);margin-top:var(--space-4)}.btn-lg{padding:var(--space-3) var(--space-8);font-size:var(--font-size-lg)}.approve-error{color:var(--error);font-size:var(--font-size-sm)}.error-message{padding:var(--space-4);background:var(--error-bg);border-radius:var(--radius-md);margin-top:var(--space-4)}.error-message h4{color:var(--error);margin-bottom:var(--space-2)}.generation-examples{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-light)}.generation-examples h3{margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary)}.example-list{display:flex;flex-direction:column;gap:var(--space-2)}.example-item{text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.example-item:hover{border-color:var(--primary);background:var(--primary-light)}.chat-page{display:flex;height:calc(100vh - var(--header-height) - var(--space-6) * 2);margin:calc(-1 * var(--space-6));background:var(--surface)}.chat-sessions-panel{width:280px;border-right:1px solid var(--border-light);display:flex;flex-direction:column;background:var(--bg);transition:width .2s ease;overflow:hidden}.chat-sessions-panel.sessions-collapsed{width:52px}.chat-sessions-panel.sessions-collapsed .chat-sessions-header{flex-direction:column;padding:var(--space-2);align-items:center}.chat-sessions-collapsed-title{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--text-muted);writing-mode:horizontal-tb;margin-bottom:4px}.chat-sessions-list-collapsed{flex:1;overflow-y:auto;padding:4px 6px;display:flex;flex-direction:column;gap:4px}.chat-session-chip{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);overflow:hidden}.chat-session-chip:hover{background:var(--surface-hover)}.chat-session-chip.active{background:var(--primary-light);color:var(--primary)}.chat-sessions-toggle{padding:4px;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:none;border:none}.chat-sessions-toggle:hover{color:var(--text-primary);background:var(--surface-hover)}.chat-sessions-header{padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light)}.chat-sessions-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.chat-sessions-list{flex:1;overflow-y:auto;padding:var(--space-2)}.chat-sessions-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.chat-session-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);margin-bottom:2px}.chat-session-item:hover{background:var(--surface-hover)}.chat-session-item.active{background:var(--primary-light)}.chat-session-info{flex:1;min-width:0}.chat-session-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-time{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.chat-session-delete{opacity:0;padding:4px;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast)}.chat-session-item:hover .chat-session-delete{opacity:1}.chat-session-delete:hover{color:var(--error);background:var(--error-bg)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.chat-welcome-icon{margin-bottom:var(--space-5)}.chat-welcome h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-3);color:var(--text-primary)}.chat-welcome p{color:var(--text-secondary);max-width:500px;margin-bottom:var(--space-6);line-height:var(--line-height-relaxed)}.chat-welcome-examples{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;max-width:600px}.chat-welcome-example{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-welcome-example:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.chat-welcome-example-icon{font-size:var(--font-size-lg)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.chat-messages-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--font-size-md)}.chat-message{display:flex;gap:var(--space-3);max-width:85%;animation:chatFadeIn .3s ease}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end;flex-direction:row-reverse}.assistant-message{align-self:flex-start}.chat-message-avatar{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar{background:var(--primary);color:#fff}.assistant-avatar{background:var(--primary-light);color:var(--primary)}.chat-message-content{padding:var(--space-3) var(--space-4);border-radius:12px 12px 12px 4px;line-height:var(--line-height-relaxed);font-size:var(--font-size-sm)}.user-message .chat-message-content{background:var(--primary);color:var(--text-on-primary);border-radius:12px 12px 4px}.assistant-message .chat-message-content{background:var(--bg);color:var(--text-primary);border-radius:12px 12px 12px 4px}.chat-message-content p{margin-bottom:var(--space-1)}.chat-message-content p:last-child{margin-bottom:0}.chat-text-bold{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:var(--space-2) 0 var(--space-1)}.chat-text-item{padding-left:var(--space-4);position:relative}.chat-text-item:before{content:"•";position:absolute;left:var(--space-1);color:var(--primary)}.chat-blockquote{border-left:3px solid var(--primary);padding-left:var(--space-3);color:var(--text-secondary);font-style:italic;margin:var(--space-2) 0}.workflow-proposal{min-width:300px}.workflow-proposal-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--space-2)}.workflow-proposal-desc{color:var(--text-secondary);margin-bottom:var(--space-4)}.workflow-steps-list{display:flex;flex-direction:column;gap:var(--space-2)}.workflow-step-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-light)}.workflow-step-number{width:24px;height:24px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.workflow-step-name{font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm)}.workflow-step-desc{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:2px}.workflow-suggestion{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--warning-bg);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--warning)}.chat-typing-indicator{display:flex;gap:4px;padding:4px 0}.chat-typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s infinite both}.chat-typing-indicator span:nth-child(2){animation-delay:.2s}.chat-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-input-area{border-top:1px solid var(--border-light);padding:var(--space-3) var(--space-4);background:var(--surface)}.chat-input-form{display:flex;align-items:flex-end;gap:var(--space-2);max-width:800px;margin:0 auto}.chat-examples-toggle{padding:var(--space-2);border-radius:var(--radius-md);color:var(--text-muted);transition:all var(--transition-fast);flex-shrink:0}.chat-examples-toggle:hover{color:var(--primary);background:var(--primary-light)}.chat-input-textarea{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:var(--text-primary);font-size:var(--font-size-sm);resize:none;min-height:40px;max-height:120px;outline:none;transition:border-color var(--transition-fast);font-family:var(--font-family);line-height:1.5}.chat-input-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.chat-input-textarea::placeholder{color:var(--text-muted)}.chat-send-btn{width:40px;height:40px;border-radius:var(--radius-full);background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-upload-btn{width:40px;height:40px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.chat-upload-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.chat-upload-btn.has-data{color:var(--success);border-color:var(--success);background:#10b98114}.chat-examples-panel{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.chat-examples-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.chat-examples-list{display:flex;flex-direction:column;gap:var(--space-1)}.chat-example-item{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.chat-example-item:hover{background:var(--primary-light);color:var(--primary)}.chat-mode-toggle{display:flex;align-items:center;gap:8px;margin-bottom:8px;justify-content:center;position:relative;max-width:280px;margin-left:auto;margin-right:auto}.chat-mode-btn{display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .2s;z-index:1;white-space:nowrap}.chat-mode-btn.active{color:#fff}.chat-mode-btn:first-child.active{color:var(--primary)}.chat-mode-slider{position:absolute;left:0;top:0;width:50%;height:100%;border-radius:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);background:var(--primary-light);border:1px solid var(--border);z-index:0}.chat-mode-slider[data-mode=strong]{transform:translate(100%);background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#6366f1}.chat-mode-slider-thumb{width:100%;height:100%}.welcome-mode-selector{display:flex;gap:12px;margin:24px 0;max-width:600px}.welcome-mode-card{flex:1;display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:all .2s;text-align:left}.welcome-mode-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #1a73e81a}.welcome-mode-card.selected{border-color:var(--primary);background:var(--primary-light)}.welcome-mode-card:last-child.selected{border-color:#6366f1;background:linear-gradient(135deg,#667eea14,#764ba214)}.welcome-mode-icon{color:var(--text-muted);flex-shrink:0}.welcome-mode-card.selected .welcome-mode-icon{color:var(--primary)}.welcome-mode-card:last-child.selected .welcome-mode-icon{color:#6366f1}.welcome-mode-label{font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:4px}.welcome-mode-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.analysis-card{min-width:320px;max-width:480px}.analysis-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.analysis-card-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.analysis-card-icon.mapping-icon{background:#0d94881a;color:var(--primary)}.analysis-card-icon.method-icon,.analysis-card-icon.exec-icon{background:#10b9811a;color:var(--success)}.analysis-card-icon.exec-icon.failed{background:#ef44441a;color:var(--error)}.analysis-card-icon.blueprint-icon{background:#3b82f61a;color:var(--accent)}.analysis-card-icon.progress-icon{background:#f59e0b1a;color:var(--warning)}.analysis-card-icon.report-icon{background:#8b5cf61a;color:#8b5cf6}.analysis-card-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.analysis-card-subtitle{font-size:.75rem;color:var(--text-secondary);margin-top:1px}.analysis-card-status{font-size:.75rem;font-weight:500;margin-top:2px}.analysis-card-status.success{color:var(--success)}.analysis-card-status.failed{color:var(--error)}.analysis-card-actions{display:flex;gap:8px;margin-top:12px}.mapping-list{display:flex;flex-direction:column;gap:6px}.mapping-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface);border-radius:6px;font-size:.82rem}.mapping-role{font-weight:600;color:var(--primary);min-width:60px}.mapping-arrow{color:var(--text-muted)}.mapping-column{font-weight:500;color:var(--text-primary)}.mapping-confidence{margin-left:auto;font-size:.7rem;padding:1px 6px;border-radius:10px;font-weight:500}.mapping-confidence[data-level=high]{background:#10b9811a;color:var(--success)}.mapping-confidence[data-level=mid]{background:#f59e0b1a;color:var(--warning)}.mapping-confidence[data-level=low]{background:#ef44441a;color:var(--error)}.mapping-alt{font-size:.72rem;color:var(--text-muted);width:100%;margin-top:2px;padding-left:68px}.method-reason{font-size:.82rem;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.method-prereqs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.method-prereqs-label{font-size:.75rem;color:var(--text-muted)}.method-prereq-tag{font-size:.72rem;padding:2px 8px;border-radius:10px;background:#fbbc041a;color:var(--warning)}.execution-card{border-left:3px solid var(--success)}.execution-card.failed{border-left-color:var(--error)}.exec-summary{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.exec-tables{margin-top:8px}.exec-table{margin-bottom:8px}.exec-table-title{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:4px;text-align:center}.mini-table{width:100%;border-collapse:collapse;font-size:.72rem}.mini-table thead tr{border-top:2px solid #1a1a1a}.mini-table th{padding:3px 8px;text-align:left;font-weight:600;color:var(--text-primary);border:none;border-bottom:1px solid #9ca3af;vertical-align:bottom;background:none}.mini-table td{padding:3px 8px;text-align:left;border:none;border-left:none;border-right:none;vertical-align:middle}.mini-table tbody tr:last-child{border-bottom:2px solid #1a1a1a}.mini-table tbody tr:hover{background:#00315308}.mini-table td.numeric,.mini-table .col-numeric{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.mini-table .cell-significant{font-weight:700}.mini-table .row-significant{background:#f59e0b1a}.blueprint-flow{display:flex;flex-direction:column;gap:0;padding:8px 0}.blueprint-node{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--surface)}.blueprint-node-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.blueprint-node-name{font-size:.82rem;font-weight:500;color:var(--text-primary)}.blueprint-node-type{margin-left:auto;font-size:.7rem;font-weight:500}.blueprint-arrow{display:flex;justify-content:center;padding:2px 0;color:var(--text-muted);opacity:.5}.auto-execute-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#003153,#5b8db8)!important;border:none!important}.auto-execute-btn:hover{box-shadow:0 4px 12px #00315359}.blueprint-summary{margin:8px 0}.blueprint-summary-toggle{font-size:.8rem;font-weight:600;color:var(--primary, #0D9488);cursor:pointer;padding:4px 0;user-select:none;list-style:none}.blueprint-summary-toggle::-webkit-details-marker{display:none}.blueprint-summary-toggle:before{content:"▸ ";display:inline-block;transition:transform var(--transition-fast)}.blueprint-summary[open] .blueprint-summary-toggle:before{transform:rotate(90deg)}.blueprint-summary-content{padding:8px 0 4px}.blueprint-summary-text{font-size:.8rem;color:var(--text-secondary, #475569);margin:0;line-height:1.5}.blueprint-safety-tips{margin-top:6px;display:flex;flex-direction:column;gap:4px}.safety-tip{font-size:.75rem;padding:6px 8px;background:var(--info-bg, #F0FDFA);border-left:3px solid var(--info, #0D9488);border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;color:var(--text-secondary, #475569)}.progress-bar-track{height:4px;background:var(--border-light);border-radius:2px;margin-bottom:12px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#003153,#5b8db8);border-radius:2px;transition:width .5s ease}.progress-nodes{display:flex;flex-direction:column;gap:4px}.progress-node{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:.8rem;color:var(--text-muted)}.progress-node.done{color:var(--success)}.progress-node.current{color:var(--primary);font-weight:500}.progress-node.failed{color:var(--error)}.progress-node-indicator{width:18px;text-align:center;font-size:.75rem}.progress-node.current .progress-node-indicator{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning svg{animation:spin 1.5s linear infinite}.progress-fix{margin-top:10px;padding:8px 10px;background:#fbbc0414;border:1px solid rgba(251,188,4,.2);border-radius:6px}.progress-fix-header{font-size:.75rem;font-weight:600;color:var(--warning);margin-bottom:4px}.progress-fix-detail{display:flex;flex-direction:column;gap:2px;font-size:.72rem}.fix-error{color:var(--error)}.fix-action{color:var(--success)}.report-card{border-left:3px solid #8B5CF6}.report-sections{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.report-section-heading{font-weight:600;font-size:.82rem;color:var(--text-primary);margin-bottom:2px}.report-section-content{font-size:.78rem;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.report-export{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-light)}.report-export-label{font-size:.75rem;color:var(--text-muted)}@media (max-width: 768px){.chat-sessions-panel{display:none}.chat-welcome-examples,.welcome-mode-selector{flex-direction:column}.analysis-card{min-width:unset;max-width:unset}}.tool-call-message{min-width:320px;max-width:500px}.tool-exec-status{margin-bottom:12px;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:500}.tool-exec-running{background:linear-gradient(135deg,#0031530f,#7080900f);color:var(--med-prussian-blue, #003153)}.tool-exec-success{background:#84be6a1a;color:#3d8b37}.tool-exec-error{background:#ea433514;color:var(--error)}.tool-exec-status-header{display:flex;align-items:center;gap:8px}.tool-exec-spinner{flex-shrink:0}.tool-call-list{display:flex;flex-direction:column;gap:6px}.tool-call-item{padding:8px 12px;border-radius:6px;background:var(--surface);border:1px solid var(--border-light);transition:all .2s}.tool-call-item.current{border-color:var(--med-prussian-blue, #003153);background:#0031530a}.tool-call-item.done{border-color:#84be6a4d}.tool-call-item.failed{border-color:#ea43354d}.tool-call-item-header{display:flex;align-items:center;gap:6px;font-size:.82rem}.tool-call-item-indicator{width:18px;text-align:center;font-size:.75rem;flex-shrink:0}.tool-call-item.current .tool-call-item-indicator{color:var(--med-prussian-blue, #003153);animation:spin 1s linear infinite}.tool-call-item.done .tool-call-item-indicator{color:#3d8b37}.tool-call-item.failed .tool-call-item-indicator{color:var(--error)}.tool-call-item-name{font-weight:600;color:var(--text-primary)}.tool-call-item-args{font-size:.72rem;color:var(--text-muted);margin-left:auto;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-call-item-desc{font-size:.72rem;color:var(--text-secondary);margin-top:2px;padding-left:24px}.tool-call-item-error{font-size:.72rem;color:var(--error);margin-top:2px;padding-left:24px}.tool-call-error-box{margin-top:10px;padding:10px;border-radius:6px;background:#ea43350f;border:1px solid rgba(234,67,53,.2)}.tool-call-error-box p{font-size:.8rem;color:var(--error);margin-bottom:6px}.chat-data-bar{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);background:var(--bg)}.chat-data-loaded{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--primary-light);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.chat-data-loaded-icon{color:var(--primary);flex-shrink:0}.chat-data-loaded-info{flex:1;min-width:0}.chat-data-loaded-name{font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-data-loaded-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.chat-data-loaded .btn{flex-shrink:0;padding:2px 8px;font-size:var(--font-size-xs)}.chat-upload-zone{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:2px dashed var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.chat-upload-zone:hover,.chat-upload-zone.dragging{border-color:var(--primary);background:var(--primary-light)}.chat-upload-zone-icon{color:var(--text-muted);flex-shrink:0}.chat-upload-zone-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.chat-upload-zone-text strong{color:var(--primary)}.chat-upload-zone input{display:none}.chat-upload-container{display:flex;flex-direction:column;align-items:center;gap:6px}.chat-upload-divider{display:flex;align-items:center;width:100%;gap:8px;color:var(--text-muted, #999);font-size:.75rem}.chat-upload-divider:before,.chat-upload-divider:after{content:"";flex:1;height:1px;background:var(--border-color, #e0e0e0)}.chat-simulated-btn{display:flex;align-items:center;gap:6px;font-size:.8rem;white-space:nowrap}.chat-simulated-badge{font-size:.68rem;padding:2px 8px;border-radius:10px;background:#8b5cf61a;color:#8b5cf6;font-weight:600;letter-spacing:.02em}.data-insight-card{background:var(--med-glass-bg, rgba(255,255,255,.72));backdrop-filter:var(--med-glass-blur, blur(12px));border:1px solid rgba(13,148,136,.2);border-radius:var(--radius-md, 10px);padding:14px 16px;max-width:480px}.data-insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.data-insight-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.data-insight-grade{font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:12px;letter-spacing:.02em}.data-insight-stats{display:flex;gap:12px;font-size:.78rem;color:var(--text-secondary);padding-bottom:8px;border-bottom:1px solid var(--border-color, #e0e0e0);margin-bottom:8px}.data-insight-section{font-size:.82rem;line-height:1.5;margin-bottom:6px;color:var(--text-primary)}.data-insight-section strong{color:var(--text-primary)}.data-insight-section ul{margin:4px 0 0;padding-left:18px;font-size:.78rem;color:var(--text-secondary)}.data-insight-section li{margin-bottom:2px}.data-insight-critical{color:#dc2626;font-weight:600}.dic-card{background:var(--med-glass-bg, rgba(255,255,255,.72));backdrop-filter:var(--med-glass-blur, blur(12px));border:1px solid rgba(13,148,136,.18);border-radius:12px;padding:14px 16px;max-width:520px;display:flex;flex-direction:column;gap:10px}.dic-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dic-header-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.dic-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dic-header-text{flex:1;min-width:0}.dic-summary{font-size:.85rem;color:var(--text-primary);line-height:1.5}.dic-grade-badge{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap;flex-shrink:0}.dic-stats{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-muted)}.dic-stat-sep{opacity:.4}.dic-badges{display:flex;flex-wrap:wrap;gap:6px}.dic-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600}.dic-badge--critical{background:#dc262614;color:#dc2626}.dic-badge--warning{background:#d9770614;color:#d97706}.dic-badge--missing{background:#2563eb14;color:#2563eb}.dic-badge--distribution{background:#8b5cf614;color:#7c3aed}.dic-fixes{display:flex;flex-direction:column;gap:6px}.dic-fix-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:#00000005;border-radius:8px;border:1px solid var(--border-light)}.dic-fix-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dic-fix-label{font-size:.8rem;font-weight:600;color:var(--text-primary)}.dic-fix-desc{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dic-fix-btn{font-size:.7rem;font-weight:600;padding:3px 12px;border-radius:8px;background:var(--primary-light, rgba(13, 148, 136, .1));color:var(--primary, #0D9488);border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s ease}.dic-fix-btn:hover{background:var(--primary, #0D9488);color:#fff}.dic-expand-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:4px 0;font-size:.75rem;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .15s ease}.dic-expand-btn:hover{color:var(--primary, #0D9488)}.dic-chevron{flex-shrink:0;transition:transform .15s ease}.dic-chevron--open{transform:rotate(180deg)}.dic-detail{display:flex;flex-direction:column;gap:12px;padding-top:8px;border-top:1px solid var(--border-light);animation:dicFadeIn .15s ease}@keyframes dicFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dic-section{font-size:.8rem;display:flex;flex-direction:column;gap:6px}.dic-section strong{font-size:.78rem;color:var(--text-primary)}.dic-anomaly-table{border:1px solid var(--border-light);border-radius:8px;overflow:hidden;font-size:.72rem}.dic-anomaly-header{display:grid;grid-template-columns:1fr 48px 56px 1fr 48px;gap:4px;padding:4px 8px;background:var(--bg);font-weight:600;color:var(--text-muted)}.dic-anomaly-row{display:grid;grid-template-columns:1fr 48px 56px 1fr 48px;gap:4px;padding:4px 8px;border-top:1px solid var(--border-light)}.dic-anomaly-row--critical{background:#dc262608}.dic-anomaly-value{font-weight:600;color:#dc2626}.dic-anomaly-range{color:var(--text-muted)}.dic-severity{font-weight:600;text-align:center;border-radius:4px;padding:1px 4px}.dic-severity--critical{color:#dc2626;background:#dc262614}.dic-severity--warning{color:#d97706;background:#d9770614}.dic-anomaly-more{padding:4px 8px;text-align:center;color:var(--text-muted);font-size:.7rem;border-top:1px solid var(--border-light)}.dic-nonnormal-list{display:flex;flex-wrap:wrap;gap:4px}.dic-nonnormal-tag{padding:2px 8px;border-radius:12px;background:#8b5cf614;color:#7c3aed;font-size:.72rem;font-weight:500}.dic-hint{font-size:.72rem;color:var(--text-muted);font-style:italic}.dic-rec-list{margin:2px 0 0;padding-left:16px;font-size:.75rem;color:var(--text-secondary)}.dic-rec-list li{margin-bottom:2px}.workflow-page{max-width:900px;margin:0 auto}.workflow-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.workflow-header h2{margin-bottom:var(--space-1)}.workflow-header-actions{display:flex;gap:var(--space-2);align-items:center}.workflow-section{margin-bottom:var(--space-6)}.workflow-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.workflow-data-source{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--bg);border-radius:var(--radius-lg);border:2px dashed var(--border)}.workflow-data-loaded{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--success-bg);border-radius:var(--radius-md)}.workflow-pipeline{display:flex;flex-direction:column;gap:0}.workflow-pipeline-step{display:flex;flex-direction:column;align-items:stretch}.workflow-pipeline-connector{width:2px;height:24px;background:var(--border);margin-left:16px;transition:background var(--transition-fast)}.workflow-pipeline-connector.active{background:var(--primary)}.workflow-pipeline-node{padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);transition:all var(--transition-fast)}.workflow-pipeline-node.running{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.workflow-pipeline-node.completed{border-color:var(--success);background:var(--success-bg)}.workflow-pipeline-node.failed{border-color:var(--error);background:var(--error-bg)}.workflow-pipeline-node-header{display:flex;align-items:center;gap:var(--space-3)}.workflow-pipeline-step-num{width:28px;height:28px;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.workflow-pipeline-step-name{flex:1;font-weight:var(--font-weight-medium);color:var(--text-primary)}.workflow-step-error{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--error-bg);border-radius:var(--radius-sm);color:var(--error);font-size:var(--font-size-xs)}.workflow-step-result{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);border-radius:var(--radius-sm);max-height:200px;overflow:auto}.workflow-step-result pre{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.workflow-actions{padding-top:var(--space-4);border-top:1px solid var(--border-light);text-align:center}.step-consult-trigger{padding:2px 8px;font-size:11px;border-radius:var(--radius-sm, 6px);background:var(--primary-50, #F0FDFA);color:var(--primary, #0D9488);border:1px solid var(--primary, #0D9488);cursor:pointer;transition:all var(--transition-fast, .15s ease);white-space:nowrap}.step-consult-trigger:hover{background:var(--primary, #0D9488);color:#fff}.step-consult-overlay{position:fixed;inset:0;background:#0f172a4d;z-index:100;display:flex;justify-content:flex-end;animation:fadeIn .15s ease}.step-consult-panel{width:420px;max-width:90vw;height:100vh;background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(12px));-webkit-backdrop-filter:var(--glass-blur, blur(12px));border-left:var(--glass-border, 1px solid rgba(255, 255, 255, .3));box-shadow:var(--shadow-xl, 0 16px 40px -8px rgba(15, 23, 42, .12));display:flex;flex-direction:column;animation:slideInRight .2s ease}.step-consult-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4, 1rem) var(--space-5, 1.25rem);border-bottom:1px solid var(--border, #E2E8F0);flex-shrink:0}.step-consult-title{font-size:var(--font-size-md, 1rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #0F172A)}.step-consult-subtitle{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #94A3B8);margin-top:2px;display:flex;align-items:center;gap:6px}.step-consult-status{font-size:.65rem;padding:1px 6px;border-radius:8px;font-weight:600}.step-consult-status.status-success{background:var(--success-bg, #ECFDF5);color:var(--success, #10B981)}.step-consult-status.status-error{background:var(--error-bg, #FEF2F2);color:var(--error, #EF4444)}.step-consult-close{width:28px;height:28px;border-radius:50%;border:none;background:transparent;font-size:18px;color:var(--text-secondary, #475569);cursor:pointer;display:flex;align-items:center;justify-content:center}.step-consult-close:hover{background:var(--bg-dark, #F1F5F9)}.step-consult-body{flex:1;overflow-y:auto;padding:var(--space-4, 1rem) var(--space-5, 1.25rem);display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.step-consult-section{display:flex;flex-direction:column;gap:4px}.step-consult-section-title{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-muted, #94A3B8);text-transform:uppercase;letter-spacing:.5px}.step-consult-params{font-size:var(--font-size-xs, .75rem);background:var(--bg-dark, #F1F5F9);padding:8px;border-radius:var(--radius-sm, 6px);margin:0;overflow-x:auto;color:var(--text-secondary, #475569);font-family:var(--font-mono, monospace)}.step-consult-error{background:var(--error-bg, #FEF2F2);border-left:3px solid var(--error, #EF4444);border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;padding:8px}.step-consult-error p{margin:4px 0 0;font-size:var(--font-size-xs, .75rem);color:var(--error, #EF4444)}.step-consult-input-area{display:flex;flex-direction:column;gap:8px;padding:12px var(--space-5, 1.25rem);border-top:1px solid var(--border, #E2E8F0);flex-shrink:0;background:#ffffff80}.step-consult-textarea{width:100%;padding:8px;border:1px solid var(--border, #E2E8F0);border-radius:var(--radius-sm, 6px);font-size:var(--font-size-sm, .8125rem);font-family:inherit;resize:vertical;min-height:48px}.step-consult-textarea:focus{outline:none;border-color:var(--primary, #0D9488)}.step-consult-response{background:var(--primary-50, #F0FDFA);border-radius:var(--radius-md, 10px);padding:12px}.step-consult-response-text{margin:4px 0 0;font-size:var(--font-size-sm, .8125rem);color:var(--text-primary, #0F172A);line-height:1.6}.step-consult-presets{display:flex;flex-wrap:wrap;gap:6px;padding:8px var(--space-5, 1.25rem);border-bottom:1px solid var(--border, #E2E8F0);flex-shrink:0}.step-consult-preset-btn{padding:4px 10px;font-size:.7rem;border-radius:14px;background:var(--bg-dark, #F1F5F9);color:var(--text-secondary, #475569);border:1px solid var(--border, #E2E8F0);cursor:pointer;transition:all .15s ease;white-space:nowrap}.step-consult-preset-btn:hover{background:var(--primary-50, #F0FDFA);color:var(--primary, #0D9488);border-color:var(--primary, #0D9488)}.step-consult-preset-btn:disabled{opacity:.5;cursor:not-allowed}.step-consult-messages{flex:1;overflow-y:auto;padding:12px var(--space-5, 1.25rem);display:flex;flex-direction:column;gap:12px}.step-consult-empty{text-align:center;color:var(--text-muted, #94A3B8);font-size:.8rem;padding:24px 0}.step-consult-msg{display:flex;gap:8px;max-width:95%}.step-consult-msg-user{align-self:flex-end;flex-direction:row-reverse}.step-consult-msg-assistant{align-self:flex-start}.step-consult-msg-role{font-size:.65rem;font-weight:600;color:#fff;background:var(--primary, #0D9488);padding:2px 6px;border-radius:8px;white-space:nowrap;height:fit-content;margin-top:2px;flex-shrink:0}.step-consult-msg-user .step-consult-msg-role{background:var(--text-secondary, #475569)}.step-consult-msg-content{font-size:.8125rem;color:var(--text-primary, #0F172A);line-height:1.6;background:var(--bg-dark, #F1F5F9);padding:8px 12px;border-radius:10px}.step-consult-msg-user .step-consult-msg-content{background:var(--primary-50, #F0FDFA)}.step-consult-msg-loading{display:flex;gap:4px;padding:12px;background:var(--bg-dark, #F1F5F9);border-radius:10px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted, #94A3B8);animation:typingBounce 1.2s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.step-consult-details{border-top:1px solid var(--border, #E2E8F0);padding:8px var(--space-5, 1.25rem);flex-shrink:0}.step-consult-details summary{font-size:.75rem;color:var(--text-muted, #94A3B8);cursor:pointer;padding:4px 0}.step-consult-details summary:hover{color:var(--text-secondary, #475569)}.step-consult-status.status-pending{background:var(--bg-dark, #F1F5F9);color:var(--text-muted, #94A3B8)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.data-qc-panel{background:var(--surface, #fff);border-radius:var(--radius-lg, 14px);border:1px solid var(--border, #E2E8F0);padding:var(--space-5, 1.25rem);margin-top:var(--space-4, 1rem)}.data-qc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4, 1rem)}.data-qc-header h3{margin:0;font-size:var(--font-size-md, 1rem)}.data-qc-close{width:28px;height:28px;border-radius:50%;border:none;background:transparent;font-size:18px;color:var(--text-secondary, #475569);cursor:pointer}.data-qc-close:hover{background:var(--bg-dark, #F1F5F9)}.data-qc-prompt{text-align:center;padding:var(--space-8, 2rem) 0}.data-qc-icon{color:var(--primary, #0D9488);margin-bottom:var(--space-3)}.data-qc-actions{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}.data-qc-loading{text-align:center;padding:var(--space-8) 0;color:var(--text-secondary)}.data-qc-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin:0 auto var(--space-3);animation:spin .8s linear infinite}.data-qc-score-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-dark, #F1F5F9);border-radius:var(--radius-md, 10px);margin-bottom:var(--space-4)}.data-qc-score-ring{width:56px;height:56px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0}.data-qc-score-grade{font-size:1.4rem;font-weight:700}.data-qc-score-value{font-size:var(--font-size-lg, 1.125rem);font-weight:700}.data-qc-score-summary{font-size:var(--font-size-sm, .8125rem);color:var(--text-secondary, #475569);margin-top:2px}.data-qc-meta{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #94A3B8);margin-top:4px}.data-qc-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border, #E2E8F0);margin-bottom:var(--space-3)}.data-qc-tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm, .8125rem);border:none;background:transparent;color:var(--text-secondary, #475569);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.data-qc-tab.active{color:var(--primary, #0D9488);border-bottom-color:var(--primary, #0D9488);font-weight:600}.data-qc-tab-content{min-height:120px;max-height:300px;overflow-y:auto}.data-qc-rec{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border-radius:var(--radius-sm, 6px);margin-bottom:4px;font-size:var(--font-size-sm, .8125rem)}.data-qc-rec-anomaly{background:var(--error-bg, #FEF2F2)}.data-qc-rec-missing{background:var(--warning-bg, #FFFBEB)}.data-qc-rec-type{background:var(--info-bg, #F0FDFA)}.data-qc-rec-duplicate{background:var(--bg-dark, #F1F5F9)}.data-qc-rec-action{font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:8px;background:var(--primary-50, #F0FDFA);color:var(--primary, #0D9488);white-space:nowrap}.data-qc-rec-auto{font-size:.65rem;padding:1px 5px;border-radius:8px;background:var(--success-bg, #ECFDF5);color:var(--success, #10B981);white-space:nowrap}.data-qc-all-clear{text-align:center;padding:var(--space-4);color:var(--success, #10B981);font-weight:600}.data-qc-table-wrap{overflow-x:auto}.data-qc-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs, .75rem)}.data-qc-table th,.data-qc-table td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--border-light, #F1F5F9)}.data-qc-table th{font-weight:600;color:var(--text-secondary, #475569);background:var(--surface, #fff)}.data-qc-table td.numeric{font-family:var(--font-mono, monospace);text-align:right;font-variant-numeric:tabular-nums}.data-qc-severity-critical{color:var(--error, #EF4444);font-weight:600}.data-qc-severity-warning{color:var(--warning, #F59E0B);font-weight:600}.data-qc-fix-log{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-dark, #F1F5F9);border-radius:var(--radius-sm, 6px)}.data-qc-fix-log-title{font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--text-muted, #94A3B8);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.data-qc-fix-entry{font-size:var(--font-size-xs, .75rem);color:var(--text-secondary, #475569);padding:2px 0}.data-qc-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-light, #F1F5F9)}.history-drawer-overlay{position:fixed;inset:0;background:#0f172a4d;z-index:200;display:flex;justify-content:flex-end;animation:fadeIn .15s ease}.history-drawer{width:420px;max-width:90vw;height:100vh;background:var(--glass-bg, rgba(255, 255, 255, .85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.3);box-shadow:-8px 0 30px #0000001a;display:flex;flex-direction:column;animation:slideInRight .2s ease}.history-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light, #E2E8F0);flex-shrink:0}.history-drawer-header h3{margin:0;font-size:var(--font-size-md, 1rem);font-weight:600}.history-list{flex:1;overflow-y:auto;padding:8px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;cursor:pointer;transition:background .15s ease;margin-bottom:4px}.history-item:hover{background:#fff9}.history-item-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.history-status-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:600;flex-shrink:0}.history-status-badge.completed{background:#ecfdf5;color:#10b981}.history-status-badge.failed{background:#fef2f2;color:#ef4444}.history-status-badge.running{background:#eff6ff;color:#3b82f6}.history-status-badge.pending{background:#f1f5f9;color:#94a3b8}.history-status-badge.small{padding:1px 6px;font-size:11px}.history-time{font-size:13px;color:#475569}.history-duration{font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums}.history-delete-btn{opacity:0;transition:opacity .15s ease;color:#94a3b8;font-size:14px;padding:4px}.history-item:hover .history-delete-btn{opacity:1}.history-detail{flex:1;overflow-y:auto;padding:16px 20px}.history-step-card{padding:10px 12px;background:#fff9;border-radius:8px;margin-bottom:8px;border:1px solid rgba(226,232,240,.6)}.history-step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.history-step-name{font-size:13px;font-weight:600;color:#0f172a}.history-step-params{margin-top:6px;padding:6px 8px;background:#f8fafc;border-radius:6px}.history-param-row{display:flex;align-items:baseline;gap:8px;font-size:12px;padding:2px 0}.history-param-key{color:#64748b;min-width:80px;flex-shrink:0}.history-param-val{color:#0f172a;word-break:break-all}.l2w-tab-panel{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014}.l2w-tab-panel__loading{padding:24px;text-align:center;color:#64748b;font-size:14px}.l2w-tab-panel__tabbar{display:flex;gap:0;border-bottom:2px solid #e2e8f0;background:#f8fafc;padding:0 8px;overflow-x:auto}.l2w-tab-panel__tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:13px;color:#64748b;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;white-space:nowrap}.l2w-tab-panel__tab:hover{color:#334155;background:#3b82f60d}.l2w-tab-panel__tab.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.l2w-tab-panel__tab-badge{font-size:8px}.l2w-tab-panel__tab-badge.confirmed{color:#10b981}.l2w-tab-panel__tab-badge.pending{color:#f59e0b}.l2w-tab-panel__tab-badge.executed{color:#3b82f6}.l2w-tab-content{padding:16px 20px}.l2w-plugin-chain{display:flex;flex-direction:column;gap:0}.l2w-plugin-chain__step{display:flex;align-items:center;gap:12px;padding:10px 14px;border-left:3px solid #e2e8f0;position:relative}.l2w-plugin-chain__step:last-child{border-left-color:transparent}.l2w-plugin-chain__step-number{width:28px;height:28px;border-radius:50%;background:#f1f5f9;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.l2w-plugin-chain__step-number.running{background:#dbeafe;color:#2563eb;animation:pulse 1.5s infinite}.l2w-plugin-chain__step-number.done{background:#d1fae5;color:#059669}.l2w-plugin-chain__step-number.error{background:#fee2e2;color:#dc2626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.l2w-plugin-chain__step-name{font-size:13px;color:#334155;font-weight:500}.l2w-plugin-chain__step-id{font-size:11px;color:#94a3b8}.l2w-plugin-chain__step-status{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:10px}.l2w-tab-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.l2w-step-result{margin-top:16px;padding:12px 16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.l2w-step-result__summary{font-size:13px;color:#334155;margin-bottom:8px}@media (max-width: 768px){.l2w-tab-content{padding:12px}}.summary-workspace{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:12px;overflow:hidden}.summary-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.summary-header-left{display:flex;align-items:center;gap:8px}.summary-header-actions{display:flex;align-items:center;gap:6px}.summary-template-select{padding:5px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:var(--font-size-sm, 13px);background:#fff;cursor:pointer}.summary-content{display:flex;flex:1;overflow:hidden;min-height:0}.summary-left-panel{width:300px;min-width:250px;max-height:70vh;border-right:1px solid #e2e8f0;padding:12px;overflow-y:auto;background:#fafbfc}.summary-right-panel{flex:1;padding:16px;overflow-y:auto;overflow-x:auto}.summary-r-code-panel{border-top:1px solid #e2e8f0;padding:12px 16px;background:#f1f5f9}.summary-audit-footer{display:flex;align-items:center;gap:12px;padding:8px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:11px}.summary-audit-timeline{display:flex;gap:12px;overflow-x:auto;flex:1}.summary-audit-entry{color:#64748b;white-space:nowrap;padding:2px 6px;border-radius:3px;background:#f1f5f9}@media (max-width: 768px){.summary-content{flex-direction:column}.summary-left-panel{width:100%;min-width:unset;max-height:200px;border-right:none;border-bottom:1px solid #e2e8f0}.summary-header{flex-direction:column;gap:8px;align-items:flex-start}.summary-header-actions{flex-wrap:wrap}}.rd-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px;animation:rd-fadeIn .2s ease}@keyframes rd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rd-slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.rd-dialog{width:540px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;background:var(--surface, #fff);border-radius:16px;box-shadow:0 24px 80px #00000038,0 0 0 1px #0000000a;overflow:hidden;animation:rd-slideUp .25s ease}.rd-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;flex-shrink:0}.rd-header h3{font-size:17px;font-weight:700;color:var(--text-primary, #111827);margin:0;letter-spacing:-.01em}.rd-close-btn{width:30px;height:30px;border-radius:8px;border:none;background:none;color:var(--text-muted, #9ca3af);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.rd-close-btn:hover{background:#0000000f;color:var(--text-secondary, #374151)}.rd-tabs{display:flex;gap:0;padding:0 22px;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .06));flex-shrink:0}.rd-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:500;color:var(--text-muted, #6b7280);border:none;background:none;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap}.rd-tab:hover{color:var(--text-secondary, #374151)}.rd-tab.active{color:var(--primary, #0d9488);border-bottom-color:var(--primary, #0d9488);font-weight:600}.rd-body{flex:1;overflow-y:auto;padding:22px;min-height:160px}.rd-auto-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:12px 0 4px}.rd-auto-icon{width:48px;height:48px;border-radius:14px;background:#0d948814;display:flex;align-items:center;justify-content:center;color:var(--primary, #0d9488)}.rd-auto-title{font-size:14px;color:var(--text-secondary, #374151);margin:0;line-height:1.6;max-width:360px}.rd-auto-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;justify-content:center}.rd-stat-item{display:flex;align-items:center;gap:5px;padding:5px 12px;background:var(--bg, #f9fafb);border-radius:14px;font-size:12px;border:1px solid var(--border-light, rgba(0, 0, 0, .04))}.rd-stat-label{color:var(--text-muted, #6b7280)}.rd-stat-value{font-weight:600;color:var(--text-primary, #111827)}.rd-stat-value.warn{color:#d97706}.rd-intent-input{display:flex;flex-direction:column;gap:10px}.rd-intent-input textarea{width:100%;padding:14px;border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));border-radius:12px;font-size:13px;line-height:1.7;color:var(--text-primary, #111827);background:var(--bg, #f9fafb);resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;font-family:inherit}.rd-intent-input textarea:focus{border-color:var(--primary, #0d9488);box-shadow:0 0 0 3px #0d94881a;background:var(--surface, #fff)}.rd-intent-input textarea::placeholder{color:var(--text-muted, #9ca3af)}.rd-intent-hint{font-size:11px;color:var(--text-muted, #9ca3af);padding-left:2px}.rd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:48px 0;color:var(--text-muted, #6b7280);font-size:13px}.rd-error{padding:12px 16px;background:#dc26260f;border:1px solid rgba(220,38,38,.15);border-radius:10px;color:#dc2626;font-size:13px;line-height:1.5}.rd-proposal{display:flex;flex-direction:column;gap:16px}.rd-proposal-header h4{font-size:16px;font-weight:700;color:var(--text-primary, #111827);margin:0 0 4px}.rd-reasoning{font-size:13px;color:var(--text-secondary, #374151);margin:0;line-height:1.5}.rd-steps-list{display:flex;flex-direction:column;gap:8px}.rd-select-all{display:flex;align-items:center;gap:8px;padding:8px 4px;cursor:pointer;user-select:none;border-radius:6px;transition:background .15s}.rd-select-all:hover{background:#00000008}.rd-select-all-text{font-size:12px;font-weight:500;color:var(--text-muted, #6b7280)}.rd-checkbox{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px}.rd-step-item{display:flex;gap:10px;padding:12px 14px;background:var(--bg, #f9fafb);border-radius:10px;border:1px solid var(--border-light, rgba(0, 0, 0, .05));cursor:pointer;user-select:none;transition:background .15s,opacity .2s}.rd-step-item:hover{background:#0d948808}.rd-step-item.unchecked{opacity:.45}.rd-step-num{width:26px;height:26px;border-radius:50%;background:var(--primary, #0d9488);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.rd-step-content{flex:1;min-width:0}.rd-step-name{font-size:13px;font-weight:600;color:var(--text-primary, #111827);margin-bottom:3px}.rd-step-reason{font-size:12px;color:var(--text-muted, #6b7280);line-height:1.45;margin-bottom:6px}.rd-step-params{display:flex;flex-wrap:wrap;gap:4px}.rd-param-chip{font-size:11px;padding:2px 8px;background:#0d94880f;border-radius:4px;color:var(--primary, #0d9488);white-space:nowrap}.rd-suggestion{padding:12px 14px;background:#0d94880a;border:1px solid rgba(13,148,136,.12);border-radius:10px;font-size:12px;color:var(--text-secondary, #374151);line-height:1.6}.rd-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border-light, rgba(0, 0, 0, .06));flex-shrink:0}.rd-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;line-height:1}.rd-btn-secondary{background:var(--surface, #fff);color:var(--text-secondary, #374151);border-color:var(--border-light, rgba(0, 0, 0, .12))}.rd-btn-secondary:hover{background:var(--surface-hover, #f3f4f6);border-color:#0000002e}.rd-btn-primary{background:var(--primary, #0d9488);color:#fff;border-color:var(--primary, #0d9488)}.rd-btn-primary:hover:not(:disabled){background:var(--primary-dark, #0f766e);border-color:var(--primary-dark, #0f766e);box-shadow:0 2px 8px #0d948840}.rd-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.rd-overlay{padding:0;align-items:flex-end}.rd-dialog{width:100%;max-height:92vh;border-radius:16px 16px 0 0}.rd-body{padding:16px}}.dp-page{height:100%;display:flex;flex-direction:row;overflow:hidden}.dp-op-list{width:160px;flex-shrink:0;background:var(--surface, #fff);border-right:1px solid var(--border-light, rgba(0,0,0,.06));display:flex;flex-direction:column;overflow:hidden}.dp-op-list-title{padding:10px 12px 8px;font-size:13px;font-weight:600;color:var(--text-primary, #111827);border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));flex-shrink:0}.dp-op-list-body{flex:1;overflow-y:auto;padding:4px 0}.dp-op-list-cat{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--text-primary, #111827);padding:8px 10px 4px;cursor:pointer;user-select:none}.dp-op-list-cat:hover{color:var(--primary, #0d9488)}.dp-op-list-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;font-size:12px;padding:4px 10px;border:none;background:none;color:var(--text-secondary, #374151);cursor:pointer;transition:all .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-op-list-item:hover{background:#0d94880f;color:var(--primary, #0d9488)}.dp-op-list-add-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background:#0d94881a;color:var(--primary, #0d9488);flex-shrink:0;transition:background .15s}.dp-op-list-item:hover .dp-op-list-add-icon{background:#0d948833}.dp-op-list-count{margin-left:auto;font-size:10px;font-weight:600;color:var(--primary, #0d9488);background:#0d94881a;padding:0 5px;border-radius:8px;line-height:16px;flex-shrink:0}.dp-op-list-name{transition:color .15s;overflow:hidden;text-overflow:ellipsis}.dp-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.dp-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));background:var(--surface, #fff);flex-shrink:0}.dp-toolbar-left{display:flex;align-items:center;gap:12px;min-width:0}.dp-title-input{font-size:15px;font-weight:600;border:none;outline:none;background:transparent;color:var(--text-primary, #111827);width:200px}.dp-title-input::placeholder{color:var(--text-muted, #9ca3af)}.dp-file-info{font-size:12px;color:var(--text-muted, #9ca3af);white-space:nowrap;padding:3px 10px;background:var(--bg, #f9fafb);border-radius:12px}.dp-toolbar-right{display:flex;gap:8px;flex-shrink:0}.dp-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border-light, rgba(0,0,0,.1));background:var(--surface, #fff);color:var(--text-secondary, #374151);transition:all .15s;white-space:nowrap}.dp-btn:hover:not(:disabled){background:var(--surface-hover, #f3f4f6)}.dp-btn:disabled{opacity:.4;cursor:not-allowed}.dp-btn-primary{background:var(--primary, #0d9488);color:#fff;border-color:var(--primary, #0d9488)}.dp-btn-primary:hover:not(:disabled){background:var(--primary-dark, #0f766e)}.dp-exec-toggle{display:flex;align-items:center;gap:6px;padding:0 8px}.dp-toggle-label{font-size:12px;color:var(--text-muted, #9ca3af);font-weight:500;transition:color .15s}.dp-toggle-label.active{color:var(--primary, #0d9488);font-weight:600}.dp-toggle-track{width:36px;height:20px;border-radius:10px;background:#d1d5db;border:none;cursor:pointer;position:relative;transition:background .2s;padding:0;flex-shrink:0}.dp-toggle-track.on{background:var(--primary, #0d9488)}.dp-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000026}.dp-toggle-track.on .dp-toggle-thumb{transform:translate(16px)}.dp-stepper{position:relative;flex-shrink:0;padding:16px 20px 12px;background:var(--surface, #fff);border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));overflow:visible;z-index:10}.dp-stepper-scroll{overflow-x:auto}.dp-stepper-track{display:flex;align-items:flex-start;gap:0;min-width:max-content;padding-bottom:4px}.dp-stepper-connector{width:32px;height:2px;background:var(--border-light, rgba(0,0,0,.12));margin-top:18px;flex-shrink:0}.dp-stepper-connector.executed{background:var(--primary, #0d9488)}.dp-stepper-connector.add{width:20px;background:#0000000f;border-style:dashed;border-width:1px 0 0 0;background:none;border-color:var(--border-light, rgba(0,0,0,.15))}.dp-stepper-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 14px 10px;border-radius:8px;cursor:pointer;transition:all .2s;min-width:80px;border:1.5px solid transparent}.dp-stepper-node:hover{background:var(--surface-hover, #f3f4f6)}.dp-stepper-node.current{background:#0d948814;border-color:var(--primary, #0d9488);box-shadow:0 0 0 3px #0d94881a}.dp-stepper-node.executed{opacity:.5;background:#f3f4f6;border-color:#d1d5db}.dp-stepper-node.executed:hover{opacity:.65}.dp-stepper-node.confirmed{opacity:.45;background:#ecfdf5;border-color:#a7f3d0}.dp-stepper-node.confirmed:hover{opacity:.6}.dp-stepper-node.confirmed .dp-node-index{background:#d1fae5;color:#065f46}.dp-stepper-node.pending{border-color:#22c55e59;background:#22c55e0a}.dp-stepper-node.disabled{opacity:.35;text-decoration:line-through}.dp-node-index{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.dp-stepper-node.current .dp-node-index{background:var(--primary, #0d9488);color:#fff}.dp-stepper-node.executed .dp-node-index{background:#e5e7eb;color:#6b7280}.dp-stepper-node.pending .dp-node-index{background:#22c55e26;color:#16a34a}.dp-stepper-node.step0 .dp-node-index{background:var(--primary, #0d9488);color:#fff}.dp-node-label{font-size:12px;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;text-align:center}.dp-node-badge{font-size:10px;padding:1px 6px;border-radius:8px;white-space:nowrap}.dp-node-badge.done{background:#e5e7eb;color:#6b7280}.dp-node-badge.confirmed{background:#d1fae5;color:#065f46}.dp-node-badge.off{background:#fef3c7;color:#92400e}.dp-node-delta{font-size:10px;font-weight:600;padding:1px 5px;border-radius:8px}.dp-node-delta.neg{color:#dc2626;background:#dc262614}.dp-node-delta.pos{color:#059669;background:#05966914}.dp-node-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#0000000d;color:var(--text-muted, #9ca3af);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}.dp-stepper-node:hover .dp-node-remove{display:flex}.dp-node-remove:hover{background:#dc26261a;color:#dc2626}.dp-stepper-add{flex-shrink:0;margin-top:6px}.dp-add-btn{width:32px;height:32px;border-radius:50%;border:1.5px dashed var(--border-light, rgba(0,0,0,.2));background:var(--surface, #fff);color:var(--text-muted, #9ca3af);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.dp-add-btn:hover{border-color:var(--primary, #0d9488);color:var(--primary, #0d9488);background:#0d94880a}.dp-op-menu{position:absolute;width:360px;max-height:400px;overflow-y:auto;background:var(--surface, #fff);border:1px solid var(--border-light, rgba(0,0,0,.1));border-radius:10px;box-shadow:0 8px 30px #0000001f;z-index:100;padding:0}.dp-op-menu-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 4px;font-size:13px;font-weight:600;color:var(--text-primary, #111827);position:sticky;top:0;background:var(--surface, #fff);z-index:1;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.dp-op-menu-close{width:24px;height:24px;border-radius:6px;border:none;background:none;color:var(--text-muted, #9ca3af);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.dp-op-menu-close:hover{background:#0000000f;color:var(--text-secondary, #374151)}.dp-op-menu-group{padding:4px 0}.dp-op-menu-group:not(:last-child){border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.dp-op-menu-group-label{font-size:11px;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em;padding:6px 16px 4px}.dp-op-menu-items{display:flex;flex-wrap:wrap;gap:4px;padding:4px 12px 8px}.dp-op-menu-item{font-size:12px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-light, rgba(0,0,0,.08));background:var(--surface, #fff);color:var(--text-secondary, #374151);cursor:pointer;transition:all .15s;white-space:nowrap}.dp-op-menu-item:hover{background:#0d948814;border-color:var(--primary, #0d9488);color:var(--primary, #0d9488)}.dp-middle{flex-shrink:0;display:flex;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));max-height:45%;overflow:hidden}.dp-op-sidebar{flex-shrink:0;width:180px;background:var(--surface, #fff);border-right:1px solid var(--border-light, rgba(0,0,0,.06));display:flex;flex-direction:column;overflow:hidden}.dp-op-sidebar-title{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-muted, #6b7280);border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));flex-shrink:0}.dp-op-sidebar-body{flex:1;overflow-y:auto}.dp-op-sb-group{border-bottom:1px solid var(--border-light, rgba(0,0,0,.04))}.dp-op-sb-group-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:11px;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;user-select:none}.dp-op-sb-group-header:hover{background:var(--surface-hover, #f9fafb)}.dp-op-sb-group-header.expanded svg{transform:rotate(180deg)}.dp-op-sb-group-header svg{transition:transform .15s;flex-shrink:0}.dp-op-sb-items{padding:2px 6px 6px;display:flex;flex-wrap:wrap;gap:3px}.dp-op-sb-item{font-size:11px;padding:2px 7px;border-radius:4px;border:1px solid transparent;background:none;color:var(--text-secondary, #374151);cursor:pointer;white-space:nowrap;transition:all .12s}.dp-op-sb-item:hover{background:#0d94880f;border-color:#0d948833;color:var(--primary, #0d9488)}.dp-config{flex-shrink:0;background:var(--surface, #fff);display:flex;flex-direction:column;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));overflow:hidden}.dp-config-header{padding:10px 20px 6px}.dp-config-header h3{font-size:14px;font-weight:600;color:var(--text-primary, #111827);margin:0}.dp-config-desc{display:block;font-size:12px;color:var(--text-muted, #6b7280);margin-top:2px}.dp-config-body{flex:1;overflow-y:auto;padding:8px 20px}.dp-config-cols{margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--border-light, rgba(0,0,0,.08))}.dp-col-field{margin-bottom:6px}.dp-col-field:last-child{margin-bottom:0}.dp-col-label{font-size:11px;font-weight:500;color:var(--text-muted, #6b7280);margin-right:6px}.dp-col-field select{padding:4px 8px;border:1px solid var(--border-light, rgba(0,0,0,.1));border-radius:6px;font-size:12px;color:var(--text-primary, #111827);background:var(--bg, #f9fafb);outline:none}.dp-col-field select:focus{border-color:var(--primary, #0d9488)}.dp-chip-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.dp-config-params{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:flex-end}.dp-param-field{display:flex;align-items:center;gap:6px}.dp-param-field label{font-size:12px;font-weight:500;color:var(--text-secondary, #374151);white-space:nowrap;flex-shrink:0}.dp-param-field select,.dp-param-field input[type=text],.dp-param-field input[type=number]{width:150px;min-width:100px;padding:5px 8px;border:1px solid var(--border-light, rgba(0,0,0,.12));border-radius:6px;font-size:13px;color:var(--text-primary, #111827);background:var(--bg, #f9fafb);outline:none;transition:border-color .15s;box-sizing:border-box}.dp-param-field select:focus,.dp-param-field input:focus{border-color:var(--primary, #0d9488);box-shadow:0 0 0 2px #0d948814}.dp-chip{display:inline-flex;align-items:center;font-size:12px;padding:3px 9px;border-radius:12px;border:1px solid var(--border-light, rgba(0,0,0,.1));cursor:pointer;transition:all .15s;color:var(--text-secondary, #374151);background:var(--surface, #fff)}.dp-chip input{display:none}.dp-chip.active{background:#0d94881a;border-color:var(--primary, #0d9488);color:var(--primary, #0d9488);font-weight:500}.dp-chip:hover{border-color:var(--primary, #0d9488)}.dp-config-nav{display:flex;gap:8px;padding:8px 20px;border-top:1px solid var(--border-light, rgba(0,0,0,.06));justify-content:center}.dp-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-muted, #9ca3af);font-size:13px}.dp-grid-table{width:100%;border-collapse:collapse;font-size:12px}.dp-grid-table th{background:var(--surface, #fff);padding:7px 8px;text-align:left;font-weight:500;color:var(--text-secondary, #374151);border-bottom:1px solid var(--border-light, rgba(0,0,0,.1));position:sticky;top:0;z-index:2;white-space:nowrap}.dp-grid-table th span{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.dp-col-type{font-size:9px;font-weight:400;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.04em}.dp-grid-table td{padding:4px 8px;border-bottom:1px solid var(--border-light, rgba(0,0,0,.04));color:var(--text-secondary, #374151);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-grid-table tr:hover td{background:#0d948805}.dp-row-num{width:36px;min-width:36px;text-align:center;color:var(--text-muted, #9ca3af)!important;font-size:11px}.dp-upload-zone{display:flex;align-items:flex-start;justify-content:center;height:100%;padding:15vh 40px 40px}.dp-upload-box{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 72px;border:2px dashed var(--border-light, rgba(0,0,0,.12));border-radius:12px;cursor:pointer;transition:all .2s;color:var(--text-muted, #9ca3af)}.dp-upload-box:hover{border-color:var(--primary, #0d9488);background:#0d948805}.dp-upload-box p{font-size:14px;color:var(--text-secondary, #374151);margin:0}.dp-upload-hint{font-size:12px;color:var(--text-muted, #9ca3af)}.dp-merge-panel{flex:1;display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-5, 24px) var(--space-6, 32px);overflow-y:auto;max-width:520px;margin:0 auto;width:100%}.dp-merge-header{display:flex;align-items:center;gap:var(--space-2, 8px)}.dp-merge-source{padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius-md, 8px);border:1px solid var(--border-light, rgba(0,0,0,.06));background:var(--bg, #f9fafb);display:flex;flex-direction:column;gap:var(--space-1, 4px)}.dp-merge-source-header{display:flex;align-items:center;gap:var(--space-2, 8px)}.dp-merge-source-name{flex:1;font-size:var(--font-size-sm, 13px);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-merge-source-meta{font-size:var(--font-size-xs, 11px);color:var(--text-muted, #9ca3af);flex-shrink:0}.dp-merge-filter{display:flex;align-items:center;gap:var(--space-1, 4px)}.dp-merge-filter-label{font-size:var(--font-size-xs, 11px);color:var(--text-secondary, #6b7280);flex-shrink:0;white-space:nowrap}.dp-merge-filter-input{flex:1;padding:2px 6px;border:1px solid var(--border, rgba(0,0,0,.15));border-radius:var(--radius-sm, 4px);font-size:var(--font-size-xs, 11px);font-family:var(--font-mono, monospace);background:var(--surface, #fff);color:var(--text-primary, #111827);min-width:0}.dp-merge-filter-input:focus{outline:none;border-color:var(--primary, #0d9488)}.dp-merge-filter-input.error{border-color:var(--error, #ef4444)}.dp-merge-filter-rows{font-size:var(--font-size-xs, 11px);color:var(--text-muted, #9ca3af);min-width:40px;text-align:right;flex-shrink:0}.dp-merge-filter-error{font-size:var(--font-size-xs, 11px);color:var(--error, #ef4444)}.dp-merge-config{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-3, 12px);border-radius:var(--radius-md, 8px);background:var(--surface, #fff);border:1px solid var(--border-light, rgba(0,0,0,.06))}.dp-merge-config-row{display:flex;align-items:center;gap:var(--space-2, 8px)}.dp-merge-config-label{font-size:var(--font-size-sm, 13px);font-weight:500;min-width:60px;flex-shrink:0}.dp-merge-select{flex:1;padding:var(--space-1, 4px) var(--space-2, 8px);border:1px solid var(--border, rgba(0,0,0,.15));border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, 13px);background:var(--surface, #fff);color:var(--text-primary, #111827)}.dp-merge-select:focus{outline:none;border-color:var(--primary, #0d9488)}.dp-merge-estimate{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-1, 4px) var(--space-2, 8px);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-xs, 11px)}.dp-merge-estimate.ok{background:#e8f5e9;color:#2e7d32}.dp-merge-estimate.warn{background:#fff3e0;color:#e65100}.dp-merge-estimate.danger{background:#ffebee;color:#c62828}.dp-merge-exec-btn{width:100%;margin-top:var(--space-1, 4px);justify-content:center}.dp-merge-error{display:flex;align-items:center;gap:var(--space-1, 4px);padding:var(--space-2, 8px) var(--space-3, 12px);background:#ffebee;color:var(--error, #c62828);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-xs, 11px)}.dp-merge-agg-toggle{display:flex;align-items:center;gap:var(--space-2, 8px);margin-top:var(--space-1, 4px)}.dp-merge-agg-toggle label{display:flex;align-items:center;gap:var(--space-1, 4px);cursor:pointer;font-size:var(--font-size-xs, 11px)}.dp-merge-agg-badge{display:inline-block;margin-left:4px;padding:0 4px;background:rgba(var(--primary-rgb, 13,148,136),.1);color:var(--primary, #0d9488);border-radius:3px;font-size:10px;font-weight:500}.dp-merge-agg-preview{font-size:10px;color:var(--primary, #0d9488);margin-left:auto}.dp-merge-agg-section{margin-top:var(--space-1, 4px);padding:var(--space-2, 8px) 0 0 var(--space-2, 8px);border-left:2px solid var(--primary, #0d9488);display:flex;flex-direction:column;gap:var(--space-1, 4px)}.dp-merge-agg-groupby{display:flex;align-items:center;gap:var(--space-1, 4px)}.dp-merge-agg-rule{display:flex;align-items:center;gap:4px}.dp-merge-agg-col{flex:1;min-width:0}.dp-merge-agg-func{width:72px;flex-shrink:0}.dp-merge-agg-output{width:90px;flex-shrink:0;padding:2px 6px;border:1px solid var(--border-light, rgba(0,0,0,.1));border-radius:var(--radius-sm, 4px);font-size:var(--font-size-xs, 11px);background:var(--bg, #fff)}.dp-merge-agg-output:focus{outline:none;border-color:var(--primary, #0d9488)}.dp-merge-agg-remove{width:20px;height:20px;border:none;background:none;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:14px;line-height:1;border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.dp-merge-agg-remove:hover{background:#ffebee;color:var(--error, #c62828)}.dp-merge-agg-add{border:none;background:none;color:var(--primary, #0d9488);cursor:pointer;font-size:var(--font-size-xs, 11px);padding:2px 0;text-align:left}.dp-merge-agg-add:hover{text-decoration:underline}.dp-spinner{width:24px;height:24px;border:2px solid var(--border-light, rgba(0,0,0,.1));border-top-color:var(--primary, #0d9488);border-radius:50%;animation:dp-spin .6s linear infinite}.dp-data-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg, #f9fafb);min-height:0}.dp-data-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06));background:var(--surface, #fff);flex-shrink:0}.dp-data-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text-primary, #111827)}.dp-data-shape{font-size:11px;font-weight:400;color:var(--text-muted, #9ca3af);padding:2px 8px;background:var(--bg, #f9fafb);border-radius:10px}.dp-exec-summary{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary, #374151)}.dp-exec-stat{display:inline-flex;align-items:center;gap:4px}.dp-delta{font-weight:600;font-size:11px}.dp-delta.pos{color:#059669}.dp-delta.neg{color:#dc2626}.dp-exec-detail{font-size:11px;color:var(--text-muted, #6b7280)}.dp-exec-error{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-top:6px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:12px;color:#dc2626;width:100%;box-sizing:border-box}.dp-exec-error-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#dc2626;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.dp-exec-error-msg{flex:1;line-height:1.4;word-break:break-word}.dp-exec-error-close{background:none;border:none;color:#dc2626;font-size:16px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.dp-exec-error-close:hover{color:#991b1b}.dp-data-grid{flex:1;overflow:auto}.dp-preset-card{margin:4px 0 8px;padding:10px 14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dp-preset-hint{font-size:12px;font-weight:600;color:#0369a1}.dp-preset-detail{font-size:11px;color:#475569;flex:1 1 100%}.dp-preset-apply{background:#0284c7;color:#fff;border:none;border-radius:5px;padding:4px 12px;font-size:11px;font-weight:500;cursor:pointer;transition:background .15s}.dp-preset-apply:hover{background:#0369a1}.dp-tags-field{display:flex;flex-direction:column;gap:4px;flex:1}.dp-tags-preview{display:flex;flex-wrap:wrap;gap:4px}.dp-tag-chip{display:inline-block;padding:2px 8px;background:#0d94881a;color:#0d9488;border-radius:4px;font-size:11px;font-weight:500}@media (max-width: 768px){.dp-config-params{flex-direction:column;flex-wrap:nowrap;gap:6px}.dp-param-field{width:100%}.dp-param-field select,.dp-param-field input[type=text],.dp-param-field input[type=number]{flex:1;width:auto}.dp-stepper{padding:12px 12px 8px}.dp-op-menu{width:280px}}.dp-btn-consult{margin-left:auto;color:var(--text-muted, #6b7280);gap:4px;font-size:12px}.dp-btn-consult:hover{color:var(--primary, #3b82f6);background:#3b82f60f}.dp-consult-overlay{position:fixed;inset:0;background:#0000004d;z-index:2000;display:flex;justify-content:flex-end;animation:dp-fade-in .15s ease}@keyframes dp-fade-in{0%{opacity:0}to{opacity:1}}.dp-consult-panel{width:480px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 24px #0000001f;display:flex;flex-direction:column;animation:dp-slide-in .2s ease;overflow:hidden}@keyframes dp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.dp-consult-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dp-consult-title{font-size:15px;font-weight:600;color:#111827}.dp-consult-close{background:none;border:none;font-size:22px;color:#6b7280;cursor:pointer;padding:0 4px;line-height:1}.dp-consult-close:hover{color:#111827}.dp-consult-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.dp-consult-section{display:flex;flex-direction:column;gap:6px}.dp-consult-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.dp-consult-status{display:flex;align-items:center;gap:10px}.dp-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:500}.dp-badge-success{background:#dcfce7;color:#166534}.dp-badge-error{background:#fef2f2;color:#dc2626}.dp-badge-running{background:#dbeafe;color:#2563eb}.dp-badge-idle{background:#f3f4f6;color:#6b7280}.dp-spinner-sm{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:dp-spin .6s linear infinite}@keyframes dp-spin{to{transform:rotate(360deg)}}.dp-consult-meta{font-size:11px;color:#94a3b8}.dp-consult-code{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:11.5px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#334155;max-height:300px;overflow-y:auto}.dp-consult-params{max-height:120px;font-size:11px}.dp-consult-error-block{background:#fef2f2;border-color:#fecaca;color:#dc2626;max-height:200px}.dp-consult-python{color:#1e293b}.dp-consult-result-summary{font-size:12px;color:#334155;padding:8px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px}.dp-consult-ai-hint{font-size:12px;color:#475569;padding:10px 14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;line-height:1.5}@media (max-width: 768px){.dp-consult-panel{width:100vw;max-width:100vw}}@keyframes dpBounce{0%,to{transform:translateY(0)}20%{transform:translateY(-6px)}40%{transform:translateY(0)}60%{transform:translateY(-4px)}80%{transform:translateY(0)}}.dp-btn-bounce{animation:dpBounce 1s ease-in-out;box-shadow:0 0 0 3px #3b82f659;transition:box-shadow .3s ease}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-50) 0%,var(--bg) 50%,#F0FDF4 100%)}.login-card{width:400px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-8)}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-header h2{margin:var(--space-3) 0 var(--space-1)}.login-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.login-form{display:flex;flex-direction:column;gap:var(--space-3)}.login-footer{margin-top:var(--space-5);text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.login-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.mct-login-page{min-height:100vh;background:#0a192f;display:flex;align-items:center;justify-content:center}.mct-login-page .login-page{background:none;min-height:auto}.mct-login-page .login-card{width:400px;background:#112240d9;backdrop-filter:blur(16px);border:1px solid rgba(100,255,218,.1);border-radius:16px;box-shadow:0 20px 60px #0006;padding:40px 36px}.mct-login-page .login-header h2{color:#e6f1ff;font-size:20px;font-weight:700}.mct-login-page .login-subtitle{color:#8892b0;font-size:13px}.mct-login-page .login-header svg rect{fill:#64ffda}.mct-login-page .login-header svg path,.mct-login-page .login-header svg circle{stroke:#0a192f}.mct-login-page .form-label{font-size:12px;font-weight:600;color:#8892b0;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.mct-login-page .form-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(100,255,218,.1);background:#ffffff08;color:#ccd6f6;font-size:13px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.mct-login-page .form-input::placeholder{color:#4a5568}.mct-login-page .form-input:focus{border-color:#64ffda4d}.mct-login-page .form-group{margin-bottom:16px}.mct-login-page .btn-primary{width:100%;padding:10px 16px;border-radius:8px;background:#64ffda26;color:#64ffda;border:1px solid rgba(100,255,218,.2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.mct-login-page .btn-primary:hover:not(:disabled){background:#64ffda40}.mct-login-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.mct-login-page .btn-ghost{background:transparent;color:#8892b0;border:1px solid rgba(100,255,218,.1)}.mct-login-page .btn-ghost:hover{background:#64ffda0d;color:#ccd6f6}.mct-login-page .login-hint{color:#4a5568;font-size:11px}.mct-login-page .alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;border-radius:8px;padding:8px 12px;font-size:12px}.settings-page{max-width:900px;margin:0 auto}.settings-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-light);margin-bottom:var(--space-5)}.settings-tab{padding:var(--space-2) var(--space-4);text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast)}.settings-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.settings-tab.active{color:var(--primary);font-weight:var(--font-weight-medium);border-bottom-color:var(--primary)}.settings-content{min-width:0}.settings-section h3{margin-bottom:var(--space-4)}.settings-section h4{font-size:var(--font-size-md);margin:var(--space-4) 0 var(--space-3)}.settings-divider{height:1px;background:var(--border-light);margin:var(--space-5) 0}.settings-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1);line-height:1.6}.settings-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.settings-info-item{padding:var(--space-3) var(--space-4);background:var(--bg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px}.settings-info-label{font-size:var(--font-size-xs);color:var(--text-muted)}.settings-info-value{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-about{margin-top:var(--space-6);padding-top:var(--space-4)}.settings-about h3{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:var(--space-3)}.settings-about p{font-size:var(--font-size-sm)}@media (max-width: 768px){.settings-tabs{overflow-x:auto}}.mct-layout{display:flex;min-height:100vh;background:#0a192f;color:#ccd6f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.mct-sidebar{width:240px;min-width:240px;background:#112240;border-right:1px solid rgba(100,255,218,.1);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.mct-sidebar-header{padding:20px 16px;border-bottom:1px solid rgba(100,255,218,.08)}.mct-sidebar-brand{display:flex;align-items:center;gap:10px}.mct-sidebar-brand-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#64ffda,#0a192f);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#0a192f}.mct-sidebar-brand-text{display:flex;flex-direction:column}.mct-sidebar-brand-title{font-size:14px;font-weight:700;color:#e6f1ff;letter-spacing:.5px}.mct-sidebar-brand-sub{font-size:10px;color:#64ffda;text-transform:uppercase;letter-spacing:1.5px}.mct-sidebar-nav{flex:1;padding:12px 8px}.mct-sidebar-section-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#4a5568;padding:16px 12px 8px}.mct-sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#8892b0;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;margin-bottom:2px}.mct-sidebar-item:hover{background:#64ffda0d;color:#ccd6f6}.mct-sidebar-item.active{background:#64ffda1a;color:#64ffda}.mct-sidebar-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mct-sidebar-footer{margin-top:auto;padding:12px 12px 16px;border-top:1px solid rgba(100,255,218,.08)}.mct-sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#64ffda0a}.mct-sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#64ffda,#0a7e64);color:#0a192f;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mct-sidebar-user-name{flex:1;font-size:13px;color:#ccd6f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mct-sidebar-logout{background:none;border:none;color:#8892b0;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mct-sidebar-logout:hover{color:#ff6b6b;background:#ff6b6b1a}.mct-main{flex:1;display:flex;flex-direction:column;min-width:0}.mct-header{height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(100,255,218,.08);background:#112240cc;backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.mct-header-left{display:flex;align-items:center;gap:16px}.mct-header-title{font-size:16px;font-weight:600;color:#e6f1ff}.mct-header-right{display:flex;align-items:center;gap:16px}.mct-header-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.mct-header-badge--online{background:#34d39926;color:#34d399}.mct-header-badge--version{background:#64ffda1a;color:#64ffda}.mct-status-dot{width:6px;height:6px;border-radius:50%}.mct-status-dot--green{background:#34d399;box-shadow:0 0 6px #34d399}.mct-status-dot--yellow{background:#fbbf24;box-shadow:0 0 6px #fbbf24}.mct-status-dot--red{background:#ef4444;box-shadow:0 0 6px #ef4444}.mct-content{flex:1;padding:24px;overflow-y:auto}.mct-card{background:#ffffff0d;backdrop-filter:blur(12px);border:1px solid rgba(100,255,218,.08);border-radius:12px;padding:20px;transition:border-color .2s ease}.mct-card:hover{border-color:#64ffda26}.mct-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mct-card-title{font-size:13px;font-weight:600;color:#8892b0;text-transform:uppercase;letter-spacing:.5px}.mct-card-value{font-size:28px;font-weight:700;color:#e6f1ff;margin-bottom:4px}.mct-card-sub{font-size:12px;color:#64ffda}.mct-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px}.mct-table-wrap{overflow-x:auto}.mct-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.mct-table thead th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#8892b0;border-bottom:1px solid rgba(100,255,218,.1);white-space:nowrap}.mct-table tbody td{padding:10px 14px;border-bottom:1px solid rgba(100,255,218,.04);color:#ccd6f6;white-space:nowrap}.mct-table tbody tr:hover{background:#64ffda08}.mct-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.mct-badge--green{background:#34d39926;color:#34d399}.mct-badge--yellow{background:#fbbf2426;color:#fbbf24}.mct-badge--red{background:#ef444426;color:#ef4444}.mct-badge--cyan{background:#64ffda1a;color:#64ffda}.mct-badge--gray{background:#8892b026;color:#8892b0}.mct-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.mct-btn--primary{background:#64ffda26;color:#64ffda;border:1px solid rgba(100,255,218,.2)}.mct-btn--primary:hover{background:#64ffda40}.mct-btn--ghost{background:transparent;color:#8892b0;border:1px solid rgba(100,255,218,.1)}.mct-btn--ghost:hover{background:#64ffda0d;color:#ccd6f6}.mct-btn--danger{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.mct-btn--danger:hover{background:#ef444433}.mct-btn--sm{padding:4px 10px;font-size:11px}.mct-tabs{display:flex;gap:2px;border-bottom:1px solid rgba(100,255,218,.08);margin-bottom:20px}.mct-tab{padding:10px 16px;font-size:13px;font-weight:500;color:#8892b0;cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;transition:all .2s ease}.mct-tab:hover{color:#ccd6f6}.mct-tab.active{color:#64ffda;border-bottom-color:#64ffda}.mct-search{padding:8px 14px;border-radius:8px;border:1px solid rgba(100,255,218,.1);background:#ffffff08;color:#ccd6f6;font-size:13px;outline:none;transition:border-color .2s ease;width:240px}.mct-search::placeholder{color:#4a5568}.mct-search:focus{border-color:#64ffda4d}.mct-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.mct-filter-card{background:#11224099;border:1px solid rgba(100,255,218,.08);border-radius:12px;padding:16px 20px;margin-bottom:16px;backdrop-filter:blur(12px)}.mct-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(100,255,218,.06)}.mct-filter-header-title{font-size:13px;font-weight:600;color:#8892b0;letter-spacing:.3px}.mct-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.mct-filter-row:last-child{margin-bottom:0}.mct-filter-label{font-size:11px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px;width:36px;flex-shrink:0}.mct-filter-group{display:flex;gap:4px;flex-wrap:wrap}.mct-filter-chip{padding:4px 12px;border-radius:14px;border:1px solid transparent;background:#ffffff0a;color:#8892b0;font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap;line-height:1.4}.mct-filter-chip:hover{background:#64ffda0f;color:#ccd6f6}.mct-filter-chip--active{background:#64ffda1a;border-color:#64ffda4d;color:#64ffda;font-weight:600}.mct-filter-chip--active:hover{background:#64ffda26}.mct-search-wrap{position:relative;flex:1;min-width:180px}.mct-search-wrap .mct-search{width:100%;padding-left:36px}.mct-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#4a5568;font-size:14px;pointer-events:none;transition:color .2s ease}.mct-search-wrap:focus-within .mct-search-icon{color:#64ffda}.mct-filter-reset{padding:5px 12px;border-radius:6px;border:1px solid rgba(239,68,68,.2);background:#ef44440f;color:#ef4444;font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mct-filter-reset:hover{background:#ef44441f;border-color:#ef444459}.mct-drawer-overlay{position:fixed;inset:0;background:#0a192f99;z-index:100;animation:mct-fade-in .2s ease}.mct-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:#112240;border-left:1px solid rgba(100,255,218,.1);z-index:101;display:flex;flex-direction:column;animation:mct-slide-in .25s ease;overflow-y:auto}.mct-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(100,255,218,.08)}.mct-drawer-title{font-size:15px;font-weight:600;color:#e6f1ff}.mct-drawer-close{width:32px;height:32px;border-radius:8px;border:none;background:#ffffff0d;color:#8892b0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s ease}.mct-drawer-close:hover{background:#ffffff1a;color:#ccd6f6}.mct-drawer-body{flex:1;padding:20px}.mct-drawer-footer{padding:16px 20px;border-top:1px solid rgba(100,255,218,.08);display:flex;justify-content:flex-end;gap:8px}.mct-form-group{margin-bottom:16px}.mct-form-label{display:block;font-size:12px;font-weight:600;color:#8892b0;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.mct-form-input,.mct-form-select,.mct-form-textarea{width:100%;padding:9px 12px;border-radius:8px;border:1px solid rgba(100,255,218,.1);background:#ffffff08;color:#ccd6f6;font-size:13px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.mct-form-input:focus,.mct-form-select:focus,.mct-form-textarea:focus{border-color:#64ffda4d}.mct-form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238892B0' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.mct-form-select option{background:#112240;color:#ccd6f6}.mct-form-textarea{min-height:80px;resize:vertical;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6}.mct-form-hint{font-size:11px;color:#4a5568;margin-top:4px;line-height:1.5}.mct-page-title{font-size:20px;font-weight:700;color:#e6f1ff;margin-bottom:4px}.mct-page-subtitle{font-size:13px;color:#8892b0;margin-bottom:24px}.mct-activity-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid rgba(100,255,218,.04)}.mct-activity-item:last-child{border-bottom:none}.mct-activity-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.mct-activity-text{font-size:13px;color:#ccd6f6;line-height:1.4}.mct-activity-time{font-size:11px;color:#4a5568;margin-top:2px}.mct-empty{text-align:center;padding:40px 20px;color:#4a5568;font-size:13px}@keyframes mct-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mct-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.mct-spinner{width:24px;height:24px;border:2px solid rgba(100,255,218,.1);border-top-color:#64ffda;border-radius:50%;animation:mct-spin .8s linear infinite;margin:40px auto}@keyframes mct-spin{to{transform:rotate(360deg)}}.mct-section-head{display:flex;align-items:center;gap:8px;margin-bottom:16px}.mct-section-title{font-size:15px;font-weight:600;color:#e6f1ff}.mct-section-count{font-size:11px;color:#8892b0;background:#64ffda14;padding:2px 8px;border-radius:10px}.mct-json-preview{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.5;color:#8892b0;background:#0003;padding:12px;border-radius:8px;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-all}.wf-builder{background:#11224099;border:1px solid rgba(100,255,218,.08);border-radius:12px;overflow:hidden}.wf-builder-header{padding:16px 20px;border-bottom:1px solid rgba(100,255,218,.08)}.wf-builder-title{font-size:16px;font-weight:700;color:#e6f1ff;margin:0}.wf-builder-meta{padding:16px 20px;border-bottom:1px solid rgba(100,255,218,.06);display:flex;flex-direction:column;gap:10px}.wf-builder-meta-row{display:flex;gap:12px}.wf-builder-meta-field{flex:1}.wf-builder-label{display:block;font-size:11px;font-weight:600;color:#8892b0;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.wf-builder-body{display:flex;min-height:420px;max-height:60vh}.wf-builder-plugins{width:280px;min-width:280px;border-right:1px solid rgba(100,255,218,.06);display:flex;flex-direction:column}.wf-builder-plugins-header,.wf-builder-steps-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(100,255,218,.06)}.wf-builder-section-title{font-size:13px;font-weight:600;color:#e6f1ff}.wf-builder-count{font-size:11px;color:#8892b0;background:#64ffda14;padding:2px 8px;border-radius:10px}.wf-builder-search-wrap{position:relative;padding:8px 12px;border-bottom:1px solid rgba(100,255,218,.04)}.wf-builder-search-wrap .mct-search{width:100%;padding-left:30px}.wf-builder-search-wrap .mct-search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%)}.wf-builder-plugin-list{flex:1;overflow-y:auto;padding:4px 0}.wf-builder-cat-group{margin-bottom:2px}.wf-builder-cat-header{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .15s ease;user-select:none}.wf-builder-cat-header:hover{background:#64ffda0a}.wf-builder-cat-chevron{font-size:9px;color:#4a5568;transition:transform .15s ease}.wf-builder-cat-chevron.expanded{transform:rotate(90deg)}.wf-builder-cat-name{font-size:12px;font-weight:600;color:#8892b0;flex:1}.wf-builder-cat-count{font-size:10px;color:#4a5568;background:#ffffff0a;padding:1px 6px;border-radius:8px}.wf-builder-cat-items{padding:0 8px 4px}.wf-builder-plugin-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:6px;cursor:pointer;transition:all .15s ease;margin-bottom:1px}.wf-builder-plugin-item:hover{background:#64ffda14}.wf-builder-plugin-name{font-size:12px;color:#ccd6f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-builder-plugin-add{font-size:14px;color:#4a5568;flex-shrink:0;transition:color .15s ease}.wf-builder-plugin-item:hover .wf-builder-plugin-add{color:#64ffda}.wf-builder-steps{flex:1;display:flex;flex-direction:column;min-width:0}.wf-builder-step-list{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.wf-builder-step-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(100,255,218,.08);border-radius:8px;transition:all .15s ease}.wf-builder-step-card:hover{border-color:#64ffda26;background:#ffffff0f}.wf-builder-step-handle{cursor:grab;color:#4a5568;font-size:14px;padding:2px;user-select:none;flex-shrink:0}.wf-builder-step-handle:active{cursor:grabbing}.wf-builder-step-num{width:22px;height:22px;border-radius:6px;background:#64ffda1a;color:#64ffda;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wf-builder-step-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wf-builder-step-name{font-size:13px;font-weight:500;color:#e6f1ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-builder-step-id{font-size:10px;color:#4a5568;font-family:SF Mono,Fira Code,monospace}.wf-builder-step-actions{display:flex;gap:2px;flex-shrink:0}.wf-builder-step-btn{width:26px;height:26px;border:none;border-radius:6px;background:#ffffff0a;color:#8892b0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s ease;padding:0}.wf-builder-step-btn:hover:not(:disabled){background:#64ffda1a;color:#ccd6f6}.wf-builder-step-btn:disabled{opacity:.3;cursor:not-allowed}.wf-builder-step-btn--danger:hover:not(:disabled){background:#ef444426;color:#ef4444}.wf-builder-step-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#4a5568;font-size:13px;padding:40px 20px;border:2px dashed rgba(100,255,218,.08);border-radius:10px}.wf-builder-step-empty-icon{font-size:28px;opacity:.4}.wf-builder-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}.wf-builder-toggle input[type=checkbox]{accent-color:#64FFDA;width:16px;height:16px;cursor:pointer}.wf-builder-toggle-label{font-size:13px;font-weight:600;color:#8892b0}.wf-builder-toggle input:checked+.wf-builder-toggle-label{color:#64ffda}.wf-builder-footer{padding:14px 20px;border-top:1px solid rgba(100,255,218,.08);display:flex;gap:8px;justify-content:flex-end}@media (max-width: 768px){.mct-sidebar{display:none}.mct-stats-grid{grid-template-columns:1fr 1fr}.mct-drawer{width:100vw}.wf-builder-body{flex-direction:column;max-height:none}.wf-builder-plugins{width:100%;min-width:0;max-height:240px;border-right:none;border-bottom:1px solid rgba(100,255,218,.06)}.wf-builder-meta-row{flex-direction:column}}.mct-table-row--locked{opacity:.55}.mct-table-row--locked input[type=checkbox]{cursor:not-allowed}.mct-row-detail-wrapper>td{padding:0!important;border-top:none!important}.mct-row-detail{background:#64ffda08;border-left:3px solid rgba(100,255,218,.4);padding:16px 20px!important;color:#ccd6f6}.mct-row-detail-loading{padding:16px;text-align:center;color:#8892b0;font-size:13px}.mct-pipeline{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#0a192f66;border-radius:6px;border:1px solid rgba(100,255,218,.1)}.mct-pipeline-step{display:flex;align-items:center;gap:10px;font-size:13px;color:#ccd6f6}.mct-pipeline-step__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mct-pipeline-step--done .mct-pipeline-step__dot{background:#10b981;box-shadow:0 0 6px #10b98180}.mct-pipeline-step--pending .mct-pipeline-step__dot{background:#495670}.mct-pipeline-step--failed .mct-pipeline-step__dot{background:#ef4444;box-shadow:0 0 6px #ef444480}.mct-badge--locked{background:#f59e0b!important;color:#0a192f!important;font-size:10px;padding:2px 6px;border-radius:10px;margin-left:6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg);overflow-x:hidden}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;background:none}input,select,textarea{font-family:var(--font-family);font-size:var(--font-size-base)}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal)}.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.app-content{flex:1;padding:var(--space-6);margin-top:var(--header-height);max-width:var(--max-content-width);width:100%}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);white-space:nowrap;height:36px}.btn-primary{background:var(--primary);color:var(--text-on-primary)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md),var(--shadow-glow)}.btn-primary:active{background:var(--primary-dark)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-danger{background:var(--error);color:var(--text-on-primary)}.btn-danger:hover{background:#d33426}.btn-sm{height:28px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{height:44px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-md)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.card-body{padding:var(--space-5)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-light)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.glass-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-1)}.form-input,.form-select{width:100%;height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input::placeholder{color:var(--text-muted)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235F6368' d='M6 8.825a.5.5 0 01-.354-.146l-4-4a.5.5 0 11.708-.708L6 7.617l3.646-3.646a.5.5 0 11.708.708l-4 4A.5.5 0 016 8.825z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.5}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex;align-items:flex-start;gap:var(--space-3)}.alert-info{background:var(--info-bg);color:var(--primary)}.alert-success{background:var(--success-bg);color:var(--success)}.alert-warning{background:var(--warning-bg);color:var(--warning)}.alert-error{background:var(--error-bg);color:var(--error)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-lg{width:40px;height:40px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.table-container{overflow-x:auto;border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse}.scientific-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);border:none}.scientific-table thead tr{border-top:2.5px solid #1a1a1a}.scientific-table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);vertical-align:bottom;border:none;border-bottom:1px solid #9ca3af;font-family:var(--font-family);font-size:var(--font-size-sm)}.scientific-table tbody tr:last-child{border-bottom:2.5px solid #1a1a1a}.scientific-table td{padding:var(--space-2) var(--space-3);text-align:left;color:var(--text-primary);border:none;border-left:none;border-right:none;vertical-align:middle;font-size:var(--font-size-sm)}.scientific-table .col-label{text-align:left;font-family:var(--font-family)}.scientific-table .col-numeric{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.scientific-table .row-significant{background:var(--med-significant-bg, rgba(245, 158, 11, .1))}.scientific-table .cell-significant{font-weight:var(--med-significant-bold, 700)}.scientific-table tbody tr:hover{background:var(--med-hover-row, rgba(0, 49, 83, .03))}.table-caption{text-align:center;font-weight:var(--font-weight-medium);font-style:normal;font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-2)}.table-caption-en{text-align:center;font-style:italic;font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-3)}.result-table-container{margin-bottom:var(--space-4)}.result-table-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--text-primary)}.result-table-subtitle{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--space-2);font-style:italic}.table-notes{margin-top:var(--space-2)}.note-text{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal);font-style:italic}.three-line-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);border:none}.three-line-table thead{border-top:2.5px solid #1a1a1a;border-bottom:1px solid #9ca3af}.three-line-table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-primary);vertical-align:bottom;border:none}.three-line-table td{padding:var(--space-2) var(--space-3);text-align:left;color:var(--text-primary);border:none;vertical-align:middle}.three-line-table td.numeric{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.three-line-table tbody tr:last-child{border-bottom:2.5px solid #1a1a1a}.three-line-table tbody tr:hover{background:var(--med-hover-row, rgba(0, 49, 83, .03))}.three-line-table-container{margin-bottom:var(--space-4)}.table-caption{text-align:center;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-error{color:var(--error)}.font-mono{font-family:var(--font-mono)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.h-full{height:100%}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-4{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.app-main{margin-left:0}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.app-content{padding:var(--space-4)}}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--text-primary);color:var(--surface);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);z-index:9999;animation:slideInUp .3s ease}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);text-align:center;color:var(--text-secondary)}.empty-state svg{width:64px;height:64px;margin-bottom:var(--space-4);opacity:.5}.empty-state h3{color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-2);background:var(--text-primary);color:var(--surface);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.tooltip:hover:after{opacity:1}.quick-link-highlight{border-color:var(--primary)!important;background:linear-gradient(135deg,var(--primary-light) 0%,var(--surface) 100%)!important}.quick-link-highlight:hover{box-shadow:var(--shadow-lg),0 0 0 2px var(--primary)!important;transform:translateY(-2px)}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media (max-width: 1024px){.feature-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.feature-list{grid-template-columns:1fr}}.home-page{max-width:1000px;margin:0 auto;padding:var(--space-8) var(--space-6)}.hero-section{text-align:center;margin-bottom:var(--space-8);position:relative}.hero-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:600;background:linear-gradient(135deg,var(--primary),#14B8A6);color:#fff;margin-bottom:var(--space-3)}.hero-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.hero-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:var(--space-5)}.hero-actions{display:flex;gap:12px;justify-content:center}.hero-btn{display:inline-flex;align-items:center;gap:8px}.home-section{margin-bottom:var(--space-8)}.home-section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4)}.mode-intro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mode-intro-card{padding:20px;border-radius:12px;border:1px solid var(--border);background:var(--surface);transition:all .2s}.mode-intro-card:hover{box-shadow:0 4px 16px #0000000f}.mode-intro-card.weak-mode:hover{border-color:var(--primary)}.mode-intro-card.strong-mode:hover{border-color:#6366f1}.mode-intro-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mode-intro-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.weak-mode .mode-intro-icon{background:var(--primary-light);color:var(--primary)}.strong-mode .mode-intro-icon{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);color:#6366f1}.mode-intro-header h4{font-size:1rem;font-weight:600;color:var(--text-primary)}.mode-intro-card>p{font-size:.82rem;color:var(--text-secondary);margin-bottom:12px}.mode-intro-flow{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.mode-flow-step{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.mode-flow-num{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0}.weak-mode .mode-flow-num{background:var(--primary-light);color:var(--primary)}.strong-mode .mode-flow-num{background:linear-gradient(135deg,#6366f126,#8b5cf626);color:#6366f1}.mode-flow-arrow{color:var(--text-muted);font-size:.7rem}.home-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:var(--space-8)}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:10px;background:var(--surface);border:1px solid var(--border-light)}.stat-icon{font-size:1.4rem}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-secondary)}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:var(--space-8)}.quick-link-card{display:flex;flex-direction:column;align-items:center;padding:20px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-align:center;transition:all .2s;text-decoration:none;color:inherit}.quick-link-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);color:inherit}.quick-link-icon{font-size:1.8rem;margin-bottom:8px}.quick-link-card h3{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.quick-link-card p{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.insights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.insight-card{padding:16px;border-radius:10px;border:1px solid var(--border-light);background:var(--surface)}.insight-tag{display:inline-block;padding:1px 8px;border-radius:8px;font-size:.68rem;font-weight:600;background:var(--primary-light);color:var(--primary);margin-bottom:6px}.insight-card h4{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.insight-card p{font-size:.78rem;color:var(--text-secondary);line-height:1.5}.features-section{margin-bottom:var(--space-8)}.features-section h3{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-4)}.feature-item{padding:14px;border-radius:8px;border:1px solid var(--border-light);background:var(--surface)}.feature-item h4{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.feature-item p{font-size:.78rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.home-page{padding:var(--space-4)}.mode-intro-grid,.insights-grid{grid-template-columns:1fr}.home-stats,.quick-links{grid-template-columns:repeat(2,1fr)}.hero-title{font-size:1.5rem}.mode-intro-flow{flex-direction:column;align-items:flex-start}.mode-flow-arrow{transform:rotate(90deg)}}:root{--primary: #0D9488;--primary-dark: #0F766E;--primary-light: #CCFBF1;--primary-hover: #0F766E;--primary-50: #F0FDFA;--primary-100: #CCFBF1;--primary-200: #99F6E4;--primary-500: #14B8A6;--primary-600: #0D9488;--primary-700: #0F766E;--accent: #3B82F6;--accent-light: #EFF6FF;--accent-dark: #2563EB;--bg: #F8FAFC;--bg-dark: #F1F5F9;--surface: #FFFFFF;--surface-hover: #F8FAFC;--surface-glass: rgba(255, 255, 255, .72);--surface-glass-border: rgba(255, 255, 255, .18);--text-primary: #0F172A;--text-secondary: #475569;--text-on-primary: #FFFFFF;--text-muted: #94A3B8;--border: #E2E8F0;--border-light: #F1F5F9;--divider: #F1F5F9;--success: #10B981;--success-bg: #ECFDF5;--warning: #F59E0B;--warning-bg: #FFFBEB;--error: #EF4444;--error-bg: #FEF2F2;--info: #0D9488;--info-bg: #F0FDFA;--font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-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: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .04);--shadow-md: 0 2px 8px -2px rgba(15, 23, 42, .08), 0 1px 3px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 8px 24px -4px rgba(15, 23, 42, .08), 0 2px 8px -2px rgba(15, 23, 42, .04);--shadow-xl: 0 16px 40px -8px rgba(15, 23, 42, .12);--shadow-glass: 0 4px 16px rgba(15, 23, 42, .06);--shadow-glow: 0 0 20px rgba(13, 148, 136, .15);--glass-bg: rgba(255, 255, 255, .72);--glass-border: 1px solid rgba(255, 255, 255, .3);--glass-blur: blur(12px);--med-morandi-blue: #9AADBF;--med-morandi-rose: #C4A3A3;--med-morandi-sage: #A8BBA0;--med-morandi-taupe: #B8A99A;--med-morandi-plum: #A89BB8;--med-morandi-teal: #8FB8B0;--med-morandi-gold: #C9BDA0;--med-morandi-mist: #A3A8B0;--med-significant-bg: rgba(245, 158, 11, .1);--med-significant-bold: 700;--med-border-heavy: 2.5px solid #1a1a1a;--med-border-light: 1px solid #9ca3af;--med-glass-bg: rgba(255, 255, 255, .65);--med-glass-border: 1px solid rgba(255, 255, 255, .1);--med-glass-blur: blur(20px);--med-glass-shadow: 0 4px 24px rgba(0, 0, 0, .06);--med-audit-color: #94a3b8;--med-audit-font-size: .75rem;--med-hover-row: rgba(0, 49, 83, .03);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--sidebar-width: 272px;--sidebar-collapsed-width: 64px;--header-height: 56px;--max-content-width: 1200px}
