@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.5;transition:background-color .3s ease}body::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:2rem;margin-bottom:24px}h2{font-size:1.5rem;margin-bottom:16px}h3{font-size:1.25rem;margin-bottom:12px}h4{font-size:1.125rem;margin-bottom:12px}h5{font-size:1rem;margin-bottom:8px}h6{font-size:.875rem;margin-bottom:8px}a{color:var(--primary);text-decoration:none;transition:all .2s ease}a:hover{color:var(--primary-hover)}p{margin-bottom:12px;color:var(--text-secondary)}p:last-child{margin-bottom:0}::selection{background:var(--primary-light);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:2px solid transparent;border-radius:6px;font-size:.875rem;font-weight:600;line-height:1;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none;outline:none;position:relative}.btn:focus-visible{box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--primary)}.btn.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.btn-sm{padding:8px 12px;font-size:.75rem}.btn.btn-lg{padding:16px 32px;font-size:1rem}.btn.btn-primary{background:var(--primary);color:var(--text-inverse)}.btn.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.btn.btn-primary:active:not(:disabled){transform:translateY(0)}.btn.btn-secondary{background:var(--secondary);color:var(--text-inverse)}.btn.btn-secondary:hover:not(:disabled){background:var(--secondary-hover)}.btn.btn-success{background:var(--success);color:var(--text-inverse)}.btn.btn-success:hover:not(:disabled){background:var(--success-hover)}.btn.btn-danger{background:var(--danger);color:var(--text-inverse)}.btn.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn.btn-warning{background:var(--warning);color:var(--text-inverse)}.btn.btn-warning:hover:not(:disabled){background:var(--warning-hover)}.btn.btn-info{background:var(--info);color:var(--text-inverse)}.btn.btn-info:hover:not(:disabled){background:var(--info-hover)}.btn.btn-outline{background:transparent;border-color:var(--primary);color:var(--primary)}.btn.btn-outline:hover:not(:disabled){background:var(--primary);color:var(--text-inverse)}.btn.btn-ghost{background:transparent;color:var(--text-secondary)}.btn.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--text-primary)}.form-input,.form-select,.form-textarea,.variable-input,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week],select,textarea{width:100%;padding:12px 16px;background:var(--background);border:2px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-family:inherit;line-height:1.5;transition:all .2s ease}.form-input:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus),.form-textarea:hover:not(:disabled):not(:focus),.variable-input:hover:not(:disabled):not(:focus),input[type=text]:hover:not(:disabled):not(:focus),input[type=password]:hover:not(:disabled):not(:focus),input[type=email]:hover:not(:disabled):not(:focus),input[type=number]:hover:not(:disabled):not(:focus),input[type=search]:hover:not(:disabled):not(:focus),input[type=tel]:hover:not(:disabled):not(:focus),input[type=url]:hover:not(:disabled):not(:focus),input[type=date]:hover:not(:disabled):not(:focus),input[type=datetime-local]:hover:not(:disabled):not(:focus),input[type=month]:hover:not(:disabled):not(:focus),input[type=time]:hover:not(:disabled):not(:focus),input[type=week]:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--border-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus,.variable-input:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder,.variable-input::placeholder,input[type=text]::placeholder,input[type=password]::placeholder,input[type=email]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=url]::placeholder,input[type=date]::placeholder,input[type=datetime-local]::placeholder,input[type=month]::placeholder,input[type=time]::placeholder,input[type=week]::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,.variable-input:disabled,input[type=text]:disabled,input[type=password]:disabled,input[type=email]:disabled,input[type=number]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=url]:disabled,input[type=date]:disabled,input[type=datetime-local]:disabled,input[type=month]:disabled,input[type=time]:disabled,input[type=week]:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-disabled);cursor:not-allowed}select,.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-arrow);background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:44px;cursor:pointer}textarea{min-height:100px;resize:vertical}.form-group{margin-bottom:24px}.form-group .form-label{display:block;margin-bottom:8px;font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group .form-hint{margin-top:4px;font-size:.75rem;color:var(--text-muted)}.form-group .form-error{margin-top:4px;font-size:.75rem;color:var(--danger)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.card{background:var(--background);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.card .card-header{padding:24px;background:var(--surface);border-bottom:1px solid var(--border)}.card .card-header .card-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.card .card-header .card-subtitle{margin-top:4px;font-size:.875rem;color:var(--text-muted)}.card .card-body{padding:24px}.card .card-footer{padding:16px 24px;background:var(--surface);border-top:1px solid var(--border)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);display:none;align-items:center;justify-content:center;padding:24px;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.active{display:flex;animation:fadeIn .2s ease}.modal .modal-content{background:var(--background);border-radius:12px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.modal .modal-header{padding:24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal .modal-header h3{margin:0;font-size:1.125rem}.modal .modal-header .modal-close{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal .modal-header .modal-close:hover{background:var(--surface-2);color:var(--text-primary)}.modal .modal-body{padding:24px;flex:1;overflow-y:auto}.modal .modal-body::-webkit-scrollbar{width:8px;height:8px}.modal .modal-body::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.modal .modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.modal .modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal .modal-footer{padding:24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop);z-index:-1}.modal.active .modal-content{position:relative;z-index:1001;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-large{max-width:800px!important}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border)}.tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:24px;overflow-x:auto}.tabs::-webkit-scrollbar{width:8px;height:8px}.tabs::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.tabs::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.tabs .tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;margin-bottom:-2px;transition:all .2s ease}.tabs .tab:hover:not(.active){color:var(--text-secondary)}.tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease}.tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:500;line-height:1;white-space:nowrap}.tag:not([class*=tag-]){background:var(--surface-2);color:var(--text-primary)}.tag.tag-primary{background:var(--primary-light);color:var(--primary)}.tag.tag-success{background:var(--success-light);color:var(--success)}.tag.tag-warning{background:var(--warning-light);color:var(--warning)}.tag.tag-danger{background:var(--danger-light);color:var(--danger)}.tag.tag-info{background:var(--info-light);color:var(--info)}.alert{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:.875rem}.alert.alert-primary{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary)}.alert.alert-success{background:var(--success-light);color:var(--success);border:1px solid var(--success)}.alert.alert-warning{background:var(--warning-light);color:var(--warning);border:1px solid var(--warning)}.alert.alert-danger{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.alert.alert-info{background:var(--info-light);color:var(--info);border:1px solid var(--info)}.ai-modal-content{max-width:700px}.prompt-textarea{font-family:Monaco,Courier New,monospace;font-size:13px;min-height:200px}.available-variables{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.available-variables .variables-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.available-variables .variable-tag{cursor:pointer}.available-variables .variable-tag:hover{transform:scale(1.05)}.form-hint{display:block;font-size:11px;color:var(--text-muted);font-weight:400;margin-top:4px}.slider-info{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-top:4px}.validation-rules-list{margin-bottom:20px}.validation-rule-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px;position:relative}.validation-rule-item .remove-rule-btn{position:absolute;top:12px;right:12px}.file-drop-zone{border:3px dashed var(--border);border-radius:12px;padding:40px;text-align:center;background:var(--surface);transition:all .3s ease;margin-bottom:24px}.file-drop-zone:hover,.file-drop-zone.drag-active{border-color:var(--primary);background:var(--primary-light)}.file-drop-zone .drop-zone-icon{font-size:48px;margin-bottom:16px}.file-drop-zone .drop-zone-text{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.file-drop-zone .drop-zone-subtext{color:var(--text-muted);margin-bottom:16px}.file-drop-zone .drop-zone-formats{margin-top:16px;font-size:12px;color:var(--text-muted)}.selected-files h4{margin-bottom:12px;font-size:14px;color:var(--text-primary)}.files-list{max-height:200px;overflow-y:auto}.files-list .file-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:8px}.files-list .file-item .file-info{display:flex;align-items:center;gap:12px;flex:1}.files-list .file-item .file-info .file-icon{font-size:24px}.files-list .file-item .file-info .file-details .file-name{font-weight:500;font-size:14px;color:var(--text-primary)}.files-list .file-item .file-info .file-details .file-size{font-size:12px;color:var(--text-muted)}.prompt-preview{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.prompt-preview .preview-box{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px;margin-top:8px}.prompt-preview .preview-box .preview-label{font-size:11px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.prompt-preview .preview-box .preview-text{font-family:Monaco,Courier New,monospace;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.headers-list .header-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%)}.login-page .login-container{width:100%;max-width:420px;background:var(--background);border-radius:12px;padding:32px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.login-page .login-container .login-logo{text-align:center;margin-bottom:24px}.login-page .login-container .login-logo .logo-icon{width:60px;height:60px;margin:0 auto;background:linear-gradient(135deg,var(--primary),var(--info));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 4px 6px -1px #0000001a}.login-page .login-container .login-title{text-align:center;margin-bottom:32px;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.login-page .login-container .login-form{display:flex;flex-direction:column;gap:16px}.login-page .login-container .login-form .form-group{margin-bottom:8px}.login-page .login-container .login-form .recaptcha-container{display:flex;justify-content:center;margin:16px 0;min-height:78px}.login-page .login-container .login-form .login-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;background:var(--primary);color:var(--text-inverse);border:2px solid transparent;border-radius:6px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;width:100%;margin-top:8px}.login-page .login-container .login-form .login-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.login-page .login-container .login-form .login-button:active:not(:disabled){transform:translateY(0)}.login-page .login-container .login-form .login-button:disabled{opacity:.5;cursor:not-allowed}.login-page .login-container .login-error{margin-top:16px;padding:12px;background:var(--danger-light);color:var(--danger);border:1px solid var(--danger);border-radius:6px;text-align:center;font-size:.875rem}.dashboard-container{min-height:100vh;background:var(--background);display:flex;flex-direction:column}.project-dashboard-header{background:var(--header-bg);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(var(--shadow-color),.08)}.project-dashboard-header .header-content{max-width:1600px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}@media (max-width: 1024px){.project-dashboard-header .header-content{flex-wrap:wrap}}.project-dashboard-header .header-left{display:flex;align-items:center;gap:24px;flex:1;min-width:0}@media (max-width: 768px){.project-dashboard-header .header-left{width:100%;margin-bottom:12px}}.project-dashboard-header .logo-animated{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 12px;min-width:80px}.project-dashboard-header .logo-animated .logo-text{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,var(--primary) 0%,var(--info) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.project-dashboard-header .logo-animated .logo-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.project-dashboard-header .logo-animated .logo-stars .star{position:absolute;font-size:.5rem;opacity:0;animation:starFloat 3s ease-in-out infinite;color:var(--primary);filter:blur(.5px)}.project-dashboard-header .logo-animated .logo-stars .star.star-1{top:10%;left:5%;animation-delay:0s}.project-dashboard-header .logo-animated .logo-stars .star.star-2{top:20%;right:10%;animation-delay:.7s}.project-dashboard-header .logo-animated .logo-stars .star.star-3{bottom:15%;left:15%;animation-delay:1.4s}.project-dashboard-header .logo-animated .logo-stars .star.star-4{bottom:10%;right:5%;animation-delay:2.1s}.project-dashboard-header .project-divider{width:2px;height:32px;background:var(--border);flex-shrink:0}@media (max-width: 768px){.project-dashboard-header .project-divider{display:none}}.project-dashboard-header .project-info-compact{flex:1;min-width:0}.project-dashboard-header .project-info-compact .project-name{display:flex;align-items:center;gap:4px;font-size:1rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-dashboard-header .project-info-compact .project-name .owner-badge{font-size:.875rem;flex-shrink:0}.project-dashboard-header .project-info-compact .project-meta{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-dashboard-header .header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.project-dashboard-header .header-right{width:100%;justify-content:space-between}}.project-dashboard-header .header-divider{width:1px;height:24px;background:var(--border);margin:0 4px}@media (max-width: 576px){.project-dashboard-header .header-divider{display:none}}.project-dashboard-header .btn-icon{width:36px;height:36px;padding:0;font-size:1.125rem;display:flex;align-items:center;justify-content:center;border-radius:6px}.project-dashboard-header .user-menu{display:flex;align-items:center;gap:12px}.project-dashboard-header .user-menu .user-info{display:flex;flex-direction:column;align-items:flex-end}@media (max-width: 576px){.project-dashboard-header .user-menu .user-info{display:none}}.project-dashboard-header .user-menu .user-info .user-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.project-dashboard-header .user-menu .user-info .user-role{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.main-layout{display:grid;grid-template-columns:280px 1fr;flex:1;overflow:hidden}@media (max-width: 1024px){.main-layout{grid-template-columns:1fr}}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);padding:24px;overflow-y:auto}@media (max-width: 1024px){.sidebar{display:none}}.sidebar .sidebar-section{margin-bottom:32px}.sidebar .sidebar-section .sidebar-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px}.sidebar .resource-card,.sidebar .variables-card{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px;transition:all .2s ease}.sidebar .resource-card:hover,.sidebar .variables-card:hover{box-shadow:0 1px 3px #0000001a}.sidebar .resource-card .resource-header,.sidebar .variables-card .resource-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sidebar .resource-card .resource-header .resource-name,.sidebar .variables-card .resource-header .resource-name{font-weight:500;font-size:.875rem}.sidebar .resource-card .resource-header .status-dot,.sidebar .variables-card .resource-header .status-dot{width:8px;height:8px;border-radius:50%}.sidebar .resource-card .resource-header .status-dot.status-success,.sidebar .variables-card .resource-header .status-dot.status-success{background:var(--success)}.sidebar .resource-card .resource-header .status-dot.status-warning,.sidebar .variables-card .resource-header .status-dot.status-warning{background:var(--warning)}.sidebar .resource-card .resource-header .status-dot.status-danger,.sidebar .variables-card .resource-header .status-dot.status-danger{background:var(--danger)}.sidebar .resource-card .resource-info,.sidebar .variables-card .resource-info{font-size:.75rem;color:var(--text-muted)}.sidebar .resource-card .variable-group,.sidebar .variables-card .variable-group{font-size:.875rem;padding:4px 0;color:var(--text-secondary)}.main-content{display:flex;flex-direction:column;overflow:hidden}.workflow-steps{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;gap:8px;overflow-x:auto}.workflow-steps::-webkit-scrollbar{height:6px}.workflow-steps::-webkit-scrollbar-track{background:var(--surface)}.workflow-steps::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.workflow-steps .step{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--background);border:2px solid var(--border);border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease}.workflow-steps .step:hover{border-color:var(--primary)}.workflow-steps .step.active{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.workflow-steps .step.completed{background:var(--success);border-color:var(--success);color:var(--text-inverse)}.workflow-steps .step .step-number{width:20px;height:20px;background:var(--surface-2);color:var(--text-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.workflow-steps .step.active .step-number,.workflow-steps .step.completed .step-number{background:#fff3;color:var(--text-inverse)}.workflow-steps .step-arrow{color:var(--text-muted)}.content-area{flex:1;padding:24px;overflow-y:auto}.content-area::-webkit-scrollbar{width:8px}.content-area::-webkit-scrollbar-track{background:var(--surface)}.content-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.content-area h2{margin-bottom:8px;font-size:1.5rem}.content-area h3{margin-bottom:16px;margin-top:32px;font-size:1.125rem;color:var(--text-primary)}.content-area .subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.875rem}.content-area .step-content{display:none}.content-area .step-content.active{display:block;animation:fadeIn .3s ease}.action-bar{background:var(--surface);border-top:1px solid var(--border);padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.action-bar .status-info{color:var(--text-secondary);font-size:.875rem}.action-bar .action-buttons{display:flex;gap:12px}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--background);color:var(--text-primary);gap:24px}.data-sources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:32px}.source-card{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:24px;cursor:pointer;position:relative;transition:all .2s ease}.source-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.source-card.active{border-color:var(--primary);background:var(--primary-light)}.source-card .source-card-status{position:absolute;top:16px;right:16px;width:8px;height:8px;border-radius:50%;background:var(--success)}.source-card .source-card-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--info));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px}.source-card .source-card-title{font-size:1.125rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.source-card .source-card-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:16px;line-height:1.5}.source-card .source-card-actions{display:flex;gap:8px;margin-top:16px}.source-card .source-card-status-text,.source-card .source-card-info,.source-card .source-card-warning{margin-top:12px;font-size:.75rem}.source-card .source-card-status-text{color:var(--success)}.source-card .source-card-info{color:var(--text-muted)}.source-card .source-card-warning{color:var(--warning)}.schema-explorer{display:grid;grid-template-columns:250px 1fr 300px;gap:24px;height:500px;margin:32px 0}@media (max-width: 1024px){.schema-explorer{grid-template-columns:1fr;height:auto}.schema-explorer>div{height:300px}}.schema-explorer>div{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;overflow-y:auto}.schema-explorer h4{margin-bottom:16px;font-size:1rem}.schema-explorer .tree-item{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.schema-explorer .tree-item:hover{background:var(--surface-2)}.schema-explorer .tree-item.selected{background:var(--primary);color:var(--text-inverse)}.schema-explorer .tree-item-children{margin-left:24px;margin-top:4px}.schema-explorer .schema-table{width:100%;border-collapse:collapse}.schema-explorer .schema-table th,.schema-explorer .schema-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.schema-explorer .schema-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-muted)}.schema-explorer .schema-table td{font-size:.875rem}.schema-explorer .relationship-card{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:12px}.schema-explorer .relationship-card .relationship-title{font-size:.875rem;font-weight:500;margin-bottom:4px}.schema-explorer .relationship-card .relationship-info{font-size:.75rem;color:var(--text-muted)}.file-upload-area{border:3px dashed var(--border);border-radius:12px;padding:32px;text-align:center;background:var(--surface);transition:all .2s ease;cursor:pointer}.file-upload-area:hover,.file-upload-area.dragging{border-color:var(--primary);background:var(--primary-light)}.file-upload-area .upload-icon{font-size:3rem;margin-bottom:16px}.file-upload-area .upload-title{font-size:1.125rem;font-weight:600;margin-bottom:8px}.file-upload-area .upload-subtitle{color:var(--text-muted);margin-bottom:24px}.file-upload-area .upload-formats{margin-top:24px;font-size:.75rem;color:var(--text-muted)}.uploaded-files-table{margin-top:24px}.uploaded-files-table table{width:100%;background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden}.uploaded-files-table table thead{background:var(--surface)}.uploaded-files-table table th,.uploaded-files-table table td{padding:12px;border-bottom:1px solid var(--border);font-size:.875rem}.uploaded-files-table table tbody tr:last-child td{border-bottom:none}.uploaded-files-table table th{font-weight:600;text-transform:uppercase;font-size:.75rem;color:var(--text-muted)}.variable-builder,.query-builder-advanced,.variables-grid,.mapping-table-container,.mapping-templates,.ai-settings-grid,.content-filters,.execution-dashboard,.metrics-container,.review-container,.bulk-actions-container{margin-top:32px;margin-bottom:32px}.variable-builder,.query-builder-advanced{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.variable-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px}.variable-badge.db{background:var(--info-light);color:var(--info)}.variable-badge.ai{background:#8b5cf61a;color:#8b5cf6}.variable-badge.api{background:var(--warning-light);color:var(--warning)}.variable-badge.computed{background:var(--success-light);color:var(--success)}.variable-badge.file{background:var(--danger-light);color:var(--danger)}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-primary{color:var(--primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-warning{color:var(--warning)!important}.text-info{color:var(--info)!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-end{justify-content:flex-end!important}.justify-between{justify-content:space-between!important}.align-start{align-items:flex-start!important}.align-center{align-items:center!important}.align-end{align-items:flex-end!important}.gap-xs{gap:4px!important}.gap-sm{gap:8px!important}.gap{gap:12px!important}.gap-md{gap:16px!important}.gap-lg{gap:24px!important}.gap-xl{gap:32px!important}.m-0{margin:0!important}.m-auto{margin:auto!important}.m-xs{margin:var(--spacing-xs)!important}.mt-xs{margin-top:var(--spacing-xs)!important}.mb-xs{margin-bottom:var(--spacing-xs)!important}.ml-xs{margin-left:var(--spacing-xs)!important}.mr-xs{margin-right:var(--spacing-xs)!important}.mx-xs{margin-left:var(--spacing-xs)!important;margin-right:var(--spacing-xs)!important}.my-xs{margin-top:var(--spacing-xs)!important;margin-bottom:var(--spacing-xs)!important}.m-sm{margin:var(--spacing-sm)!important}.mt-sm{margin-top:var(--spacing-sm)!important}.mb-sm{margin-bottom:var(--spacing-sm)!important}.ml-sm{margin-left:var(--spacing-sm)!important}.mr-sm{margin-right:var(--spacing-sm)!important}.mx-sm{margin-left:var(--spacing-sm)!important;margin-right:var(--spacing-sm)!important}.my-sm{margin-top:var(--spacing-sm)!important;margin-bottom:var(--spacing-sm)!important}.m-1{margin:12px!important}.mt-1{margin-top:12px!important}.mb-1{margin-bottom:12px!important}.ml-1{margin-left:12px!important}.mr-1{margin-right:12px!important}.mx-1{margin-left:12px!important;margin-right:12px!important}.my-1{margin-top:12px!important;margin-bottom:12px!important}.m-md{margin:var(--spacing-md)!important}.mt-md{margin-top:var(--spacing-md)!important}.mb-md{margin-bottom:var(--spacing-md)!important}.ml-md{margin-left:var(--spacing-md)!important}.mr-md{margin-right:var(--spacing-md)!important}.mx-md{margin-left:var(--spacing-md)!important;margin-right:var(--spacing-md)!important}.my-md{margin-top:var(--spacing-md)!important;margin-bottom:var(--spacing-md)!important}.m-lg{margin:var(--spacing-lg)!important}.mt-lg{margin-top:var(--spacing-lg)!important}.mb-lg{margin-bottom:var(--spacing-lg)!important}.ml-lg{margin-left:var(--spacing-lg)!important}.mr-lg{margin-right:var(--spacing-lg)!important}.mx-lg{margin-left:var(--spacing-lg)!important;margin-right:var(--spacing-lg)!important}.my-lg{margin-top:var(--spacing-lg)!important;margin-bottom:var(--spacing-lg)!important}.m-xl{margin:var(--spacing-xl)!important}.mt-xl{margin-top:var(--spacing-xl)!important}.mb-xl{margin-bottom:var(--spacing-xl)!important}.ml-xl{margin-left:var(--spacing-xl)!important}.mr-xl{margin-right:var(--spacing-xl)!important}.mx-xl{margin-left:var(--spacing-xl)!important;margin-right:var(--spacing-xl)!important}.my-xl{margin-top:var(--spacing-xl)!important;margin-bottom:var(--spacing-xl)!important}.p-0{padding:0!important}@media (max-width: 768px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}}@media (max-width: 576px){.d-sm-none{display:none!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}.variable-row{display:grid;grid-template-columns:200px 150px 1fr 100px;gap:12px;margin-bottom:12px;align-items:center}@media (max-width: 768px){.variable-row{grid-template-columns:1fr}}.query-condition{display:grid;grid-template-columns:200px 150px 1fr 100px 50px;gap:8px;margin-bottom:8px;align-items:center}@media (max-width: 1024px){.query-condition{grid-template-columns:1fr 1fr}.query-condition>*:last-child{grid-column:span 2}}@media (max-width: 576px){.query-condition{grid-template-columns:1fr}}.query-group{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.query-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.query-group-header span{font-weight:600;color:var(--text-primary)}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 576px){.input-row{grid-template-columns:1fr}}.ai-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}@media (max-width: 1024px){.ai-settings-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ai-settings-grid{grid-template-columns:1fr}}.ai-setting-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.ai-setting-title{font-weight:600;margin-bottom:15px;color:var(--text-primary)}.parameter-item{margin-bottom:15px}.parameter-item .parameter-label{font-size:12px;color:var(--text-muted);margin-bottom:5px;display:block}.slider-container{display:flex;align-items:center;gap:10px}.slider-container .slider{flex:1;-webkit-appearance:none;height:6px;border-radius:3px;background:var(--border);outline:none}.slider-container .slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer}.slider-container .slider-value{min-width:40px;text-align:center;font-weight:600}.slider-container .slider-label{font-size:11px;color:var(--text-muted)}.cost-display{background:var(--background);padding:10px;border-radius:6px}.cost-display .cost-amount{color:var(--primary);font-size:18px;font-weight:600}.cost-display .cost-details{font-size:11px;color:var(--text-muted);margin-top:5px}.filters-grid,.content-filters{background:var(--surface);border-radius:12px;padding:20px;margin-top:20px}.filters-grid h3,.content-filters h3{margin-bottom:15px}.filters-grid .filters-grid,.content-filters .filters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}@media (max-width: 1024px){.filters-grid .filters-grid,.content-filters .filters-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.filters-grid .filters-grid,.content-filters .filters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.filters-grid .filters-grid,.content-filters .filters-grid{grid-template-columns:1fr}}.execution-dashboard{display:grid;grid-template-columns:1fr 400px;gap:20px;margin-bottom:20px}@media (max-width: 1024px){.execution-dashboard{grid-template-columns:1fr}}.progress-main{background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:12px;padding:30px;color:#fff}.progress-main h3{margin-bottom:20px;color:#fff}.progress-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.progress-stats-grid .progress-stat{background:#fff3;padding:15px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-stats-grid .progress-stat .stat-value{font-size:24px;font-weight:700}.progress-stats-grid .progress-stat .stat-label{font-size:12px;opacity:.8}.progress-rings{display:flex;justify-content:space-around;margin-top:30px}.progress-rings .progress-ring{position:relative;width:100px;height:100px}.progress-rings .progress-ring svg{transform:rotate(-90deg)}.progress-rings .progress-ring .progress-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700}.progress-rings .progress-details{text-align:left}.progress-rings .progress-details .progress-detail{margin-bottom:10px}.execution-controls{margin-top:30px;display:flex;gap:10px}.execution-logs{background:var(--surface-3);border-radius:12px;padding:20px;height:400px;overflow-y:auto}.execution-logs h3{margin-bottom:15px;color:var(--text-primary)}.execution-logs .log-container .log-entry{font-family:Monaco,Courier New,monospace;font-size:12px;margin-bottom:8px;padding:5px;border-left:3px solid transparent}.execution-logs .log-container .log-entry.info{color:#64b5f6;border-left-color:#64b5f6}.execution-logs .log-container .log-entry.success{color:#81c784;border-left-color:#81c784}.execution-logs .log-container .log-entry.warning{color:#ffb74d;border-left-color:#ffb74d}.execution-logs .log-container .log-entry.error{color:#e57373;border-left-color:#e57373}.metrics-container{background:var(--surface);border-radius:12px;padding:20px}.metrics-container h3{margin-bottom:15px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}@media (max-width: 768px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.metrics-grid{grid-template-columns:1fr}}.metrics-grid .metric-card{background:var(--background);padding:15px;border-radius:6px;text-align:center}.metrics-grid .metric-card .metric-label{font-size:11px;color:var(--text-muted);margin-bottom:5px}.metrics-grid .metric-card .metric-value{font-size:24px;font-weight:700}.metrics-grid .metric-card .metric-value.success{color:var(--success)}.metrics-grid .metric-card .metric-value.primary{color:var(--primary)}.metrics-grid .metric-card .metric-value.warning{color:var(--warning)}.metrics-grid .metric-card .metric-value.info{color:var(--info)}.review-info{background:var(--info);color:#fff;padding:15px;border-radius:12px;margin-bottom:20px}.review-container .review-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:20px}@media (max-width: 1024px){.review-container .review-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 576px){.review-container .review-stats-grid{grid-template-columns:repeat(2,1fr)}}.review-container .review-stats-grid .review-stat{background:#fff;padding:15px;border-radius:6px;text-align:center}.review-container .review-stats-grid .review-stat .stat-value{font-size:24px;font-weight:700}.review-container .review-stats-grid .review-stat .stat-value.success{color:var(--success)}.review-container .review-stats-grid .review-stat .stat-value.warning{color:var(--warning)}.review-container .review-stats-grid .review-stat .stat-value.danger{color:var(--danger)}.review-container .review-stats-grid .review-stat .stat-value.info{color:var(--info)}.review-container .review-stats-grid .review-stat .stat-label{font-size:12px;color:var(--text-muted)}.review-container .review-filter-bar{background:#fff;padding:15px;border-radius:6px;margin-bottom:20px;display:flex;gap:10px;align-items:center}@media (max-width: 768px){.review-container .review-filter-bar{flex-wrap:wrap}}.review-container .review-filter-bar .search-input{flex:1;min-width:200px}.review-container .review-item{background:var(--background);border-radius:12px;padding:20px;margin-bottom:15px;border:2px solid var(--border)}.review-container .review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}@media (max-width: 576px){.review-container .review-header{flex-direction:column;align-items:flex-start;gap:10px}}.review-container .review-header .review-title{font-weight:600}.review-container .review-content{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:15px}@media (max-width: 768px){.review-container .review-content{grid-template-columns:1fr}}.review-container .review-content .review-section{padding:15px;background:var(--surface);border-radius:6px}.review-container .review-content .review-section .review-section-title{font-size:12px;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase}.review-container .review-content .review-section .original-data{font-size:14px;line-height:1.5}.review-container .review-content .review-section .original-data div{margin-bottom:5px}.review-container .review-content .review-section .generated-content{padding:10px;background:var(--background);border-radius:4px;min-height:100px;font-size:14px;line-height:1.5}.review-container .review-content .review-section .generated-content[contenteditable=true]{border:2px dashed var(--border);cursor:text}.review-container .review-content .review-section .generated-content[contenteditable=true]:focus{outline:none;border-color:var(--primary)}.review-container .review-content .review-section .generated-keywords{margin-top:10px;font-size:13px}.review-container .review-actions{display:flex;gap:10px;flex-wrap:wrap}.review-container .review-status-badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.review-container .review-status-badge.approved{background:var(--success);color:#fff}.review-container .review-status-badge.pending{background:var(--warning);color:#fff}.review-container .review-status-badge.rejected{background:var(--danger);color:#fff}.bulk-actions-container{background:var(--surface);border-radius:12px;padding:20px;margin-top:20px}.bulk-actions-container h3{margin-bottom:15px}.bulk-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}@media (max-width: 768px){.bulk-actions-grid{grid-template-columns:1fr}}.bulk-actions-grid .bulk-action-btn{padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center}.bulk-actions-grid .bulk-action-btn .bulk-action-icon{font-size:24px;margin-bottom:10px}.bulk-actions-grid .bulk-action-btn .bulk-action-title{font-weight:600}.bulk-actions-grid .bulk-action-btn .bulk-action-subtitle{font-size:12px;opacity:.8;margin-top:5px}.templates-grid .templates-grid,.mapping-templates .templates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}@media (max-width: 1024px){.templates-grid .templates-grid,.mapping-templates .templates-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.templates-grid .templates-grid,.mapping-templates .templates-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.templates-grid .templates-grid,.mapping-templates .templates-grid{grid-template-columns:1fr}}.templates-grid .templates-grid .template-btn,.mapping-templates .templates-grid .template-btn{padding:15px}.variables-grid{margin-top:30px;background:var(--surface);border-radius:12px;padding:20px}.variables-grid h3{margin-bottom:20px}.variables-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 768px){.variables-sections{grid-template-columns:1fr}}.variables-sections .variables-section{background:var(--background);padding:15px;border-radius:6px}.variables-sections .variables-section h4{margin-bottom:10px;font-size:14px}.variables-sections .variables-section .variables-tags{display:flex;flex-wrap:wrap;gap:5px}.sql-preview{margin-top:24px;background:var(--background);border:1px solid var(--border);border-radius:8px;padding:16px}.sql-preview .sql-preview-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase}.sql-preview .sql-code{font-family:Monaco,Courier New,monospace;font-size:12px;color:var(--text-secondary);background:var(--surface);padding:12px;border-radius:6px;overflow-x:auto;margin-bottom:8px}.sql-preview .estimated-results{font-size:14px;color:var(--text-primary)}.sql-preview .estimated-results strong{color:var(--success)}.mapping-config-input{font-size:12px!important;padding:8px!important}.add-mapping-btn{margin-bottom:30px}.workflow-steps::-webkit-scrollbar,.content-area::-webkit-scrollbar,.execution-logs::-webkit-scrollbar,.schema-explorer>div::-webkit-scrollbar{width:8px;height:8px}.workflow-steps::-webkit-scrollbar-track,.content-area::-webkit-scrollbar-track,.execution-logs::-webkit-scrollbar-track,.schema-explorer>div::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.workflow-steps::-webkit-scrollbar-thumb,.content-area::-webkit-scrollbar-thumb,.execution-logs::-webkit-scrollbar-thumb,.schema-explorer>div::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.workflow-steps::-webkit-scrollbar-thumb:hover,.content-area::-webkit-scrollbar-thumb:hover,.execution-logs::-webkit-scrollbar-thumb:hover,.schema-explorer>div::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #2563eb66}70%{box-shadow:0 0 0 10px #2563eb00}to{box-shadow:0 0 #2563eb00}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .3s ease}.animate-slideDown{animation:slideDown .3s ease}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.projects-page{min-height:100vh;background:var(--background);display:flex;flex-direction:column}.projects-header-bar{background:var(--header-bg);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(var(--shadow-color),.08)}.projects-header-bar .header-content{max-width:1600px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.projects-header-bar .logo-animated{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 12px;min-width:80px}.projects-header-bar .logo-animated .logo-text{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,var(--primary) 0%,var(--info) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.projects-header-bar .logo-animated .logo-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.projects-header-bar .logo-animated .logo-stars .star{position:absolute;font-size:.5rem;opacity:0;animation:starFloat 3s ease-in-out infinite;color:var(--primary);filter:blur(.5px)}.projects-header-bar .logo-animated .logo-stars .star.star-1{top:10%;left:5%;animation-delay:0s}.projects-header-bar .logo-animated .logo-stars .star.star-2{top:20%;right:10%;animation-delay:.7s}.projects-header-bar .logo-animated .logo-stars .star.star-3{bottom:15%;left:15%;animation-delay:1.4s}.projects-header-bar .logo-animated .logo-stars .star.star-4{bottom:10%;right:5%;animation-delay:2.1s}@keyframes starFloat{0%,to{opacity:0;transform:translateY(0) scale(.5)}50%{opacity:1;transform:translateY(-10px) scale(1)}}.projects-header-bar .header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.projects-header-bar .header-divider{width:1px;height:24px;background:var(--border);margin:0 4px}@media (max-width: 576px){.projects-header-bar .header-divider{display:none}}.projects-header-bar .btn-icon{width:36px;height:36px;padding:0;font-size:1.125rem;display:flex;align-items:center;justify-content:center;border-radius:6px}.projects-header-bar .user-menu{display:flex;align-items:center;gap:12px}.projects-header-bar .user-menu .user-info{display:flex;flex-direction:column;align-items:flex-end}@media (max-width: 576px){.projects-header-bar .user-menu .user-info{display:none}}.projects-header-bar .user-menu .user-info .user-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.projects-header-bar .user-menu .user-info .user-role{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.projects-container{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:32px}.projects-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.projects-header h1{margin:0 0 8px;font-size:2rem;color:var(--text-primary)}.projects-header .subtitle{color:var(--text-secondary);margin:0}@media (max-width: 768px){.projects-header{flex-direction:column}.projects-header button{width:100%}}.projects-loading,.projects-empty{text-align:center;padding:64px;color:var(--text-secondary)}.projects-empty .empty-icon{font-size:4rem;margin-bottom:24px}.projects-empty h2{margin-bottom:12px;color:var(--text-primary)}.projects-empty p{margin-bottom:32px;color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}@media (max-width: 576px){.projects-grid{grid-template-columns:1fr}}.project-card{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:24px;cursor:pointer;transition:all .2s ease;position:relative}.project-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--shadow-color),var(--shadow-opacity))}.project-card .project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-card .project-card-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--info));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.project-card .project-badge{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.project-card .project-badge.owner{background:var(--warning-light);color:var(--warning)}.project-card .project-badge.current{background:var(--primary-light);color:var(--primary)}.project-card .project-card-title{font-size:1.25rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.project-card .project-card-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card .project-card-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.project-card .project-card-meta .meta-item{display:flex;justify-content:space-between;font-size:.75rem}.project-card .project-card-meta .meta-label{color:var(--text-muted)}.project-card .project-card-meta .meta-value{color:var(--text-secondary);font-weight:500}.project-card .project-card-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.project-card .project-card-actions button{flex:1}.access-section{margin-bottom:32px}.access-section h4{margin-bottom:16px;font-size:1rem;color:var(--text-primary)}.access-add-form{display:flex;gap:12px}.access-add-form .form-select{flex:1}.access-empty{text-align:center;padding:32px;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);border-radius:6px}.access-list{display:flex;flex-direction:column;gap:12px}.access-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;gap:12px}.access-item .access-user-info{flex:1}.access-item .access-user-name{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:1rem}.access-item .access-user-name strong{color:var(--text-primary)}.access-item .access-user-email{color:var(--text-secondary);font-size:.875rem;margin-bottom:4px}.access-item .access-meta{color:var(--text-muted);font-size:.75rem}.projects-select-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto}.project-select-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease}.project-select-item:hover:not(.active){border-color:var(--primary);background:var(--surface-hover)}.project-select-item.active{border-color:var(--success);background:var(--success-light);cursor:default}.project-select-item .project-select-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--info));border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.project-select-item .project-select-info{flex:1}.project-select-item .project-select-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1rem;margin-bottom:4px;color:var(--text-primary)}.project-select-item .project-select-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:4px}.project-select-item .project-select-meta{color:var(--text-muted);font-size:.75rem}.data-sources-step .tab-content-container{margin-top:32px}.source-card{cursor:pointer;-webkit-user-select:none;user-select:none}.source-card .error-text{color:var(--danger);font-weight:600}.database-connection-tab .tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.database-connection-tab .tab-header h3{margin:0}.database-connection-tab .database-layout{display:grid;grid-template-columns:350px 1fr;gap:24px;margin-bottom:32px}@media (max-width: 1024px){.database-connection-tab .database-layout{grid-template-columns:1fr}}.database-connection-tab .connections-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.database-connection-tab .connections-list .connections-list-header{padding:16px;background:var(--surface-2);border-bottom:1px solid var(--border);font-weight:600;font-size:.875rem;color:var(--text-primary)}.database-connection-tab .connections-list .connection-item{padding:16px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s ease}.database-connection-tab .connections-list .connection-item:last-child{border-bottom:none}.database-connection-tab .connections-list .connection-item:hover{background:var(--surface-hover)}.database-connection-tab .connections-list .connection-item.selected{background:var(--primary-light);border-left:3px solid var(--primary)}.database-connection-tab .connections-list .connection-item .connection-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-icon{font-size:1.5rem}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-item-info{flex:1}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-item-info .connection-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-item-info .connection-meta{font-size:.75rem;color:var(--text-muted)}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-status-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-status-badge.connected{background:var(--success-light);color:var(--success)}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-status-badge.failed{background:var(--danger-light);color:var(--danger)}.database-connection-tab .connections-list .connection-item .connection-item-header .connection-status-badge.testing{background:var(--warning-light);color:var(--warning);animation:spin 1s linear infinite}.database-connection-tab .connections-list .connection-item .connection-tables{margin-left:42px;font-size:.75rem;color:var(--success)}.database-connection-tab .connections-list .connection-item .connection-error{margin-left:42px;font-size:.75rem;color:var(--danger)}.database-connection-tab .connection-details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.database-connection-tab .connection-details .details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.database-connection-tab .connection-details .details-header h4{margin:0;font-size:1.125rem}.database-connection-tab .connection-details .details-header .details-actions{display:flex;gap:8px}.database-connection-tab .connection-details .details-body .detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.database-connection-tab .connection-details .details-body .detail-row:last-child{border-bottom:none}.database-connection-tab .connection-details .details-body .detail-row.error{background:var(--danger-light);padding:8px;border-radius:6px;margin-top:8px}.database-connection-tab .connection-details .details-body .detail-row .detail-label{font-weight:600;color:var(--text-secondary);font-size:.875rem}.database-connection-tab .connection-details .details-body .detail-row .detail-value{color:var(--text-primary);font-size:.875rem;text-align:right}.database-connection-tab .connection-details .details-body .detail-row .detail-value.status-connected{color:var(--success);font-weight:600}.database-connection-tab .connection-details .details-body .detail-row .detail-value.status-failed{color:var(--danger);font-weight:600}.database-connection-tab .connection-details .details-body .detail-row .detail-value.status-testing{color:var(--warning);font-weight:600}.database-connection-tab .connection-details .schema-explorer-mini{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.database-connection-tab .connection-details .schema-explorer-mini h4{margin-bottom:16px;font-size:1rem}.database-connection-tab .connection-details .schema-explorer-mini .schema-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.database-connection-tab .connection-details .schema-explorer-mini .schema-stats .schema-stat{text-align:center;padding:12px;background:var(--background);border-radius:6px}.database-connection-tab .connection-details .schema-explorer-mini .schema-stats .schema-stat .schema-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:4px}.database-connection-tab .connection-details .schema-explorer-mini .schema-stats .schema-stat .schema-stat-label{font-size:.75rem;color:var(--text-muted)}.database-connection-tab .connection-details .no-selection{text-align:center;padding:32px;color:var(--text-muted)}.database-connection-tab .connection-details .no-selection .no-selection-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.database-connection-tab .connection-details .no-selection p{margin:0}.database-connection-tab .info-block{background:var(--info-light);border:1px solid var(--info);border-radius:12px;padding:24px;display:flex;gap:16px;margin-top:32px}.database-connection-tab .info-block .info-icon{font-size:2rem;flex-shrink:0}.database-connection-tab .info-block .info-content{flex:1}.database-connection-tab .info-block .info-content strong{display:block;margin-bottom:8px;color:var(--info)}.database-connection-tab .info-block .info-content p{margin-bottom:8px;color:var(--text-primary);line-height:1.6}.database-connection-tab .info-block .info-content ul{margin:8px 0;padding-left:24px}.database-connection-tab .info-block .info-content ul li{margin-bottom:4px;color:var(--text-secondary)}.database-connection-tab .info-block .info-content ul li strong{display:inline;color:var(--text-primary)}.file-import-tab .tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.file-import-tab .tab-header h3{margin:0}.file-import-tab .files-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}@media (max-width: 768px){.file-import-tab .files-stats{grid-template-columns:1fr}}.file-import-tab .files-stats .files-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px}.file-import-tab .files-stats .files-stat-card .stat-icon{font-size:2.5rem}.file-import-tab .files-stats .files-stat-card .stat-info .stat-value{font-size:1.75rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:4px}.file-import-tab .files-stats .files-stat-card .stat-info .stat-label{font-size:.875rem;color:var(--text-muted)}.file-import-tab .uploaded-files-table{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.file-import-tab .uploaded-files-table table{width:100%;border-collapse:collapse}.file-import-tab .uploaded-files-table table thead{background:var(--surface-2)}.file-import-tab .uploaded-files-table table thead th{padding:16px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border)}.file-import-tab .uploaded-files-table table tbody tr{border-bottom:1px solid var(--border);transition:all .2s ease}.file-import-tab .uploaded-files-table table tbody tr:hover{background:var(--surface-hover)}.file-import-tab .uploaded-files-table table tbody tr:last-child{border-bottom:none}.file-import-tab .uploaded-files-table table tbody tr.removing{background:var(--danger-light)}.file-import-tab .uploaded-files-table table tbody tr td{padding:16px;font-size:.875rem}.file-import-tab .uploaded-files-table table tbody tr td.upload-date{color:var(--text-muted);font-size:.75rem}.file-import-tab .uploaded-files-table table tbody tr td .file-name-cell{display:flex;align-items:center;gap:8px}.file-import-tab .uploaded-files-table table tbody tr td .file-name-cell .file-icon{font-size:1.25rem}.file-import-tab .uploaded-files-table table tbody tr td .file-actions,.file-import-tab .uploaded-files-table table tbody tr td .remove-confirmation{display:flex;gap:4px}.file-import-tab .no-files{text-align:center;padding:64px;background:var(--surface);border:2px dashed var(--border);border-radius:12px}.file-import-tab .no-files .no-files-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.file-import-tab .no-files h4{margin-bottom:8px}.file-import-tab .no-files p{color:var(--text-muted);margin-bottom:24px}.api-integration-tab .tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.api-integration-tab .tab-header h3{margin:0}.api-integration-tab .api-layout{display:grid;grid-template-columns:350px 1fr;gap:24px;margin-bottom:32px}@media (max-width: 1024px){.api-integration-tab .api-layout{grid-template-columns:1fr}}.api-integration-tab .api-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.api-integration-tab .api-list .api-list-header{padding:16px;background:var(--surface-2);border-bottom:1px solid var(--border);font-weight:600;font-size:.875rem;color:var(--text-primary)}.api-integration-tab .api-list .api-item{padding:16px;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s ease}.api-integration-tab .api-list .api-item:last-child{border-bottom:none}.api-integration-tab .api-list .api-item:hover{background:var(--surface-hover)}.api-integration-tab .api-list .api-item.selected{background:var(--primary-light);border-left:3px solid var(--primary)}.api-integration-tab .api-list .api-item .api-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.api-integration-tab .api-list .api-item .api-item-header .api-icon{font-size:1.5rem}.api-integration-tab .api-list .api-item .api-item-header .api-item-info{flex:1}.api-integration-tab .api-list .api-item .api-item-header .api-item-info .api-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.api-integration-tab .api-list .api-item .api-item-header .api-item-info .api-type{font-size:.75rem;color:var(--text-muted)}.api-integration-tab .api-list .api-item .api-item-header .api-status-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.api-integration-tab .api-list .api-item .api-item-header .api-status-badge.active{background:var(--success-light);color:var(--success)}.api-integration-tab .api-list .api-item .api-item-header .api-status-badge.inactive{background:var(--surface-2);color:var(--text-muted)}.api-integration-tab .api-list .api-item .api-item-header .api-status-badge.error{background:var(--danger-light);color:var(--danger)}.api-integration-tab .api-list .api-item .api-last-sync{margin-left:42px;font-size:.75rem;color:var(--text-muted)}.api-integration-tab .api-details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.api-integration-tab .api-details .details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.api-integration-tab .api-details .details-header h4{margin:0;font-size:1.125rem}.api-integration-tab .api-details .details-header .details-actions{display:flex;gap:4px;flex-wrap:wrap}.api-integration-tab .api-details .details-body .detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.api-integration-tab .api-details .details-body .detail-row:last-child{border-bottom:none}.api-integration-tab .api-details .details-body .detail-row .detail-label{font-weight:600;color:var(--text-secondary);font-size:.875rem}.api-integration-tab .api-details .details-body .detail-row .detail-value{color:var(--text-primary);font-size:.875rem;text-align:right;max-width:60%;word-break:break-all}.api-integration-tab .api-details .details-body .detail-row .detail-value.detail-code{font-family:Monaco,Courier New,monospace;font-size:.75rem}.api-integration-tab .api-details .details-body .detail-row .detail-value.status-active{color:var(--success);font-weight:600}.api-integration-tab .api-details .details-body .detail-row .detail-value.status-inactive{color:var(--text-muted);font-weight:600}.api-integration-tab .api-details .details-body .detail-row .detail-value.status-error{color:var(--danger);font-weight:600}.api-integration-tab .api-details .api-statistics{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.api-integration-tab .api-details .api-statistics h4{margin-bottom:16px;font-size:1rem}.api-integration-tab .api-details .api-statistics .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}@media (max-width: 576px){.api-integration-tab .api-details .api-statistics .stats-grid{grid-template-columns:1fr}}.api-integration-tab .api-details .api-statistics .stats-grid .stat-card{text-align:center;padding:16px;background:var(--background);border-radius:6px}.api-integration-tab .api-details .api-statistics .stats-grid .stat-card .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:4px}.api-integration-tab .api-details .api-statistics .stats-grid .stat-card .stat-label{font-size:.75rem;color:var(--text-muted)}.api-integration-tab .api-details .api-statistics .usage-progress .progress-bar{width:100%;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-bottom:4px}.api-integration-tab .api-details .api-statistics .usage-progress .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));transition:width .3s ease}.api-integration-tab .api-details .api-statistics .usage-progress .progress-label{font-size:.75rem;color:var(--text-muted);text-align:center}.api-integration-tab .api-details .no-selection{text-align:center;padding:32px;color:var(--text-muted)}.api-integration-tab .api-details .no-selection .no-selection-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.api-integration-tab .api-details .no-selection p{margin:0}.file-view-modal{max-width:90vw!important;max-height:90vh}.file-view-modal .modal-title-section .file-meta-info{display:flex;gap:8px;align-items:center;margin-top:4px}.file-view-modal .modal-title-section .file-meta-info .meta-item{font-size:.75rem;color:var(--text-muted);padding:2px 8px;background:var(--surface);border-radius:4px}.file-view-modal .file-view-body{padding:0;overflow:hidden;display:flex;flex-direction:column}.file-view-modal .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px}.file-view-modal .loading-container .loading-spinner{width:60px;height:60px;border:4px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.file-view-modal .loading-container .loading-text{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:24px}.file-view-modal .loading-container .loading-progress{width:300px;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.file-view-modal .loading-container .loading-progress .loading-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));animation:loading-progress 1.5s ease-in-out infinite}@keyframes loading-progress{0%{width:0%;margin-left:0%}50%{width:50%;margin-left:25%}to{width:0%;margin-left:100%}}.file-view-modal .file-view-toolbar{padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px}@media (max-width: 576px){.file-view-modal .file-view-toolbar{flex-direction:column;align-items:stretch}}.file-view-modal .file-view-toolbar .search-box{flex:1;max-width:400px;position:relative}@media (max-width: 576px){.file-view-modal .file-view-toolbar .search-box{max-width:100%}}.file-view-modal .file-view-toolbar .search-box .search-input{width:100%;padding-right:40px}.file-view-modal .file-view-toolbar .search-box .clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.file-view-modal .file-view-toolbar .results-info{font-size:.875rem;color:var(--text-muted);white-space:nowrap}.file-view-modal .file-table-container{flex:1;overflow:auto;padding:24px}.file-view-modal .file-table-container::-webkit-scrollbar{width:8px;height:8px}.file-view-modal .file-table-container::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.file-view-modal .file-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.file-view-modal .file-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.file-view-modal .file-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.file-view-modal .file-table thead{position:sticky;top:0;z-index:10;background:var(--surface)}.file-view-modal .file-table thead th{padding:16px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border-bottom:2px solid var(--border);white-space:nowrap}.file-view-modal .file-table thead th.row-number-header{width:60px;text-align:center}.file-view-modal .file-table tbody tr{border-bottom:1px solid var(--border)}.file-view-modal .file-table tbody tr:hover{background:var(--surface-hover)}.file-view-modal .file-table tbody tr td{padding:8px 16px;border-bottom:1px solid var(--border)}.file-view-modal .file-table tbody tr td.row-number{text-align:center;color:var(--text-muted);font-weight:600;background:var(--surface);position:sticky;left:0}.file-view-modal .pagination-container{padding:16px 24px;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.file-view-modal .pagination-container .pagination-pages{display:flex;gap:4px;align-items:center}.file-view-modal .pagination-container .pagination-pages .page-btn{min-width:36px}.file-view-modal .pagination-container .pagination-pages .pagination-dots{color:var(--text-muted);padding:0 4px}.database-schema-modal{max-width:1200px!important;max-height:90vh}.database-schema-modal .diagram-content .diagram-canvas{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:24px;overflow:auto;max-height:600px}.database-schema-modal .diagram-content .diagram-canvas::-webkit-scrollbar{width:8px;height:8px}.database-schema-modal .diagram-content .diagram-canvas::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.database-schema-modal .diagram-content .diagram-canvas::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.database-schema-modal .diagram-content .diagram-canvas::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.database-schema-modal .diagram-content .diagram-canvas svg{display:block;margin:0 auto}.database-schema-modal .diagram-content .diagram-info{margin-top:16px;padding:16px;background:var(--info-light);border:1px solid var(--info);border-radius:12px;font-size:.875rem;color:var(--text-primary)}.database-schema-modal .diagram-content .diagram-info strong{color:var(--info)}.database-schema-modal .modal-title-section .schema-meta-info{display:flex;gap:8px;align-items:center;margin-top:4px}.database-schema-modal .modal-title-section .schema-meta-info .meta-item{font-size:.75rem;color:var(--text-muted);padding:2px 8px;background:var(--surface);border-radius:4px}.database-schema-modal .schema-tabs{display:flex;border-bottom:2px solid var(--border);padding:0 24px;background:var(--surface);overflow-x:auto}.database-schema-modal .schema-tabs .schema-tab{padding:16px 24px;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;margin-bottom:-2px;display:flex;align-items:center;gap:4px;transition:all .2s ease}.database-schema-modal .schema-tabs .schema-tab .tab-icon{font-size:1.125rem}.database-schema-modal .schema-tabs .schema-tab:hover:not(.active){color:var(--text-secondary);background:var(--surface-hover)}.database-schema-modal .schema-tabs .schema-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--background)}.database-schema-modal .schema-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 250px);min-height:400px}.database-schema-modal .schema-body::-webkit-scrollbar{width:8px;height:8px}.database-schema-modal .schema-body::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.database-schema-modal .schema-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.database-schema-modal .schema-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.database-schema-modal .schema-tab-content{animation:fadeIn .3s ease}.database-schema-modal .overview-content .overview-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}@media (max-width: 768px){.database-schema-modal .overview-content .overview-stats-grid{grid-template-columns:repeat(2,1fr)}}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card{background:var(--surface);border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;border:2px solid transparent;transition:all .2s ease}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.primary{border-color:var(--primary)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.primary .stat-icon,.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.primary .stat-value{color:var(--primary)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.success{border-color:var(--success)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.success .stat-icon,.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.success .stat-value{color:var(--success)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.warning{border-color:var(--warning)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.warning .stat-icon,.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.warning .stat-value{color:var(--warning)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.info{border-color:var(--info)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.info .stat-icon,.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card.info .stat-value{color:var(--info)}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card .stat-icon{font-size:2.5rem}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card .stat-info .stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:4px}.database-schema-modal .overview-content .overview-stats-grid .overview-stat-card .stat-info .stat-label{font-size:.875rem;color:var(--text-muted)}.database-schema-modal .overview-content .overview-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}@media (max-width: 768px){.database-schema-modal .overview-content .overview-details-grid{grid-template-columns:repeat(2,1fr)}}.database-schema-modal .overview-content .overview-details-grid .overview-detail-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center}.database-schema-modal .overview-content .overview-details-grid .overview-detail-card h4{font-size:1rem;margin-bottom:8px}.database-schema-modal .overview-content .overview-details-grid .overview-detail-card .detail-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:4px}.database-schema-modal .overview-content .overview-details-grid .overview-detail-card .detail-description{font-size:.75rem;color:var(--text-muted);margin:0}.database-schema-modal .overview-content .overview-chart{background:var(--surface);border-radius:12px;padding:24px}.database-schema-modal .overview-content .overview-chart h4,.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item{margin-bottom:16px}.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item:last-child{margin-bottom:0}.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item .bar-label{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.875rem}.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item .bar-label .bar-name{font-weight:600;color:var(--text-primary)}.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item .bar-label .bar-value{color:var(--text-muted)}.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item .bar-container{width:100%;height:24px;background:var(--background);border-radius:6px;overflow:hidden}.database-schema-modal .overview-content .overview-chart .chart-bars .chart-bar-item .bar-container .bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));transition:width .3s ease}.database-schema-modal .tables-content .tables-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}@media (max-width: 576px){.database-schema-modal .tables-content .tables-toolbar{flex-direction:column;align-items:stretch}}.database-schema-modal .tables-content .tables-toolbar .search-input{flex:1;max-width:400px}@media (max-width: 576px){.database-schema-modal .tables-content .tables-toolbar .search-input{max-width:100%}}.database-schema-modal .tables-content .tables-toolbar .toolbar-info{font-size:.875rem;color:var(--text-muted)}.database-schema-modal .tables-content .tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.database-schema-modal .tables-content .tables-grid .table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease}.database-schema-modal .tables-content .tables-grid .table-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a;border-color:var(--primary)}.database-schema-modal .tables-content .tables-grid .table-card .table-card-header{background:var(--background);padding:16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.database-schema-modal .tables-content .tables-grid .table-card .table-card-header .table-icon{font-size:1.5rem}.database-schema-modal .tables-content .tables-grid .table-card .table-card-header .table-name{font-weight:600;font-size:.875rem;color:var(--text-primary);font-family:Monaco,Courier New,monospace}.database-schema-modal .tables-content .tables-grid .table-card .table-card-body{padding:16px}.database-schema-modal .tables-content .tables-grid .table-card .table-card-body .table-stat{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.875rem}.database-schema-modal .tables-content .tables-grid .table-card .table-card-body .table-stat:last-child{margin-bottom:0}.database-schema-modal .tables-content .tables-grid .table-card .table-card-body .table-stat .stat-label{color:var(--text-muted)}.database-schema-modal .tables-content .tables-grid .table-card .table-card-body .table-stat .stat-value{font-weight:600;color:var(--text-primary)}.database-schema-modal .tables-content .tables-grid .table-card .table-card-footer{padding:16px;border-top:1px solid var(--border);text-align:center}.database-schema-modal .relationships-content .relationships-legend{display:flex;justify-content:center;gap:24px;margin-bottom:32px;padding:16px;background:var(--surface);border-radius:12px;flex-wrap:wrap}.database-schema-modal .relationships-content .relationships-legend .legend-item{display:flex;align-items:center;gap:4px}.database-schema-modal .relationships-content .relationships-legend .legend-item .legend-icon{font-size:1.25rem;font-weight:700}.database-schema-modal .relationships-content .relationships-legend .legend-item .legend-label{font-size:.75rem;color:var(--text-muted)}.database-schema-modal .relationships-content .relationships-list .relationship-item{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;transition:all .2s ease}.database-schema-modal .relationships-content .relationships-list .relationship-item:hover{background:var(--surface-hover);border-color:var(--primary)}.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-from .table-badge,.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-to .table-badge{display:inline-block;padding:4px 16px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-family:Monaco,Courier New,monospace;font-size:.875rem;font-weight:600}.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-from{text-align:right}.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-to{text-align:left}.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-arrow{display:flex;flex-direction:column;align-items:center;gap:4px}.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-arrow .arrow-icon{font-size:1.5rem;font-weight:700}.database-schema-modal .relationships-content .relationships-list .relationship-item .relationship-arrow .arrow-label{font-size:.75rem;font-family:Monaco,Courier New,monospace;background:var(--background);padding:2px 8px;border-radius:4px}.database-schema-modal .diagram-content .diagram-toolbar{display:flex;justify-content:center;gap:8px;margin-bottom:24px;flex-wrap:wrap}.database-schema-modal .diagram-content .diagram-canvas{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:24px;overflow:auto}.database-schema-modal .diagram-content .diagram-canvas .er-diagram{min-width:600px}.database-schema-modal .diagram-content .diagram-canvas .er-diagram .diagram-table{cursor:pointer;transition:all .2s ease}.database-schema-modal .diagram-content .diagram-canvas .er-diagram .diagram-table:hover{opacity:.8}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;text-align:center}.loading-container .loading-spinner,.error-container .loading-spinner{width:60px;height:60px;border:4px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.loading-container .error-icon,.error-container .error-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.loading-container p,.error-container p{color:var(--text-muted);margin-bottom:24px}.no-connections{text-align:center;padding:64px;background:var(--surface);border:2px dashed var(--border);border-radius:12px}.no-connections .no-connections-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.no-connections h4{margin-bottom:8px}.no-connections p{color:var(--text-muted);margin-bottom:24px}.form-input.error,.form-select.error{border-color:var(--danger)}.form-input.error:focus,.form-select.error:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-light)}.form-error{display:block;color:var(--danger);font-size:.75rem;margin-top:4px}.table-structure-modal{max-width:1400px!important}.table-structure-modal .table-meta-info{display:flex;gap:8px;align-items:center;margin-top:4px}.table-structure-modal .table-meta-info .meta-item{font-size:.75rem;color:var(--text-muted);padding:2px 8px;background:var(--surface);border-radius:4px}.table-structure-modal .table-structure-body{padding:24px;max-height:calc(90vh - 200px);overflow-y:auto}.table-structure-modal .table-structure-body::-webkit-scrollbar{width:8px;height:8px}.table-structure-modal .table-structure-body::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.table-structure-modal .table-structure-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.table-structure-modal .table-structure-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.table-structure-modal .structure-section{margin-bottom:32px}.table-structure-modal .structure-section h4{margin-bottom:16px;font-size:1.125rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.table-structure-modal .structure-table-container{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px}.table-structure-modal .structure-table-container::-webkit-scrollbar{width:8px;height:8px}.table-structure-modal .structure-table-container::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.table-structure-modal .structure-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.table-structure-modal .structure-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.table-structure-modal .structure-table{width:100%;border-collapse:collapse;font-size:.875rem}.table-structure-modal .structure-table thead{background:var(--surface-2);position:sticky;top:0;z-index:10}.table-structure-modal .structure-table thead th{padding:16px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap}.table-structure-modal .structure-table tbody tr{border-bottom:1px solid var(--border)}.table-structure-modal .structure-table tbody tr:hover{background:var(--surface-hover)}.table-structure-modal .structure-table tbody tr:last-child{border-bottom:none}.table-structure-modal .structure-table tbody tr td{padding:8px 16px;vertical-align:middle}.table-structure-modal .structure-table tbody tr td.row-number{text-align:center;color:var(--text-muted);font-weight:600;width:50px}.table-structure-modal .structure-table tbody tr td.column-name strong{font-family:Monaco,Courier New,monospace;color:var(--text-primary)}.table-structure-modal .structure-table tbody tr td.column-type code{background:var(--background);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--primary)}.table-structure-modal .structure-table tbody tr td.column-default code{background:var(--background);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--success)}.table-structure-modal .structure-table tbody tr td.column-extra{font-size:.75rem}.table-structure-modal .nullable-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.table-structure-modal .nullable-badge.yes{background:var(--warning-light);color:var(--warning)}.table-structure-modal .nullable-badge.no{background:var(--success-light);color:var(--success)}.table-structure-modal .key-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.table-structure-modal .key-badge.pri{background:var(--primary-light);color:var(--primary)}.table-structure-modal .key-badge.uni{background:var(--info-light);color:var(--info)}.table-structure-modal .key-badge.mul{background:var(--warning-light);color:var(--warning)}.table-structure-modal .extra-badge{padding:2px 8px;background:var(--surface-2);border-radius:4px;font-size:.7rem;color:var(--text-muted)}.table-structure-modal .indexes-list,.table-structure-modal .foreign-keys-list{display:flex;flex-direction:column;gap:8px}.table-structure-modal .index-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.table-structure-modal .index-item .index-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.table-structure-modal .index-item .index-header .index-name{font-weight:600;font-family:Monaco,Courier New,monospace;color:var(--text-primary)}.table-structure-modal .index-item .index-header .badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600}.table-structure-modal .index-item .index-header .badge.badge-success{background:var(--success-light);color:var(--success)}.table-structure-modal .index-item .index-columns{font-size:.875rem;color:var(--text-secondary)}.table-structure-modal .index-item .index-columns code{background:var(--background);padding:2px 6px;border-radius:4px;font-size:.8rem}.table-structure-modal .foreign-key-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.table-structure-modal .foreign-key-item .fk-visual{display:flex;align-items:center;gap:16px;margin-bottom:4px;font-family:Monaco,Courier New,monospace}.table-structure-modal .foreign-key-item .fk-visual .fk-column,.table-structure-modal .foreign-key-item .fk-visual .fk-reference{padding:4px 8px;background:var(--background);border-radius:6px;font-weight:600;color:var(--primary)}.table-structure-modal .foreign-key-item .fk-visual .fk-arrow{color:var(--text-muted);font-size:1.25rem}.table-structure-modal .foreign-key-item .fk-constraint{font-size:.75rem;color:var(--text-muted)}.table-structure-modal .structure-info{background:var(--info-light);border:1px solid var(--info);border-radius:12px;padding:16px;display:flex;gap:8px;margin-top:24px}.table-structure-modal .structure-info .info-icon{font-size:1.5rem;flex-shrink:0}.table-structure-modal .structure-info .info-text{flex:1}.table-structure-modal .structure-info .info-text strong{display:block;margin-bottom:4px;color:var(--info)}.table-structure-modal .structure-info .info-text p{margin:0;color:var(--text-primary);font-size:.875rem;line-height:1.5}.no-data{text-align:center;padding:64px;color:var(--text-muted)}.no-data p{margin:0}.diagram-placeholder{text-align:center;padding:96px;color:var(--text-muted)}.diagram-placeholder .placeholder-icon{font-size:5rem;margin-bottom:24px;opacity:.5}.diagram-placeholder h4{margin-bottom:16px;color:var(--text-primary)}.diagram-placeholder p{max-width:600px;margin:0 auto;line-height:1.6}.modal.active{z-index:1000}.modal-table-structure-overlay{z-index:9999!important}.modal-table-structure-overlay .modal-content{z-index:10000!important}.modal-table-data-overlay{z-index:9999!important}.modal-table-data-overlay .modal-content{z-index:10000!important}.table-data-modal .table-data-meta-info{display:flex;gap:8px;align-items:center;margin-top:4px;flex-wrap:wrap}.table-data-modal .table-data-meta-info .meta-item{font-size:.75rem;color:var(--text-muted);padding:4px 10px;background:var(--surface);border-radius:4px}.table-data-modal .table-data-meta-info .meta-item.search-active{background:var(--warning-light);color:var(--warning);font-weight:600}.table-data-modal .table-data-meta-info .meta-item.sort-active{background:var(--info-light);color:var(--info);font-weight:600}.table-data-modal .table-data-body{padding:24px;display:flex;flex-direction:column;gap:16px}.table-data-modal .table-data-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap}.table-data-modal .table-data-toolbar .search-section{display:flex;gap:8px;flex:1;min-width:300px}.table-data-modal .table-data-toolbar .search-section .form-select,.table-data-modal .table-data-toolbar .search-section .form-input{flex:1}.table-data-modal .table-data-toolbar .toolbar-actions{display:flex;gap:8px;align-items:center}.table-data-modal .table-data-toolbar .toolbar-actions .per-page-select{min-width:140px}.table-data-modal .table-data-container{overflow:auto;max-height:calc(90vh - 400px);border:1px solid var(--border);border-radius:12px;background:var(--surface);position:relative}.table-data-modal .table-data-container::-webkit-scrollbar{width:8px;height:8px}.table-data-modal .table-data-container::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.table-data-modal .table-data-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.table-data-modal .table-data-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.table-data-modal .table-data-loading{display:flex;align-items:center;justify-content:center;gap:16px;padding:32px}.table-data-modal .table-data-loading .loading-spinner-small{width:24px;height:24px;border:3px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.table-data-modal .data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.table-data-modal .data-table thead{position:sticky;top:0;z-index:10;background:var(--surface-2)}.table-data-modal .data-table thead th{padding:16px;text-align:left;font-weight:600;font-size:.75rem;color:var(--text-primary);background:var(--surface-2);border-bottom:2px solid var(--border);white-space:nowrap}.table-data-modal .data-table thead th.row-number-header{width:60px;text-align:center}.table-data-modal .data-table thead th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.table-data-modal .data-table thead th.sortable-header:hover{background:var(--surface-hover)}.table-data-modal .data-table thead th.sortable-header .header-content{display:flex;align-items:center;gap:4px}.table-data-modal .data-table thead th.sortable-header .header-content .column-name{font-weight:600}.table-data-modal .data-table thead th.sortable-header .header-content .column-type{color:var(--text-muted);font-size:.7rem}.table-data-modal .data-table thead th.sortable-header .header-content .sort-indicator{margin-left:auto;color:var(--primary);font-size:.8rem}.table-data-modal .data-table tbody tr{border-bottom:1px solid var(--border)}.table-data-modal .data-table tbody tr:hover{background:var(--surface-hover)}.table-data-modal .data-table tbody tr td{padding:8px 16px;border-bottom:1px solid var(--border);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-data-modal .data-table tbody tr td.row-number{text-align:center;color:var(--text-muted);font-weight:600;background:var(--surface);position:sticky;left:0;z-index:1}.table-data-modal .data-table tbody tr td.data-cell .null-value{color:var(--text-muted);font-style:italic;opacity:.7}.table-data-modal .data-table tbody tr td.data-cell code{background:var(--background);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--info);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.table-data-modal .data-table tbody tr td.no-data-cell{text-align:center;padding:32px;color:var(--text-muted);font-style:italic}.table-data-modal .pagination-info{padding:16px;text-align:center;font-size:.875rem;color:var(--text-secondary);background:var(--surface);border-radius:12px}.table-data-modal .pagination-container{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;flex-wrap:wrap}.table-data-modal .pagination-container .pagination-pages{display:flex;gap:4px;align-items:center}.table-data-modal .pagination-container .pagination-pages .page-btn{min-width:36px}.table-data-modal .pagination-container .pagination-pages .pagination-dots{color:var(--text-muted);padding:0 4px}.table-card-footer{padding:16px;border-top:1px solid var(--border);display:flex;gap:4px;justify-content:center}.select-filter-step{display:flex;flex-direction:column;gap:24px;padding:24px;background:var(--background);min-height:calc(100vh - 200px)}.select-filter-step .step-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;background:var(--surface);border-radius:12px;border:2px solid var(--border)}@media (max-width: 1024px){.select-filter-step .step-header{flex-direction:column}}.select-filter-step .step-header .step-header-content{flex:1}.select-filter-step .step-header .step-header-content h2{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.select-filter-step .step-header .step-header-content .step-subtitle{margin:0;font-size:.95rem;color:var(--text-secondary)}.select-filter-step .step-header .step-header-actions{display:flex;gap:12px;flex-shrink:0}@media (max-width: 768px){.select-filter-step .step-header .step-header-actions{width:100%;flex-direction:column}}.select-filter-step .configuration-progress{display:flex;gap:16px;padding:20px;background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow-x:auto}.select-filter-step .configuration-progress::-webkit-scrollbar{height:8px}.select-filter-step .configuration-progress::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .configuration-progress::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .configuration-progress::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .configuration-progress .progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;background:var(--background);border:2px solid var(--border);transition:all .3s ease;min-width:140px}.select-filter-step .configuration-progress .progress-step.active{border-color:var(--primary);background:var(--primary-light)}.select-filter-step .configuration-progress .progress-step.active .progress-step-icon{background:var(--primary);color:#fff}.select-filter-step .configuration-progress .progress-step.completed{border-color:var(--success);background:var(--success-light)}.select-filter-step .configuration-progress .progress-step.completed .progress-step-icon{background:var(--success);color:#fff}.select-filter-step .configuration-progress .progress-step .progress-step-icon{width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .3s ease}.select-filter-step .configuration-progress .progress-step .progress-step-label{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center}.select-filter-step .select-filter-tabs{display:flex;gap:8px;padding:8px;background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow-x:auto}.select-filter-step .select-filter-tabs::-webkit-scrollbar{height:8px}.select-filter-step .select-filter-tabs::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .select-filter-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .select-filter-tabs::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .select-filter-tabs .sf-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:2px solid transparent;border-radius:8px;font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.select-filter-step .select-filter-tabs .sf-tab:hover:not(.disabled){background:var(--surface-2);color:var(--text-primary)}.select-filter-step .select-filter-tabs .sf-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.select-filter-step .select-filter-tabs .sf-tab.disabled{opacity:.4;cursor:not-allowed}.select-filter-step .select-filter-tabs .sf-tab .tab-icon{font-size:1.1rem}.select-filter-step .select-filter-tabs .sf-tab .tab-label{font-weight:600}.select-filter-step .select-filter-tabs .sf-tab .tab-badge{padding:2px 8px;background:#fff3;border-radius:12px;font-size:.75rem;font-weight:700}.select-filter-step .select-filter-tabs .sf-tab:not(.active) .tab-badge{background:var(--primary-light);color:var(--primary)}.select-filter-step .select-filter-content{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:24px;min-height:500px}.select-filter-step .info-panel{display:flex;gap:16px;padding:16px;background:var(--info-light);border-radius:8px;border-left:4px solid var(--info);margin-bottom:24px}.select-filter-step .info-panel .info-icon{font-size:1.5rem;flex-shrink:0}.select-filter-step .info-panel .info-content{flex:1}.select-filter-step .info-panel .info-content strong{display:block;margin-bottom:4px;color:var(--info)}.select-filter-step .info-panel .info-content p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.select-filter-step .alert{padding:16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.select-filter-step .alert.alert-danger{background:var(--danger-light);border-left:4px solid var(--danger);color:var(--danger)}.select-filter-step .alert.alert-warning{background:var(--warning-light);border-left:4px solid var(--warning);color:var(--warning)}.select-filter-step .alert.alert-info{background:var(--info-light);border-left:4px solid var(--info);color:var(--info)}.select-filter-step .alert strong{font-weight:700}.select-filter-step .data-source-selector{display:flex;flex-direction:column;gap:24px}.select-filter-step .data-source-selector .file-type-inline{font-size:.85rem;color:var(--text-muted);margin-left:4px}.select-filter-step .data-source-selector .no-tables{font-style:italic;color:var(--text-muted);font-size:.85rem}.select-filter-step .data-source-selector .file-type-inline{font-size:.85rem;color:var(--text-muted)}.select-filter-step .data-source-selector.loading{display:flex;align-items:center;justify-content:center;min-height:300px}.select-filter-step .data-source-selector .current-sources h3{margin:0 0 16px;font-size:1.25rem;color:var(--text-primary)}.select-filter-step .data-source-selector .current-sources .sources-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.select-filter-step .data-source-selector .current-sources .source-card{padding:16px;background:var(--background);border:2px solid var(--border);border-radius:8px;transition:all .2s ease}.select-filter-step .data-source-selector .current-sources .source-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.select-filter-step .data-source-selector .current-sources .source-card .source-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.select-filter-step .data-source-selector .current-sources .source-card .source-header .source-type-badge{padding:4px 12px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:.85rem;font-weight:600}.select-filter-step .data-source-selector .current-sources .source-card .source-details{display:flex;flex-direction:column;gap:8px}.select-filter-step .data-source-selector .current-sources .source-card .source-details .source-info{font-size:.9rem;color:var(--text-secondary)}.select-filter-step .data-source-selector .current-sources .source-card .source-details .source-info strong{color:var(--text-primary);margin-right:4px}.select-filter-step .data-source-selector .current-sources .source-card .source-details .source-tables{margin-top:8px}.select-filter-step .data-source-selector .current-sources .source-card .source-details .source-tables strong{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-primary)}.select-filter-step .data-source-selector .current-sources .source-card .source-details .source-tables .tables-tags{display:flex;flex-wrap:wrap;gap:6px}.select-filter-step .data-source-selector .current-sources .source-card .source-details .source-tables .tables-tags .table-tag{padding:4px 10px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:.8rem;font-weight:600}.select-filter-step .data-source-selector .add-source-section{display:flex;flex-direction:column;gap:24px}.select-filter-step .data-source-selector .add-source-section h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel{padding:20px;background:var(--background);border:2px solid var(--border);border-radius:12px}.select-filter-step .data-source-selector .add-source-section .source-type-panel h4{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .connection-selector{display:flex;flex-direction:column;gap:12px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .connection-selector label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .connection-selector .connection-note{margin-top:12px;padding:10px 14px;background:var(--info-light);border-left:3px solid var(--info);border-radius:6px;font-size:.85rem;color:var(--info)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .loading-tables{display:flex;align-items:center;gap:12px;padding:20px;background:var(--surface);border-radius:8px;margin-top:16px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .loading-tables .loading-spinner-small{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.select-filter-step .data-source-selector .add-source-section .source-type-panel .loading-tables span{color:var(--text-secondary);font-size:.9rem}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector{margin-top:20px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector label{display:block;margin-bottom:12px;font-weight:600;font-size:.95rem;color:var(--text-primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-actions{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:var(--surface-2);border-radius:8px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-actions .selected-count{margin-left:auto;padding:4px 12px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:.85rem;font-weight:600}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:16px 0}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid .table-checkbox{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border:2px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid .table-checkbox:hover{border-color:var(--primary);background:var(--primary-light)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid .table-checkbox.checked{background:var(--primary-light);border-color:var(--primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid .table-checkbox.checked span{color:var(--primary);font-weight:600}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid .table-checkbox input[type=checkbox]{margin:0;accent-color:var(--primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .tables-grid .table-checkbox span{font-size:.9rem;color:var(--text-primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .add-db-btn{width:100%;margin-top:16px;padding:12px;font-weight:600;transition:all .2s ease}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .add-db-btn:disabled{opacity:.5;cursor:not-allowed}.select-filter-step .data-source-selector .add-source-section .source-type-panel .tables-selector .add-db-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list{display:flex;flex-direction:column;gap:12px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:all .2s ease}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item:hover{border-color:var(--primary)}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item .file-info{display:flex;align-items:center;gap:12px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item .file-info .file-icon{font-size:1.5rem}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item .file-info .file-details{display:flex;flex-direction:column;gap:4px}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item .file-info .file-details .file-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.select-filter-step .data-source-selector .add-source-section .source-type-panel .files-list .file-item .file-info .file-details .file-type{padding:2px 8px;background:var(--info-light);color:var(--info);border-radius:4px;font-size:.7rem;font-weight:600;width:fit-content}.select-filter-step .data-source-selector .empty-state{padding:40px 20px;text-align:center;color:var(--text-muted)}.select-filter-step .data-source-selector .empty-state p{margin:8px 0;font-size:.9rem}.select-filter-step .variable-mapper{display:flex;flex-direction:column;gap:24px}.select-filter-step .variable-mapper .form-input.error,.select-filter-step .variable-mapper .form-select.error,.select-filter-step .variable-mapper .form-textarea.error{border-color:var(--danger);background:var(--danger-light)}.select-filter-step .variable-mapper .form-error{display:block;margin-top:4px;font-size:.8rem;color:var(--danger)}.select-filter-step .variable-mapper .form-hint{display:block;margin-top:4px;font-size:.8rem;color:var(--text-muted)}.select-filter-step .variable-mapper .variable-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.select-filter-step .variable-mapper .variable-toolbar .toolbar-stats{display:flex;gap:12px;font-size:.9rem;color:var(--text-secondary)}.select-filter-step .variable-mapper .variable-toolbar .toolbar-stats .divider{color:var(--border)}.select-filter-step .variable-mapper .variable-toolbar .toolbar-stats strong{color:var(--text-primary)}.select-filter-step .variable-mapper .templates-panel{padding:20px;background:var(--background);border:2px dashed var(--border);border-radius:12px}.select-filter-step .variable-mapper .templates-panel h4{margin:0 0 16px}.select-filter-step .variable-mapper .templates-panel .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card{padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:8px;transition:all .2s ease}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card .template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card .template-header h5{margin:0;font-size:1rem;color:var(--text-primary)}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card .template-header .template-count{padding:2px 8px;background:var(--primary-light);color:var(--primary);border-radius:4px;font-size:.75rem;font-weight:600}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card .template-variables{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card .template-variables .template-variable{display:flex;align-items:center;gap:8px;font-size:.85rem}.select-filter-step .variable-mapper .templates-panel .templates-grid .template-card .template-variables .template-variable .variable-name{color:var(--text-secondary)}.select-filter-step .variable-mapper .variables-list h3{margin:0 0 16px}.select-filter-step .variable-mapper .variables-list .variables-table-container{overflow-x:auto}.select-filter-step .variable-mapper .variables-list .variables-table-container::-webkit-scrollbar{height:8px}.select-filter-step .variable-mapper .variables-list .variables-table-container::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .variable-mapper .variables-list .variables-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .variable-mapper .variables-list .variables-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .variable-mapper .variables-list .variables-table{width:100%;border-collapse:collapse;background:var(--background);border-radius:8px;overflow:hidden}.select-filter-step .variable-mapper .variables-list .variables-table thead{background:var(--surface-2)}.select-filter-step .variable-mapper .variables-list .variables-table thead th{padding:12px 16px;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap}.select-filter-step .variable-mapper .variables-list .variables-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease}.select-filter-step .variable-mapper .variables-list .variables-table tbody tr:hover{background:var(--surface)}.select-filter-step .variable-mapper .variables-list .variables-table tbody tr:last-child{border-bottom:none}.select-filter-step .variable-mapper .variables-list .variables-table tbody td{padding:12px 16px;font-size:.9rem}.select-filter-step .variable-mapper .variables-list .variables-table tbody td.variable-name-cell code{padding:4px 8px;background:var(--surface-2);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;color:var(--primary)}.select-filter-step .variable-mapper .variables-list .variables-table tbody td.expression-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-filter-step .variable-mapper .variables-list .variables-table tbody td.expression-cell code{font-family:Courier New,monospace;font-size:.85rem;color:var(--text-secondary)}.select-filter-step .variable-mapper .variables-list .variables-table tbody td.actions-cell{display:flex;gap:8px;justify-content:flex-end}.select-filter-step .variable-mapper .source-badge{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.select-filter-step .variable-mapper .source-badge.badge-db{background:var(--info-light);color:var(--info)}.select-filter-step .variable-mapper .source-badge.badge-file{background:var(--warning-light);color:var(--warning)}.select-filter-step .variable-mapper .source-badge.badge-api{background:var(--success-light);color:var(--success)}.select-filter-step .variable-mapper .source-badge.badge-computed{background:#8b5cf61a;color:#8b5cf6}.select-filter-step .variable-mapper .type-badge{padding:4px 10px;background:var(--surface-2);color:var(--text-secondary);border-radius:6px;font-size:.75rem;font-weight:600}.select-filter-step .variable-mapper .flag-badge{padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:700;margin-right:4px}.select-filter-step .variable-mapper .flag-badge.required{background:var(--danger-light);color:var(--danger)}.select-filter-step .variable-mapper .flag-badge.aggregation{background:var(--info-light);color:var(--info)}.select-filter-step .variable-mapper .expression-examples{margin-top:16px;padding:16px;background:var(--surface-2);border-radius:8px}.select-filter-step .variable-mapper .expression-examples h4{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.select-filter-step .variable-mapper .expression-examples .examples-list{display:flex;flex-direction:column;gap:10px}.select-filter-step .variable-mapper .expression-examples .examples-list .example-item{display:flex;flex-direction:column;gap:4px}.select-filter-step .variable-mapper .expression-examples .examples-list .example-item strong{font-size:.85rem;color:var(--text-secondary)}.select-filter-step .variable-mapper .expression-examples .examples-list .example-item code{padding:8px 12px;background:var(--background);border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;color:var(--primary)}.select-filter-step .query-builder{display:flex;flex-direction:column;gap:24px}.select-filter-step .query-builder .query-sections{display:flex;gap:12px;padding:8px;background:var(--background);border-radius:12px;overflow-x:auto}.select-filter-step .query-builder .query-sections::-webkit-scrollbar{height:8px}.select-filter-step .query-builder .query-sections::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .query-builder .query-sections::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .query-builder .query-sections::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .query-builder .query-sections .section-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--surface);border:2px solid var(--border);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.select-filter-step .query-builder .query-sections .section-btn:hover:not(.disabled){border-color:var(--primary);background:var(--primary-light)}.select-filter-step .query-builder .query-sections .section-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.select-filter-step .query-builder .query-sections .section-btn.disabled{opacity:.4;cursor:not-allowed}.select-filter-step .query-builder .query-sections .section-btn .section-icon{font-size:1.2rem}.select-filter-step .query-builder .query-sections .section-btn .section-badge{padding:2px 8px;background:#fff3;border-radius:12px;font-size:.75rem;font-weight:700}.select-filter-step .query-builder .query-sections .section-btn:not(.active) .section-badge{background:var(--primary-light);color:var(--primary)}.select-filter-step .query-builder .query-section{padding:24px;background:var(--background);border-radius:12px;border:2px solid var(--border)}.select-filter-step .query-builder .query-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.select-filter-step .query-builder .query-section .section-header h3{margin:0;font-size:1.25rem}.select-filter-step .query-builder .query-section .section-header .section-actions{display:flex;gap:12px;align-items:center}.select-filter-step .query-builder .query-section .section-header .section-actions .global-logic-selector{display:flex;align-items:center;gap:8px;font-size:.9rem}.select-filter-step .query-builder .query-section .section-header .section-actions .global-logic-selector span{color:var(--text-secondary)}.select-filter-step .query-builder .query-section .info-box{padding:16px;background:var(--info-light);border-left:4px solid var(--info);border-radius:6px;margin-bottom:20px}.select-filter-step .query-builder .query-section .info-box strong{display:block;margin-bottom:4px;color:var(--info)}.select-filter-step .query-builder .query-section .info-box p{margin:0;font-size:.9rem;color:var(--text-secondary)}.select-filter-step .query-builder .query-section .filter-groups{display:flex;flex-direction:column;gap:20px}.select-filter-step .query-builder .query-section .filter-groups .filter-group{padding:20px;background:var(--surface);border:2px solid var(--border);border-radius:12px}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border)}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-header .group-number{font-weight:700;font-size:1rem;color:var(--text-primary)}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-header .group-logic-select{max-width:150px}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row{display:grid;grid-template-columns:1fr 180px 1fr auto;gap:12px;align-items:center;padding:12px;background:var(--background);border-radius:8px;position:relative}@media (max-width: 1024px){.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row{grid-template-columns:1fr}}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-logic{position:absolute;left:-32px;top:50%;transform:translateY(-50%);padding:4px 8px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;border-radius:4px}@media (max-width: 1024px){.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-logic{position:static;transform:none;width:fit-content;margin-bottom:8px}}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-field,.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-operator{font-size:.9rem}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-value .between-inputs{display:flex;align-items:center;gap:8px}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-value .between-inputs span{font-weight:600;color:var(--text-secondary)}.select-filter-step .query-builder .query-section .filter-groups .filter-group .group-conditions .condition-row .condition-value .no-value-needed{font-style:italic;color:var(--text-muted);font-size:.85rem}.select-filter-step .query-builder .query-section .groups-connector{position:relative;padding:20px 0;text-align:center}.select-filter-step .query-builder .query-section .groups-connector .connector-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translate(-50%)}.select-filter-step .query-builder .query-section .groups-connector .connector-badge{position:relative;display:inline-block;padding:8px 20px;background:var(--primary);color:#fff;border-radius:20px;font-weight:700;font-size:.9rem;z-index:1}.select-filter-step .query-builder .query-section .groupby-list,.select-filter-step .query-builder .query-section .having-list,.select-filter-step .query-builder .query-section .orderby-list{display:flex;flex-direction:column;gap:12px}.select-filter-step .query-builder .query-section .groupby-list .groupby-item,.select-filter-step .query-builder .query-section .groupby-list .having-item,.select-filter-step .query-builder .query-section .groupby-list .orderby-item,.select-filter-step .query-builder .query-section .having-list .groupby-item,.select-filter-step .query-builder .query-section .having-list .having-item,.select-filter-step .query-builder .query-section .having-list .orderby-item,.select-filter-step .query-builder .query-section .orderby-list .groupby-item,.select-filter-step .query-builder .query-section .orderby-list .having-item,.select-filter-step .query-builder .query-section .orderby-list .orderby-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:2px solid var(--border);border-radius:8px}.select-filter-step .query-builder .query-section .groupby-list .groupby-item .groupby-number,.select-filter-step .query-builder .query-section .groupby-list .groupby-item .orderby-number,.select-filter-step .query-builder .query-section .groupby-list .having-item .groupby-number,.select-filter-step .query-builder .query-section .groupby-list .having-item .orderby-number,.select-filter-step .query-builder .query-section .groupby-list .orderby-item .groupby-number,.select-filter-step .query-builder .query-section .groupby-list .orderby-item .orderby-number,.select-filter-step .query-builder .query-section .having-list .groupby-item .groupby-number,.select-filter-step .query-builder .query-section .having-list .groupby-item .orderby-number,.select-filter-step .query-builder .query-section .having-list .having-item .groupby-number,.select-filter-step .query-builder .query-section .having-list .having-item .orderby-number,.select-filter-step .query-builder .query-section .having-list .orderby-item .groupby-number,.select-filter-step .query-builder .query-section .having-list .orderby-item .orderby-number,.select-filter-step .query-builder .query-section .orderby-list .groupby-item .groupby-number,.select-filter-step .query-builder .query-section .orderby-list .groupby-item .orderby-number,.select-filter-step .query-builder .query-section .orderby-list .having-item .groupby-number,.select-filter-step .query-builder .query-section .orderby-list .having-item .orderby-number,.select-filter-step .query-builder .query-section .orderby-list .orderby-item .groupby-number,.select-filter-step .query-builder .query-section .orderby-list .orderby-item .orderby-number{font-weight:700;color:var(--text-muted)}.select-filter-step .query-builder .query-section .groupby-list .groupby-item .groupby-field,.select-filter-step .query-builder .query-section .groupby-list .having-item .groupby-field,.select-filter-step .query-builder .query-section .groupby-list .orderby-item .groupby-field,.select-filter-step .query-builder .query-section .having-list .groupby-item .groupby-field,.select-filter-step .query-builder .query-section .having-list .having-item .groupby-field,.select-filter-step .query-builder .query-section .having-list .orderby-item .groupby-field,.select-filter-step .query-builder .query-section .orderby-list .groupby-item .groupby-field,.select-filter-step .query-builder .query-section .orderby-list .having-item .groupby-field,.select-filter-step .query-builder .query-section .orderby-list .orderby-item .groupby-field{flex:1;padding:4px 8px;background:var(--surface-2);border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;color:var(--primary)}.select-filter-step .query-builder .query-section .groupby-list .groupby-item .groupby-name,.select-filter-step .query-builder .query-section .groupby-list .having-item .groupby-name,.select-filter-step .query-builder .query-section .groupby-list .orderby-item .groupby-name,.select-filter-step .query-builder .query-section .having-list .groupby-item .groupby-name,.select-filter-step .query-builder .query-section .having-list .having-item .groupby-name,.select-filter-step .query-builder .query-section .having-list .orderby-item .groupby-name,.select-filter-step .query-builder .query-section .orderby-list .groupby-item .groupby-name,.select-filter-step .query-builder .query-section .orderby-list .having-item .groupby-name,.select-filter-step .query-builder .query-section .orderby-list .orderby-item .groupby-name{color:var(--text-muted);font-size:.9rem}.select-filter-step .query-builder .query-section .groupby-list .groupby-item .direction-toggle,.select-filter-step .query-builder .query-section .groupby-list .having-item .direction-toggle,.select-filter-step .query-builder .query-section .groupby-list .orderby-item .direction-toggle,.select-filter-step .query-builder .query-section .having-list .groupby-item .direction-toggle,.select-filter-step .query-builder .query-section .having-list .having-item .direction-toggle,.select-filter-step .query-builder .query-section .having-list .orderby-item .direction-toggle,.select-filter-step .query-builder .query-section .orderby-list .groupby-item .direction-toggle,.select-filter-step .query-builder .query-section .orderby-list .having-item .direction-toggle,.select-filter-step .query-builder .query-section .orderby-list .orderby-item .direction-toggle{display:flex;gap:4px}.select-filter-step .query-builder .query-section .available-fields{margin-top:24px;padding:16px;background:var(--surface-2);border-radius:8px}.select-filter-step .query-builder .query-section .available-fields h4{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.select-filter-step .query-builder .query-section .available-fields .fields-list{display:flex;flex-wrap:wrap;gap:8px}.select-filter-step .query-builder .query-section .available-fields .fields-list .field-btn{padding:6px 12px;font-size:.85rem}.select-filter-step .sql-preview-container{background:var(--background);border:2px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px}.select-filter-step .sql-preview-container .sql-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface);border-bottom:2px solid var(--border)}.select-filter-step .sql-preview-container .sql-preview-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.select-filter-step .sql-preview-container .sql-preview-body{padding:20px;background:#1e1e1e;overflow-x:auto}.select-filter-step .sql-preview-container .sql-preview-body::-webkit-scrollbar{height:8px}.select-filter-step .sql-preview-container .sql-preview-body::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .sql-preview-container .sql-preview-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .sql-preview-container .sql-preview-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .sql-preview-container .sql-preview-body .sql-code{margin:0;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6}.select-filter-step .sql-preview-container .sql-preview-body .sql-code code{color:#d4d4d4}.select-filter-step .sql-preview-container .sql-preview-body .sql-code code .sql-keyword{color:#569cd6;font-weight:700}.select-filter-step .sql-preview-container .sql-preview-body .sql-code code .sql-string{color:#ce9178}.select-filter-step .sql-preview-container .sql-preview-body .sql-code code .sql-number{color:#b5cea8}.select-filter-step .sql-preview-container .sql-preview-body .sql-code code .sql-function{color:#dcdcaa}.select-filter-step .sql-preview-container .sql-preview-body .sql-empty{padding:40px 20px;text-align:center;color:gray}.select-filter-step .sql-preview-container .sql-preview-body .sql-empty p{margin:8px 0}.select-filter-step .sql-preview-container .sql-preview-info{padding:16px 20px;background:var(--surface);border-top:1px solid var(--border)}.select-filter-step .sql-preview-container .sql-preview-info .info-item{display:flex;gap:12px;padding:8px 0;font-size:.9rem}.select-filter-step .sql-preview-container .sql-preview-info .info-item .info-icon{flex-shrink:0}.select-filter-step .sql-preview-container .sql-preview-info .info-item .info-text{color:var(--text-secondary)}.select-filter-step .iteration-calculator{padding:24px;background:var(--background);border:2px solid var(--border);border-radius:12px}.select-filter-step .iteration-calculator h3{margin:0 0 20px;font-size:1.25rem;color:var(--text-primary)}.select-filter-step .iteration-calculator .calculator-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card{display:flex;gap:16px;padding:20px;background:var(--surface);border-radius:12px;border:2px solid var(--border);transition:all .2s ease}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.primary{border-color:var(--primary)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.primary .stat-icon{color:var(--primary)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.info{border-color:var(--info)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.info .stat-icon{color:var(--info)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.success{border-color:var(--success)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.success .stat-icon{color:var(--success)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.warning{border-color:var(--warning)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card.warning .stat-icon{color:var(--warning)}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card .stat-icon{font-size:2rem}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card .stat-content{flex:1}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card .stat-content .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:4px}.select-filter-step .iteration-calculator .calculator-stats-grid .stat-card .stat-content .stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.select-filter-step .iteration-calculator .batch-size-config{padding:20px;background:var(--surface);border-radius:12px;margin-bottom:24px}.select-filter-step .iteration-calculator .batch-size-config .config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.select-filter-step .iteration-calculator .batch-size-config .config-header h4{margin:0;font-size:1.1rem}.select-filter-step .iteration-calculator .batch-size-config .config-header .config-info{font-size:.9rem;color:var(--text-secondary)}.select-filter-step .iteration-calculator .batch-size-config .config-header .config-info strong{color:var(--primary)}.select-filter-step .iteration-calculator .batch-size-config .batch-size-selector{display:flex;flex-direction:column;gap:12px}.select-filter-step .iteration-calculator .batch-size-config .batch-size-selector .batch-size-options{display:flex;gap:8px;flex-wrap:wrap}.select-filter-step .iteration-calculator .batch-size-config .batch-size-selector .batch-size-custom{display:flex;align-items:center;gap:12px;max-width:200px}.select-filter-step .iteration-calculator .batch-size-config .batch-size-selector .batch-size-custom input{flex:1}.select-filter-step .iteration-calculator .batch-size-config .batch-size-selector .batch-size-custom .custom-label{font-size:.9rem;color:var(--text-secondary)}.select-filter-step .iteration-calculator .batch-size-config .batch-size-explanation{margin-top:16px;padding:16px;background:var(--background);border-radius:8px}.select-filter-step .iteration-calculator .batch-size-config .batch-size-explanation strong{display:block;margin-bottom:8px;color:var(--text-primary)}.select-filter-step .iteration-calculator .batch-size-config .batch-size-explanation ul{margin:0;padding-left:20px}.select-filter-step .iteration-calculator .batch-size-config .batch-size-explanation ul li{margin:6px 0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.select-filter-step .iteration-calculator .calculation-breakdown{padding:20px;background:var(--surface);border-radius:12px;margin-bottom:24px}.select-filter-step .iteration-calculator .calculation-breakdown h4{margin:0 0 16px;font-size:1.1rem}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table{width:100%;border-collapse:collapse}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table tbody tr.divider td{padding:8px 0;border-bottom:2px solid var(--border)}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table tbody tr.total-row{font-weight:700;background:var(--surface-2)}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table tbody tr.total-row td{padding:12px}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table tbody tr td{padding:10px 0;font-size:.9rem}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table tbody tr td:first-child{color:var(--text-secondary)}.select-filter-step .iteration-calculator .calculation-breakdown .breakdown-table tbody tr td:last-child{text-align:right;color:var(--text-primary)}.select-filter-step .iteration-calculator .progress-visualization{padding:20px;background:var(--surface);border-radius:12px}.select-filter-step .iteration-calculator .progress-visualization h4{margin:0 0 16px;font-size:1.1rem}.select-filter-step .iteration-calculator .progress-visualization .batch-bars{display:flex;flex-direction:column;gap:12px}.select-filter-step .iteration-calculator .progress-visualization .batch-bars .batch-bar-item{display:grid;grid-template-columns:80px 1fr 120px;gap:12px;align-items:center}.select-filter-step .iteration-calculator .progress-visualization .batch-bars .batch-bar-item .batch-bar-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.select-filter-step .iteration-calculator .progress-visualization .batch-bars .batch-bar-item .batch-bar-container{height:24px;background:var(--background);border-radius:12px;overflow:hidden;border:1px solid var(--border)}.select-filter-step .iteration-calculator .progress-visualization .batch-bars .batch-bar-item .batch-bar-container .batch-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));transition:width .3s ease}.select-filter-step .iteration-calculator .progress-visualization .batch-bars .batch-bar-item .batch-bar-count{font-size:.85rem;color:var(--text-secondary);text-align:right}.select-filter-step .iteration-calculator .progress-visualization .batch-bars .batch-bar-more{padding:12px;text-align:center;color:var(--text-muted);font-size:.9rem;font-style:italic}.select-filter-step .preview-modal-overlay .preview-modal{max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:24px;max-height:calc(90vh - 200px)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body::-webkit-scrollbar{height:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-toolbar{display:flex;justify-content:space-between;gap:16px;padding:16px;background:var(--surface);border-radius:8px;position:sticky;top:0;z-index:10}@media (max-width: 768px){.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-toolbar{flex-direction:column}}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-toolbar .search-section{flex:1;display:flex;gap:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-toolbar .search-section .search-input{flex:1}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-toolbar .filter-section{min-width:200px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-info{display:flex;gap:12px;padding:12px 16px;background:var(--info-light);border-radius:6px;border-left:4px solid var(--info)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-info .info-icon{font-size:1.2rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-info .info-text{flex:1;font-size:.9rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-info .info-text strong{display:block;margin-bottom:4px;color:var(--info)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container{overflow-x:auto;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container::-webkit-scrollbar{height:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table{width:100%;border-collapse:collapse}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table thead{background:var(--surface-2);position:sticky;top:0;z-index:5}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table thead th{padding:12px;text-align:left;font-weight:600;font-size:.85rem;border-bottom:2px solid var(--border);white-space:nowrap}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table thead th.row-number-header{width:60px;text-align:center}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table thead th.highlighted-column{background:var(--primary-light);color:var(--primary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table thead th .column-header{display:flex;align-items:center;gap:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table thead th .column-header .column-badge{padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-size:.7rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr:hover{background:var(--surface-2)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr:last-child{border-bottom:none}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .row-number{padding:12px;text-align:center;font-weight:600;color:var(--text-muted);font-size:.85rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell{padding:12px;font-size:.9rem;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell.highlighted{background:var(--primary-light);font-weight:600}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell .null-value{color:var(--text-muted);font-style:italic}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell .json-value{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-secondary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell .boolean-value{padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell .boolean-value.true{background:var(--success-light);color:var(--success)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell .boolean-value.false{background:var(--danger-light);color:var(--danger)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-table tbody tr .preview-cell .number-value{font-family:Courier New,monospace;color:var(--primary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-table-container .preview-empty{padding:40px 20px;text-align:center;color:var(--text-muted)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics{padding:20px;background:var(--surface);border-radius:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics h4{margin:0 0 16px;font-size:1.1rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card{padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card .stat-card-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card .stat-card-header strong{font-size:.9rem;color:var(--text-primary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card .stat-card-body{display:flex;flex-direction:column;gap:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card .stat-card-body .stat-item{display:flex;justify-content:space-between;font-size:.85rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card .stat-card-body .stat-item .stat-label{color:var(--text-secondary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-statistics .statistics-grid .stat-card .stat-card-body .stat-item .stat-value{font-weight:600;color:var(--text-primary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples{padding:20px;background:var(--surface);border-radius:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples h4{margin:0 0 16px;font-size:1.1rem}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid .sample-card{padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid .sample-card .sample-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid .sample-card .sample-header strong{font-size:.9rem;color:var(--text-primary)}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid .sample-card .sample-values{display:flex;flex-direction:column;gap:6px}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid .sample-card .sample-values .sample-value{padding:6px 10px;background:var(--surface);border-radius:4px;font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-filter-step .preview-modal-overlay .preview-modal .preview-modal-body .preview-samples .samples-grid .sample-card .sample-values .sample-empty{padding:20px;text-align:center;color:var(--text-muted);font-style:italic;font-size:.85rem}.select-filter-step .preview-tab{display:flex;flex-direction:column;gap:24px}.alert-success{padding:16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;background:var(--success-light);border-left:4px solid var(--success);color:var(--success);font-weight:600}.primary-source{border-color:var(--primary)!important;background:var(--primary-light)}.primary-source .primary-badge{display:inline-block;padding:4px 10px;background:var(--primary);color:#fff;border-radius:6px;font-size:.75rem;font-weight:700;margin-left:8px}.source-type-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.source-join{margin-top:12px;padding:12px;background:var(--background);border-radius:6px;border:1px solid var(--border)}.source-join strong{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-primary)}.source-join .join-info{display:flex;align-items:center;gap:12px}.source-join .join-info .join-type{padding:4px 10px;background:var(--info-light);color:var(--info);border-radius:6px;font-size:.8rem;font-weight:600}.source-join .join-info .join-on{flex:1;padding:6px 12px;background:var(--surface-2);border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;color:var(--text-secondary)}.source-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.join-examples{margin-top:20px;padding:16px;background:var(--surface-2);border-radius:8px}.join-examples h4{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.join-examples .example-item{margin-bottom:10px}.join-examples .example-item:last-child{margin-bottom:0}.join-examples .example-item strong{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:4px}.join-examples .example-item code{display:block;padding:8px 12px;background:var(--background);border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;color:var(--primary)}.available-fields-section{margin-top:40px;padding:24px;background:var(--surface);border-radius:12px;border:2px dashed var(--border)}.available-fields-section h3{margin:0 0 20px;font-size:1.25rem;color:var(--text-primary)}.available-fields-section .fields-browser{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.available-fields-section .fields-browser .fields-group{padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px}.available-fields-section .fields-browser .fields-group h4{margin:0 0 12px;font-size:.95rem;color:var(--primary);font-family:Courier New,monospace}.available-fields-section .fields-browser .fields-group .fields-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.available-fields-section .fields-browser .fields-group .fields-list .field-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--surface);border-radius:4px;font-size:.85rem}.available-fields-section .fields-browser .fields-group .fields-list .field-item .field-name{font-family:Courier New,monospace;color:var(--text-primary)}.available-fields-section .fields-browser .fields-group .fields-list .field-item .field-type{padding:2px 6px;background:var(--surface-2);color:var(--text-muted);border-radius:4px;font-size:.75rem}.basic-stats-panel{margin-top:24px;padding:24px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.basic-stats-panel h3{margin:0 0 20px;font-size:1.25rem;color:var(--text-primary)}.basic-stats-panel .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.basic-stats-panel .stats-grid .stat-item{padding:16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.basic-stats-panel .stats-grid .stat-item .stat-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.basic-stats-panel .stats-grid .stat-item .stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--primary)}.basic-stats-panel .stats-note{padding:12px;background:var(--info-light);border-left:4px solid var(--info);border-radius:6px;font-size:.9rem;color:var(--text-secondary)}.basic-stats-panel .stats-note strong{color:var(--info)}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-group .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.checkbox-group .checkbox-label input[type=checkbox]{margin:0;accent-color:var(--primary);width:18px;height:18px;cursor:pointer}.checkbox-group .checkbox-label:hover{color:var(--primary)}.loading-spinner-small{width:20px;height:20px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.available-fields-browser{margin-top:40px;padding:24px;background:var(--surface);border-radius:16px;border:2px solid var(--border)}.available-fields-browser .browser-header{margin-bottom:24px}.available-fields-browser .browser-header h3{margin:0 0 16px;font-size:1.25rem;color:var(--text-primary)}.available-fields-browser .browser-header .browser-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.available-fields-browser .browser-header .browser-toolbar .search-box{position:relative;flex:1;min-width:250px}.available-fields-browser .browser-header .browser-toolbar .search-box .clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.available-fields-browser .browser-header .browser-toolbar .form-select{min-width:150px}.available-fields-browser .browser-header .browser-toolbar .checkbox-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.available-fields-browser .browser-header .browser-toolbar .checkbox-toggle:hover{border-color:var(--primary)}.available-fields-browser .browser-header .browser-toolbar .checkbox-toggle input[type=checkbox]{margin:0;accent-color:var(--primary)}.available-fields-browser .browser-header .browser-toolbar .checkbox-toggle span{font-size:.9rem;color:var(--text-primary);white-space:nowrap}.available-fields-browser .fields-loading{padding:60px 20px;text-align:center}.available-fields-browser .fields-loading .loading-animation{max-width:500px;margin:0 auto}.available-fields-browser .fields-loading .loading-animation .loading-spinner-large{width:80px;height:80px;border:6px solid var(--surface-2);border-top-color:var(--primary);border-right-color:var(--info);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}.available-fields-browser .fields-loading .loading-animation .loading-info .loading-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.available-fields-browser .fields-loading .loading-animation .loading-info .loading-current{font-size:.9rem;color:var(--text-secondary);margin-bottom:20px;height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.available-fields-browser .fields-loading .loading-animation .loading-info .loading-progress-bar{width:100%;height:32px;background:var(--background);border-radius:16px;overflow:hidden;position:relative;margin-bottom:12px;border:2px solid var(--border)}.available-fields-browser .fields-loading .loading-animation .loading-info .loading-progress-bar .loading-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));transition:width .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.available-fields-browser .fields-loading .loading-animation .loading-info .loading-progress-bar .loading-progress-fill .loading-percentage{font-size:.85rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.available-fields-browser .fields-loading .loading-animation .loading-info .loading-stats{font-size:.85rem;color:var(--text-muted)}.available-fields-browser .fields-empty{padding:60px 20px;text-align:center}.available-fields-browser .fields-empty .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.available-fields-browser .fields-empty p{color:var(--text-muted);margin-bottom:20px}.available-fields-browser .fields-groups{display:flex;flex-direction:column;gap:16px}.available-fields-browser .fields-groups .fields-group{background:var(--background);border:2px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease}.available-fields-browser .fields-groups .fields-group:hover{border-color:var(--primary-light)}.available-fields-browser .fields-groups .fields-group .fields-group-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface-2);cursor:pointer;transition:all .2s ease}.available-fields-browser .fields-groups .fields-group .fields-group-header:hover{background:var(--surface-hover)}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left{display:flex;align-items:center;gap:12px}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left .expand-icon{font-size:.85rem;color:var(--text-muted);transition:transform .2s ease}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left .source-icon{font-size:1.5rem}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left .source-icon.db{filter:hue-rotate(190deg)}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left .source-icon.file{filter:hue-rotate(30deg)}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left .group-title{font-weight:600;font-size:1rem;color:var(--text-primary)}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-left .group-alias{font-size:.85rem;color:var(--text-muted);font-family:Courier New,monospace}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-right{display:flex;align-items:center;gap:12px}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-right .fields-count{padding:4px 12px;background:var(--background);border-radius:6px;font-size:.85rem;color:var(--text-secondary);font-weight:600}.available-fields-browser .fields-groups .fields-group .fields-group-header .group-header-right .mapped-count{padding:4px 12px;background:var(--success-light);color:var(--success);border-radius:6px;font-size:.85rem;font-weight:700}.available-fields-browser .fields-groups .fields-group .fields-list{display:flex;flex-direction:column}.available-fields-browser .fields-groups .fields-group .fields-list .field-item{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--border);cursor:pointer;transition:all .2s ease}.available-fields-browser .fields-groups .fields-group .fields-list .field-item:hover{background:var(--surface-hover)}.available-fields-browser .fields-groups .fields-group .fields-list .field-item.mapped{background:var(--success-light);opacity:.7}.available-fields-browser .fields-groups .fields-group .fields-list .field-item.mapped:hover{opacity:1}.available-fields-browser .fields-groups .fields-group .fields-list .field-item.mapped .field-icon{color:var(--success);font-weight:700}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-icon{font-size:1.2rem;color:var(--text-muted);flex-shrink:0}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info{flex:1;min-width:0}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-name-row .field-name{font-weight:600;font-size:.95rem;color:var(--text-primary);font-family:Courier New,monospace}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-name-row .key-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-name-row .key-badge.pri{background:var(--primary-light);color:var(--primary)}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-name-row .key-badge.uni{background:var(--info-light);color:var(--info)}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-details{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-details .field-expression{font-family:Courier New,monospace}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-left .field-info .field-details .field-table{font-style:italic}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge{padding:4px 10px;background:var(--surface-2);color:var(--text-secondary);border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.varchar,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.char,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.string{background:#8b5cf61a;color:#8b5cf6}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.int,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.integer,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.bigint{background:var(--info-light);color:var(--info)}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.decimal,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.float,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.double{background:var(--warning-light);color:var(--warning)}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.text,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.longtext{background:#ec48991a;color:#ec4899}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.date,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.datetime,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.timestamp{background:#22c55e1a;color:#22c55e}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.boolean,.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-type-badge.bool{background:#f973161a;color:#f97316}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .nullable-indicator{padding:2px 6px;background:var(--warning-light);color:var(--warning);border-radius:4px;font-size:.7rem;font-weight:700}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .field-action{opacity:0;transition:opacity .2s ease}.available-fields-browser .fields-groups .fields-group .fields-list .field-item .field-item-right .mapped-as{padding:4px 10px;background:var(--success);color:#fff;border-radius:6px;font-size:.75rem;font-weight:700;font-family:Courier New,monospace}.available-fields-browser .fields-groups .fields-group .fields-list .field-item:hover .field-action{opacity:1}.available-fields-browser .fields-summary{display:flex;justify-content:space-around;gap:20px;padding:20px;background:var(--background);border-radius:12px;border:2px dashed var(--border);margin-top:24px}.available-fields-browser .fields-summary .summary-item{text-align:center}.available-fields-browser .fields-summary .summary-item .summary-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.available-fields-browser .fields-summary .summary-item .summary-value{display:block;font-size:1.75rem;font-weight:700;color:var(--primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fields-list{max-height:400px;overflow-y:auto}.fields-list::-webkit-scrollbar{width:8px}.fields-list::-webkit-scrollbar-track{background:var(--surface);border-radius:4px}.fields-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.fields-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.tables-grid-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.tables-grid-blocks .table-block{display:flex;flex-direction:column;padding:16px;background:var(--background);border:2px solid var(--border);border-radius:12px;transition:all .2s ease;position:relative}.tables-grid-blocks .table-block:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tables-grid-blocks .table-block.added{background:var(--success-light);border-color:var(--success);opacity:.7}.tables-grid-blocks .table-block.primary{background:linear-gradient(135deg,var(--primary-light),var(--info-light));border-color:var(--primary);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.tables-grid-blocks .table-block .table-block-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tables-grid-blocks .table-block .table-block-header .table-block-icon{font-size:1.5rem}.tables-grid-blocks .table-block .table-block-header .table-block-name{font-weight:600;font-size:.95rem;color:var(--text-primary);font-family:Courier New,monospace}.tables-grid-blocks .table-block .table-block-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:700;margin-bottom:8px}.tables-grid-blocks .table-block .table-block-badge.primary-badge{background:var(--primary);color:#fff}.tables-grid-blocks .table-block .table-block-badge.added-badge{background:var(--success);color:#fff}.tables-grid-blocks .table-block .table-block-action{width:100%;margin-top:auto}.tables-grid-blocks .table-block .table-block-info{font-size:.8rem;color:var(--text-muted);margin-top:8px;text-align:center}.info-hint{font-size:.85rem;color:var(--info);font-weight:600;margin-left:8px}.primary-hint{font-size:.85rem;color:var(--primary);font-weight:700;margin-left:8px}.source-warning{padding:8px 12px;background:var(--warning-light);border-left:4px solid var(--warning);border-radius:6px;font-size:.85rem;color:var(--warning);font-weight:600;margin-top:12px}.primary-note{font-size:.85rem;color:var(--text-muted);font-style:italic}.suggested-joins{margin-top:24px;padding:20px;background:var(--success-light);border:2px solid var(--success);border-radius:12px}.suggested-joins h4{margin:0 0 16px;color:var(--success);font-size:1rem}.suggested-joins .suggestions-list{display:flex;flex-direction:column;gap:8px}.suggested-joins .suggestions-list .suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.suggested-joins .suggestions-list .suggestion-item:hover{border-color:var(--success);background:var(--surface-hover)}.suggested-joins .suggestions-list .suggestion-item.active{border-color:var(--success);background:var(--success-light)}.suggested-joins .suggestions-list .suggestion-item.active .suggestion-icon{color:var(--success)}.suggested-joins .suggestions-list .suggestion-item .suggestion-icon{font-size:1.25rem;color:var(--text-muted)}.suggested-joins .suggestions-list .suggestion-item .suggestion-code{flex:1;padding:6px 12px;background:var(--surface-2);border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;color:var(--text-primary)}.available-sources-reference{margin-top:24px;padding:16px;background:var(--surface-2);border-radius:12px}.available-sources-reference h4{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.available-sources-reference .sources-reference-list{display:flex;flex-wrap:wrap;gap:8px}.available-sources-reference .sources-reference-list .reference-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:.85rem}.available-sources-reference .sources-reference-list .reference-item .reference-icon{font-size:1rem}.available-sources-reference .sources-reference-list .reference-item .reference-alias{font-family:Courier New,monospace;color:var(--primary);font-weight:600}.available-sources-reference .sources-reference-list .reference-item .reference-table{color:var(--text-muted);font-size:.8rem}.available-sources-reference .sources-reference-list .reference-item .reference-badge{padding:2px 6px;background:var(--primary);color:#fff;border-radius:4px;font-size:.7rem;font-weight:700}.source-preview{padding:16px;background:var(--surface-2);border-radius:8px;margin-bottom:16px}.source-preview .source-preview-item{display:flex;align-items:center;gap:12px;margin-bottom:8px}.source-preview .source-preview-item:last-child{margin-bottom:0}.source-preview .source-preview-item strong{min-width:80px;color:var(--text-muted);font-size:.9rem}.source-preview .source-preview-item span,.source-preview .source-preview-item code{color:var(--text-primary);font-size:.9rem}.source-preview .source-preview-item code{padding:4px 8px;background:var(--background);border-radius:4px;font-family:Courier New,monospace}.modal-content.modal-large{max-width:900px;max-height:90vh;overflow-y:auto}.preview-test-modal .modal-body{max-height:calc(90vh - 120px);overflow-y:auto}.preview-test-body{display:flex;flex-direction:column;gap:24px}.config-overview{display:flex;flex-direction:column;gap:20px}.config-section{padding:20px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.config-section.primary-section{background:linear-gradient(135deg,var(--primary-light),var(--info-light));border-color:var(--primary)}.config-section .config-section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.config-section .config-section-header .section-icon{font-size:1.25rem}.config-section .config-section-header strong{font-size:1rem;color:var(--text-primary)}.config-card{padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px}.config-card.primary-card{background:#fff;border:2px solid var(--primary)}.config-card .card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.config-card .card-header .card-icon{font-size:1.25rem}.config-card .card-header .card-title{font-weight:600;color:var(--text-primary)}.config-card .card-content{display:flex;flex-direction:column;gap:8px}.config-card .card-row{display:flex;align-items:center;gap:12px}.config-card .card-row .card-label{min-width:80px;font-size:.85rem;color:var(--text-muted);font-weight:600}.config-card .card-row .card-value{font-size:.9rem;color:var(--text-primary)}.config-card .card-row .card-value.join-type{padding:2px 8px;background:var(--info-light);color:var(--info);border-radius:4px;font-weight:600;font-size:.8rem}.config-card .card-row .card-value.join-condition{padding:4px 8px;background:var(--surface-2);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;word-break:break-all}.config-card .card-row code{padding:2px 6px;background:var(--surface-2);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem}.config-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.config-warning{padding:12px;background:var(--warning-light);border:1px solid var(--warning);border-radius:6px;color:var(--warning);font-weight:600}.variables-tags{display:flex;flex-wrap:wrap;gap:8px}.variables-tags .variable-tag{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px}.variables-tags .variable-tag .variable-name{font-family:Courier New,monospace;font-size:.85rem;color:var(--primary);font-weight:600}.variables-tags .variable-tag .variable-type{padding:2px 6px;background:var(--surface-2);color:var(--text-muted);border-radius:4px;font-size:.75rem}.variables-tags .variable-tag .variable-flag{padding:2px 6px;background:var(--info-light);color:var(--info);border-radius:4px;font-size:.7rem;font-weight:700}.variables-tags .variable-tag .variable-flag.pk{background:var(--primary);color:#fff}.filters-summary{display:flex;flex-direction:column;gap:8px}.filters-summary .filters-logic{padding:8px 12px;background:var(--surface-2);border-radius:6px;font-size:.9rem}.filters-summary .filters-logic strong{color:var(--primary)}.filters-summary .filter-group-summary{padding:8px 12px;background:var(--background);border-left:3px solid var(--primary);border-radius:4px;font-size:.85rem}.clauses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.clauses-grid .clause-item{padding:12px;background:var(--background);border-radius:6px}.clauses-grid .clause-item strong{display:block;margin-bottom:8px;color:var(--text-primary);font-size:.9rem}.clauses-grid .clause-item .clause-values{display:flex;flex-wrap:wrap;gap:6px}.clauses-grid .clause-item .clause-values code{padding:4px 8px;background:var(--surface-2);border-radius:4px;font-size:.8rem}.sql-preview-box{padding:16px;background:var(--background);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.sql-preview-box pre{margin:0;font-family:Courier New,monospace;font-size:.85rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.sql-preview-box pre code{color:var(--primary)}.config-notes{display:flex;flex-direction:column;gap:12px}.config-notes .note-item{display:flex;gap:12px;padding:16px;border-radius:8px;border:1px solid}.config-notes .note-item.info{background:var(--info-light);border-color:var(--info)}.config-notes .note-item.info .note-icon{color:var(--info)}.config-notes .note-item.warning{background:var(--warning-light);border-color:var(--warning)}.config-notes .note-item.warning .note-icon{color:var(--warning)}.config-notes .note-item.error{background:var(--danger-light);border-color:var(--danger)}.config-notes .note-item.error .note-icon{color:var(--danger)}.config-notes .note-item .note-icon{font-size:1.5rem;flex-shrink:0}.config-notes .note-item .note-content{flex:1}.config-notes .note-item .note-content strong{display:block;margin-bottom:4px;font-size:.95rem}.config-notes .note-item .note-content p{margin:0;font-size:.85rem;line-height:1.5}.test-action-section{display:flex;justify-content:center;padding:20px;background:var(--surface);border-radius:12px;border:2px dashed var(--border)}.test-action-section .test-query-btn{display:flex;align-items:center;gap:10px;padding:16px 32px;font-size:1.1rem;font-weight:700}.test-action-section .test-query-btn .loading-spinner-small{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.preview-error{display:flex;gap:16px;padding:20px;background:var(--danger-light);border:2px solid var(--danger);border-radius:12px}.preview-error .error-icon{font-size:2rem;color:var(--danger)}.preview-error .error-content{flex:1}.preview-error .error-content strong{display:block;margin-bottom:8px;color:var(--danger);font-size:1rem}.preview-error .error-content p{margin:0;color:var(--text-primary);font-size:.9rem;font-family:Courier New,monospace}.preview-results{display:flex;flex-direction:column;gap:20px}.preview-results .results-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px solid var(--border)}.preview-results .results-header h4{margin:0;font-size:1.25rem;color:var(--success)}.preview-results .results-header .results-meta{font-size:.9rem;color:var(--text-muted)}.preview-results .results-empty{padding:60px 20px;text-align:center}.preview-results .results-empty .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.preview-results .results-empty p{margin:8px 0;color:var(--text-muted)}.preview-results .results-empty .empty-hint{font-size:.85rem;font-style:italic}.preview-table-container{max-height:500px;overflow:auto;border:2px solid var(--border);border-radius:12px}.sql-preview-container{display:flex;flex-direction:column;gap:24px}.data-flow-diagram{background:var(--surface);border-radius:12px;padding:24px;border:2px solid var(--border)}.data-flow-diagram .diagram-header{margin-bottom:24px}.data-flow-diagram .diagram-header h3{margin:0 0 8px;font-size:1.25rem;color:var(--text-primary)}.data-flow-diagram .diagram-header .diagram-subtitle{margin:0;font-size:.95rem;color:var(--text-secondary)}.flow-visualization{display:flex;flex-direction:column;gap:0;padding:20px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.flow-node{background:var(--surface);border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border:2px solid var(--border);transition:all .3s ease;max-width:500px;margin:0 auto;width:100%}.flow-node:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.flow-node.primary{border-color:var(--primary);background:var(--surface)}.flow-node.primary.file{border-color:var(--warning)}.flow-node.joined.database{border-color:var(--info)}.flow-node.joined.file{border-color:var(--warning)}.flow-node.result{border-color:var(--success)}.flow-node .node-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.flow-node .node-header .node-icon{font-size:1.75rem}.flow-node .node-header .node-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.flow-node .node-header .node-badge.primary{background:var(--primary);color:#fff}.flow-node .node-header .node-badge.database{background:var(--info);color:#fff}.flow-node .node-header .node-badge.file{background:var(--warning);color:#fff}.flow-node .node-header .node-badge.result{background:var(--success);color:#fff}.flow-node .node-body .node-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.flow-node .node-body .node-detail{font-size:.9rem;color:var(--text-secondary);margin-bottom:4px}.flow-node .node-body .node-join-condition{margin:12px 0;padding:12px;background:var(--background);border-radius:6px;border-left:3px solid var(--info)}.flow-node .node-body .node-join-condition strong{display:block;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.flow-node .node-body .node-join-condition code{display:block;font-size:.85rem;background:transparent;padding:0;color:var(--text-primary);word-break:break-all}.flow-node .node-body .node-meta{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted);font-weight:500}.flow-joins,.join-section{display:flex;flex-direction:column;gap:0}.join-connector,.result-connector{display:flex;flex-direction:column;align-items:center;padding:16px 0}.join-connector .connector-line,.result-connector .connector-line{width:3px;height:40px;background:linear-gradient(180deg,var(--border) 0%,var(--primary) 100%);border-radius:3px;position:relative}.join-connector .connector-line:after,.result-connector .connector-line:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--primary)}.join-connector .connector-label,.result-connector .connector-label{margin-top:8px;padding:6px 16px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #00000026}.flow-result{display:flex;flex-direction:column;gap:0}.sql-preview-section{background:var(--surface);border-radius:12px;padding:24px;border:2px solid var(--border)}.sql-preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.sql-preview-header .header-left{flex:1}.sql-preview-header .header-left h3{margin:0 0 12px;font-size:1.25rem;color:var(--text-primary)}.sql-preview-header .sql-type-toggle{display:flex;gap:8px;background:var(--background);padding:4px;border-radius:8px}.sql-preview-header .sql-type-toggle .toggle-btn{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.sql-preview-header .sql-type-toggle .toggle-btn:hover{background:var(--surface-2)}.sql-preview-header .sql-type-toggle .toggle-btn.active{background:var(--surface);color:var(--primary);box-shadow:0 2px 8px #0000001a}.sql-preview-header .sql-preview-actions{display:flex;gap:8px}.sql-preview-body .sql-info-banner{padding:16px;border-radius:8px;margin-bottom:16px;display:flex;gap:12px;align-items:flex-start}.sql-preview-body .sql-info-banner.file{background:var(--warning-light);border:1px solid var(--warning)}.sql-preview-body .sql-info-banner.database{background:var(--info-light);border:1px solid var(--info)}.sql-preview-body .sql-info-banner .banner-icon{font-size:1.25rem;flex-shrink:0}.sql-preview-body .sql-info-banner .banner-content{flex:1}.sql-preview-body .sql-info-banner .banner-content strong{display:block;margin-bottom:4px;color:var(--text-primary)}.sql-preview-body .sql-info-banner .banner-content p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.sql-preview-body .sql-info-banner .banner-content code{background:#0000001a;padding:2px 6px;border-radius:4px;font-size:.85rem}.sql-preview-body .sql-code{background:var(--background);color:var(--text-primary);padding:20px;border-radius:8px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;margin:0;border:1px solid var(--border)}.sql-preview-body .sql-code code{background:transparent;color:inherit;padding:0}.sql-preview-body .sql-code code .sql-keyword{color:var(--primary);font-weight:600}.sql-preview-body .sql-code code .sql-string{color:var(--success)}.sql-preview-body .sql-code code .sql-number{color:var(--info)}.sql-preview-body .sql-code code .sql-file{color:var(--warning);font-weight:600;background:var(--warning-light);padding:2px 6px;border-radius:4px}.sql-preview-body .sql-code code .sql-comment{color:var(--text-muted);font-style:italic}.sql-preview-body .sql-empty{padding:60px 20px;text-align:center;color:var(--text-muted)}.sql-preview-body .sql-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.sql-preview-body .sql-empty p{margin:8px 0;font-size:1rem}.sql-preview-body .sql-empty p.empty-hint{font-size:.9rem;color:var(--text-muted)}.execution-notes{background:var(--surface);border-radius:12px;padding:24px;border:2px solid var(--border)}.execution-notes h4{margin:0 0 20px;font-size:1.1rem;color:var(--text-primary)}.execution-notes .notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.execution-notes .note-card{background:var(--background);border-radius:8px;padding:16px;border:2px solid var(--border);transition:all .3s}.execution-notes .note-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.execution-notes .note-card.database{border-color:var(--info)}.execution-notes .note-card.file,.execution-notes .note-card.file-join{border-color:var(--warning)}.execution-notes .note-card.db-join{border-color:var(--info)}.execution-notes .note-card.result{border-color:var(--success)}.execution-notes .note-card .note-icon{font-size:2rem;margin-bottom:12px;display:block}.execution-notes .note-card .note-content strong{display:block;margin-bottom:8px;color:var(--text-primary);font-size:.95rem}.execution-notes .note-card .note-content p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.flow-node{max-width:100%}.sql-preview-header{flex-direction:column}.sql-preview-header .sql-type-toggle{width:100%}.sql-preview-header .sql-type-toggle .toggle-btn{flex:1}.execution-notes .notes-grid{grid-template-columns:1fr}.data-flow-diagram,.sql-preview-section,.execution-notes{padding:16px}}body.dark-theme .sql-code{background:#1e1e1e;color:#d4d4d4}body.dark-theme .sql-code code .sql-keyword{color:#569cd6}body.dark-theme .sql-code code .sql-string{color:#ce9178}body.dark-theme .sql-code code .sql-number{color:#b5cea8}body.dark-theme .sql-code code .sql-file{background:#ff980033}body.dark-theme .sql-code code .sql-comment{color:#6a9955}body.dark-theme .sql-info-banner.file{background:#ff980026;border-color:#ff980066}body.dark-theme .sql-info-banner.database{background:#06b6d426;border-color:#06b6d466}body.dark-theme .flow-node{box-shadow:0 2px 8px #0000004d}body.dark-theme .flow-node:hover{box-shadow:0 4px 16px #0006}.mapping-step{display:flex;flex-direction:column;gap:24px;padding:24px;background:var(--background);min-height:calc(100vh - 200px)}.mapping-step.loading{display:flex;align-items:center;justify-content:center}.mapping-step.loading .loading-container{display:flex;flex-direction:column;align-items:center;gap:16px}.mapping-step .step-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;background:var(--surface);border-radius:12px;border:2px solid var(--border)}@media (max-width: 1024px){.mapping-step .step-header{flex-direction:column}}.mapping-step .step-header .step-header-content{flex:1}.mapping-step .step-header .step-header-content h2{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.mapping-step .step-header .step-header-content .step-subtitle{margin:0;font-size:.95rem;color:var(--text-secondary)}.mapping-step .step-header .step-header-actions{display:flex;gap:12px;flex-shrink:0}@media (max-width: 768px){.mapping-step .step-header .step-header-actions{width:100%;flex-direction:column}}.mapping-step .configuration-progress{display:flex;gap:16px;padding:20px;background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow-x:auto}.mapping-step .configuration-progress .progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;background:var(--background);border:2px solid var(--border);transition:all .3s ease;min-width:140px}.mapping-step .configuration-progress .progress-step.active{border-color:var(--primary);background:var(--primary-light)}.mapping-step .configuration-progress .progress-step.active .progress-step-icon{background:var(--primary);color:#fff}.mapping-step .configuration-progress .progress-step.completed{border-color:var(--success);background:var(--success-light)}.mapping-step .configuration-progress .progress-step.completed .progress-step-icon{background:var(--success);color:#fff}.mapping-step .configuration-progress .progress-step .progress-step-icon{width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .3s ease}.mapping-step .configuration-progress .progress-step .progress-step-label{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center}.mapping-step .mapping-layout{display:grid;grid-template-columns:500px 1fr;gap:24px;min-height:600px}@media (max-width: 1200px){.mapping-step .mapping-layout{grid-template-columns:1fr}}.mapping-step .variables-panel{background:var(--surface);border-radius:12px;border:2px solid var(--border);display:flex;flex-direction:column;max-height:calc(100vh - 400px);overflow:hidden}.mapping-step .variables-panel .panel-header{padding:20px;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center}.mapping-step .variables-panel .panel-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.mapping-step .variables-panel .panel-header .panel-count{font-size:.85rem;color:var(--text-muted);padding:4px 12px;background:var(--background);border-radius:12px}.mapping-step .variables-panel .variables-tabs{display:flex;border-bottom:2px solid var(--border);background:var(--surface-2)}.mapping-step .variables-panel .variables-tabs .var-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.mapping-step .variables-panel .variables-tabs .var-tab:hover:not(.active){background:var(--surface-hover);color:var(--text-primary)}.mapping-step .variables-panel .variables-tabs .var-tab.active{background:var(--background);color:var(--primary);border-bottom-color:var(--primary)}.mapping-step .variables-panel .variables-tabs .var-tab .tab-icon{font-size:1.1rem}.mapping-step .variables-panel .variables-tabs .var-tab .tab-badge{padding:2px 8px;background:var(--primary-light);color:var(--primary);border-radius:12px;font-size:.75rem;font-weight:700}.mapping-step .variables-panel .variables-content{flex:1;overflow-y:auto}.mapping-step .variables-panel .variables-content::-webkit-scrollbar{width:8px}.mapping-step .variables-panel .variables-content::-webkit-scrollbar-track{background:var(--surface)}.mapping-step .variables-panel .variables-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.mapping-step .variables-panel .variables-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mapping-step .variables-panel-content{padding:16px}.mapping-step .variables-panel-content .panel-toolbar{display:flex;gap:12px;margin-bottom:16px}.mapping-step .variables-panel-content .panel-toolbar .search-box{flex:1;min-width:200px}.mapping-step .variables-panel-content .panel-toolbar .form-select{min-width:130px}.mapping-step .variables-panel-content .panel-toolbar .checkbox-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mapping-step .variables-panel-content .panel-toolbar .checkbox-toggle:hover{border-color:var(--primary)}.mapping-step .variables-panel-content .panel-toolbar .checkbox-toggle input[type=checkbox]{margin:0;accent-color:var(--primary)}.mapping-step .variables-panel-content .panel-toolbar .checkbox-toggle span{font-size:.85rem;color:var(--text-primary)}.mapping-step .variables-panel-content .variables-list{display:flex;flex-direction:column;gap:12px}.mapping-step .variables-panel-content .variable-card{padding:12px;background:var(--background);border:2px solid var(--border);border-radius:8px;transition:all .2s ease}.mapping-step .variables-panel-content .variable-card:hover:not(.mapped){border-color:var(--primary-light);box-shadow:0 2px 8px #0000000d}.mapping-step .variables-panel-content .variable-card.mapped{background:var(--success-light);border-color:var(--success);opacity:.7}.mapping-step .variables-panel-content .variable-card.mapped .variable-icon{color:var(--success)}.mapping-step .variables-panel-content .variable-card.compact{padding:10px;display:flex;justify-content:space-between;align-items:center}.mapping-step .variables-panel-content .variable-card .variable-card-header{display:flex;gap:12px;margin-bottom:10px}.mapping-step .variables-panel-content .variable-card .variable-card-left{display:flex;gap:12px;flex:1;min-width:0}.mapping-step .variables-panel-content .variable-card .variable-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.mapping-step .variables-panel-content .variable-card .variable-icon{font-size:1.5rem;flex-shrink:0}.mapping-step .variables-panel-content .variable-card .variable-info{flex:1;min-width:0}.mapping-step .variables-panel-content .variable-card .variable-info .variable-name{font-weight:600;font-size:.9rem;color:var(--text-primary);font-family:Courier New,monospace}.mapping-step .variables-panel-content .variable-card .variable-info .variable-expression{font-size:.8rem;color:var(--text-muted);margin-top:2px}.mapping-step .variables-panel-content .variable-card .variable-info .variable-table{font-size:.75rem;color:var(--text-muted);font-style:italic}.mapping-step .variables-panel-content .variable-card .variable-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.mapping-step .variables-panel-content .variable-card .variable-card-actions{display:flex;justify-content:flex-end;gap:8px}.mapping-step .variables-panel-content .variable-card .variable-card-actions .mapped-label{font-size:.85rem;color:var(--success);font-weight:600}.mapping-step .variables-panel-content .type-badge{padding:4px 10px;background:var(--surface-2);color:var(--text-secondary);border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.mapping-step .variables-panel-content .type-badge.varchar,.mapping-step .variables-panel-content .type-badge.string{background:#8b5cf61a;color:#8b5cf6}.mapping-step .variables-panel-content .type-badge.int,.mapping-step .variables-panel-content .type-badge.integer,.mapping-step .variables-panel-content .type-badge.bigint{background:var(--info-light);color:var(--info)}.mapping-step .variables-panel-content .type-badge.decimal,.mapping-step .variables-panel-content .type-badge.float{background:var(--warning-light);color:var(--warning)}.mapping-step .variables-panel-content .flag-badge{padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:700}.mapping-step .variables-panel-content .flag-badge.pk{background:var(--primary-light);color:var(--primary)}.mapping-step .variables-panel-content .flag-badge.agg{background:var(--info-light);color:var(--info)}.mapping-step .variables-panel-content .key-badge{font-size:.9rem}.mapping-step .variables-panel-content .null-badge{padding:2px 6px;background:var(--warning-light);color:var(--warning);border-radius:4px;font-size:.7rem;font-weight:700}.mapping-step .variables-panel-content .empty-state{padding:60px 20px;text-align:center}.mapping-step .variables-panel-content .empty-state .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.mapping-step .variables-panel-content .empty-state p{margin:8px 0;color:var(--text-muted)}.mapping-step .variables-panel-content .empty-state p strong{color:var(--text-primary)}.mapping-step .variables-panel-content .no-results{padding:40px 20px;text-align:center;color:var(--text-muted)}.mapping-step .variables-panel-content .loading-state{padding:60px 20px;text-align:center}.mapping-step .variables-panel-content .loading-state .loading-spinner{margin:0 auto 16px}.mapping-step .source-groups{display:flex;flex-direction:column;gap:12px}.mapping-step .source-groups .source-group{background:var(--background);border:2px solid var(--border);border-radius:8px;overflow:hidden}.mapping-step .source-groups .source-group .source-group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface-2);cursor:pointer;transition:all .2s ease}.mapping-step .source-groups .source-group .source-group-header:hover{background:var(--surface-hover)}.mapping-step .source-groups .source-group .source-group-header .header-left{display:flex;align-items:center;gap:10px}.mapping-step .source-groups .source-group .source-group-header .header-left .expand-icon{font-size:.75rem;color:var(--text-muted);transition:transform .2s ease}.mapping-step .source-groups .source-group .source-group-header .header-left .source-icon{font-size:1.25rem}.mapping-step .source-groups .source-group .source-group-header .header-left .source-name{font-weight:600;font-size:.9rem;color:var(--text-primary);font-family:Courier New,monospace}.mapping-step .source-groups .source-group .source-group-header .header-right{display:flex;gap:12px;align-items:center}.mapping-step .source-groups .source-group .source-group-header .header-right .fields-count{font-size:.85rem;color:var(--text-muted)}.mapping-step .source-groups .source-group .source-group-header .header-right .mapped-count{padding:2px 8px;background:var(--success-light);color:var(--success);border-radius:12px;font-size:.75rem;font-weight:700}.mapping-step .source-groups .source-group .source-group-content{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface)}.mapping-step .custom-variables-panel{padding:20px}.mapping-step .custom-variables-panel .custom-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card{padding:20px;background:var(--background);border:2px solid var(--border);border-radius:12px;transition:all .2s ease}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-header .custom-type-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-header h3{margin:0;font-size:1rem;color:var(--text-primary)}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-examples{margin-bottom:16px}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-examples strong{font-size:.85rem;color:var(--text-primary);display:block;margin-bottom:8px}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-examples ul{margin:0;padding-left:20px}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .custom-type-examples ul li{font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.mapping-step .custom-variables-panel .custom-types-grid .custom-type-card .btn-block{width:100%}.mapping-step .custom-variables-panel .usage-tips{padding:20px;background:var(--surface);border-radius:12px}.mapping-step .custom-variables-panel .usage-tips h4{margin:0 0 16px;font-size:1rem;color:var(--text-primary)}.mapping-step .custom-variables-panel .usage-tips .tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.mapping-step .custom-variables-panel .usage-tips .tips-grid .tip-card{display:flex;gap:12px;padding:16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.mapping-step .custom-variables-panel .usage-tips .tips-grid .tip-card .tip-icon{font-size:1.5rem;flex-shrink:0}.mapping-step .custom-variables-panel .usage-tips .tips-grid .tip-card .tip-content{flex:1}.mapping-step .custom-variables-panel .usage-tips .tips-grid .tip-card .tip-content strong{display:block;margin-bottom:4px;font-size:.9rem;color:var(--text-primary)}.mapping-step .custom-variables-panel .usage-tips .tips-grid .tip-card .tip-content p{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.mapping-step .custom-variables-panel .usage-tips .tips-grid .tip-card .tip-content p code{padding:2px 6px;background:var(--surface-2);border-radius:4px;font-size:.75rem}.mapping-step .mapped-panel{background:var(--surface);border-radius:12px;border:2px solid var(--border);display:flex;flex-direction:column;max-height:calc(100vh - 400px);overflow:hidden}.mapping-step .mapped-panel-empty{padding:60px 20px}.mapping-step .mapped-panel-empty .empty-state{text-align:center}.mapping-step .mapped-panel-empty .empty-state .empty-icon{font-size:5rem;margin-bottom:20px;opacity:.5}.mapping-step .mapped-panel-empty .empty-state h3{margin:0 0 12px;font-size:1.25rem;color:var(--text-primary)}.mapping-step .mapped-panel-empty .empty-state p{margin:0 0 24px;color:var(--text-muted)}.mapping-step .mapped-panel-empty .empty-state .empty-steps{display:flex;flex-direction:column;gap:12px;max-width:400px;margin:0 auto}.mapping-step .mapped-panel-empty .empty-state .empty-steps .empty-step{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border-radius:8px;text-align:left}.mapping-step .mapped-panel-empty .empty-state .empty-steps .empty-step .step-number{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.mapping-step .mapped-panel-empty .empty-state .empty-steps .empty-step .step-text{font-size:.9rem;color:var(--text-primary)}.mapping-step .mapped-panel-content{display:flex;flex-direction:column;height:100%}.mapping-step .mapped-panel-content .panel-header{padding:20px;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center}.mapping-step .mapped-panel-content .panel-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.mapping-step .mapped-panel-content .panel-header .panel-count{font-size:.85rem;color:var(--text-muted);padding:4px 12px;background:var(--background);border-radius:12px}.mapping-step .mapped-panel-content .panel-toolbar{padding:16px;border-bottom:1px solid var(--border);display:flex;gap:12px}.mapping-step .mapped-panel-content .panel-toolbar .search-box{flex:1;min-width:200px}.mapping-step .mapped-panel-content .panel-toolbar .form-select{min-width:130px}.mapping-step .mapped-panel-content .mappings-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.mapping-step .mapped-panel-content .mappings-list::-webkit-scrollbar{width:8px}.mapping-step .mapped-panel-content .mappings-list::-webkit-scrollbar-track{background:var(--surface)}.mapping-step .mapped-panel-content .mappings-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.mapping-step .mapped-panel-content .mappings-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mapping-step .mapped-panel-content .mapping-card{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:16px;transition:all .2s ease}.mapping-step .mapped-panel-content .mapping-card:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #0000000d}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header{display:flex;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-number{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info{flex:1}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-icon{font-size:1.1rem}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-badge{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:700}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-badge.badge-primary{background:var(--primary-light);color:var(--primary)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-badge.badge-info{background:var(--info-light);color:var(--info)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-badge.badge-purple{background:#8b5cf61a;color:#8b5cf6}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-badge.badge-success{background:var(--success-light);color:var(--success)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .source-badge.badge-secondary{background:var(--surface-2);color:var(--text-secondary)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-source-row .required-badge{padding:2px 8px;background:var(--danger-light);color:var(--danger);border-radius:4px;font-size:.7rem;font-weight:700}.mapping-step .mapped-panel-content .mapping-card .mapping-card-header .mapping-info .mapping-name{font-weight:700;font-size:1rem;color:var(--text-primary);font-family:Courier New,monospace}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-detail{display:flex;gap:8px;font-size:.85rem}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-detail.ai{background:#8b5cf60d;padding:8px;border-radius:6px}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-detail .detail-label{font-weight:600;color:var(--text-secondary);min-width:100px}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-detail .detail-value{color:var(--text-primary)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-detail .detail-value.expression{font-family:Courier New,monospace;font-size:.8rem;word-break:break-all}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-detail .detail-value code{padding:2px 6px;background:var(--surface-2);border-radius:4px}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-output{display:flex;align-items:center;gap:12px;padding:12px;background:var(--primary-light);border-radius:8px;border-left:4px solid var(--primary)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-output .output-arrow{font-size:1.5rem;color:var(--primary)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-output .output-info{flex:1}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-output .output-info .output-label{font-size:.75rem;color:var(--primary);display:block;margin-bottom:4px}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-output .output-info .output-value{font-size:.95rem;font-weight:700;color:var(--text-primary);font-family:Courier New,monospace}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-description{display:flex;gap:8px;padding:8px;background:var(--surface-2);border-radius:6px;font-size:.85rem}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-description .desc-icon{flex-shrink:0}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-description .desc-text{color:var(--text-secondary);font-style:italic}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-features{display:flex;gap:8px;flex-wrap:wrap}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-features .feature-badge{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-features .feature-badge.validation{background:var(--warning-light);color:var(--warning)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-body .mapping-features .feature-badge.transformation{background:var(--info-light);color:var(--info)}.mapping-step .mapped-panel-content .mapping-card .mapping-card-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border)}.mapping-step .mapped-panel-content .mappings-summary{padding:16px;border-top:2px solid var(--border);background:var(--surface-2)}.mapping-step .mapped-panel-content .mappings-summary .summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mapping-step .mapped-panel-content .mappings-summary .summary-stats .stat-item{display:flex;flex-direction:column;gap:4px}.mapping-step .mapped-panel-content .mappings-summary .summary-stats .stat-item .stat-label{font-size:.75rem;color:var(--text-muted)}.mapping-step .mapped-panel-content .mappings-summary .summary-stats .stat-item .stat-value{font-size:1.25rem;font-weight:700;color:var(--primary)}.mapping-step .mapping-modal{max-width:900px}.mapping-step .mapping-modal .modal-steps{display:flex;gap:8px;padding:16px 24px;background:var(--surface-2);border-bottom:2px solid var(--border)}.mapping-step .mapping-modal .modal-steps .modal-step{flex:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border-radius:8px;opacity:.5;transition:all .2s ease}.mapping-step .mapping-modal .modal-steps .modal-step.active{opacity:1;background:var(--primary-light);border:2px solid var(--primary)}.mapping-step .mapping-modal .modal-steps .modal-step.active .step-number{background:var(--primary);color:#fff}.mapping-step .mapping-modal .modal-steps .modal-step .step-number{width:24px;height:24px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.mapping-step .mapping-modal .modal-steps .modal-step .step-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.mapping-step .mapping-modal .source-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-2);border-radius:6px;margin-top:8px}.mapping-step .mapping-modal .source-preview .source-icon{font-size:1.1rem}.mapping-step .mapping-modal .source-preview code{font-size:.85rem;color:var(--primary)}.mapping-step .mapping-modal .modal-step-content h4{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.mapping-step .mapping-modal .modal-step-content .step-description{margin:0 0 20px;font-size:.9rem;color:var(--text-secondary)}.mapping-step .mapping-modal .modal-step-content .type-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.mapping-step .mapping-modal .modal-step-content .type-selector .type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:var(--surface);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.mapping-step .mapping-modal .modal-step-content .type-selector .type-option:hover{border-color:var(--primary-light)}.mapping-step .mapping-modal .modal-step-content .type-selector .type-option.active{background:var(--primary-light);border-color:var(--primary)}.mapping-step .mapping-modal .modal-step-content .type-selector .type-option.active .type-icon{transform:scale(1.2)}.mapping-step .mapping-modal .modal-step-content .type-selector .type-option .type-icon{font-size:2rem;transition:transform .2s ease}.mapping-step .mapping-modal .modal-step-content .type-selector .type-option .type-label{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center}.mapping-step .mapping-modal .modal-step-content .prompt-textarea,.mapping-step .mapping-modal .modal-step-content .expression-textarea{font-family:Courier New,monospace;font-size:.85rem}.mapping-step .mapping-modal .modal-step-content .form-range{width:100%;margin:8px 0}.mapping-step .mapping-modal .modal-step-content .range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-top:4px}.mapping-step .mapping-modal .modal-step-content .available-variables{margin-top:16px;padding:16px;background:var(--surface-2);border-radius:8px}.mapping-step .mapping-modal .modal-step-content .available-variables .form-label{margin-bottom:12px}.mapping-step .mapping-modal .modal-step-content .available-variables .variables-tags{display:flex;flex-wrap:wrap;gap:8px}.mapping-step .mapping-modal .modal-step-content .available-variables .variables-tags .variable-tag{padding:6px 12px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:.8rem;font-weight:600;font-family:Courier New,monospace}.mapping-step .mapping-modal .modal-step-content .available-variables .variables-tags .variable-tag.clickable{cursor:pointer;border:1px solid var(--primary);transition:all .2s ease}.mapping-step .mapping-modal .modal-step-content .available-variables .variables-tags .variable-tag.clickable:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.mapping-step .mapping-modal .modal-step-content .expression-examples{margin-top:16px;padding:16px;background:var(--surface-2);border-radius:8px}.mapping-step .mapping-modal .modal-step-content .expression-examples .examples-list{display:flex;flex-direction:column;gap:8px}.mapping-step .mapping-modal .modal-step-content .expression-examples .examples-list code{display:block;padding:10px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.mapping-step .mapping-modal .modal-step-content .expression-examples .examples-list code:hover{border-color:var(--primary);background:var(--primary-light)}.mapping-step .mapping-modal .modal-step-content .header-row{display:flex;gap:8px;margin-bottom:8px}.mapping-step .mapping-modal .modal-step-content .header-row .form-input{flex:1}.mapping-step .mapping-modal .modal-step-content .validation-rules-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.mapping-step .mapping-modal .modal-step-content .validation-rules-list .validation-rule-card{padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:8px}.mapping-step .mapping-modal .modal-step-content .validation-rules-list .validation-rule-card .rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mapping-step .mapping-modal .modal-step-content .validation-rules-list .validation-rule-card .rule-header .rule-number{font-weight:700;color:var(--text-primary)}.mapping-step .mapping-modal .modal-step-content .validation-rules-list .validation-rule-card .rule-body{display:flex;flex-direction:column;gap:12px}.mapping-step .mapping-modal .modal-step-content .empty-state-small{padding:40px 20px;text-align:center;color:var(--text-muted);background:var(--surface);border-radius:8px;margin-bottom:20px}.mapping-step .mapping-modal .modal-step-content .transformation-preview{margin-top:16px;padding:16px;background:var(--surface-2);border-radius:8px}.mapping-step .mapping-modal .modal-step-content .transformation-preview .preview-box{display:flex;align-items:center;gap:12px;padding:12px;background:var(--background);border-radius:6px;margin-top:8px}.mapping-step .mapping-modal .modal-step-content .transformation-preview .preview-box .preview-label{font-size:.75rem;color:var(--text-muted);font-weight:600}.mapping-step .mapping-modal .modal-step-content .transformation-preview .preview-box .preview-arrow{font-size:1.2rem;color:var(--primary)}.mapping-step .mapping-modal .modal-step-content .transformation-preview .preview-box code{padding:4px 8px;background:var(--surface);border-radius:4px;font-size:.85rem}.target-tables-selector{margin-bottom:32px;padding:24px;background:var(--surface);border-radius:12px;border:2px solid var(--border)}.target-tables-selector.collapsed{padding:16px}.target-tables-selector.collapsed .selector-header{display:flex;justify-content:space-between;align-items:center}.target-tables-selector.collapsed .selector-header .header-left{flex:1}.target-tables-selector.collapsed .selector-header .header-left h4{margin:0 0 8px;font-size:1rem;color:var(--text-primary)}.target-tables-selector.collapsed .selector-header .header-left .tables-compact-list{display:flex;gap:8px;flex-wrap:wrap}.target-tables-selector.collapsed .selector-header .header-left .tables-compact-list .table-compact-tag{padding:4px 12px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:.85rem;font-weight:600}.target-tables-selector.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.target-tables-selector .info-panel.warning{background:var(--warning-light);border-left-color:var(--warning)}.target-tables-selector .available-resources-info{margin:16px 0;padding:12px;background:var(--surface-2);border-radius:6px;text-align:center}.target-tables-selector .available-resources-info p{margin:0;font-size:.9rem;color:var(--text-secondary)}.target-tables-selector .available-resources-info p strong{color:var(--text-primary)}.target-tables-selector .type-selector .type-option{position:relative}.target-tables-selector .type-selector .type-option .type-count{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px}.target-tables-selector .type-selector .type-option:disabled{opacity:.5;cursor:not-allowed}.target-tables-selector .type-selector .type-option:disabled:hover{border-color:var(--border)}.target-tables-selector .selector-header{margin-bottom:24px}.target-tables-selector .selector-header .header-left h3{margin:0 0 8px;font-size:1.25rem;color:var(--text-primary)}.target-tables-selector .selector-header .header-left .header-subtitle{margin:0;font-size:.9rem;color:var(--text-secondary)}.target-tables-selector .empty-state{text-align:center;padding:60px 20px}.target-tables-selector .empty-state .empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.target-tables-selector .empty-state h4{margin:0 0 12px;font-size:1.25rem;color:var(--text-primary)}.target-tables-selector .empty-state p{margin:0 0 24px;color:var(--text-muted)}.target-tables-selector .selected-tables-list{display:flex;flex-direction:column;gap:16px}.target-tables-selector .selected-tables-list .target-table-card{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:16px;transition:all .2s ease}.target-tables-selector .selected-tables-list .target-table-card:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #0000000d}.target-tables-selector .selected-tables-list .target-table-card .table-card-header{display:flex;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.target-tables-selector .selected-tables-list .target-table-card .table-card-header .table-number{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.target-tables-selector .selected-tables-list .target-table-card .table-card-header .table-info{flex:1}.target-tables-selector .selected-tables-list .target-table-card .table-card-header .table-info .table-type-badge{display:inline-block;padding:4px 10px;background:var(--info-light);color:var(--info);border-radius:6px;font-size:.75rem;font-weight:700;margin-bottom:6px}.target-tables-selector .selected-tables-list .target-table-card .table-card-header .table-info .table-name{font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:4px}.target-tables-selector .selected-tables-list .target-table-card .table-card-header .table-info .table-meta{font-size:.85rem;color:var(--text-muted)}.target-tables-selector .selected-tables-list .target-table-card .table-card-body .columns-preview strong{display:block;margin-bottom:8px;font-size:.85rem;color:var(--text-secondary)}.target-tables-selector .selected-tables-list .target-table-card .table-card-body .columns-preview .columns-list{display:flex;flex-wrap:wrap;gap:6px}.target-tables-selector .selected-tables-list .target-table-card .table-card-body .columns-preview .columns-list .column-tag{padding:4px 10px;background:var(--surface-2);color:var(--text-primary);border-radius:6px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:4px}.target-tables-selector .selected-tables-list .target-table-card .table-card-body .columns-preview .columns-list .column-tag .key-icon{font-size:.85rem}.target-tables-selector .selected-tables-list .target-table-card .table-card-body .columns-preview .columns-list .column-tag.more{background:var(--primary-light);color:var(--primary)}.target-tables-selector .type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.target-tables-selector .type-selector .type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:var(--surface);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.target-tables-selector .type-selector .type-option:hover{border-color:var(--primary-light)}.target-tables-selector .type-selector .type-option.active{background:var(--primary-light);border-color:var(--primary)}.target-tables-selector .type-selector .type-option.active .type-icon{transform:scale(1.2)}.target-tables-selector .type-selector .type-option .type-icon{font-size:2rem;transition:transform .2s ease}.target-tables-selector .type-selector .type-option .type-label{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center}.output-columns-selector{padding:16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.output-columns-selector .selector-header{margin-bottom:16px}.output-columns-selector .selector-header h4{margin:0 0 6px;font-size:1rem;color:var(--text-primary)}.output-columns-selector .selector-header .selector-subtitle{margin:0 0 8px;font-size:.85rem;color:var(--text-secondary)}.output-columns-selector .selector-header .selected-count{display:inline-block;padding:4px 12px;background:var(--success-light);color:var(--success);border-radius:12px;font-size:.75rem;font-weight:700}.output-columns-selector .columns-tree{display:flex;flex-direction:column;gap:12px}.output-columns-selector .columns-tree .table-group{background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden}.output-columns-selector .columns-tree .table-group .table-group-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-2);cursor:pointer;transition:all .2s ease}.output-columns-selector .columns-tree .table-group .table-group-header:hover{background:var(--surface-hover)}.output-columns-selector .columns-tree .table-group .table-group-header .expand-icon{font-size:.75rem;color:var(--text-muted);transition:transform .2s ease}.output-columns-selector .columns-tree .table-group .table-group-header .table-icon{font-size:1.25rem}.output-columns-selector .columns-tree .table-group .table-group-header .table-name{flex:1;font-weight:600;font-size:.9rem;color:var(--text-primary)}.output-columns-selector .columns-tree .table-group .table-group-header .selected-badge{padding:2px 8px;background:var(--success-light);color:var(--success);border-radius:12px;font-size:.75rem;font-weight:700}.output-columns-selector .columns-tree .table-group .table-group-content{display:flex;flex-direction:column;padding:8px}.output-columns-selector .columns-tree .table-group .table-group-content .column-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}.output-columns-selector .columns-tree .table-group .table-group-content .column-item:hover:not(.selected){background:var(--surface-hover)}.output-columns-selector .columns-tree .table-group .table-group-content .column-item.selected{background:var(--success-light);border:1px solid var(--success)}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--success);cursor:pointer}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-info{flex:1}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-info .column-name{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:2px}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-info .column-meta{display:flex;gap:6px;align-items:center}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-info .column-meta .column-type{padding:2px 6px;background:var(--surface-2);color:var(--text-secondary);border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-info .column-meta .column-key{font-size:.75rem}.output-columns-selector .columns-tree .table-group .table-group-content .column-item .column-info .column-meta .column-nullable{padding:2px 6px;background:var(--warning-light);color:var(--warning);border-radius:4px;font-size:.7rem;font-weight:700}.output-columns-selector .selected-columns-preview{margin-top:16px;padding:16px;background:var(--surface-2);border-radius:8px}.output-columns-selector .selected-columns-preview strong{display:block;margin-bottom:12px;font-size:.85rem;color:var(--text-secondary)}.output-columns-selector .selected-columns-preview .selected-tags{display:flex;flex-wrap:wrap;gap:8px}.output-columns-selector .selected-columns-preview .selected-tags .selected-tag{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--success-light);border:1px solid var(--success);color:var(--success);border-radius:6px;font-size:.85rem;font-weight:600}.output-columns-selector .selected-columns-preview .selected-tags .selected-tag .tag-text{flex:1}.output-columns-selector .selected-columns-preview .selected-tags .selected-tag .tag-remove{background:transparent;border:none;color:var(--success);cursor:pointer;font-size:1rem;padding:0}.output-columns-selector .selected-columns-preview .selected-tags .selected-tag .tag-remove:hover{color:var(--danger)}.output-columns-selector .info-panel{display:flex;gap:16px;padding:20px;background:var(--info-light);border-radius:8px;border-left:4px solid var(--info)}.output-columns-selector .info-panel .info-icon{font-size:2rem;flex-shrink:0}.output-columns-selector .info-panel .info-content{flex:1}.output-columns-selector .info-panel .info-content strong{display:block;margin-bottom:6px;color:var(--text-primary)}.output-columns-selector .info-panel .info-content p{margin:0;font-size:.85rem;color:var(--text-secondary)}.mapped-panel-content .mapping-card .mapping-output .output-columns-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.mapped-panel-content .mapping-card .mapping-output .output-columns-list .output-column-tag{padding:6px 12px;background:var(--primary-light);border:1px solid var(--primary);color:var(--primary);border-radius:6px;font-size:.8rem;font-weight:600;font-family:Courier New,monospace}.mapping-modal .modal-steps .modal-step{min-width:100px}@media (max-width: 1200px){.target-tables-selector .selected-tables-list .target-table-card .table-card-header{flex-direction:column;align-items:flex-start}}@media (max-width: 768px){.output-columns-selector .columns-tree .table-group .column-item{flex-direction:column;align-items:flex-start}}.mapped-panel-empty .empty-state .target-tables-info{margin:24px 0;padding:16px;background:var(--success-light);border-radius:8px;border:1px solid var(--success)}.mapped-panel-empty .empty-state .target-tables-info .info-text{margin:0 0 12px;font-size:.9rem;color:var(--success);font-weight:600;text-align:center}.mapped-panel-empty .empty-state .target-tables-info .target-tables-preview{display:flex;flex-direction:column;gap:8px}.mapped-panel-empty .empty-state .target-tables-info .target-tables-preview .target-preview-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--background);border-radius:6px}.mapped-panel-empty .empty-state .target-tables-info .target-tables-preview .target-preview-item .target-icon{font-size:1.1rem}.mapped-panel-empty .empty-state .target-tables-info .target-tables-preview .target-preview-item .target-name{font-size:.85rem;color:var(--text-primary);font-weight:600}.output-columns-selector .info-panel.info{background:var(--info-light);border-left-color:var(--info);margin-bottom:16px}.mapped-panel-content .mapping-card .mapping-source-row .system-badge{padding:4px 10px;background:var(--warning-light);color:var(--warning);border-radius:6px;font-size:.75rem;font-weight:700}.mapped-panel-content .mapping-card .mapping-output.system{background:var(--warning-light);border-left-color:var(--warning)}.mapped-panel-content .mapping-card .mapping-output.system .output-arrow,.mapped-panel-content .mapping-card .mapping-output.system .output-label.system{color:var(--warning)}.mapped-panel-content .mapping-card .mapping-output.system .system-hint{margin:8px 0 0;font-size:.8rem;color:var(--text-secondary);font-style:italic}.file-upload-modal{max-width:800px!important}.file-upload-modal .file-drop-zone{border:3px dashed var(--border);border-radius:12px;padding:64px;text-align:center;background:var(--surface);transition:all .3s ease;cursor:pointer;margin-bottom:24px}.file-upload-modal .file-drop-zone:hover,.file-upload-modal .file-drop-zone.drag-active{border-color:var(--primary);background:var(--primary-light);transform:scale(1.01)}.file-upload-modal .file-drop-zone .drop-zone-icon{font-size:4rem;margin-bottom:16px;animation:bounce 2s infinite}.file-upload-modal .file-drop-zone .drop-zone-text{font-size:1.25rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.file-upload-modal .file-drop-zone .drop-zone-subtext{color:var(--text-muted);margin-bottom:16px;font-size:.875rem}.file-upload-modal .file-drop-zone .drop-zone-formats{margin-top:16px;font-size:.75rem;color:var(--text-muted)}.file-upload-modal .selected-files h4{margin-bottom:16px;font-size:1rem;color:var(--text-primary)}.file-upload-modal .selected-files .files-list{max-height:300px;overflow-y:auto}.file-upload-modal .selected-files .files-list::-webkit-scrollbar{width:8px;height:8px}.file-upload-modal .selected-files .files-list::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.file-upload-modal .selected-files .files-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.file-upload-modal .selected-files .files-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.file-upload-modal .selected-files .files-list .file-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:8px;transition:all .2s ease}.file-upload-modal .selected-files .files-list .file-item:hover{background:var(--surface-hover);border-color:var(--primary)}.file-upload-modal .selected-files .files-list .file-item .file-info{display:flex;align-items:center;gap:16px;flex:1}.file-upload-modal .selected-files .files-list .file-item .file-info .file-icon{font-size:1.5rem}.file-upload-modal .selected-files .files-list .file-item .file-info .file-details .file-name{font-weight:500;font-size:.875rem;color:var(--text-primary);word-break:break-all}.file-upload-modal .selected-files .files-list .file-item .file-info .file-details .file-size{font-size:.75rem;color:var(--text-muted);margin-top:4px}.file-upload-modal .uploading-files h4{margin-bottom:16px;font-size:1rem;color:var(--text-primary)}.file-upload-modal .uploading-files .uploading-list{max-height:400px;overflow-y:auto}.file-upload-modal .uploading-files .uploading-list::-webkit-scrollbar{width:8px;height:8px}.file-upload-modal .uploading-files .uploading-list::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.file-upload-modal .uploading-files .uploading-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.file-upload-modal .uploading-files .uploading-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.file-upload-modal .uploading-files .uploading-list .uploading-item{padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:6px;margin-bottom:8px;transition:all .3s ease}.file-upload-modal .uploading-files .uploading-list .uploading-item.uploading{border-color:var(--info);background:var(--info-light)}.file-upload-modal .uploading-files .uploading-list .uploading-item.success{border-color:var(--success);background:var(--success-light)}.file-upload-modal .uploading-files .uploading-list .uploading-item.error{border-color:var(--danger);background:var(--danger-light)}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info{display:flex;align-items:flex-start;gap:16px;margin-bottom:8px}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info .file-icon{font-size:1.5rem;flex-shrink:0}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info .file-icon:has(+.file-details .upload-error){color:var(--danger)}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info .file-details{flex:1}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info .file-details .file-name{font-weight:500;font-size:.875rem;color:var(--text-primary);word-break:break-all}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info .file-details .file-size{font-size:.75rem;color:var(--text-muted);margin-top:4px}.file-upload-modal .uploading-files .uploading-list .uploading-item .uploading-info .file-details .upload-error{font-size:.75rem;color:var(--danger);margin-top:4px;font-weight:500}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-progress{display:flex;align-items:center;gap:8px}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-progress .progress-bar{flex:1;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-progress .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));transition:width .3s ease;border-radius:4px}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-progress .progress-text{font-size:.75rem;font-weight:600;color:var(--text-primary);min-width:40px;text-align:right}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-status{display:inline-block;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;margin-top:8px}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-status.success{background:var(--success);color:#fff}.file-upload-modal .uploading-files .uploading-list .uploading-item .upload-status.error{background:var(--danger);color:#fff}.file-upload-modal .uploading-files .upload-summary{display:flex;gap:16px;margin-top:16px;padding:16px;background:var(--surface);border-radius:6px}.file-upload-modal .uploading-files .upload-summary .summary-stat{display:flex;align-items:center;gap:4px;font-size:.875rem;font-weight:600}.file-upload-modal .uploading-files .upload-summary .summary-stat.success{color:var(--success)}.file-upload-modal .uploading-files .upload-summary .summary-stat.error{color:var(--danger)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.file-config-modal{max-width:95vw!important;max-height:95vh}.file-config-modal .file-config-body{padding:24px;overflow-y:auto;max-height:calc(95vh - 200px)}.file-config-modal .file-config-body::-webkit-scrollbar{width:8px;height:8px}.file-config-modal .file-config-body::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.file-config-modal .file-config-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.file-config-modal .file-config-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.file-config-modal .config-instructions{display:flex;gap:24px;padding:16px;background:var(--info-light);border:1px solid var(--info);border-radius:6px;margin-bottom:24px;flex-wrap:wrap}@media (max-width: 768px){.file-config-modal .config-instructions{flex-direction:column;gap:8px}}.file-config-modal .config-instructions .instruction-item{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--text-primary)}.file-config-modal .config-instructions .instruction-item .instruction-icon{font-size:1rem}.file-config-modal .config-instructions .instruction-item .instruction-icon.green{color:var(--success)}.file-config-modal .config-instructions .instruction-item .instruction-icon.red{color:var(--danger)}.file-config-modal .config-table-container{overflow:auto;margin-bottom:32px;border:1px solid var(--border);border-radius:12px;max-height:400px}.file-config-modal .config-table-container::-webkit-scrollbar{width:8px;height:8px}.file-config-modal .config-table-container::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.file-config-modal .config-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.file-config-modal .config-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.file-config-modal .config-table-container .config-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.file-config-modal .config-table-container .config-table thead{position:sticky;top:0;z-index:10;background:var(--surface)}.file-config-modal .config-table-container .config-table thead th{padding:16px;text-align:center;font-weight:600;font-size:.75rem;background:var(--surface-2);border-bottom:2px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.file-config-modal .config-table-container .config-table thead th.row-number-header{width:60px;position:sticky;left:0;z-index:11}.file-config-modal .config-table-container .config-table thead th.column-header.skipped{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.file-config-modal .config-table-container .config-table thead th.column-header.included{background:var(--success-light);color:var(--success);border-color:var(--success)}.file-config-modal .config-table-container .config-table thead th.column-header:hover{opacity:.8}.file-config-modal .config-table-container .config-table thead th.column-header .column-letter{font-size:1rem;font-weight:700;margin-bottom:4px}.file-config-modal .config-table-container .config-table thead th.column-header .column-name{font-size:.75rem;font-weight:400}.file-config-modal .config-table-container .config-table tbody tr.row-skipped{background:var(--danger-light)}.file-config-modal .config-table-container .config-table tbody tr.row-skipped td{color:var(--text-muted);text-decoration:line-through}.file-config-modal .config-table-container .config-table tbody tr.row-included:hover{background:var(--surface-hover)}.file-config-modal .config-table-container .config-table tbody tr td{padding:8px 16px;border-bottom:1px solid var(--border)}.file-config-modal .config-table-container .config-table tbody tr td.row-number{text-align:center;font-weight:600;position:sticky;left:0;z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;background:var(--background)}.file-config-modal .config-table-container .config-table tbody tr td.row-number.skipped{background:var(--danger);color:#fff}.file-config-modal .config-table-container .config-table tbody tr td.row-number.included{background:var(--success-light);color:var(--success)}.file-config-modal .config-table-container .config-table tbody tr td.row-number:hover{opacity:.8}.file-config-modal .config-table-container .config-table tbody tr td.column-skipped{background:var(--danger-light);color:var(--text-muted);text-decoration:line-through}.file-config-modal .column-names-config{margin-bottom:32px;padding:24px;background:var(--surface);border-radius:12px}.file-config-modal .column-names-config h4{margin-bottom:8px}.file-config-modal .column-names-config .config-hint{font-size:.875rem;color:var(--text-muted);margin-bottom:24px}.file-config-modal .column-names-config .column-names-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}@media (max-width: 576px){.file-config-modal .column-names-config .column-names-grid{grid-template-columns:1fr}}.file-config-modal .column-names-config .column-names-grid .column-name-item .column-name-label{display:flex;align-items:center;gap:4px;margin-bottom:4px;font-size:.875rem;font-weight:500;color:var(--text-primary)}.file-config-modal .column-names-config .column-names-grid .column-name-item .column-name-label .column-letter-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary);color:#fff;border-radius:6px;font-weight:700;font-size:.75rem}.file-config-modal .advanced-settings{margin-bottom:32px;padding:24px;background:var(--surface);border-radius:12px}.file-config-modal .advanced-settings h4{margin-bottom:16px}.file-config-modal .advanced-settings .settings-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 576px){.file-config-modal .advanced-settings .settings-row{grid-template-columns:1fr}}.file-config-modal .config-summary{padding:24px;background:var(--info-light);border:1px solid var(--info);border-radius:12px}.file-config-modal .config-summary .summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.875rem}.file-config-modal .config-summary .summary-item:last-child{border-bottom:none}.file-config-modal .config-summary .summary-item .summary-label{font-weight:600;color:var(--text-primary)}.file-config-modal .config-summary .summary-item .summary-value{color:var(--text-secondary);font-family:Monaco,Courier New,monospace}.file-view-modal .skipped-info{display:flex;gap:24px;padding:16px;background:var(--warning-light);border:1px solid var(--warning);border-radius:6px;margin-bottom:16px}@media (max-width: 576px){.file-view-modal .skipped-info{flex-direction:column;gap:8px}}.file-view-modal .skipped-info .skipped-item{display:flex;gap:4px;font-size:.875rem}.file-view-modal .skipped-info .skipped-item .skipped-label{font-weight:600;color:var(--text-primary)}.file-view-modal .skipped-info .skipped-item .skipped-value{color:var(--text-secondary);font-family:Monaco,Courier New,monospace}.file-import-tab .uploaded-files-table tbody tr.removing{background:var(--danger-light);animation:pulse .5s ease-in-out}.file-import-tab .uploaded-files-table .file-actions{display:flex;gap:4px;justify-content:flex-end}.file-import-tab .uploaded-files-table .file-actions .btn-warning{background:var(--warning);color:#fff}.file-import-tab .uploaded-files-table .file-actions .btn-warning:hover{background:var(--warning-hover)}.file-import-tab .uploaded-files-table .remove-confirmation{display:flex;gap:4px;justify-content:flex-end;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.modal-xl{max-width:95vw!important;width:95vw!important}.file-test-modal{max-width:900px!important}.file-test-modal .file-test-body{padding:24px;max-height:calc(90vh - 200px);overflow-y:auto}.file-test-modal .file-test-body::-webkit-scrollbar{width:8px;height:8px}.file-test-modal .file-test-body::-webkit-scrollbar-track{background:var(--surface);border-radius:6px}.file-test-modal .file-test-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.file-test-modal .file-test-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.file-test-modal .test-info{background:var(--info-light);border:1px solid var(--info);border-radius:6px;padding:16px;margin-bottom:24px}.file-test-modal .test-info strong{display:block;margin-bottom:4px;color:var(--info)}.file-test-modal .test-info p{margin:0;font-size:.875rem;color:var(--text-secondary)}.file-test-modal .test-results .test-result-block{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px;transition:all .2s ease}.file-test-modal .test-results .test-result-block:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.file-test-modal .test-results .test-result-block .result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.file-test-modal .test-results .test-result-block .result-header .result-index{font-weight:700;font-size:1rem;color:var(--primary)}.file-test-modal .test-results .test-result-block .result-header .result-count{font-size:.75rem;color:var(--text-muted);background:var(--background);padding:4px 8px;border-radius:6px}.file-test-modal .test-results .test-result-block .result-variables{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}@media (max-width: 576px){.file-test-modal .test-results .test-result-block .result-variables{grid-template-columns:1fr}}.file-test-modal .test-results .test-result-block .result-variables .variable-item{display:flex;gap:4px;padding:4px;background:var(--background);border-radius:4px;font-size:.875rem}.file-test-modal .test-results .test-result-block .result-variables .variable-item .variable-key{font-weight:600;color:var(--text-primary);font-family:Monaco,Courier New,monospace}.file-test-modal .test-results .test-result-block .result-variables .variable-item .variable-value{color:var(--text-secondary);word-break:break-all}.file-test-modal .test-results .no-results{text-align:center;padding:32px;color:var(--text-muted)}@media (max-width: 1024px){.file-config-modal .config-table-container{font-size:.75rem}.file-config-modal .column-names-grid{grid-template-columns:1fr}}@media (max-width: 768px){.file-upload-modal,.file-config-modal,.file-view-modal{max-width:100vw!important;width:100vw!important;margin:0;border-radius:0}.file-upload-modal .modal-content,.file-config-modal .modal-content,.file-view-modal .modal-content{border-radius:0}}.file-operation-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;background:var(--surface);border-radius:6px}.file-operation-loading .spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.file-operation-loading .loading-text{color:var(--text-muted);font-size:.875rem}.ai-config-step{padding:24px;max-width:1400px;margin:0 auto}.ai-config-step .config-section{background:var(--surface);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 4px #0000000d}.ai-config-step .section-title{font-size:20px;font-weight:600;margin-bottom:20px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.ai-config-step .model-info-panel{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:24px;color:#fff;margin-top:16px}.ai-config-step .model-info-panel .model-info-header{margin-bottom:16px}.ai-config-step .model-info-panel .model-name-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ai-config-step .model-info-panel .model-name-section h4{font-size:24px;font-weight:700;margin:0;color:#fff}.ai-config-step .model-info-panel .model-category-badge,.ai-config-step .model-info-panel .model-provider-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;color:#fff}.ai-config-step .model-info-panel .model-provider-badge{background:#fff3}.ai-config-step .model-info-panel .model-description{margin-bottom:20px;font-size:15px;line-height:1.6;opacity:.95}.ai-config-step .model-info-panel .model-specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.ai-config-step .model-info-panel .model-spec-card{background:#ffffff26;border-radius:8px;padding:16px;display:flex;gap:12px}.ai-config-step .model-info-panel .model-spec-card .spec-icon{font-size:28px}.ai-config-step .model-info-panel .model-spec-card .spec-content{flex:1}.ai-config-step .model-info-panel .model-spec-card .spec-content .spec-label{font-size:12px;opacity:.8;margin-bottom:4px}.ai-config-step .model-info-panel .model-spec-card .spec-content .spec-value{font-size:18px;font-weight:700;margin-bottom:2px}.ai-config-step .model-info-panel .model-spec-card .spec-content .spec-hint{font-size:11px;opacity:.7}.ai-config-step .model-info-panel .model-spec-card .spec-content .spec-features{display:flex;flex-wrap:wrap;gap:6px}.ai-config-step .model-info-panel .model-spec-card .spec-content .spec-features .feature-tag{background:#fff3;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.ai-config-step .model-info-panel .model-best-for,.ai-config-step .model-info-panel .model-supported-params{background:#ffffff1a;border-radius:8px;padding:16px;margin-bottom:16px}.ai-config-step .model-info-panel .model-best-for strong,.ai-config-step .model-info-panel .model-supported-params strong{display:block;margin-bottom:8px;font-size:14px}.ai-config-step .model-info-panel .model-best-for ul{margin:0;padding-left:20px;font-size:13px;line-height:1.8}.ai-config-step .model-info-panel .params-tags{display:flex;flex-wrap:wrap;gap:8px}.ai-config-step .model-info-panel .params-tags .param-tag{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500}.ai-config-step .model-info-panel .params-tags .param-tag.supported{background:#10b9814d;border:1px solid rgba(16,185,129,.5)}.ai-config-step .ai-parameters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.ai-config-step .parameter-card{background:var(--background);border-radius:8px;padding:20px;border:1px solid var(--border)}.ai-config-step .parameter-card .parameter-label{display:block;font-weight:600;margin-bottom:12px;color:var(--text-primary);font-size:14px}.ai-config-step .parameter-card .parameter-label .parameter-value{color:var(--primary);font-weight:700}.ai-config-step .parameter-card .form-range{width:100%;height:6px;border-radius:3px;background:var(--border);outline:none;margin-bottom:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.ai-config-step .parameter-card .form-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.ai-config-step .parameter-card .form-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.ai-config-step .parameter-card .range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-bottom:8px}.ai-config-step .parameter-card .parameter-hint{font-size:12px;color:var(--text-muted);margin:0;line-height:1.5}.ai-config-step .ai-settings-panel{background:var(--surface-2);border-radius:12px;padding:24px;margin-top:20px;border:2px solid var(--border)}.ai-config-step .ai-settings-panel .settings-title{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px;display:flex;align-items:center;gap:8px}.ai-config-step .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.ai-config-step .form-group{display:flex;flex-direction:column}.ai-config-step .form-group .form-label{font-weight:500;margin-bottom:8px;color:var(--text-primary);font-size:14px}.ai-config-step .form-group .form-select,.ai-config-step .form-group .form-input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s;background:var(--background);color:var(--text-primary)}.ai-config-step .form-group .form-select:focus,.ai-config-step .form-group .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.ai-config-step .form-group .form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.ai-config-step .info-panel{background:var(--info-light);border:1px solid var(--info);border-radius:8px;padding:16px;display:flex;gap:12px;margin-bottom:20px}.ai-config-step .info-panel .info-icon{font-size:20px;flex-shrink:0}.ai-config-step .info-panel .info-content{flex:1}.ai-config-step .info-panel .info-content p{margin:0;font-size:14px;line-height:1.6;color:var(--text-primary)}.ai-config-step .info-panel .info-content strong{color:var(--text-primary)}.ai-config-step .step-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;background:var(--surface);border-radius:12px;border:2px solid var(--border);margin-bottom:24px}@media (max-width: 1024px){.ai-config-step .step-header{flex-direction:column}}.ai-config-step .step-header .step-header-content{flex:1}.ai-config-step .step-header .step-header-content h2{margin:0 0 8px;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.ai-config-step .step-header .step-header-content .step-subtitle{margin:0;font-size:.95rem;color:var(--text-secondary)}.ai-config-step .step-header .step-header-actions{display:flex;gap:12px;flex-shrink:0}@media (max-width: 768px){.ai-config-step .step-header .step-header-actions{width:100%;flex-direction:column}}.ai-config-step .alert{padding:16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.ai-config-step .alert.alert-danger{background:var(--danger-light);border-left:4px solid var(--danger);color:var(--danger)}.ai-config-step .alert.alert-success{background:var(--success-light);border-left:4px solid var(--success);color:var(--success);font-weight:600}.ai-config-step .alert strong{font-weight:700}@media (max-width: 768px){.ai-config-step .model-specs-grid,.ai-config-step .ai-parameters-grid,.ai-config-step .form-grid{grid-template-columns:1fr!important}}.execution-monitor{padding:24px;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.execution-monitor .error-alert{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--danger-light);border-left:4px solid var(--danger);border-radius:8px;margin-bottom:1rem;animation:slideIn .3s ease}.execution-monitor .error-alert .error-content{display:flex;align-items:center;gap:.75rem}.execution-monitor .error-alert .error-content .error-icon{font-size:1.25rem}.execution-monitor .error-alert .error-content .error-message{color:var(--danger);font-weight:500;font-size:.95rem}.execution-monitor .error-alert .error-dismiss{background:none;border:none;font-size:1.25rem;color:var(--danger);cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.execution-monitor .error-alert .error-dismiss:hover{background:#dc26261a}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.execution-monitor .monitor-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}@media (max-width: 1024px){.execution-monitor .monitor-header{flex-direction:column;align-items:stretch}}.execution-monitor .monitor-header .header-left{flex:1}.execution-monitor .monitor-header .header-left h2{margin:0 0 12px;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.execution-monitor .monitor-header .header-left .status-indicator{padding:8px 16px;border-radius:8px;font-size:.95rem;font-weight:600;display:inline-block}.execution-monitor .monitor-header .header-left .status-indicator.idle{background:var(--surface-2);color:var(--text-muted)}.execution-monitor .monitor-header .header-left .status-indicator.running{background:var(--primary-light);color:var(--primary);animation:pulse 2s infinite}.execution-monitor .monitor-header .header-left .status-indicator.paused{background:var(--warning-light);color:var(--warning)}.execution-monitor .monitor-header .header-left .status-indicator.completed{background:var(--success-light);color:var(--success)}.execution-monitor .monitor-header .header-left .status-indicator.failed{background:var(--danger-light);color:var(--danger)}.execution-monitor .monitor-header .header-actions{display:flex;gap:12px}.execution-monitor .overall-progress{background:var(--surface);border-radius:12px;padding:24px;border:1px solid var(--border)}.execution-monitor .overall-progress .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.execution-monitor .overall-progress .progress-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.execution-monitor .overall-progress .progress-header .progress-percentage{font-size:1.75rem;font-weight:700;color:var(--primary)}.execution-monitor .overall-progress .progress-bar-large{height:32px;background:var(--surface-2);border-radius:16px;overflow:hidden;margin-bottom:20px;border:1px solid var(--border)}.execution-monitor .overall-progress .progress-bar-large .progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--info));border-radius:16px;transition:width .5s ease}.execution-monitor .overall-progress .progress-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.execution-monitor .overall-progress .progress-stats .stat{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--background);border-radius:8px}.execution-monitor .overall-progress .progress-stats .stat .stat-label{font-size:.8rem;color:var(--text-muted)}.execution-monitor .overall-progress .progress-stats .stat .stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.execution-monitor .overall-progress .progress-stats .stat .stat-value.cost{color:var(--success)}.execution-monitor .overall-progress .progress-stats .stat .stat-value.error{color:var(--danger)}.execution-monitor .monitor-main{display:grid;grid-template-columns:500px 1fr;gap:24px}@media (max-width: 1200px){.execution-monitor .monitor-main{grid-template-columns:1fr}}.execution-monitor .current-iteration-panel{background:var(--surface);border-radius:12px;padding:24px;border:1px solid var(--border);display:flex;flex-direction:column;gap:20px}.execution-monitor .current-iteration-panel h3{margin:0;font-size:1.1rem;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border)}.execution-monitor .current-iteration-panel h4{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.execution-monitor .current-iteration-panel .idle-state{padding:60px 20px;text-align:center}.execution-monitor .current-iteration-panel .idle-state .idle-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.execution-monitor .current-iteration-panel .idle-state p{margin:8px 0;color:var(--text-primary)}.execution-monitor .current-iteration-panel .idle-state .idle-hint{font-size:.85rem;color:var(--text-muted)}.execution-monitor .current-iteration-panel .iteration-header{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.execution-monitor .current-iteration-panel .iteration-header>div{padding:12px;background:var(--background);border-radius:8px}.execution-monitor .current-iteration-panel .iteration-header>div .label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.execution-monitor .current-iteration-panel .iteration-header>div .value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.execution-monitor .current-iteration-panel .iteration-progress .progress-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem;color:var(--text-secondary);font-weight:600}.execution-monitor .current-iteration-panel .iteration-progress .progress-bar{height:20px;background:var(--surface-2);border-radius:10px;overflow:hidden;border:1px solid var(--border)}.execution-monitor .current-iteration-panel .iteration-progress .progress-bar .progress-fill{height:100%;background:var(--primary);border-radius:10px;transition:width .3s ease}.execution-monitor .current-iteration-panel .variables-list .variable-row{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;padding:12px;background:var(--background);border-radius:8px;margin-bottom:8px}.execution-monitor .current-iteration-panel .variables-list .variable-row.completed{border-left:3px solid var(--success)}.execution-monitor .current-iteration-panel .variables-list .variable-row.processing{border-left:3px solid var(--primary);background:var(--primary-light)}.execution-monitor .current-iteration-panel .variables-list .variable-row.pending{opacity:.6}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-name{font-size:.85rem;font-weight:600;font-family:Courier New,monospace;color:var(--text-primary)}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-value{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-value .value-text{color:var(--text-primary)}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-value .status-badge{padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-value .status-badge.processing{background:var(--primary);color:#fff}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-value .status-badge.pending{background:var(--surface-2);color:var(--text-muted)}.execution-monitor .current-iteration-panel .variables-list .variable-row .variable-status{font-size:1.1rem}.execution-monitor .current-iteration-panel .token-usage{padding:16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.execution-monitor .current-iteration-panel .token-usage .token-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.execution-monitor .current-iteration-panel .token-usage .token-stats .token-stat{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--surface);border-radius:6px}.execution-monitor .current-iteration-panel .token-usage .token-stats .token-stat.cost{background:var(--success-light)}.execution-monitor .current-iteration-panel .token-usage .token-stats .token-stat.cost .value{color:var(--success)}.execution-monitor .current-iteration-panel .token-usage .token-stats .token-stat .label{font-size:.75rem;color:var(--text-muted)}.execution-monitor .current-iteration-panel .token-usage .token-stats .token-stat .value{font-size:1rem;font-weight:700;color:var(--text-primary)}.execution-monitor .logs-cache-panel{background:var(--surface);border-radius:12px;border:1px solid var(--border);display:flex;flex-direction:column;max-height:700px}.execution-monitor .logs-cache-panel .panel-tabs{display:flex;border-bottom:1px solid var(--border)}.execution-monitor .logs-cache-panel .panel-tabs .panel-tab{flex:1;padding:16px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.execution-monitor .logs-cache-panel .panel-tabs .panel-tab:hover{background:var(--surface-2);color:var(--text-primary)}.execution-monitor .logs-cache-panel .panel-tabs .panel-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--background)}.execution-monitor .logs-cache-panel .logs-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.execution-monitor .logs-cache-panel .logs-container .logs-toolbar{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.execution-monitor .logs-cache-panel .logs-container .logs-toolbar .auto-scroll-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.execution-monitor .logs-cache-panel .logs-container .logs-toolbar .auto-scroll-toggle input{accent-color:var(--primary)}.execution-monitor .logs-cache-panel .logs-container .logs-list{flex:1;overflow-y:auto;padding:16px;font-family:Courier New,monospace;font-size:.85rem}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry{display:flex;align-items:center;gap:12px;padding:8px;border-radius:4px;margin-bottom:4px;border-left:3px solid transparent}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry:hover{background:var(--surface-2)}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry .log-time{color:var(--text-muted);min-width:80px;font-size:.75rem}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry .log-icon{flex-shrink:0}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry .log-message{flex:1;color:var(--text-primary)}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry .log-duration{font-size:.75rem;color:var(--text-muted)}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry.info{border-left-color:var(--info)}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry.success{border-left-color:var(--success)}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry.warning{border-left-color:var(--warning)}.execution-monitor .logs-cache-panel .logs-container .logs-list .log-entry.error{border-left-color:var(--danger);background:var(--danger-light)}.execution-monitor .logs-cache-panel .cache-container{padding:20px;overflow-y:auto}.execution-monitor .logs-cache-panel .cache-container .cache-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.execution-monitor .logs-cache-panel .cache-container .cache-stats-grid .cache-stat{display:flex;gap:12px;align-items:center;padding:16px;background:var(--background);border-radius:8px}.execution-monitor .logs-cache-panel .cache-container .cache-stats-grid .cache-stat .stat-icon{font-size:1.5rem}.execution-monitor .logs-cache-panel .cache-container .cache-stats-grid .cache-stat .stat-content{display:flex;flex-direction:column;gap:4px}.execution-monitor .logs-cache-panel .cache-container .cache-stats-grid .cache-stat .stat-content .stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.execution-monitor .logs-cache-panel .cache-container .cache-stats-grid .cache-stat .stat-content .stat-label{font-size:.75rem;color:var(--text-muted)}.execution-monitor .logs-cache-panel .cache-container .cache-memory-bar{padding:16px;background:var(--background);border-radius:8px;margin-bottom:20px}.execution-monitor .logs-cache-panel .cache-container .cache-memory-bar .memory-bar-header{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.execution-monitor .logs-cache-panel .cache-container .cache-memory-bar .memory-bar{height:20px;background:var(--surface-2);border-radius:10px;overflow:hidden}.execution-monitor .logs-cache-panel .cache-container .cache-memory-bar .memory-bar .memory-bar-fill{height:100%;background:var(--primary);border-radius:10px;transition:width .3s ease}.execution-monitor .logs-cache-panel .cache-container .cache-entries h4{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary)}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list{display:flex;flex-direction:column;gap:8px}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry{padding:12px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-header{display:flex;gap:10px;align-items:center;margin-bottom:8px}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-header .entry-type{padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:700}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-header .entry-type.config{background:var(--primary-light);color:var(--primary)}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-header .entry-type.query{background:var(--info-light);color:var(--info)}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-header .entry-type.data{background:var(--success-light);color:var(--success)}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-header .entry-key{font-size:.8rem;font-family:Courier New,monospace;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-monitor .logs-cache-panel .cache-container .cache-entries .entries-list .cache-entry .entry-footer{display:flex;gap:12px;font-size:.75rem;color:var(--text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.execution-monitor{padding:16px}.execution-monitor .monitor-main{grid-template-columns:1fr}.execution-monitor .cache-stats-grid{grid-template-columns:repeat(2,1fr)!important}}.bulk-actions-portal-container{position:fixed;top:0;left:0;right:0;z-index:999;pointer-events:none}.bulk-actions-bar-wrapper{position:sticky;top:0;width:100%;pointer-events:auto;padding:12px 0;background:linear-gradient(to bottom,rgba(var(--background-rgb),.98),rgba(var(--background-rgb),.95) 80%,rgba(var(--background-rgb),0));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:slideDownFade .3s ease-out}.bulk-actions-bar-container{max-width:1800px;margin:0 auto;padding:0 24px}.bulk-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;background:linear-gradient(135deg,var(--primary-light) 0%,rgba(var(--primary-rgb),.08) 100%);border-radius:16px;border:2px solid var(--primary);box-shadow:0 8px 32px #0000001f,0 2px 8px rgba(var(--primary-rgb),.2);animation:scaleIn .3s ease-out}@media (max-width: 768px){.bulk-actions-bar{flex-direction:column;align-items:stretch;padding:14px 20px}}.bulk-actions-bar .bulk-info{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bulk-actions-bar .bulk-info .bulk-icon{font-size:1.6rem;animation:bounce 1s infinite}.bulk-actions-bar .bulk-info .bulk-count{font-weight:700;font-size:1.05rem;color:var(--primary);padding:4px 12px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.bulk-actions-bar .bulk-info .btn-clear{padding:8px 16px;background:#fff;border:1px solid var(--primary);border-radius:8px;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.bulk-actions-bar .bulk-info .btn-clear:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.bulk-actions-bar .bulk-info .btn-clear:active{transform:translateY(0)}.bulk-actions-bar .bulk-actions{display:flex;gap:12px;flex-wrap:wrap}@media (max-width: 768px){.bulk-actions-bar .bulk-actions{width:100%}.bulk-actions-bar .bulk-actions .btn{flex:1;min-width:140px}}.bulk-actions-bar .bulk-actions .btn{box-shadow:0 2px 8px #00000026;font-weight:600;transition:all .2s}.bulk-actions-bar .bulk-actions .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.bulk-actions-bar .bulk-actions .btn:active{transform:translateY(0)}body.has-bulk-actions .review-step{padding-top:100px}@media (max-width: 768px){body.has-bulk-actions .review-step{padding-top:140px}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.review-step{padding:24px;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;gap:24px;position:relative}.review-step .review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 32px;background:var(--surface);border-radius:16px;border:1px solid var(--border);box-shadow:0 2px 8px #0000000a}@media (max-width: 1024px){.review-step .review-header{flex-direction:column;align-items:stretch}}.review-step .review-header .review-header-left{flex:1}.review-step .review-header .review-header-left h2{margin:0 0 8px;font-size:1.85rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px}.review-step .review-header .review-header-left .review-subtitle{margin:0;font-size:.95rem;color:var(--text-secondary);line-height:1.6}.review-step .review-header .review-header-actions{display:flex;gap:12px;align-items:center}@media (max-width: 768px){.review-step .review-header .review-header-actions{flex-direction:column;width:100%}}.review-step .review-stats{background:var(--surface);border-radius:16px;padding:28px;border:1px solid var(--border);box-shadow:0 2px 8px #0000000a}.review-step .review-stats .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.review-step .review-stats .stats-grid .stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--background);border-radius:12px;border:2px solid var(--border);transition:all .2s ease;position:relative;overflow:hidden}.review-step .review-stats .stats-grid .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--border);transition:all .2s ease}.review-step .review-stats .stats-grid .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.review-step .review-stats .stats-grid .stat-card.total:before{background:var(--primary)}.review-step .review-stats .stats-grid .stat-card.pending:before{background:var(--warning)}.review-step .review-stats .stats-grid .stat-card.approved:before{background:var(--success)}.review-step .review-stats .stats-grid .stat-card.rejected:before{background:var(--danger)}.review-step .review-stats .stats-grid .stat-card.edited:before{background:var(--info)}.review-step .review-stats .stats-grid .stat-card.cost:before{background:linear-gradient(90deg,var(--success),var(--info))}.review-step .review-stats .stats-grid .stat-card.quality:before{background:linear-gradient(90deg,var(--primary),var(--info))}.review-step .review-stats .stats-grid .stat-card .stat-icon{font-size:2rem;flex-shrink:0;opacity:.9}.review-step .review-stats .stats-grid .stat-card .stat-content{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-value{font-size:1.85rem;font-weight:700;color:var(--text-primary);line-height:1}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-meta{font-size:.75rem;color:var(--text-secondary);font-weight:500}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-progress{margin-top:6px}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-progress .progress-bar{height:5px;background:var(--surface-2);border-radius:3px;overflow:hidden}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-progress .progress-bar .progress-fill{height:100%;background:var(--warning);border-radius:3px;transition:width .3s ease}.review-step .review-stats .stats-grid .stat-card .stat-content .stat-progress .progress-bar .progress-fill.quality{background:linear-gradient(90deg,var(--primary),var(--info))}.review-step .review-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;background:var(--surface);border-radius:12px;border:1px solid var(--border);flex-wrap:wrap}.review-step .review-toolbar .toolbar-section{display:flex;gap:16px;align-items:center;flex:1;min-width:0;flex-wrap:wrap}.review-step .review-toolbar .toolbar-section .toolbar-filters{display:flex;gap:10px;flex-wrap:wrap}.review-step .review-toolbar .toolbar-section .toolbar-filters .form-select{min-width:160px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.review-step .review-toolbar .toolbar-section .toolbar-filters .form-select:hover{border-color:var(--primary)}.review-step .review-toolbar .toolbar-section .toolbar-filters .form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.review-step .review-toolbar .toolbar-section .toolbar-filters .btn-sort-order{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--background);border:1px solid var(--border);border-radius:8px;font-size:1.2rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.review-step .review-toolbar .toolbar-section .toolbar-filters .btn-sort-order:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.review-step .review-toolbar .toolbar-section .toolbar-search{flex:1;min-width:250px}.review-step .review-toolbar .toolbar-section .toolbar-search .search-input{width:100%;padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:.9rem;transition:all .2s}.review-step .review-toolbar .toolbar-section .toolbar-search .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.review-step .review-toolbar .toolbar-section .toolbar-search .search-input::placeholder{color:var(--text-muted)}.review-step .review-toolbar .toolbar-actions{display:flex;gap:12px;align-items:center}.review-step .review-toolbar .toolbar-actions .btn-toggle-sidebar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--background);border:1px solid var(--border);border-radius:8px;font-size:1rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.review-step .review-toolbar .toolbar-actions .btn-toggle-sidebar:hover{border-color:var(--primary);background:var(--primary-light)}.review-step .review-toolbar .toolbar-actions .results-count{font-size:.85rem;color:var(--text-secondary);padding:10px 16px;background:var(--background);border-radius:8px;border:1px solid var(--border);font-weight:500;white-space:nowrap}.review-step .review-toolbar .toolbar-actions .results-count strong{color:var(--primary);font-weight:700}.review-step .bulk-actions-bar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;background:linear-gradient(135deg,var(--primary-light) 0%,rgba(var(--primary-rgb),.08) 100%);border-radius:12px;border:2px solid var(--primary);box-shadow:0 4px 12px #0000001a;animation:slideDown .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 768px){.review-step .bulk-actions-bar{flex-direction:column;align-items:stretch}}.review-step .bulk-actions-bar .bulk-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-step .bulk-actions-bar .bulk-info .bulk-icon{font-size:1.5rem}.review-step .bulk-actions-bar .bulk-info .bulk-count{font-weight:700;font-size:1rem;color:var(--primary)}.review-step .bulk-actions-bar .bulk-info .btn-clear{padding:6px 12px;background:transparent;border:1px solid var(--primary);border-radius:6px;color:var(--primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.review-step .bulk-actions-bar .bulk-info .btn-clear:hover{background:var(--primary);color:#fff}.review-step .bulk-actions-bar .bulk-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 768px){.review-step .bulk-actions-bar .bulk-actions{width:100%}.review-step .bulk-actions-bar .bulk-actions .btn{flex:1}}.review-step .review-main{display:grid;grid-template-columns:1fr;gap:24px}.review-step .review-main.with-sidebar{grid-template-columns:1fr 340px}@media (max-width: 1400px){.review-step .review-main.with-sidebar{grid-template-columns:1fr}}.review-step .review-items-container{display:flex;flex-direction:column;gap:16px}.review-step .review-items-container .select-all-row{padding:14px 20px;background:var(--surface);border-radius:10px;border:1px solid var(--border)}.review-step .review-items-container .select-all-row .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--text-primary);font-size:.95rem}.review-step .review-items-container .select-all-row .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.review-step .review-item{background:var(--surface);border-radius:16px;padding:24px;border:2px solid var(--border);transition:all .2s ease;position:relative}.review-step .review-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:var(--border);transition:all .2s ease}.review-step .review-item:hover{border-color:var(--primary-light);box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.review-step .review-item.selected{background:var(--primary-light);border-color:var(--primary)}.review-step .review-item.selected:before{background:var(--primary);width:6px}.review-step .review-item.approved:before{background:var(--success)}.review-step .review-item.rejected:before{background:var(--danger)}.review-step .review-item.edited:before{background:var(--info)}.review-step .review-item.pending:before{background:var(--warning)}.review-step .review-item .review-item-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.review-step .review-item .review-item-header .header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.review-step .review-item .review-item-header .header-left .item-checkbox{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.review-step .review-item .review-item-header .header-left .item-id-badge{padding:8px 16px;background:var(--primary);color:#fff;border-radius:8px;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.review-step .review-item .review-item-header .header-left .item-info{flex:1;min-width:0}.review-step .review-item .review-item-header .header-left .item-info .item-title{margin:0 0 6px;font-size:1.1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-step .review-item .review-item-header .header-left .item-info .item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}.review-step .review-item .review-item-header .header-left .item-info .item-meta .meta-item{display:flex;align-items:center;gap:4px}.review-step .review-item .review-item-header .header-left .item-info .item-meta .meta-item .meta-icon{font-size:.9rem}.review-step .review-item .review-item-header .header-left .item-info .item-meta .meta-divider{opacity:.5}.review-step .review-item .review-item-header .header-right{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.review-step .review-item .review-item-body{display:grid;grid-template-columns:.8fr auto 1.2fr;gap:24px;margin-bottom:20px}@media (max-width: 1200px){.review-step .review-item .review-item-body{grid-template-columns:1fr}}.review-step .review-item .review-item-body .content-section{padding:20px;background:var(--background);border-radius:12px;border:1px solid var(--border)}.review-step .review-item .review-item-body .content-section.original{border-left:3px solid var(--info)}.review-step .review-item .review-item-body .content-section.generated{border-left:3px solid var(--primary)}.review-step .review-item .review-item-body .content-section .section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.review-step .review-item .review-item-body .content-section .section-header .section-icon{font-size:1.2rem}.review-step .review-item .review-item-body .content-section .section-header .section-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.review-step .review-item .review-item-body .content-section .section-header .ai-model-badge{margin-left:auto;padding:4px 10px;background:var(--primary-light);color:var(--primary);border-radius:6px;font-size:.75rem;font-weight:700}.review-step .review-item .review-item-body .content-section .content-fields{display:flex;flex-direction:column;gap:10px}.review-step .review-item .review-item-body .content-section .content-fields .field-row{font-size:.9rem;line-height:1.6}.review-step .review-item .review-item-body .content-section .content-fields .field-row .field-label{font-weight:600;color:var(--text-secondary);margin-right:6px}.review-step .review-item .review-item-body .content-section .content-fields .field-row .field-value{color:var(--text-primary)}.review-step .review-item .review-item-body .content-section .generated-content{display:flex;flex-direction:column;gap:16px}.review-step .review-item .review-item-body .content-section .generated-content .generated-field.compact .field-content{font-size:.85rem;line-height:1.5}.review-step .review-item .review-item-body .content-section .generated-content .generated-field .field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.review-step .review-item .review-item-body .content-section .generated-content .generated-field .field-header .field-name{font-size:.85rem;font-weight:600;color:var(--text-secondary);font-family:Arial}.review-step .review-item .review-item-body .content-section .generated-content .generated-field .field-header .btn-copy{padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.review-step .review-item .review-item-body .content-section .generated-content .generated-field .field-header .btn-copy:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.review-step .review-item .review-item-body .content-section .generated-content .generated-field .field-content{font-size:.9rem;line-height:1.7;color:var(--text-primary);background:var(--surface);padding:14px;border-radius:8px}.review-step .review-item .review-item-body .content-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}@media (max-width: 1200px){.review-step .review-item .review-item-body .content-divider{display:none}}.review-step .review-item .review-item-body .content-divider .divider-line{width:1px;flex:1;background:var(--border)}.review-step .review-item .review-item-body .content-divider .divider-icon{font-size:1.5rem;color:var(--primary);font-weight:700}.review-step .review-item .review-item-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:20px;padding:20px;background:var(--background);border-radius:12px}.review-step .review-item .review-item-metrics .metric{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;background:var(--surface);border-radius:8px;border:1px solid var(--border);transition:all .2s}.review-step .review-item .review-item-metrics .metric:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000000d}.review-step .review-item .review-item-metrics .metric.cost{border-color:var(--success);background:var(--success-light)}.review-step .review-item .review-item-metrics .metric.cost .metric-value{color:var(--success)}.review-step .review-item .review-item-metrics .metric .metric-icon{font-size:1.2rem}.review-step .review-item .review-item-metrics .metric .metric-value,.review-step .review-item .review-item-metrics .metric .metric-score{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.review-step .review-item .review-item-metrics .metric .metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.review-step .review-item .review-item-actions{display:flex;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}.review-step .review-item .review-item-actions .actions-left,.review-step .review-item .review-item-actions .actions-right{display:flex;gap:10px;flex-wrap:wrap}.review-step .status-badge{padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.review-step .status-badge.pending{background:var(--warning-light);color:var(--warning)}.review-step .status-badge.approved{background:var(--success-light);color:var(--success)}.review-step .status-badge.rejected{background:var(--danger-light);color:var(--danger)}.review-step .status-badge.edited{background:var(--info-light);color:var(--info)}.review-step .priority-badge{padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.review-step .priority-badge.high{background:#ef44441a;color:#ef4444}.review-step .priority-badge.medium{background:#fbbf241a;color:#fbbf24}.review-step .priority-badge.low{background:#22c55e1a;color:#22c55e}.review-step .badge-counter{padding:6px 10px;border-radius:8px;font-size:.75rem;font-weight:700;white-space:nowrap}.review-step .badge-counter.comments{background:var(--info-light);color:var(--info)}.review-step .badge-counter.flags{background:var(--danger-light);color:var(--danger)}.review-step .review-sidebar{display:flex;flex-direction:column;gap:20px}@media (max-width: 1400px){.review-step .review-sidebar{display:none}}.review-step .review-sidebar .sidebar-section{background:var(--surface);border-radius:12px;padding:24px;border:1px solid var(--border)}.review-step .review-sidebar .sidebar-section h4{margin:0 0 16px;font-size:1rem;font-weight:700;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border)}.review-step .review-sidebar .sidebar-section .quick-actions{display:flex;flex-direction:column;gap:10px}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--background);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light);transform:translate(4px)}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn .action-icon{font-size:1.4rem;flex-shrink:0}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn .action-content{flex:1;display:flex;flex-direction:column;gap:2px}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn .action-content .action-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.review-step .review-sidebar .sidebar-section .quick-actions .quick-action-btn .action-content .action-count{font-size:.75rem;color:var(--text-muted)}.review-step .review-sidebar .sidebar-section .quality-distribution{display:flex;flex-direction:column;gap:14px}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-header .quality-label{color:var(--text-secondary);font-weight:500}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-header .quality-value{font-weight:700;color:var(--text-primary)}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-bg{height:32px;background:var(--surface-2);border-radius:8px;overflow:hidden}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-bg .quality-bar-fill{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 12px;font-size:.8rem;font-weight:700;color:#fff;transition:width .3s ease}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-bg .quality-bar-fill.excellent{background:linear-gradient(90deg,var(--success),#10b981)}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-bg .quality-bar-fill.good{background:linear-gradient(90deg,var(--warning),#f59e0b)}.review-step .review-sidebar .sidebar-section .quality-distribution .quality-bar-item .quality-bar-bg .quality-bar-fill.fair{background:linear-gradient(90deg,var(--danger),#ef4444)}.review-step .review-sidebar .sidebar-section .priority-filters{display:flex;flex-direction:column;gap:8px}.review-step .review-sidebar .sidebar-section .priority-filters .priority-filter-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--background);border:1px solid var(--border);border-radius:8px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .2s;text-align:left}.review-step .review-sidebar .sidebar-section .priority-filters .priority-filter-btn:hover{border-color:var(--primary);background:var(--primary-light)}.review-step .review-sidebar .sidebar-section .priority-filters .priority-filter-btn.active{border-color:var(--primary);background:var(--primary-light);font-weight:600}.review-step .review-sidebar .sidebar-section .priority-filters .priority-filter-btn.active .priority-icon{transform:scale(1.2)}.review-step .review-sidebar .sidebar-section .priority-filters .priority-filter-btn .priority-icon{font-size:1.1rem;transition:transform .2s}.review-step .review-sidebar .sidebar-section .priority-filters .priority-filter-btn .priority-label{flex:1}.review-step .empty-state{padding:100px 20px;text-align:center;background:var(--surface);border-radius:16px;border:2px dashed var(--border)}.review-step .empty-state .empty-icon{font-size:5rem;margin-bottom:24px;opacity:.4}.review-step .empty-state h3{margin:0 0 12px;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.review-step .empty-state p{margin:0 0 24px;color:var(--text-muted);font-size:1rem}.review-step .modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.review-step .modal.active{display:flex}.review-step .modal .modal-content{background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.review-step .modal .modal-content.modal-lg{max-width:900px}.review-step .modal .modal-content.modal-xl{max-width:1200px}.review-step .modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 32px;border-bottom:1px solid var(--border);flex-shrink:0}.review-step .modal .modal-header .modal-title-section{flex:1;min-width:0}.review-step .modal .modal-header .modal-title-section h3{margin:0 0 6px;font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-step .modal .modal-header .modal-title-section .modal-subtitle{margin:0;font-size:.9rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-step .modal .modal-header .btn-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--background);border:1px solid var(--border);border-radius:8px;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.review-step .modal .modal-header .btn-close:hover{background:var(--danger);color:#fff;border-color:var(--danger);transform:rotate(90deg)}.review-step .modal .modal-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 32px;gap:4px;overflow-x:auto;flex-shrink:0}.review-step .modal .modal-tabs::-webkit-scrollbar{height:4px}.review-step .modal .modal-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.review-step .modal .modal-tabs .modal-tab{padding:16px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.review-step .modal .modal-tabs .modal-tab:hover{background:var(--surface-2);color:var(--text-primary)}.review-step .modal .modal-tabs .modal-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--background)}.review-step .modal .modal-body{flex:1;overflow-y:auto;padding:32px}.review-step .modal .modal-body::-webkit-scrollbar{width:8px}.review-step .modal .modal-body::-webkit-scrollbar-track{background:var(--surface-2)}.review-step .modal .modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.review-step .modal .modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.review-step .modal .modal-body .detail-tab-content{display:flex;flex-direction:column;gap:32px}.review-step .modal .modal-body .detail-tab-content .detail-section h4{margin:0 0 20px;font-size:1.1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.review-step .modal .modal-body .detail-tab-content .detail-section .data-grid .data-field{padding:14px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .data-grid .data-field .data-label{display:block;font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.review-step .modal .modal-body .detail-tab-content .detail-section .data-grid .data-field .data-value{font-size:.95rem;color:var(--text-primary);font-weight:500;word-break:break-word}.review-step .modal .modal-body .detail-tab-content .detail-section .content-block{margin-bottom:20px;background:var(--background);border-radius:12px;border:1px solid var(--border);overflow:hidden}.review-step .modal .modal-body .detail-tab-content .detail-section .content-block .content-block-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .content-block .content-block-header .content-block-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);font-family:Courier New,monospace}.review-step .modal .modal-body .detail-tab-content .detail-section .content-block .content-block-body{padding:18px;font-size:.95rem;line-height:1.7;color:var(--text-primary);word-break:break-word}.review-step .modal .modal-body .detail-tab-content .detail-section .content-block .content-block-footer{padding:12px 18px;background:var(--surface);border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}.review-step .modal .modal-body .detail-tab-content .detail-section .metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.review-step .modal .modal-body .detail-tab-content .detail-section .metrics-grid .metric-card{padding:18px;background:var(--background);border-radius:10px;border:1px solid var(--border);display:flex;flex-direction:column;gap:8px;transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .metrics-grid .metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.review-step .modal .modal-body .detail-tab-content .detail-section .metrics-grid .metric-card .metric-card-label{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.review-step .modal .modal-body .detail-tab-content .detail-section .metrics-grid .metric-card .metric-card-value{font-size:1.3rem;font-weight:700;color:var(--text-primary);word-break:break-all}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown{display:flex;flex-direction:column;gap:12px}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row{display:grid;grid-template-columns:200px 1fr auto;gap:16px;align-items:center;padding:16px;background:var(--background);border-radius:10px;border:1px solid var(--border);transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row:hover{box-shadow:0 2px 8px #0000000d}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row.total{background:var(--primary-light);border-color:var(--primary);font-weight:700}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row.total .token-cost{color:var(--primary);font-size:1.1rem}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row .token-label{font-size:.9rem;color:var(--text-secondary);font-weight:600}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row .token-value{font-size:1rem;color:var(--text-primary);font-weight:600}.review-step .modal .modal-body .detail-tab-content .detail-section .token-breakdown .token-row .token-cost{font-size:1rem;color:var(--success);font-weight:700}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics{display:flex;flex-direction:column;gap:20px}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metric-card{display:flex;flex-direction:column;gap:10px}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metric-card .quality-metric-label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metric-card .quality-metric-bar{height:32px;background:var(--surface-2);border-radius:8px;overflow:hidden;position:relative}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metric-card .quality-metric-bar .quality-metric-fill{height:100%;transition:width .3s ease;position:relative}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metric-card .quality-metric-bar .quality-metric-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metric-card .quality-metric-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin-top:12px}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metrics-grid .quality-stat{padding:16px;background:var(--background);border-radius:10px;border:1px solid var(--border);display:flex;flex-direction:column;gap:8px;transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metrics-grid .quality-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metrics-grid .quality-stat .quality-stat-label{font-size:.75rem;color:var(--text-muted);font-weight:600}.review-step .modal .modal-body .detail-tab-content .detail-section .quality-metrics .quality-metrics-grid .quality-stat .quality-stat-value{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-details-grid .ai-param{padding:14px;background:var(--background);border-radius:8px;border:1px solid var(--border);transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-details-grid .ai-param:hover{box-shadow:0 2px 8px #0000000d}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-details-grid .ai-param .ai-param-label{display:block;font-size:.75rem;color:var(--text-muted);font-weight:600;margin-bottom:6px}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-details-grid .ai-param .ai-param-value{font-size:1rem;color:var(--text-primary);font-weight:600}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section{background:var(--background);border-radius:12px;border:1px solid var(--border);overflow:hidden}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-prompt-header,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-response-header,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-prompt-header,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-response-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-prompt-header .ai-prompt-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-prompt-header .ai-response-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-response-header .ai-prompt-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-response-header .ai-response-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-prompt-header .ai-prompt-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-prompt-header .ai-response-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-response-header .ai-prompt-title,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-response-header .ai-response-title{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-prompt-content,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-prompt-section .ai-response-content,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-prompt-content,.review-step .modal .modal-body .detail-tab-content .detail-section .ai-response-section .ai-response-content{padding:18px;font-size:.95rem;line-height:1.7;color:var(--text-primary);font-family:SF Mono,Monaco,Courier New,monospace;background:var(--surface-2);white-space:pre-wrap;word-break:break-word}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--background);border-radius:12px;border:1px solid var(--border);max-height:500px;overflow-y:auto}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list::-webkit-scrollbar{width:6px}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:6px;border-left:3px solid transparent;font-family:Courier New,monospace;font-size:.85rem;transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry:hover{background:var(--surface)}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry .log-time{color:var(--text-muted);min-width:120px;font-size:.75rem}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry .log-icon{flex-shrink:0}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry .log-message{flex:1;color:var(--text-primary)}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry .log-duration{font-size:.75rem;color:var(--text-muted);font-weight:600;padding:2px 6px;background:var(--surface);border-radius:4px}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry.info{border-left-color:var(--info)}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry.success{border-left-color:var(--success)}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry.warning{border-left-color:var(--warning);background:var(--warning-light)}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry.error{border-left-color:var(--danger);background:var(--danger-light)}.review-step .modal .modal-body .detail-tab-content .detail-section .logs-list .log-entry.debug{border-left-color:var(--text-muted);opacity:.7}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline{position:relative;padding-left:40px}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry{position:relative;display:flex;gap:16px;margin-bottom:24px}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry:last-child{margin-bottom:0}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-icon{position:absolute;left:-34px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--border);border-radius:50%;font-size:1rem;z-index:1}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content{flex:1;padding:16px;background:var(--background);border-radius:10px;border:1px solid var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-header .history-action{font-weight:700;color:var(--text-primary);text-transform:capitalize}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-header .history-user{font-size:.85rem;color:var(--text-muted)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-time{font-size:.8rem;color:var(--text-muted);margin-bottom:12px}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-changes{display:flex;flex-direction:column;gap:8px;margin-top:12px}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-changes .history-change{display:flex;align-items:center;gap:10px;font-size:.85rem;padding:8px 12px;background:var(--surface);border-radius:6px}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-changes .history-change .change-field{font-weight:600;color:var(--text-secondary);font-family:Courier New,monospace}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-changes .history-change .change-arrow{color:var(--primary);font-weight:700}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry .history-content .history-changes .history-change .change-new{color:var(--text-primary)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry.approved .history-icon{background:var(--success-light);border-color:var(--success)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry.rejected .history-icon{background:var(--danger-light);border-color:var(--danger)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry.edited .history-icon{background:var(--info-light);border-color:var(--info)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry.created .history-icon{background:var(--primary-light);border-color:var(--primary)}.review-step .modal .modal-body .detail-tab-content .detail-section .history-timeline .history-entry.regenerated .history-icon{background:var(--warning-light);border-color:var(--warning)}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list{display:flex;flex-direction:column;gap:16px}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .no-comments{padding:40px;text-align:center;color:var(--text-muted);font-style:italic;background:var(--background);border-radius:8px;border:1px dashed var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .comment{padding:16px;background:var(--background);border-radius:10px;border:1px solid var(--border);transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .comment:hover{box-shadow:0 2px 8px #0000000d}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .comment .comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .comment .comment-header .comment-user{font-weight:700;color:var(--text-primary);font-size:.9rem}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .comment .comment-header .comment-time{font-size:.75rem;color:var(--text-muted)}.review-step .modal .modal-body .detail-tab-content .detail-section .comments-list .comment .comment-text{font-size:.9rem;line-height:1.6;color:var(--text-primary)}.review-step .modal .modal-body .detail-tab-content .detail-section .add-comment-section{display:flex;flex-direction:column;gap:12px;margin-top:20px;padding:20px;background:var(--background);border-radius:12px;border:1px solid var(--border)}.review-step .modal .modal-body .detail-tab-content .detail-section .add-comment-section .comment-input{padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical;transition:all .2s}.review-step .modal .modal-body .detail-tab-content .detail-section .add-comment-section .comment-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.review-step .modal .modal-body .detail-tab-content .detail-section .add-comment-section .comment-input::placeholder{color:var(--text-muted)}.review-step .modal .modal-body .form-group{margin-bottom:24px}.review-step .modal .modal-body .form-group .form-label{display:block;margin-bottom:10px;font-weight:600;color:var(--text-primary);font-size:.9rem}.review-step .modal .modal-body .form-group .form-textarea,.review-step .modal .modal-body .form-group .form-input{width:100%;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:all .2s}.review-step .modal .modal-body .form-group .form-textarea:focus,.review-step .modal .modal-body .form-group .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.review-step .modal .modal-body .form-group .form-textarea::placeholder,.review-step .modal .modal-body .form-group .form-input::placeholder{color:var(--text-muted)}.review-step .modal .modal-body .form-group .form-textarea{resize:vertical;line-height:1.6}.review-step .modal .modal-body .form-group .field-meta{margin-top:8px;font-size:.75rem;color:var(--text-muted)}.review-step .modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px;border-top:1px solid var(--border);background:var(--background);flex-shrink:0;flex-wrap:wrap}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 1024px){.review-step .review-item .review-item-body{grid-template-columns:1fr}.review-step .review-item .review-item-body .content-divider{display:none}.review-step .modal .modal-content.modal-lg,.review-step .modal .modal-content.modal-xl{max-width:95%}.review-step .modal .modal-body .token-breakdown .token-row{grid-template-columns:1fr;gap:8px}.review-step .modal .modal-body .metrics-grid,.review-step .modal .modal-body .ai-details-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 768px){.review-step{padding:16px}.review-step .review-header{padding:20px}.review-step .review-header .review-header-left h2{font-size:1.5rem}.review-step .review-header .review-header-actions{flex-direction:column;width:100%}.review-step .review-stats{padding:20px}.review-step .review-stats .stats-grid{grid-template-columns:repeat(2,1fr)}.review-step .review-toolbar{padding:12px 16px}.review-step .review-toolbar .toolbar-section{flex-direction:column;align-items:stretch}.review-step .review-toolbar .toolbar-section .toolbar-filters{flex-direction:column}.review-step .review-toolbar .toolbar-section .toolbar-filters .form-select{width:100%}.review-step .review-toolbar .toolbar-actions{width:100%;justify-content:space-between}.review-step .bulk-actions-bar{padding:12px 16px}.review-step .bulk-actions-bar .bulk-info,.review-step .bulk-actions-bar .bulk-actions{width:100%}.review-step .bulk-actions-bar .bulk-actions .btn{flex:1}.review-step .review-item{padding:16px}.review-step .review-item .review-item-header{flex-direction:column;align-items:stretch}.review-step .review-item .review-item-header .header-left{flex-wrap:wrap}.review-step .review-item .review-item-header .header-right{justify-content:flex-start}.review-step .review-item .review-item-metrics{grid-template-columns:repeat(3,1fr)}.review-step .review-item .review-item-actions{flex-direction:column}.review-step .review-item .review-item-actions .actions-left,.review-step .review-item .review-item-actions .actions-right{flex-direction:column;width:100%}.review-step .review-item .review-item-actions .actions-left .btn,.review-step .review-item .review-item-actions .actions-right .btn{width:100%}.review-step .modal{padding:0}.review-step .modal .modal-content{width:100%;max-width:100%;max-height:100vh;border-radius:0}.review-step .modal .modal-header{padding:20px}.review-step .modal .modal-tabs{padding:0 20px}.review-step .modal .modal-tabs .modal-tab{padding:12px 16px;font-size:.85rem}.review-step .modal .modal-body{padding:20px}.review-step .modal .modal-body .metrics-grid,.review-step .modal .modal-body .ai-details-grid,.review-step .modal .modal-body .quality-metrics-grid,.review-step .modal .modal-body .data-grid{grid-template-columns:1fr}.review-step .modal .modal-body .history-timeline{padding-left:30px}.review-step .modal .modal-body .history-timeline:before{left:10px}.review-step .modal .modal-body .history-timeline .history-entry .history-icon{left:-27px;width:24px;height:24px;font-size:.85rem}.review-step .modal .modal-footer{padding:16px 20px}.review-step .modal .modal-footer .btn{flex:1;min-width:100px}}@media (max-width: 480px){.review-step .review-stats .stats-grid{grid-template-columns:1fr}.review-step .review-item .review-item-metrics{grid-template-columns:repeat(2,1fr)}.review-step .modal .modal-body{padding:16px}.review-step .modal .modal-body .logs-list .log-entry{flex-wrap:wrap;gap:8px}.review-step .modal .modal-body .logs-list .log-entry .log-time{min-width:auto}.review-step .modal .modal-body .logs-list .log-entry .log-message{width:100%}}@media (prefers-color-scheme: dark){.review-step .modal{background:#000000b3}.review-step .bulk-actions-bar{box-shadow:0 4px 16px #0000004d}}@media print{.review-step .review-header-actions,.review-step .review-toolbar,.review-step .bulk-actions-bar,.review-step .review-sidebar,.review-step .review-item-actions,.review-step .modal{display:none!important}.review-step .review-item{page-break-inside:avoid;box-shadow:none;border:1px solid #ccc}}.pipeline-name-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.item-meta .meta-item{display:inline-flex;align-items:center;gap:4px}.meta-icon{font-size:14px}.meta-divider{margin:0 8px;color:var(--text-muted);opacity:.5}.modal-subtitle{margin-top:4px;font-size:14px;color:var(--text-muted);font-weight:400}.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:12px}.data-field{display:flex;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border)}.data-label{font-weight:600;color:var(--text-secondary);margin-right:8px}.data-value{color:var(--text-primary);font-family:Courier New,monospace}.text-muted{color:var(--text-muted);font-style:italic}.review-item-metrics{display:flex;align-items:center;gap:24px;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;margin-top:12px}.review-item-metrics .metric{display:flex;align-items:center;gap:8px}.review-item-metrics .metric-icon{font-size:18px}.review-item-metrics .metric-value{font-size:15px;font-weight:600;color:var(--text-primary)}.review-item-metrics .metric-label{font-size:13px;color:var(--text-muted)}.review-item-metrics .metric.cost .metric-value{color:var(--success)}.isolated-badge{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:help}.detail-mode.isolated{display:inline-block;margin-left:8px;padding:2px 6px;background:var(--primary);color:#fff;border-radius:3px;font-size:11px}.error-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#fff3cd,#ffe69c);border-left:4px solid #ffb020;border-radius:6px;margin-bottom:12px}.error-banner .error-icon{font-size:24px;line-height:1}.error-banner .error-content{flex:1;display:flex;flex-direction:column;gap:4px}.error-banner .error-label{font-weight:600;color:var(--warning-dark);font-size:13px;text-transform:uppercase}.error-banner .error-text{color:var(--text-primary);font-size:14px;line-height:1.5}.modal-error-banner{display:flex;align-items:flex-start;gap:16px;padding:16px;background:linear-gradient(135deg,#fff3cd,#ffe69c);border-left:4px solid #ff6b6b;border-radius:8px;margin:-16px -24px 24px}.modal-error-banner .error-banner-icon{font-size:32px;line-height:1}.modal-error-banner .error-banner-content{flex:1}.modal-error-banner .error-banner-title{font-size:16px;font-weight:700;color:var(--danger);margin-bottom:6px}.modal-error-banner .error-banner-message{font-size:14px;color:var(--text-primary);line-height:1.6}.review-item.not-selectable{opacity:.85}.review-item.not-selectable .item-checkbox{display:none}.status-info{display:inline-flex;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary)}.field-type-icon{display:inline-block;margin-right:6px;font-size:16px}.content-type-icon{display:inline-block;margin-right:8px;font-size:18px}.content-type-label{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--bg-secondary);border-radius:4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.stat-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.stat-update-time{font-size:11px;color:var(--text-muted)}.btn-recalculate{background:transparent;border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:14px;cursor:pointer;transition:all .2s}.btn-recalculate:hover:not(:disabled){background:var(--primary);border-color:var(--primary);transform:scale(1.1)}.btn-recalculate:disabled{opacity:.5;cursor:not-allowed}.review-main{display:flex;gap:24px;margin-top:24px}.review-items-container{flex:1;display:flex;flex-direction:column;gap:16px}.reject-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#f44,#c00);border-radius:8px;margin-bottom:16px;border-left:4px solid #cc0000}.reject-icon{font-size:24px;flex-shrink:0}.reject-content{flex:1;display:flex;flex-direction:column;gap:4px}.reject-label{font-weight:600;font-size:13px;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.reject-text{font-size:14px;color:#fff;line-height:1.5}.reject-date{font-size:12px;color:#ffffffb3;white-space:nowrap}.modal-reject-banner{display:flex;align-items:flex-start;gap:16px;padding:20px;background:linear-gradient(135deg,#f44,#c00);border-left:5px solid #cc0000;border-radius:0}.reject-banner-icon{font-size:36px;flex-shrink:0;line-height:1}.reject-banner-content{flex:1;display:flex;flex-direction:column;gap:8px}.reject-banner-title{font-size:18px;font-weight:700;color:#fff;letter-spacing:-.02em}.reject-banner-message{font-size:15px;color:#fffffff2;line-height:1.6;white-space:pre-wrap}.reject-banner-date{font-size:13px;color:#ffffffb3;margin-top:4px}.review-item.rejected{border-left:4px solid #ff4444}.status-badge.rejected{background:linear-gradient(135deg,#f44,#c00);color:#fff}.field-name-section{display:flex;flex-direction:column;gap:6px;flex:1}.field-destinations{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.destination-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2;border-radius:4px;font-weight:500;border:1px solid #90caf9}.destination-badge:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);transform:translateY(-1px);box-shadow:0 2px 4px #1976d233}.content-block-title-section{display:flex;flex-direction:column;gap:8px;flex:1}.content-destinations{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.destinations-label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.content-destinations .destination-badge{font-size:12px;padding:4px 10px}.language-selector{position:relative}.language-selector option[value=""]{color:var(--text-tertiary);font-style:italic}.language-selector optgroup{font-weight:600;font-style:normal;margin-top:4px}.language-selector optgroup[label*=Recently]{background:var(--background-secondary);border-bottom:1px solid var(--border);padding-top:8px;padding-bottom:8px}.language-selector optgroup[label*="All Languages"]{margin-top:8px}.language-selector optgroup[label*=Recently] option{font-weight:500;background:var(--background-hover);padding-left:24px}.language-selector optgroup[label*=Recently] option:before{content:"📌 ";margin-right:4px}.language-selector option:not([value=""]){padding:8px 12px;color:var(--text-primary);font-style:normal}.language-selector option:not([value=""]):hover{background:var(--primary-alpha)}.language-selector option:not([value=""])[title]{cursor:help}.language-selector:focus option:checked{background:var(--primary);color:var(--text-inverse)}select.language-selector:invalid,select.language-selector[value=""]{color:var(--text-tertiary);font-style:italic}select.language-selector:valid:not([value=""]){color:var(--text-primary);font-style:normal}.form-select:disabled{opacity:.6;cursor:not-allowed}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}optgroup[label*=Recently]{animation:slideDown .3s ease-out}optgroup:hover{background:var(--background-hover)}optgroup+optgroup{border-top:2px solid var(--border);margin-top:8px;padding-top:8px}body.dark-theme .language-selector optgroup[label*=Recently]{background:#ffffff0d}body.dark-theme .language-selector optgroup[label*=Recently] option{background:#ffffff14}body.dark-theme .language-selector option:not([value=""]):hover{background:#8b5cf633}@media (max-width: 768px){.language-selector{font-size:14px}.language-selector option{padding:6px 10px}}.language-selector{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--text-tertiary: #999999;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--secondary: #64748b;--secondary-hover: #475569;--secondary-light: #f1f5f9;--success: #059669;--success-hover: #047857;--success-light: #d1fae5;--warning: #d97706;--warning-hover: #b45309;--warning-light: #fed7aa;--danger: #dc2626;--danger-hover: #b91c1c;--danger-light: #fee2e2;--info: #0891b2;--info-hover: #0e7490;--info-light: #cffafe;--background: #ffffff;--surface: #f8fafc;--surface-2: #f1f5f9;--surface-3: #e2e8f0;--surface-hover: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-disabled: #cbd5e1;--text-inverse: #ffffff;--border: #e2e8f0;--border-hover: #cbd5e1;--border-focus: #2563eb;--shadow-color: 0 0 0;--shadow-opacity: .1;--header-bg: #ffffff;--sidebar-bg: #f8fafc;--modal-backdrop: rgba(0, 0, 0, .5);--code-bg: #f1f5f9;--select-arrow: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}body.dark-theme{--text-tertiary: #707070;--primary: #3b82f6;--primary-hover: #60a5fa;--primary-light: #1e3a8a;--secondary: #6b7280;--secondary-hover: #9ca3af;--secondary-light: #374151;--success: #10b981;--success-hover: #34d399;--success-light: #064e3b;--warning: #f59e0b;--warning-hover: #fbbf24;--warning-light: #78350f;--danger: #ef4444;--danger-hover: #f87171;--danger-light: #7f1d1d;--info: #06b6d4;--info-hover: #22d3ee;--info-light: #164e63;--background: #0f172a;--surface: #1e293b;--surface-2: #334155;--surface-3: #475569;--surface-hover: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-disabled: #475569;--text-inverse: #0f172a;--border: #334155;--border-hover: #475569;--border-focus: #3b82f6;--shadow-color: 0 0 0;--shadow-opacity: .3;--header-bg: #1e293b;--sidebar-bg: #1e293b;--modal-backdrop: rgba(0, 0, 0, .7);--code-bg: #0f172a;--select-arrow: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}body{transition:background-color .3s ease,color .3s ease}
