.schema-viewer{background:#f5f5f7;flex-direction:column;height:100%;display:flex}.schema-viewer-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:24px 32px;box-shadow:0 1px 3px #0000000a}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.header-title{align-items:center;gap:16px;display:flex}.header-icon{color:#0891b2;width:32px;height:32px}.schema-viewer-header h2{color:#111827;letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.schema-stats{align-items:center;gap:24px;display:flex}.stat-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;display:flex}.stat-icon{color:#0891b2;flex-shrink:0;width:20px;height:20px}.stat-divider{background:#e5e7eb;width:1px;height:32px}.schema-content{flex:1;display:flex;overflow:hidden}.schema-graph-cytoscape{background:#fff;border-right:1px solid #e0e0e0;flex:1}.schema-sidebar{background:#f5f5f7;border-left:1px solid #e5e7eb;width:350px;padding:24px;overflow-y:auto}.schema-sidebar h3{color:#111827;border-bottom:2px solid #0891b2;margin:0 0 20px;padding-bottom:12px;font-size:18px;font-weight:700}.schema-sidebar .placeholder{color:#6b7280;text-align:center;margin-top:100px;font-size:14px;font-style:italic}.collection-detail{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #0000000a}.collection-detail:hover{box-shadow:0 4px 12px #00000014}.collection-detail-header{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);padding:16px 20px}.collection-detail-name{letter-spacing:-.01em;margin-bottom:6px;font-size:16px;font-weight:700}.collection-detail-count{opacity:.95;font-size:13px;font-weight:500}.collection-fields{background:#f9fafb;padding:20px}.collection-fields h4{color:#111827;letter-spacing:-.01em;margin:0 0 16px;font-size:14px;font-weight:700}.fields-list-detail{flex-direction:column;gap:8px;display:flex}.field-detail{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:all .2s;display:flex}.field-detail:hover{border-color:#0891b2;box-shadow:0 2px 6px #0891b226}.field-detail-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:13px;font-weight:600;overflow:hidden}.field-detail-type{text-transform:uppercase;white-space:nowrap;letter-spacing:.02em;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.field-detail-type.string{color:#166534;background:#dcfce7}.field-detail-type.number{color:#9a3412;background:#fed7aa}.field-detail-type.boolean{color:#1e40af;background:#dbeafe}.field-detail-type.object{color:#374151;background:#e5e7eb}.field-detail-type.array{color:#6b21a8;background:#f3e8ff}.field-detail-ref{color:#a16207;white-space:nowrap;letter-spacing:.02em;background:#fef3c7;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.field-detail-enum{cursor:help;color:#6b7280;font-size:14px}.fields-more{text-align:center;color:#6b7280;margin-top:8px;padding:12px;font-size:13px;font-style:italic}.schema-legend{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 1px 3px #0000000a}.schema-legend h4{color:#111827;letter-spacing:-.01em;margin:0 0 16px;font-size:14px;font-weight:700}.legend-items{flex-direction:column;gap:12px;display:flex}.legend-item{color:#374151;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.legend-icon{border-radius:6px;width:30px;height:20px}.legend-icon.node-icon{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:2px solid #111827;border-radius:50%;width:24px;height:24px}.legend-icon.edge-ref{background:linear-gradient(90deg,#0891b2 0% 80%,#0000 80%);height:2px;position:relative}.legend-icon.edge-ref:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid #0891b2;width:0;height:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.legend-icon.edge-hierarchy{background:linear-gradient(90deg,#111827 0% 80%,#0000 80%);height:3px;position:relative}.legend-icon.edge-hierarchy:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid #111827;width:0;height:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.schema-explorer{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);flex-direction:column;height:100%;display:flex;overflow:hidden}.explorer-header{display:none}.explorer-tabs{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:2px solid #0891b233;border-radius:12px;flex-shrink:0;justify-content:center;gap:16px;margin:32px;padding:12px;display:flex;box-shadow:0 4px 12px #0000000d}.explorer-tab{cursor:pointer;color:#64748b;background:#fff;border:2px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #00000014}.explorer-tab:hover{color:#0891b2!important;background:#fff!important;border-color:#0891b2!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0891b233!important}.explorer-tab.active{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-color:#0891b2;transform:translateY(0);box-shadow:0 4px 16px #0891b266;color:#fff!important}.tab-icon{flex-shrink:0;width:20px;height:20px}.explorer-content{flex:1;padding:32px;overflow-y:auto}.tab-panel{animation:.3s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.collections-grid{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;display:flex}.collection-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 4px 12px #00000014}.collection-card:hover{border-color:#0891b2;transform:translateY(-4px);box-shadow:0 8px 24px #0891b226}.collection-card-header{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.collection-card-title{align-items:center;gap:12px;display:flex}.collection-icon{flex-shrink:0;width:20px;height:20px}.collection-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.collection-count{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:16px;padding:4px 10px;font-size:12px;font-weight:700}.collection-card-body{padding:14px 18px}.collection-stats{gap:16px;margin-bottom:12px;display:flex}.collection-stat{align-items:center;gap:8px;display:flex}.stat-label{color:#64748b;font-size:13px;font-weight:600}.collection-actions{gap:12px;margin-top:12px;display:flex}.expand-fields-btn,.select-collection-btn{cursor:pointer;color:#475569;background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.expand-fields-btn:hover,.select-collection-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0891b226;color:#0891b2!important;background:#f0f9ff!important;border-color:#0891b2!important}.select-collection-btn{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-color:#0000;color:#fff!important}.select-collection-btn:hover{color:#fff!important;background:linear-gradient(135deg,#0e7490 0%,#155e75 100%)!important;box-shadow:0 4px 16px #0891b24d!important}.expand-arrow{font-size:12px;transition:transform .3s;display:inline-block}.expand-arrow.expanded{transform:rotate(90deg)}.fields-list{border-top:2px solid #f1f5f9;max-height:400px;margin-top:16px;padding-top:16px;overflow-y:auto}.field-item-wrapper{margin-bottom:4px}.field-item{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;transition:all .2s;display:flex}.field-item:hover{background:#f0f9ff;border-color:#0891b2}.field-info{flex:1;align-items:center;gap:8px;display:flex}.field-expand-arrow{cursor:pointer;color:#64748b;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.field-spacer{width:20px;display:inline-block}.arrow-small{font-size:10px;transition:transform .2s;display:inline-block}.arrow-small.expanded{transform:rotate(90deg)}.field-name{color:#1e293b;font-family:SF Mono,Monaco,Courier New,monospace;font-size:14px;font-weight:600}.enum-indicator{margin-left:4px;font-size:12px}.field-type{color:#475569;background:#e2e8f0;border-radius:6px;padding:4px 10px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;font-weight:600}.field-type-string{color:#1e40af;background:#dbeafe}.field-type-number{color:#166534;background:#dcfce7}.field-type-boolean{color:#92400e;background:#fef3c7}.field-type-date{color:#9f1239;background:#fce7f3}.field-type-object{color:#6b21a8;background:#e9d5ff}.field-type-array{color:#9a3412;background:#fed7aa}.nested-fields{border-left:2px solid #e2e8f0;margin-top:4px;margin-left:24px;padding-left:12px}.eclass-tree{box-sizing:border-box;background:#fff;border:2px solid #e2e8f0;border-radius:16px;max-width:100%;padding:24px;overflow-x:hidden;box-shadow:0 4px 12px #00000014}.tree-header{border-bottom:2px solid #e2e8f0;margin-bottom:24px;padding-bottom:20px}.tree-header h3{color:#1e293b;letter-spacing:-.01em;margin:0 0 8px;font-size:24px;font-weight:700}.tree-header p{color:#64748b;margin:0;font-size:14px;font-weight:500}.tree-content{flex-direction:column;gap:4px;max-width:100%;max-height:calc(100vh - 400px);display:flex;overflow:hidden auto}.tree-node{width:100%;max-width:100%;margin-bottom:4px;display:block}.tree-node-header{cursor:pointer;box-sizing:border-box;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;max-width:100%;padding:10px 12px;transition:all .2s;display:flex;overflow:hidden}.tree-node-header:hover{background:#f0f9ff;box-shadow:0 2px 8px #0891b21a}.tree-expand-btn{cursor:pointer;color:#64748b;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.tree-arrow{font-size:12px;transition:transform .2s;display:inline-block}.tree-arrow.expanded{transform:rotate(90deg)}.tree-spacer{flex-shrink:0;width:20px;display:inline-block}.tree-node-content{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.tree-node-type{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.tree-node-type-cc{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)}.tree-node-type-ac{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.tree-node-type-aspect{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.tree-node-type-property{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.tree-node-type-block{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.tree-node-name{color:#1e293b;overflow-wrap:break-word;word-break:break-word;flex:1;min-width:0;font-size:14px;font-weight:600}.tree-node-irdi{color:#64748b;overflow-wrap:break-word;word-break:break-all;flex-shrink:1;min-width:0;font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;font-weight:500}.tree-badge{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:12px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.tree-children{flex-direction:column;gap:4px;margin-top:4px;display:flex}.tree-loading{color:#64748b;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-style:italic;display:flex}.loading-spinner-small{border:2px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.tree-loading-state,.tree-empty-state{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#0891b2;border-radius:50%;width:48px;height:48px;margin-bottom:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tree-loading-state p,.tree-empty-state p{margin:0;font-size:16px;font-weight:600}@media (max-width:767px){.schema-explorer{height:100vh}.explorer-tabs{flex-direction:column;gap:8px;margin:16px;padding:8px}.explorer-tab{justify-content:center;gap:8px;width:100%;padding:12px 20px;font-size:14px}.explorer-tab:first-child,.explorer-tab:nth-child(3){display:none}.tab-icon{width:18px;height:18px}.explorer-content{padding:16px}.collections-grid{gap:16px}.collection-card{border-radius:12px}.collection-header{padding:16px}.collection-header h3{font-size:16px}.collection-badge{padding:4px 8px;font-size:11px}.field-list{padding:12px 16px}.field-item{padding:10px 12px}.field-name{font-size:13px}.field-type{padding:3px 8px;font-size:11px}.eclass-tree{border-radius:12px;padding:16px;overflow-x:hidden}.tree-header{margin-bottom:16px;padding-bottom:12px}.tree-header h3{font-size:18px}.tree-header p{font-size:13px}.tree-content{max-height:calc(100vh - 300px)}.tree-node-header{flex-wrap:nowrap;gap:6px;padding:8px 10px;overflow-x:auto}.tree-expand-btn{padding:2px}.tree-spacer{width:16px}.tree-node-content{flex-wrap:wrap;gap:8px;min-width:0}.tree-node-type{padding:3px 8px;font-size:10px}.tree-node-name{flex:auto;min-width:120px;font-size:13px}.tree-node-irdi{font-size:11px;display:none}.tree-badge{padding:3px 8px;font-size:10px}.tree-children{gap:2px;margin-top:2px}}@media (max-width:479px){.explorer-tabs{margin:12px;padding:6px}.explorer-tab{padding:10px 16px;font-size:13px}.explorer-content,.collection-header{padding:12px}.collection-header h3{font-size:14px}.eclass-tree{padding:12px}.tree-header h3{font-size:16px}.tree-header p{font-size:12px}.tree-node-header{gap:4px;padding:6px 8px}.tree-spacer{width:12px}.tree-node-type{padding:2px 6px;font-size:9px}.tree-node-name{min-width:100px;font-size:12px}.tree-badge{padding:2px 6px;font-size:9px}}@media (min-width:768px) and (max-width:1023px){.explorer-tabs{flex-wrap:wrap;margin:24px}.explorer-content{padding:24px}}@media (hover:none) and (pointer:coarse){.explorer-tab{min-height:44px}.explorer-tab:hover{color:#64748b;background:#fff;border-color:#0000;transform:none}.explorer-tab:active{transform:scale(.98)}.collection-card:hover{transform:none}}@media (max-width:767px) and (orientation:landscape){.explorer-tabs{flex-flow:wrap;gap:6px}.explorer-tab{flex:1;min-width:120px}}.query-form{flex-direction:column;gap:1.25rem;display:flex}.query-form.compact{gap:.75rem}.form-section{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:16px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014}.query-form.compact .form-section{border-radius:12px;padding:16px}.form-section:hover{border-color:#0891b2;transform:translateY(-2px);box-shadow:0 8px 24px #0891b226}.compact-section{padding:1rem 1.5rem}.section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.query-form.compact .section-header{margin-bottom:.75rem}.section-title{flex:1;align-items:center;gap:.625rem;display:flex}.section-icon{width:20px;height:20px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-icon svg{width:20px;height:20px}.section-label{color:var(--text-color);letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.query-form.compact .section-label{font-size:.95rem}.section-badge{color:#fff;text-align:center;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:2px solid #fff;border-radius:16px;min-width:28px;padding:4px 12px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #0891b24d}.btn-add{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:12px 24px;font-size:15px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important}.query-form.compact .btn-add{padding:10px 20px;font-size:14px}.btn-add:hover:not(:disabled){color:#fff!important;background:linear-gradient(135deg,#0e7490 0%,#155e75 100%)!important;transform:translateY(-2px)!important;box-shadow:0 6px 20px #0891b266!important}.btn-add:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;color:#6b7280;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.btn-icon svg{width:16px;height:16px}.btn-remove{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #ef444466;color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important}.btn-remove svg{stroke-width:3px;color:#fff;width:18px;height:18px}.query-form.compact .btn-remove{width:28px;min-width:28px;height:28px}.query-form.compact .btn-remove svg{width:16px;height:16px}.btn-remove:hover{transform:scale(1.15);box-shadow:0 4px 12px #ef444480;color:#fff!important;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)!important}.btn-remove:active{transform:scale(1.05);background:linear-gradient(135deg,#b91c1c 0%,#991b1b 100%)!important}.field-selector{margin-bottom:1rem;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.field-selector select{color:#1e293b;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:10px;width:100%;padding:14px 16px;font-size:15px;font-weight:500;transition:all .2s}.field-selector select:hover{background:#f8fafc;border-color:#0891b2}.field-selector select:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.items-list{flex-direction:column;gap:.625rem;min-height:0;display:flex}.query-form.compact .items-list{gap:.5rem}.item-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:.875rem;padding:1rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 3px #0000000d}.query-form.compact .item-card{border-radius:8px;gap:.5rem;padding:.625rem .75rem}.item-card:hover{background:#fff;border-color:#0891b2;transform:translate(2px);box-shadow:0 4px 12px #0891b226}.field-item .item-content{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex;overflow:hidden}.field-icon{width:20px;height:20px;color:var(--primary);flex-shrink:0}.field-icon svg{width:20px;height:20px}.field-path{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.95rem;font-weight:600;overflow:hidden}.field-alias{color:var(--link-color);white-space:nowrap;flex-shrink:0;font-size:.9rem;font-style:italic;font-weight:500}.field-edit{flex-wrap:wrap;flex:1;gap:.5rem;display:flex}.field-select{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;flex:2;min-width:140px;padding:10px 14px;font-size:15px;font-weight:500;transition:all .2s}.field-select:hover{background:#f8fafc;border-color:#0891b2}.field-select:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.alias-input{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;flex:1;min-width:100px;padding:10px 14px;font-size:15px;font-weight:500;transition:all .2s}.alias-input:hover{background:#f8fafc;border-color:#0891b2}.alias-input:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.alias-input::placeholder{color:var(--text-muted);font-style:italic}.language-select{color:#1e293b;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:8px;flex:1;min-width:140px;padding:10px 14px;font-size:14px;font-weight:500;transition:all .2s}.language-select:hover{background:#f8fafc;border-color:#0891b2}.language-select:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.filter-item{align-items:stretch}.filter-order{flex-direction:column;align-items:center;gap:.25rem;min-width:36px;display:flex}.order-btn{background:var(--button-color);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:26px;padding:0;font-size:1rem;line-height:1;transition:all .2s;display:flex;box-shadow:0 1px 3px #006fa333}.order-btn:hover:not(:disabled){background:var(--button-hover);transform:scale(1.1);box-shadow:0 2px 6px #006fa34d}.order-btn:disabled{background:var(--border-color);cursor:not-allowed;opacity:.5;box-shadow:none}.order-number{color:var(--link-color);text-align:center;min-width:20px;font-size:.8rem;font-weight:700}.filter-controls{flex-wrap:wrap;flex:1;gap:.5rem;min-width:0;display:flex;overflow:hidden}.filter-controls select,.filter-controls input{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:500;transition:all .2s}.filter-controls select:hover,.filter-controls input:hover{background:#f8fafc;border-color:#0891b2}.query-form.compact .filter-controls select,.query-form.compact .filter-controls input{border-radius:6px;padding:8px 12px;font-size:14px}.filter-controls select:focus,.filter-controls input:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.select-field{flex:1.5;min-width:180px}.query-form.compact .select-field{min-width:120px}.select-operator{flex:1;min-width:150px}.query-form.compact .select-operator{min-width:100px}.select-logical{color:#0891b2;background:#f0f9ff;border-color:#0891b2;min-width:80px;max-width:90px;font-weight:700}.select-regex-helper{color:#c2410c;background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border-color:#fb923c;min-width:140px;font-style:italic}.query-form.compact .select-regex-helper{min-width:100px}.select-enum{color:#854d0e;background:linear-gradient(135deg,#fefce8 0%,#fef9c3 100%);border-color:#facc15;min-width:150px;font-weight:600}.query-form.compact .select-enum{min-width:100px}.input-value{flex:1;min-width:150px;transition:all .2s}.query-form.compact .input-value{min-width:100px}.input-value::placeholder{color:#999;font-style:italic}.input-value.droppable{position:relative}.input-value.drag-over{transform:scale(1.02);background:#0891b21a!important;border-color:#0891b2!important;box-shadow:0 0 0 3px #0891b233!important}.empty-state{text-align:center;color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;font-size:.95rem;font-style:italic;transition:all .2s;display:flex}.query-form.compact .empty-state{padding:1.5rem 1rem;font-size:.85rem}.empty-state:hover{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-color:#94a3b8}.empty-icon{opacity:.5;width:40px;height:40px;color:var(--text-muted);flex-shrink:0}.empty-icon svg{width:40px;height:40px}.limit-label{color:var(--text-color);align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;display:flex}.input-limit{border:2px solid #cbd5e1;border-radius:8px;width:120px;padding:.625rem .875rem;font-size:14px;transition:all .2s}.input-limit:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.input-limit::placeholder{color:#999;font-style:italic}@media (max-width:768px){.form-section{padding:1rem}.filter-controls{flex-direction:column}.filter-controls select,.filter-controls input{width:100%;min-width:0;padding:10px 12px;font-size:14px}.filter-mode-selector{flex-direction:column;gap:.75rem;padding:.875rem 1rem}.filter-mode-label{text-align:center;width:100%;font-size:.875rem}.filter-mode-toggle{flex-direction:column;gap:.5rem;width:100%}.mode-btn{justify-content:center;width:100%;min-width:auto;padding:.75rem 1rem;font-size:.875rem}.filter-mode-description{text-align:center;border-top:2px solid #7dd3fc;border-left:none;width:100%;padding-top:.5rem;padding-left:0;font-size:.8rem}.filter-input-source-toggle{flex-direction:column;gap:.5rem;padding:.75rem}.toggle-label{justify-content:center;width:100%;font-size:.85rem}.select-input-source,.input-extract-field{width:100%;padding:.625rem .75rem;font-size:.85rem}.filter-input-hint{white-space:normal;text-align:center;padding:.625rem .75rem;font-size:.8rem}.filter-order{min-width:32px}.order-btn{width:28px;height:24px;font-size:.9rem}.order-number{font-size:.75rem}.section-header{flex-wrap:wrap}.field-edit{flex-direction:column}}@media (max-width:479px){.filter-mode-selector{gap:.5rem;padding:.75rem}.filter-mode-label{font-size:.8rem}.mode-btn{gap:.375rem;padding:.625rem .75rem;font-size:.8rem}.mode-icon{font-size:1rem}.mode-hint{font-size:.7rem}.filter-mode-description{font-size:.75rem}.filter-input-source-toggle{padding:.625rem}.toggle-label{font-size:.8rem}.select-input-source,.input-extract-field{padding:.5rem;font-size:.8rem}.filter-input-hint{padding:.5rem;font-size:.75rem}.filter-controls select,.filter-controls input{padding:9px 10px;font-size:13px}.order-btn{width:26px;height:22px;font-size:.85rem}}.item-card{animation:.2s ease-out fadeIn}.filter-input-source-toggle{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:2px solid #fb923c;border-radius:8px;align-items:center;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.toggle-label{cursor:pointer;color:#c2410c;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.toggle-label input[type=checkbox]{cursor:pointer;accent-color:#fb923c;width:18px;height:18px}.toggle-text{align-items:center;gap:.25rem;display:flex}.select-input-source{color:#c2410c;cursor:pointer;background:linear-gradient(135deg,#fff7ed 0%,#fff 100%);border:2px solid #fb923c;border-radius:8px;flex:2;padding:.625rem .875rem;font-size:.9rem;font-weight:600;transition:all .2s}.select-input-source:focus{border-color:#ea580c;outline:none;box-shadow:0 0 0 3px #fb923c26}.input-extract-field{background:#fff;border:2px solid #d1d5db;border-radius:8px;flex:1.5;padding:.625rem .875rem;font-size:.9rem;transition:all .2s}.input-extract-field:focus{border-color:#fb923c;outline:none;box-shadow:0 0 0 3px #fb923c1a}.input-extract-field::placeholder{color:#9ca3af;font-style:italic}.filter-input-hint{color:#065f46;white-space:nowrap;cursor:help;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #10b981;border-radius:8px;align-items:center;gap:.375rem;padding:.625rem .875rem;font-size:.85rem;font-weight:600;display:flex}.filter-mode-selector{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #0891b2;border-radius:12px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 8px #0891b226}.filter-mode-label{color:#0c4a6e;white-space:nowrap;font-size:.95rem;font-weight:600}.filter-mode-toggle{background:#fff;border-radius:10px;gap:.5rem;padding:.25rem;display:flex;box-shadow:inset 0 2px 4px #0000000f}.mode-btn{cursor:pointer;color:#64748b;background:0 0;border:2px solid #0000;border-radius:8px;align-items:center;gap:.5rem;min-width:90px;padding:.625rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.mode-btn:hover{color:#334155;background:#f1f5f9;transform:translateY(-1px)}.mode-btn.active{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-color:#0e7490;transform:translateY(-1px);box-shadow:0 4px 12px #0891b266}.mode-btn.active:hover{background:linear-gradient(135deg,#0e7490 0%,#0c5f7a 100%)}.mode-icon{font-size:1.25rem;line-height:1}.mode-text{letter-spacing:.02em;font-weight:700}.mode-hint{opacity:.8;font-size:.75rem;font-weight:500}.mode-btn.active .mode-hint{opacity:.9}.filter-mode-description{color:#0c4a6e;border-left:2px solid #7dd3fc;flex:1;padding-left:.5rem;font-size:.875rem;font-weight:500}.query-builder{flex-direction:column;gap:0;display:flex}.query-builder-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px solid #e2e8f0;border-radius:16px;margin-bottom:28px;padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014}.query-builder-card:hover{border-color:#0891b2;transform:translateY(-4px);box-shadow:0 8px 24px #0891b233}.query-info{flex-direction:column;gap:20px;margin-top:20px;display:flex}.query-info-item{align-items:center;gap:16px;display:flex}.query-info-item label{color:#475569;min-width:140px;font-size:14px;font-weight:700}.query-info-item input,.query-info-item select.collection-select{background:#fff;border:2px solid #cbd5e1;border-radius:10px;flex:1;padding:14px 16px;font-size:15px;font-weight:500;transition:all .2s}.query-info-item input:hover,.query-info-item select.collection-select:hover{background:#f8fafc;border-color:#0891b2}.query-info-item input:focus,.query-info-item select.collection-select:focus{background:#fff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.query-info-item select.collection-select{cursor:pointer}@media (max-width:767px){.query-builder-card{border-radius:12px;margin-bottom:16px;padding:16px}.query-info{gap:16px;margin-top:16px}.query-info-item{flex-direction:column;align-items:stretch;gap:8px}.query-info-item label{min-width:unset;font-size:13px}.query-info-item input,.query-info-item select.collection-select{width:100%;padding:12px 14px;font-size:14px}}@media (max-width:479px){.query-builder-card{padding:12px}.query-info-item label{font-size:12px}.query-info-item input,.query-info-item select.collection-select{padding:10px 12px;font-size:13px}}@media (hover:none) and (pointer:coarse){.query-builder-card:hover{transform:none}}.results-container{box-sizing:border-box;background:#fff;border:2px solid #e2e8f0;border-radius:12px;width:100%;max-width:100%;margin-top:24px;padding:2rem;overflow:hidden;box-shadow:0 4px 12px #00000014}.results-header{border-bottom:2px solid var(--link-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.results-header h3{color:var(--text-color);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700}.results-meta{align-items:center;gap:1rem;display:flex}.meta-badge{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:2px solid #fff;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:700;box-shadow:0 2px 8px #0891b24d}.btn-export-excel{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 8px #10b9814d;color:#fff!important;background:linear-gradient(135deg,#10b981,#059669)!important}.btn-export-excel:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166;color:#fff!important;background:linear-gradient(135deg,#059669,#047857)!important}.btn-export-excel:active{transform:translateY(0);color:#fff!important;background:linear-gradient(135deg,#047857,#065f46)!important}.meta-separator{color:var(--soft-grey);font-weight:700}.pagination-controls{border:1px solid var(--border-color);background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.pagination-size select{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-size:.9rem;transition:all .2s}.pagination-buttons button{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);background:#fff;border-radius:6px;min-width:36px;padding:6px 12px;font-size:1rem;font-weight:600;transition:all .2s}.pagination-buttons button:hover:not(:disabled){background:var(--link-color);color:#fff;border-color:var(--link-color);transform:translateY(-1px);box-shadow:0 2px 6px #2563eb4d}.results-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-color);max-height:620px;overflow:auto}.results-table thead{background:var(--text-color);z-index:10;position:sticky;top:0}.results-table th{text-align:left;color:#fff;border-bottom:2px solid var(--link-color);white-space:nowrap;letter-spacing:.02em;padding:1rem 1.25rem;font-size:.95rem;font-weight:700}.results-table td{border-bottom:1px solid var(--border-color);color:var(--text-color);vertical-align:top;max-width:400px;padding:1rem 1.25rem;font-weight:400;position:relative;overflow:auto}.results-table tbody tr{background:var(--background);transition:all .2s}.results-table tbody tr:nth-child(2n){background:var(--light-grey)}.results-table tbody tr.clickable-row{cursor:pointer}.results-table tbody tr.clickable-row:hover{border-left:3px solid var(--link-color);background:#006fa31a}.results-table tbody tr.clickable-row:active{background:#006fa326}.results-empty{background:var(--background);border-radius:var(--radius-sm);text-align:center;color:var(--text-color);box-shadow:var(--shadow-sm);border:2px dashed var(--border-color);padding:4rem}.results-empty p{font-size:1.1rem;font-weight:500}.tree-node{vertical-align:top;word-wrap:break-word;max-width:100%;display:inline-block}.tree-value{font-family:Courier New,monospace;font-size:.85rem;display:inline-block}.tree-null{color:#999;font-style:italic}.tree-boolean{color:var(--link-color);font-weight:600}.tree-number{color:#e65100;font-weight:500}.tree-string{color:#2e7d32}.tree-empty{color:#999;font-style:italic}.tree-array-inline{color:#6a1b9a;font-weight:500}.tree-type-badge{background:#9333ea1a;border-radius:6px;padding:2px 8px;font-weight:600}.level-badge{color:#fff;background:#9333ea;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.cycle-warning{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;margin:4px 0;padding:8px}.cycle-warning .tree-key{color:#92400e;font-weight:600}@media (max-width:767px){.results-container{box-sizing:border-box;border-radius:8px;max-width:100vw;margin-top:16px;padding:1rem;overflow-x:hidden}.results-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem}.results-header h3{font-size:1.25rem}.results-meta{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.meta-badge{padding:6px 12px;font-size:13px}.btn-export-excel{justify-content:center;width:100%;padding:12px 16px;font-size:.9rem}.pagination-controls{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem}.pagination-info{min-width:unset;text-align:center;font-size:.85rem}.pagination-size{justify-content:center}.pagination-size label{font-size:.85rem}.pagination-size select{flex:1;max-width:120px}.pagination-buttons{justify-content:center;gap:.375rem}.pagination-buttons button{min-width:40px;padding:8px 12px;font-size:.9rem}.page-indicator{min-width:80px;font-size:.85rem}.results-table-wrapper{-webkit-overflow-scrolling:touch;border-left:none;border-right:none;border-radius:0;width:calc(100% + 2rem);max-height:500px;margin:0 -1rem;overflow:auto}.results-table{font-size:.85rem}.results-table th{white-space:nowrap;padding:.75rem .5rem;font-size:.85rem}.results-table th:first-child,.results-table td:first-child{background:inherit;z-index:5;position:sticky;left:0;box-shadow:2px 0 4px #0000001a}.results-table thead th:first-child{z-index:15}.results-table td{white-space:nowrap;min-width:100px;max-width:200px;padding:.75rem .5rem;font-size:.85rem;overflow-x:auto}.tree-toggle{gap:.25rem;padding:.25rem .5rem;font-size:.8rem}.tree-children{margin-left:.75rem;padding-left:.5rem}.tree-key,.tree-value{font-size:.8rem}.results-empty{padding:2rem 1rem}.results-empty p{font-size:1rem}}@media (max-width:479px){.results-container{border-radius:6px;padding:.75rem}.results-header h3{font-size:1.125rem}.meta-badge{padding:5px 10px;font-size:12px}.btn-export-excel{padding:10px 14px;font-size:.85rem}.pagination-controls{padding:.5rem}.pagination-info,.pagination-size label{font-size:.8rem}.pagination-buttons button{min-width:36px;padding:6px 10px;font-size:.85rem}.page-indicator{min-width:70px;font-size:.8rem}.results-table{font-size:.8rem}.results-table th{padding:.625rem .375rem;font-size:.8rem}.results-table td{max-width:200px;padding:.625rem .375rem;font-size:.8rem}.tree-toggle,.tree-key,.tree-value{font-size:.75rem}}@media (min-width:768px) and (max-width:1023px){.results-container{padding:1.5rem}.results-header{flex-wrap:wrap}.pagination-controls{flex-wrap:nowrap}.results-table th{padding:.875rem 1rem}.results-table td{max-width:350px;padding:.875rem 1rem}}@media (min-width:1024px){.results-table-wrapper{max-height:620px}}@media (hover:none) and (pointer:coarse){.pagination-buttons button{min-width:44px;min-height:44px}.tree-toggle{min-height:32px;padding:.375rem .75rem}.results-table tbody tr:hover{background:inherit}.results-table tbody tr.clickable-row:hover{background:inherit;border-left:none}.results-table tbody tr.clickable-row:active{border-left:3px solid var(--link-color);background:#006fa326}.tree-toggle:active{transform:scale(.95)}}@media (max-width:767px) and (orientation:landscape){.results-table-wrapper{max-height:350px}}.templates-loading{color:#6b7280;justify-content:center;align-items:center;height:100%;font-size:16px;font-weight:500;display:flex}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));align-content:start;gap:28px;display:grid}@media (max-width:767px){.multi-collection-search{height:100vh}.search-header{padding:16px 20px}.search-header h2{margin-bottom:6px;font-size:24px}.search-header p{font-size:13px}.search-content{padding:16px}.templates-grid{grid-template-columns:1fr;gap:16px}.template-card{border-radius:12px;padding:20px}.template-category{margin-bottom:14px;padding:6px 12px;font-size:11px}.template-card h3{margin-bottom:12px;font-size:18px}.template-description{margin-bottom:16px;font-size:13px}.collections-list{flex-wrap:wrap;gap:6px;margin-bottom:16px}.collection-chip{padding:6px 12px;font-size:12px}.template-actions{flex-direction:column;gap:8px}.template-actions button{width:100%;padding:12px 20px;font-size:14px}}@media (max-width:479px){.search-header{padding:12px 16px}.search-header h2{font-size:20px}.search-header p{font-size:12px}.search-content{padding:12px}.template-card{padding:16px}.template-card h3{font-size:16px}.collection-chip{padding:5px 10px;font-size:11px}}@media (min-width:768px) and (max-width:1023px){.search-header{padding:24px 28px}.search-header h2{font-size:28px}.search-content{padding:24px}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}}@media (min-width:1024px){.templates-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (hover:none) and (pointer:coarse){.template-actions button{min-height:44px}.template-card:hover{transform:none}.template-card:active{transform:scale(.98)}}@media (max-width:767px) and (orientation:landscape){.search-header{padding:12px 20px}.search-header h2{font-size:20px}.templates-grid{grid-template-columns:repeat(2,1fr)}}.detail-view-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00397599;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.detail-view-panel{border:2px solid var(--link-color);background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:1000px;max-height:90vh;animation:.3s slideUp;display:flex;box-shadow:0 20px 60px #0039754d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.detail-view-header{border-bottom:3px solid var(--link-color);background:var(--link-color);color:#fff;border-radius:12px 12px 0 0;justify-content:space-between;align-items:flex-start;padding:1.75rem 2rem;display:flex}.detail-view-header h2{letter-spacing:-.01em;margin:0 0 .75rem;font-size:1.75rem;font-weight:600}.detail-view-meta{align-items:center;gap:.875rem;display:flex}.collection-badge{color:#fff;background:#ffffff40;border:1px solid #ffffff4d;border-radius:6px;padding:.375rem .875rem;font-size:.85rem;font-weight:600}.id-badge{color:#fff;background:#ffffff26;border:1px solid #fff3;border-radius:6px;padding:.375rem .875rem;font-family:Courier New,monospace;font-size:.85rem}.close-button{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:.375rem .75rem;font-size:1.5rem;line-height:1;transition:all .2s}.close-button:hover{background:#ffffff4d;transform:scale(1.1)}.detail-view-content{background:var(--light-bg);flex:1;padding:2rem;overflow-y:auto}.detail-loading{color:var(--text-color);justify-content:center;align-items:center;padding:3rem;font-size:1.1rem;display:flex}.detail-error{color:#dc2626;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem;display:flex}.detail-error button{background:var(--button-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:600}.document-content{flex-direction:column;gap:1.25rem;display:flex}.document-field{border-left:4px solid var(--border-color);background:#fff;border-radius:6px;padding:1rem 1.25rem;transition:all .2s}.document-field:hover{border-left-color:var(--link-color);box-shadow:0 2px 8px #006fa326}.field-name{color:var(--text-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.95rem;font-weight:700}.field-value{color:var(--text-color);line-height:1.6}.value-null{color:var(--border-color);font-style:italic}.value-boolean{color:var(--link-color);font-weight:600}.value-number{color:#e65100;font-family:Courier New,monospace;font-weight:500}.value-string{color:#2e7d32;font-weight:500}.value-empty{color:var(--border-color);font-style:italic}.tree-node{vertical-align:top;display:inline-block}.tree-toggle{background:var(--light-bg);border:2px solid var(--link-color);color:var(--text-color);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;margin:.25rem 0;padding:.375rem .875rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.tree-toggle:hover{background:var(--link-color);color:#fff;transform:translate(2px)}.tree-toggle .arrow{color:var(--link-color);font-size:.7rem;transition:transform .2s;display:inline-block}.tree-toggle:hover .arrow{color:#fff}.tree-toggle .arrow.expanded{transform:rotate(90deg)}.tree-children{border-left:3px solid var(--border-color);margin-top:.5rem;margin-left:1.5rem;padding-left:1rem}.tree-item{align-items:flex-start;gap:.75rem;padding:.375rem 0;display:flex}.tree-key{color:var(--link-color);white-space:nowrap;font-family:Courier New,monospace;font-size:.875rem;font-weight:700}.detail-view-content::-webkit-scrollbar{width:10px}.detail-view-content::-webkit-scrollbar-track{background:var(--light-bg)}.detail-view-content::-webkit-scrollbar-thumb{background:linear-gradient(#0891b2,#0e7490);border-radius:5px}.detail-view-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(#06b6d4,#0891b2)}@media (max-width:767px){.detail-view-panel{border:none;border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh}.detail-view-header{border-radius:0;padding:16px 20px}.detail-view-header h2{margin-bottom:.5rem;font-size:1.25rem}.detail-view-meta{flex-wrap:wrap;gap:.5rem}.collection-badge,.id-badge{padding:.25rem .625rem;font-size:.75rem}.close-button{min-width:36px;min-height:36px;padding:.25rem .5rem;font-size:1.25rem}.detail-view-content{padding:16px 20px}.detail-grid{grid-template-columns:1fr;gap:12px}.detail-field label{margin-bottom:6px;font-size:.75rem}.detail-field .value{padding:10px 12px;font-size:.875rem}.detail-field .value-link{font-size:.8rem}.detail-view-content::-webkit-scrollbar{width:6px}}@media (max-width:479px){.detail-view-header{padding:12px 16px}.detail-view-header h2{font-size:1.125rem}.collection-badge,.id-badge{padding:.25rem .5rem;font-size:.7rem}.detail-view-content{padding:12px 16px}.detail-grid{gap:10px}.detail-field label{font-size:.7rem}.detail-field .value{padding:8px 10px;font-size:.8rem}}@media (min-width:768px) and (max-width:1023px){.detail-view-panel{width:90%;max-width:800px;max-height:90vh}.detail-view-header{padding:1.5rem 1.75rem}.detail-view-header h2{font-size:1.5rem}.detail-view-content{padding:1.5rem 1.75rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (hover:none) and (pointer:coarse){.close-button{min-width:44px;min-height:44px}.close-button:hover{background:#fff3}.close-button:active{background:#ffffff4d}}@media (max-width:767px) and (orientation:landscape){.detail-view-panel{max-height:100vh}.detail-view-header{padding:12px 20px}.detail-view-header h2{font-size:1.125rem}}.multi-collection-search{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);flex-direction:column;height:100%;display:flex;overflow:hidden}.search-header{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border-bottom:3px solid #0891b2;flex-shrink:0;padding:28px 36px;box-shadow:0 4px 12px #00000026}.search-header h2{color:#fff;letter-spacing:-.02em;text-shadow:0 2px 4px #0003;margin:0 0 10px;font-size:32px;font-weight:800}.search-header p{color:#cbd5e1;margin:0;font-size:15px;font-weight:500}.search-content{flex:1;padding:32px;overflow-y:auto}.mode-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:2px solid #0891b233;border-radius:12px;justify-content:center;gap:16px;margin-bottom:28px;padding:12px;display:flex;box-shadow:0 4px 12px #0000000d}.mode-selector button{cursor:pointer;color:#64748b;background:#fff;border:2px solid #0000;border-radius:10px;padding:14px 40px;font-size:15px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #00000014}.mode-selector button:hover{color:#0891b2!important;background:#fff!important;border-color:#0891b2!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0891b233!important}.mode-selector button.active{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-color:#0891b2;transform:translateY(0);box-shadow:0 4px 16px #0891b266;color:#fff!important}.template-mode{background:#fff;border:2px solid #e2e8f0;border-radius:16px;margin-bottom:28px;padding:32px;box-shadow:0 4px 12px #00000014}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:28px;margin-bottom:28px;display:grid}.template-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px solid #e2e8f0;border-radius:16px;flex-direction:column;padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #00000014}.template-card:hover{border-color:#0891b2;transform:translateY(-4px);box-shadow:0 8px 24px #0891b233}.template-category{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:8px;align-self:flex-start;margin-bottom:18px;padding:8px 16px;font-size:12px;font-weight:800;display:inline-block;box-shadow:0 2px 8px #0891b24d}.template-card h3{color:#1e293b;letter-spacing:-.01em;margin:0 0 14px;font-size:20px;font-weight:800}.template-description{color:#64748b;flex:1;margin:0 0 22px;font-size:14px;line-height:1.65}.template-details-box{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #bae6fd;border-radius:10px;flex-direction:column;gap:12px;margin-bottom:22px;padding:20px;display:flex;box-shadow:inset 0 2px 4px #0891b21a}.detail-item{justify-content:space-between;align-items:center;font-size:14px;display:flex}.detail-label{color:#475569;font-weight:700}.detail-value{color:#0891b2;background:#fff;border:1px solid #bae6fd;border-radius:6px;padding:4px 12px;font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:16px;font-weight:800}.template-actions{gap:12px;display:flex}.template-actions button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:14px 24px;font-size:15px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-select{box-shadow:0 4px 12px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important;border:none!important}.btn-select:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0891b266;background:linear-gradient(135deg,#0e7490 0%,#155e75 100%)!important}.back-to-templates{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;align-items:center;gap:8px;margin-bottom:20px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.back-to-templates:hover{color:#111827;background:#e5e7eb}.back-to-templates svg{width:18px;height:18px}.custom-mode{background:#fff;border:2px solid #e2e8f0;border-radius:16px;margin-bottom:28px;padding:32px;box-shadow:0 4px 12px #00000014}.template-selector{margin-bottom:20px}.template-selector label{color:#111827;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.template-selector select{cursor:pointer;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:12px 16px;font-size:14px;transition:all .2s}.template-selector select:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.template-details{margin-top:20px}.template-info{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:2px solid #93c5fd;border-radius:12px;margin-bottom:24px;padding:24px}.template-info h3{color:#1e40af;letter-spacing:-.01em;margin:0 0 8px;font-size:20px;font-weight:700}.template-info p{color:#1e40af;margin:0;font-size:14px;font-weight:500;line-height:1.6}.filter-values h4{color:#111827;margin:0 0 16px;font-size:16px;font-weight:700}.filter-input{margin-bottom:12px}.filter-input label{color:#6b7280;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.filter-input input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:all .2s}.filter-input input:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.collection-selector{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #cbd5e1;border-radius:12px;margin-bottom:32px;padding:24px;box-shadow:0 2px 8px #0000000d}.selector-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.selector-header h4{color:#1e293b;margin:0;font-size:18px;font-weight:800}.selector-actions{gap:10px;display:flex}.selector-actions button{cursor:pointer;color:#64748b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:none;box-shadow:0 2px 4px #0000000d}.selector-actions button:hover{cursor:pointer;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:none;color:#64748b!important;background:#fff!important;border:2px solid #cbd5e1!important;transform:none!important;box-shadow:0 2px 4px #0000000d!important}.selector-hint{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #fbbf24;border-radius:10px;margin:14px 0;padding:14px 18px;font-size:14px;font-weight:600;box-shadow:0 2px 6px #fbbf2433}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:18px;display:grid}.collection-checkbox{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;align-items:center;padding:14px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 4px #0000000a}.collection-checkbox:hover{background:#f0f9ff;border-color:#0891b2;transform:translateY(-1px);box-shadow:0 4px 8px #0891b226}.collection-checkbox input[type=checkbox]{cursor:pointer;accent-color:#0891b2;width:20px;height:20px;margin-right:12px}.collection-checkbox input[type=checkbox]:checked+.collection-name{color:#0891b2;font-weight:800}.collection-name{color:#1e293b;flex:1;font-size:14px;font-weight:600}.collection-count{color:#94a3b8;background:#f1f5f9;border-radius:6px;margin-left:10px;padding:4px 10px;font-size:12px;font-weight:700}.query-name{margin-bottom:20px}.query-name label{color:var(--text-color);margin-bottom:8px;font-weight:600;display:block}.query-name input{border:2px solid var(--border-color);width:100%;color:var(--text-color);border-radius:6px;padding:10px;font-size:14px}.selected-fields,.filters-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #cbd5e1;border-radius:12px;margin-bottom:32px;padding:24px;box-shadow:0 2px 8px #0000000d}.selected-fields h4,.filters-section h4{color:#1e293b;margin:0 0 18px;font-size:18px;font-weight:800}.field-hint{color:#1e40af;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border:2px solid #93c5fd;border-radius:10px;margin:0 0 18px;padding:12px 16px;font-size:14px;font-weight:600;box-shadow:0 2px 6px #3b82f633}.fields-list,.filters-list{margin-bottom:15px}.field-item,.filter-item{background:#fff;border:2px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:14px;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000a}.field-select-dropdown{color:#1e293b;cursor:pointer;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #0891b2;border-radius:8px;flex:2;min-width:200px;padding:10px 12px;font-size:14px;font-weight:600;transition:all .2s}.field-select-dropdown:hover{background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);border-color:#0e7490}.field-select-dropdown:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b233}.or-text{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;padding:0 4px;font-size:12px;font-weight:700}.field-input-wrapper{flex-direction:column;flex:2;gap:5px;display:flex}.field-dropdown{cursor:pointer;color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;font-weight:600;transition:all .2s}.field-dropdown:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.field-path-input{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;flex:2;padding:10px 14px;font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:14px;font-weight:600;transition:all .2s}.field-path-input:focus{background:#f0f9ff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.field-manual-input{color:#64748b;background:#f8fafc;border:2px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 12px;font-size:13px;font-style:italic;transition:all .2s}.field-manual-input:focus{color:#1e293b;background:#fff;border-color:#0891b2;outline:none;font-style:normal;box-shadow:0 0 0 3px #0891b21a}.field-item input,.field-item select,.filter-item input,.filter-item select{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;transition:all .2s}.field-item input:focus,.field-item select:focus,.filter-item input:focus,.filter-item select:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.operator-select{flex:1.5;min-width:180px}.filter-value-input{flex:1.5}.field-item input:first-child,.filter-item input:first-child{flex:2}.field-item input:nth-child(2),.filter-item input:nth-child(3),.field-item select,.filter-item select{flex:1}.field-item button,.filter-item button{cursor:pointer;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:700;color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important}.field-item button:hover,.filter-item button:hover{color:#fff!important;box-shadow:none!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important;transform:none!important}.selected-fields>button,.filters-section>button{cursor:pointer;border-radius:10px;margin-top:10px;padding:12px 24px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important;border:none!important}.selected-fields>button:hover,.filters-section>button:hover{color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important;border:none!important;transform:none!important;box-shadow:0 4px 12px #0891b24d!important}.lookups-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #cbd5e1;border-radius:12px;margin-bottom:32px;padding:24px;box-shadow:0 2px 8px #0000000d}.lookups-section h4{color:#1e293b;margin:0 0 18px;font-size:18px;font-weight:800}.lookups-list{flex-direction:column;gap:20px;margin-bottom:18px;display:flex}.lookup-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 4px 12px #00000014}.lookup-card:hover{border-color:#0891b2;transform:translateY(-2px);box-shadow:0 8px 20px #0891b226}.lookup-header{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-bottom:2px solid #0e7490;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.lookup-number{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:800}.lookup-grid{grid-template-columns:1fr 1fr;gap:16px;padding:24px;display:grid}.lookup-field{flex-direction:column;gap:8px;display:flex}.lookup-field label{color:#475569;text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:700}.lookup-field input,.lookup-field select{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s}.lookup-field input:focus,.lookup-field select:focus{background:#f0f9ff;border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.lookup-field input::placeholder{color:#94a3b8;font-style:italic;font-weight:500}.remove-lookup-btn{cursor:pointer;white-space:nowrap;border-radius:6px;height:fit-content;padding:8px 12px;font-size:14px;color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important}.remove-lookup-btn:hover{color:#fff!important;box-shadow:none!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important;transform:none!important}.lookups-section>button{cursor:pointer;border-radius:10px;padding:12px 24px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important;border:none!important}.lookups-section>button:hover{color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important;border:none!important;transform:none!important;box-shadow:0 4px 12px #0891b24d!important}.query-limit{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #cbd5e1;border-radius:12px;margin-bottom:32px;padding:24px;box-shadow:0 2px 8px #0000000d}.query-limit label{color:#1e293b;margin-bottom:10px;font-size:18px;font-weight:800;display:block}.query-limit input{color:#1e293b;background:#fff;border:2px solid #cbd5e1;border-radius:8px;width:240px;padding:12px 16px;font-size:15px;font-weight:600;transition:all .2s}.query-limit input:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.custom-mode button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:none;border-radius:8px;margin-top:12px;padding:10px 18px;font-size:13px;font-weight:700;box-shadow:0 4px 12px #0891b24d}.execute-button,.custom-mode .execute-button{cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:20px;padding:16px 24px;font-size:16px;font-weight:700;box-shadow:0 4px 12px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important}.execute-button:disabled,.custom-mode .execute-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;color:#6b7280;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)!important}.search-results{background:#fff;border:2px solid #e2e8f0;border-radius:16px;margin-top:28px;padding:32px;box-shadow:0 4px 16px #00000014}.results-summary h3{color:#1e293b;letter-spacing:-.02em;margin:0 0 24px;font-size:26px;font-weight:800}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px;display:grid}.stat{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #cbd5e1;border-radius:12px;flex-direction:column;gap:10px;padding:20px;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000000d}.stat:hover{border-color:#0891b2;transform:translateY(-2px);box-shadow:0 4px 12px #0891b226}.pagination-controls{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #cbd5e1;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex;box-shadow:0 2px 8px #0000000d}.pagination-info{color:#64748b;min-width:200px;font-size:14px;font-weight:700}.pagination-size{align-items:center;gap:10px;display:flex}.pagination-size label{color:#64748b;font-size:14px;font-weight:700}.pagination-size select{cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;transition:all .2s}.pagination-size select:hover{border-color:#0891b2}.pagination-size select:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.pagination-buttons{align-items:center;gap:8px;display:flex}.pagination-buttons button{cursor:pointer;color:#475569;background:#fff;border:2px solid #cbd5e1;border-radius:8px;min-width:44px;padding:8px 16px;font-size:16px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.pagination-buttons button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-color:#0891b2;transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.pagination-buttons button:active:not(:disabled){transform:translateY(0)}.pagination-buttons button:disabled{opacity:.3;cursor:not-allowed;background:#f1f5f9}.page-indicator{color:#1e293b;text-align:center;min-width:120px;padding:8px 16px;font-size:14px;font-weight:700}.results-by-collection{margin-bottom:30px}.results-by-collection h3{color:#111827;margin:16px 0;font-size:16px;font-weight:700}.collection-counts{flex-wrap:wrap;gap:10px;display:flex}.collection-count{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:flex}.collection-badge{color:#111827;font-size:13px;font-weight:600}.count-badge{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.results-table-container{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.results-table{border-collapse:collapse;width:100%;font-size:14px}.results-table th{text-align:left;color:#111827;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:14px 12px;font-size:13px;font-weight:700;position:sticky;top:0}.results-table td{color:#374151;text-overflow:ellipsis;border-bottom:1px solid #e5e7eb;max-width:300px;padding:12px;overflow:hidden}.results-table pre{background:#f5f5f5;border-radius:4px;max-height:100px;margin:0;padding:8px;font-size:12px;overflow:auto}.source-badge{color:#fff;background:#10b981;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.results-table tr.collection-Property .source-badge{background:#0891b2}.results-table tr.collection-Aspect .source-badge{background:#7c3aed}.results-table tr.collection-Classification .source-badge{background:#ec4899}.results-table tr.collection-Quantity .source-badge{background:#fd7e14}.btn-add-small:hover{background:linear-gradient(135deg,#0e7490 0%,#155e75 100%);transform:translateY(-2px);box-shadow:0 6px 20px #0891b266}@media (max-width:767px){.multi-collection-search{height:100vh}.search-header{padding:16px 20px}.search-header h2{margin-bottom:6px;font-size:24px}.search-header p{font-size:13px}.search-content{padding:16px}.mode-selector{flex-direction:column;gap:8px;margin-bottom:20px;padding:8px}.mode-selector button{width:100%;padding:12px 20px;font-size:14px}.template-mode{border-radius:12px;margin-bottom:20px;padding:20px 16px}.templates-grid{grid-template-columns:1fr;gap:16px;margin-bottom:20px}.template-card{border-radius:12px;padding:20px}.template-card h3{margin-bottom:12px;font-size:18px}.template-card .badge{padding:4px 8px;font-size:11px}.template-description{margin-bottom:12px;font-size:13px}.collections-list{gap:6px;margin-bottom:16px}.collection-chip{padding:6px 12px;font-size:12px}.template-actions{flex-direction:column;gap:8px}.template-actions button{justify-content:center;width:100%;padding:10px 16px;font-size:14px}.manual-mode{border-radius:12px;padding:20px 16px}.collections-selector{border-radius:10px;padding:16px}.collections-selector h3{margin-bottom:12px;font-size:16px}.collections-grid{grid-template-columns:1fr;gap:8px}.collection-option{padding:12px}.collection-option h4{font-size:14px}.collection-option p{font-size:12px}.selected-collections{flex-wrap:wrap;gap:6px;margin-bottom:16px}.selected-chip{padding:6px 10px;font-size:12px}.filter-controls{flex-direction:column;gap:12px;padding:16px}.filter-controls input,.filter-controls select{width:100%}.filter-controls button{width:100%;padding:10px 16px}.results-container{margin-top:16px}.source-badge{padding:3px 8px;font-size:10px}.btn-add-small{padding:6px 10px;font-size:12px}}@media (max-width:479px){.search-header{padding:12px 16px}.search-header h2{font-size:20px}.search-header p{font-size:12px}.search-content{padding:12px}.mode-selector button{padding:10px 16px;font-size:13px}.template-card{padding:16px}.template-card h3{font-size:16px}.collection-chip{padding:5px 10px;font-size:11px}}@media (min-width:768px) and (max-width:1023px){.search-header{padding:24px 28px}.search-header h2{font-size:28px}.search-content{padding:24px}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.collections-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (hover:none) and (pointer:coarse){.mode-selector button,.template-actions button,.collection-option,.btn-add-small{min-height:44px}.collection-option:hover{background:inherit}.collection-option:active{background:#e0f2fe;transform:scale(.98)}}@media (max-width:767px) and (orientation:landscape){.search-header{padding:12px 20px}.search-header h2{font-size:20px}.templates-grid{grid-template-columns:repeat(2,1fr)}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.query-chain-node{background:#fff;border:2px solid #ddd;border-radius:10px;min-width:300px;max-width:450px;font-size:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 10px #00000014}.query-chain-node.selected{border-color:#00b9d7;transform:translateY(-2px);box-shadow:0 6px 20px #00b9d740}.eclass-node{border-color:#00b9d7}.output-node{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%);border-right:none;border-radius:8px;min-width:280px;position:relative}.output-node .react-flow__handle-right,.output-node .react-flow__handle.source{display:none!important}.output-node-circle{clip-path:none!important;min-width:unset!important;border-radius:50%!important}.output-node.selected{filter:drop-shadow(0 0 10px #00b9d780)}.output-node-circle.selected{filter:drop-shadow(0 0 20px #217346cc);transition:all .3s;transform:scale(1.05)}.console-log-node.output-node-circle.selected{filter:drop-shadow(0 0 20px #1976d2cc)}.output-node .node-header{padding-right:35px;position:relative}.output-arrow{color:#fffffff2;text-shadow:0 2px 4px #0000004d;z-index:10;font-size:28px;font-weight:700;animation:1.5s ease-in-out infinite pulse-arrow;position:absolute;top:50%;right:10px;transform:translateY(-50%)}@keyframes pulse-arrow{0%,to{opacity:.7;transform:translateY(-50%)translate(0)scale(1)}50%{opacity:1;transform:translateY(-50%)translate(4px)scale(1.1)}}.node-query-form{max-height:500px;padding:8px;overflow-y:auto}.node-query-form .form-section{margin-bottom:8px;padding:10px}.node-query-form .section-title{font-size:11px}.node-query-form .section-icon{font-size:14px}.node-query-form .btn-add{padding:4px 8px;font-size:11px}.node-query-form .item-card{max-width:100%;padding:6px 8px;font-size:11px}.node-query-form .field-path,.node-query-form .output-field-name{text-overflow:ellipsis;max-width:180px;overflow:hidden}.node-query-form select,.node-query-form input{max-width:100%;padding:4px 6px;font-size:11px}.node-query-form .btn-remove{flex-shrink:0;width:22px;min-width:22px;height:22px;font-size:14px}.input-ports-section{background:#fff7ed;border-bottom:1px solid #fed7aa;padding:8px 10px}.input-ports-header-compact{color:#c2410c;text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-bottom:6px;padding-left:4px;font-size:10px;font-weight:700}.input-port-row{background:#fff;border:1px solid #fbbf24;border-radius:6px;align-items:center;gap:6px;max-width:100%;min-height:32px;margin-bottom:4px;padding:6px 8px 6px 24px;transition:all .2s;display:flex;position:relative;overflow:visible}.input-port-row:hover{background:#fffbeb;border-color:#f59e0b;box-shadow:0 2px 6px #f59e0b26}.input-port-icon{color:#f59e0b;flex-shrink:0;font-size:12px;font-weight:700}.input-port-name{color:#92400e;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;max-width:calc(100% - 50px);font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;font-weight:600;overflow:hidden}.inline-handle-left{flex-shrink:0;margin-top:-6px!important;position:absolute!important;top:50%!important;left:-8px!important;transform:none!important}.inline-handle-left.input-handle{box-shadow:0 2px 6px #f59e0b66;background:#f59e0b!important;border:2px solid #fff!important;width:12px!important;height:12px!important}.inline-handle-left.input-handle:hover{box-shadow:0 3px 10px #f59e0b99;background:#d97706!important;width:14px!important;height:14px!important;margin-top:-7px!important}.output-fields-expanded,.output-fields-compact{background:#f0fdf4;border-top:1px solid #86efac;padding:8px 10px}.output-fields-header{color:#047857;text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 4px;font-size:10px;font-weight:700;display:flex}.output-fields-header-compact{color:#047857;text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-bottom:6px;padding-left:4px;font-size:10px;font-weight:700}.output-fields-hint{color:#6ee7b7;text-transform:none;font-size:9px;font-style:italic;font-weight:500}.output-field-row{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;max-width:100%;min-height:32px;margin-bottom:4px;padding:6px 24px 6px 8px;transition:all .2s;display:flex;position:relative;overflow:visible}.output-field-row:hover{background:#f0f9ff;border-color:#00b9d7;box-shadow:0 2px 6px #00b9d726}.output-field-icon{color:#00b9d7;flex-shrink:0;font-size:12px;font-weight:700}.output-field-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;max-width:calc(100% - 50px);font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;font-weight:600;overflow:hidden}.inline-handle{flex-shrink:0;margin-top:-6px!important;position:absolute!important;top:50%!important;right:-8px!important;transform:none!important}.inline-handle.output-handle{box-shadow:0 3px 8px #0891b299;background:#0891b2!important;border:3px solid #fff!important;width:14px!important;height:14px!important}.inline-handle.output-handle:hover{box-shadow:0 4px 12px #0891b2cc;background:#0e7490!important;border-color:#f0f9ff!important;width:16px!important;height:16px!important;margin-top:-8px!important}.node-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #e2e8f0;border-left:4px solid #9e9e9e;border-top-left-radius:8px;border-top-right-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.eclass-node .node-header{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-left-color:#00b9d7}.node-status{text-align:center;width:20px;font-size:16px}.node-label-input{background:0 0;border:none;flex:1;padding:4px;font-size:13px;font-weight:600}.node-label-input:focus{background:#fff;border-radius:3px;outline:none}.node-type-icon{justify-content:center;align-items:center;font-size:18px;display:flex}.node-expand-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#00b9d7 0%,#0099b8 100%);border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 4px #00b9d733}.node-expand-btn:hover{background:linear-gradient(135deg,#00a3bf 0%,#008097 100%);transform:scale(1.1);box-shadow:0 3px 8px #00b9d74d}.node-collection-badge{text-align:center;letter-spacing:.3px;border-bottom:1px solid #7dd3fc;color:#0369a1!important;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%)!important;padding:6px 12px!important;font-size:10px!important;font-weight:700!important}.node-collection{padding:10px}.collection-select{border:1px solid #ddd;border-radius:4px;width:100%;padding:6px;font-size:12px}.node-input-path{color:#1976d2;background:#e3f2fd;border-bottom:1px solid #90caf9;padding:6px 10px;font-family:monospace;font-size:11px}.node-expanded{border-top:1px solid #eee;max-height:500px;padding:10px;overflow-y:auto}.node-section{margin-bottom:12px}.section-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.section-header label{color:#666;text-transform:uppercase;font-size:11px;font-weight:600}.add-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;display:flex}.add-btn:hover{background:#45a049}.remove-btn{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;display:flex}.remove-btn:hover{background:#da190b}.filter-row,.field-row{align-items:center;gap:4px;margin-bottom:4px;display:flex}.field-select{border:1px solid #ddd;border-radius:3px;flex:2;padding:4px;font-size:11px}.operator-select,.value-input,.alias-input{border:1px solid #ddd;border-radius:3px;flex:1;padding:4px;font-size:11px}.limit-input{border:1px solid #ddd;border-radius:3px;width:80px;margin-left:8px;padding:4px;font-size:11px}.node-stats{background:#fafafa;border-top:1px solid #eee;border-bottom-right-radius:6px;border-bottom-left-radius:6px;gap:10px;padding:8px 10px;font-size:11px;display:flex}.stat{color:#666;align-items:center;gap:4px;display:inline-flex}.error-message{color:#f44336;cursor:help}.filters-list,.fields-list{flex-direction:column;display:flex}.node-handle{background:#2196f3;border:2px solid #fff;width:10px;height:10px}.node-handle:hover{background:#1976d2}.input-mapping{margin-top:4px}.checkbox-label{cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer}.mapping-fields{background:#f9f9f9;border-radius:4px;margin-top:8px;padding:8px}.mapping-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.mapping-row:last-child{margin-bottom:0}.mapping-row label{color:#666;min-width:70px;font-size:10px}.node-ports-labels{color:#888;background:#fafafa;border-top:1px solid #eee;justify-content:space-between;padding:8px 10px;font-size:9px;display:flex}.input-ports-labels,.output-ports-labels{flex-direction:column;gap:2px;display:flex}.port-label{white-space:nowrap;text-overflow:ellipsis;background:#f0f0f0;border-radius:2px;max-width:120px;padding:2px 4px;overflow:hidden}.input-handle{background:#2196f3}.output-handle{background:#4caf50}.eclass-node{min-width:300px}.node-collection-badge{text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-query:hover{background:#e3f2fd;transition:all .2s;transform:scale(1.05)}.node-query-display{background:#f8f9fa;border-top:1px solid #e0e0e0;margin-top:4px;padding:8px 10px}.query-display-header{color:#666;text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;font-weight:600;display:flex}.btn-copy-query{color:#fff;cursor:pointer;text-transform:none;background:linear-gradient(135deg,#00b9d7 0%,#0099b8 100%);border:none;border-radius:4px;align-items:center;gap:3px;padding:3px 8px;font-size:9px;font-weight:600;transition:all .2s;display:flex}.btn-copy-query:hover{background:linear-gradient(135deg,#0099b8 0%,#007a99 100%);transform:translateY(-1px);box-shadow:0 2px 6px #00b9d74d}.btn-copy-query:active{transform:translateY(0)}.query-code{color:#2c3e50;white-space:pre;background:#fff;border:1px solid #e0e0e0;border-radius:3px;max-height:200px;margin:0;padding:8px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:9px;line-height:1.5;overflow:auto}.fields-chips-list{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.field-chip{color:#1976d2;background:#e3f2fd;border:1px solid #90caf9;border-radius:12px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.field-chip .remove-btn{color:#1976d2;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:13px}.fields-dropdown{margin-top:4px}.results-query{background:#f5f5f5;border:1px solid #ddd;border-radius:3px;margin-bottom:8px;padding:8px}.query-label{color:#555;margin-bottom:4px;font-size:10px;font-weight:600}.query-code{color:#333;background:#fff;border:1px solid #e0e0e0;border-radius:2px;max-height:150px;margin:0;padding:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:9px;line-height:1.4;overflow:auto}.node-type-badge{color:#fff;letter-spacing:.5px;-webkit-user-select:none;user-select:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;transition:all .2s;display:inline-flex}.node-type-badge-small{min-width:28px;height:28px;padding:0 6px;font-size:10px}.node-type-badge-medium{min-width:38px;height:38px;padding:0 8px;font-size:13px}.node-type-badge-large{min-width:48px;height:48px;padding:0 10px;font-size:16px}.node-type-badge-default{box-shadow:0 2px 8px #00000026}.node-type-badge-outline{box-shadow:none!important;background:0 0!important}.node-type-badge-solid{box-shadow:0 1px 3px #0000001f}.node-type-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.node-type-badge-outline:hover{transform:scale(1.05);box-shadow:none!important}.simple-eclass-node{background:#fff;border:2px solid #d1d5db;border-radius:10px;width:280px;padding:0;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000014}.simple-eclass-node.selected{border-color:#006fa3;box-shadow:0 6px 24px #006fa34d}.simple-eclass-node:hover{box-shadow:0 4px 16px #00000026}.simple-port{cursor:pointer;z-index:10;border-radius:50%;transition:all .2s;box-shadow:0 2px 4px #0000001a;border:3px solid #fff!important;width:16px!important;height:16px!important}.simple-port:hover{box-shadow:0 4px 8px #0003;width:20px!important;height:20px!important}.simple-port-input{background:#28a745!important;left:-8px!important}.simple-port-input:hover{background:#218838!important}.simple-port-output{background:#0891b2!important;border:3px solid #fff!important;right:-8px!important;box-shadow:0 3px 8px #0891b299!important}.simple-port-output:hover{background:#0e7490!important;border-color:#f0f9ff!important;width:22px!important;height:22px!important;box-shadow:0 4px 12px #0891b2cc!important}.react-flow__handle-valid{background:#28a745!important}.react-flow__handle-connecting{animation:1s infinite pulse;background:#0891b2!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.port-label-left,.port-label-right{color:#fff;letter-spacing:1px;z-index:15;pointer-events:none;border-radius:12px;padding:4px 8px;font-size:9px;font-weight:800;position:absolute;top:20px;box-shadow:0 2px 6px #00000040}.port-label-left{background:linear-gradient(135deg,#28a745 0%,#20903d 100%);left:-42px}.port-label-right{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);right:-45px}.simple-node-header{border-bottom:2px solid var(--border-color);background:linear-gradient(135deg,#006fa30d 0%,#0000 100%);align-items:center;gap:8px;padding:10px 12px;transition:all .2s;display:flex}.simple-node-header:hover{background:linear-gradient(135deg,#006fa314,#0000)}.node-status-icon{background:var(--light-grey);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;transition:all .2s;display:flex}.simple-eclass-node.selected .node-status-icon{background:#006fa326;border:2px solid #006fa3}.node-type-icon{line-height:1}.node-label-editable{color:var(--text-color);background:0 0;border:none;border-radius:4px;outline:none;flex:1;min-width:0;padding:6px 8px;font-size:14px;font-weight:600;transition:all .2s}.node-label-editable:hover{background:#006fa30d}.node-label-editable:focus{background:#fff;box-shadow:0 0 0 2px #006fa34d}.node-edit-button{cursor:pointer;text-shadow:0 1px 3px #0000004d;outline-offset:1px;background:#0891b2;border:3px solid #fff;border-radius:8px;outline:2px solid #0891b24d;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:18px;font-weight:700;line-height:1;transition:all .2s;display:flex;box-shadow:0 3px 10px #0891b280;color:#fff!important}.node-edit-button:hover{text-shadow:0 2px 4px #0006;border-color:#fff;outline-color:#0e749080;transform:scale(1.12);box-shadow:0 5px 16px #0891b299;color:#fff!important;background:#0e7490!important}.node-edit-button:active{transform:scale(1);box-shadow:0 2px 8px #0891b280;background:#155e75!important}.node-collection-tag{background:var(--light-grey);border-bottom:1px solid var(--border-color);color:var(--text-color);text-transform:uppercase;letter-spacing:1px;text-align:center;opacity:.7;padding:6px 12px;font-size:10px;font-weight:600}.node-compact-info{flex-direction:column;gap:6px;padding:12px;display:flex}.info-chip{background:var(--light-grey);color:var(--text-color);border-left:3px solid #0891b2;border-radius:5px;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.info-chip:hover{background:#e0e0e0;transform:translate(2px)}.info-chip.success{color:#155724;background:#d4edda;border-left-color:#28a745;font-weight:600}.info-chip.success:hover{background:#c3e6cb}.info-chip.warning{color:#92400e;background:#fef3c7;border-left-color:#fcd34d}.info-chip.warning:hover{background:#fde68a}.info-chip.clickable{cursor:pointer}.info-chip.clickable:hover{transform:translate(4px)scale(1.02);box-shadow:0 2px 8px #28a7454d}.info-text{font-weight:600}.node-error-box{border-left:4px solid var(--delete-color);color:#721c24;background:#f8d7da;border-radius:5px;margin:0 12px 12px;padding:10px 12px;font-size:11px;font-weight:600}.error-text{line-height:1.5}@media (max-width:768px){.simple-eclass-node{width:240px}.simple-port{width:14px!important;height:14px!important}.port-label-left,.port-label-right{padding:2px 5px;font-size:7px}}.split-screen-editor{z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.split-screen-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:absolute;inset:0}.split-screen-container{background:#fff;border-radius:16px;flex-direction:column;width:95vw;max-width:1800px;height:90vh;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.split-screen-header{background:linear-gradient(135deg, var(--text-color) 0%, #1e3a5f 100%);color:#fff;border-bottom:3px solid var(--link-color);justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.header-icon{background:var(--button-color);color:#fff;letter-spacing:.5px;border-radius:8px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:14px;font-weight:700;display:inline-flex}.header-title{color:#fff;margin:0;font-size:24px;font-weight:700}.header-collection{text-transform:uppercase;letter-spacing:.5px;background:#fff3;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.header-right{align-items:center;gap:12px;display:flex}.btn-execute{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-execute:hover:not(:disabled){background:#16a34a;transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.btn-execute:disabled{cursor:not-allowed;background:#94a3b8}.btn-close{cursor:pointer;pointer-events:auto;border-radius:8px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:10px 20px;font-size:14px;font-weight:600;display:flex;color:#fff!important;background:#ef4444!important;border:none!important}.btn-close:hover{color:#fff!important;box-shadow:none!important;background:#ef4444!important;transform:none!important}.split-screen-body{border-top:1px solid #e2e8f0;flex:1;grid-template-columns:1fr 1.5fr 1fr;gap:0;display:grid;overflow:hidden}.split-screen-body.trigger-compact{justify-content:center;align-items:flex-start;padding:0;display:flex}.split-screen-body.trigger-compact .column-config{width:100%;box-shadow:none;border:none;border-radius:0}.column{border-right:1px solid #e2e8f0;flex-direction:column;display:flex;overflow:hidden}.column:last-child{border-right:none}.column-inputs{background:#f8fafc}.column-config{background:#fff}.column-outputs{background:#f8fafc}.column-header{background:#fff;border-bottom:2px solid #e2e8f0;align-items:center;gap:10px;padding:16px 20px;display:flex}.column-inputs .column-header{background:#ecfdf5;border-bottom-color:#22c55e}.column-config .column-header{background:#eff6ff;border-bottom-color:#0891b2}.column-outputs .column-header{background:#fef3c7;border-bottom-color:#f59e0b}.column-icon{font-size:20px}.column-title{color:#1e293b;flex:1;margin:0;font-size:16px;font-weight:700}.column-badge{color:#475569;background:#e2e8f0;border-radius:10px;padding:4px 10px;font-size:11px;font-weight:600}.column-content{flex:1;padding:20px;overflow-y:auto}.config-drop-zone{transition:background-color .2s;position:relative}.config-drop-zone.drag-over-zone{outline-offset:-10px;outline:3px dashed #00b9d7;background-color:#e0f7ff!important}.drop-hint-banner{color:#006080;text-align:center;background:linear-gradient(135deg,#e0f7ff 0%,#b3e5fc 100%);border:1px solid #00b9d7;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:12px;font-weight:500}.empty-state{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.empty-icon{opacity:.5;font-size:48px}.empty-state p{color:#475569;margin:0;font-size:16px;font-weight:600}.empty-state small{color:#94a3b8;font-size:13px}.input-summary{background:#fff;border:2px solid #22c55e;border-radius:10px;margin-bottom:20px;padding:16px}.summary-text{color:#1e293b;margin:0;font-size:14px;line-height:1.6}.summary-text strong{color:#22c55e;font-weight:700}.draggable-fields-section{margin-bottom:24px}.section-subtitle{color:#475569;text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:13px;font-weight:700;display:flex}.drag-hint{color:#94a3b8;text-transform:none;letter-spacing:0;font-size:11px;font-weight:500}.draggable-fields-list{flex-direction:column;gap:8px;display:flex}.draggable-field{cursor:grab;background:#fff;border:2px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.draggable-field:hover{border-color:#0891b2;transform:translate(4px);box-shadow:0 2px 8px #0891b233}.draggable-field:active{cursor:grabbing;opacity:.6}.drag-handle{color:#94a3b8;font-size:16px;line-height:1}.field-info{flex-direction:column;flex:1;gap:4px;display:flex}.field-name{color:#1e293b;font-size:13px;font-weight:600}.field-sample{color:#64748b;font-family:Courier New,monospace;font-size:11px}.drop-zone-indicator{color:#0c4a6e;text-align:center;background:#dbeafe;border:2px dashed #0891b2;border-radius:8px;margin-bottom:16px;padding:16px;font-size:13px;font-weight:600;animation:1.5s infinite pulse-border}@keyframes pulse-border{0%,to{border-color:#0891b2}50%{border-color:#22d3ee}}.input-preview-section,.output-preview-section{margin-top:24px}.data-preview{background:#0f172a;border:1px solid #334155;border-radius:8px;overflow:hidden}.preview-json{color:#cbd5e1;max-height:300px;margin:0;padding:16px;font-family:Courier New,monospace;font-size:11px;line-height:1.6;overflow-x:auto}.preview-more{color:#94a3b8;text-align:center;background:#1e293b;border-top:1px solid #334155;padding:12px 16px;font-size:12px}.config-hints{margin-top:24px}.hint-box{color:#78350f;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;padding:12px 16px;font-size:13px;line-height:1.6}.output-summary{gap:12px;margin-bottom:20px;display:flex}.summary-stat{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:12px 16px;display:flex}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.selected-fields-list{margin-bottom:20px}.fields-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.field-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.field-bullet{color:#0891b2;font-weight:700}.field-path{color:#1e293b;flex:1;font-family:Courier New,monospace}.field-alias{color:#64748b;font-size:11px;font-style:italic}.text-muted{color:#94a3b8;font-size:13px;font-style:italic}.output-info-box{color:#0c4a6e;background:#eff6ff;border-left:4px solid #0891b2;border-radius:6px;margin-top:20px;padding:12px 16px;font-size:13px;line-height:1.6}.data-preview-tree{background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;max-height:600px;padding:12px;font-family:Courier New,monospace;font-size:13px;overflow-y:auto}.tree-row{border-bottom:1px solid #e0e0e0;margin-bottom:16px;padding-bottom:16px}.tree-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.tree-row>strong{color:#1976d2;margin-bottom:8px;font-size:14px;display:block}.tree-node{margin-left:12px}.tree-toggle{cursor:pointer;font-family:inherit;font-size:inherit;color:#333;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:4px 8px;transition:background-color .2s;display:flex}.tree-toggle:hover{background-color:#f0f0f0}.arrow{font-size:10px;transition:transform .2s;display:inline-block}.arrow.expanded{transform:rotate(90deg)}.tree-children{border-left:1px solid #ddd;margin-left:20px;padding-left:8px}.tree-item{align-items:flex-start;gap:8px;margin:4px 0;display:flex}.tree-key{color:#6a1b9a;flex-shrink:0;font-weight:600}.tree-key.draggable{cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f3e5f5 0%,#e1bee7 100%);border:1px solid #ba68c8;border-radius:4px;padding:2px 6px;transition:all .2s}.tree-key.draggable:hover{color:#fff;background:linear-gradient(135deg,#ba68c8 0%,#9c27b0 100%);transform:translateY(-1px);box-shadow:0 2px 6px #9c27b04d}.tree-key.draggable:active{opacity:.7;transform:scale(.98)}.tree-value{color:#333}.tree-value.clickable{cursor:pointer;border-radius:3px;padding:2px 4px;transition:background-color .2s}.tree-value.clickable:hover{color:#1976d2;background-color:#e3f2fd}.tree-value.draggable{cursor:move;-webkit-user-select:none;user-select:none}.tree-value.draggable:hover{color:#2e7d32;background-color:#c8e6c9;box-shadow:0 2px 4px #2e7d3233}.tree-value.draggable:active{opacity:.6;transform:scale(.95)}.tree-value.tree-string{color:#2e7d32}.tree-value.tree-number{color:#c62828}.tree-value.tree-boolean{color:#d84315}.tree-value.tree-null{color:#757575;font-style:italic}.tree-value.tree-empty{color:#9e9e9e}.field-list-compact{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.field-list-compact li{background:#e3f2fd;border-radius:3px;padding:2px 8px;font-size:11px}.field-list-compact code{color:#1565c0;background:0 0;padding:0;font-weight:600}.selected-fields-info{border-top:1px solid #e0e0e0;margin-top:12px;padding-top:12px}.selected-fields-info small{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:600;display:block}.draggable-field{cursor:pointer;transition:all .2s}.draggable-field:hover{background-color:#e3f2fd;transform:translate(4px)}.draggable-field:active{transform:scale(.98)}@media (max-width:1400px){.split-screen-body{grid-template-columns:1fr 1.2fr 1fr}}@media (max-width:1024px){.split-screen-container{border-radius:0;width:100vw;height:100vh}.split-screen-body{grid-template-rows:auto auto auto;grid-template-columns:1fr;overflow-y:auto}.column{border-bottom:1px solid #e2e8f0;border-right:none;min-height:300px}.column:last-child{border-bottom:none}}.chain-manager-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.chain-manager-modal{background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%);border-radius:16px;flex-direction:column;width:90%;max-width:800px;max-height:85vh;animation:.3s ease-out slideUp;display:flex;box-shadow:0 20px 60px #0000004d}.chain-manager-header{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-bottom:2px solid #e5e7eb;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.chain-manager-header h2{color:#fff;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:700;display:flex}.chain-manager-header h2 svg{flex-shrink:0}.chain-manager-header .close-btn{color:#fff;cursor:pointer;background:#ffffff40;border:2px solid #ffffff4d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.chain-manager-header .close-btn svg{flex-shrink:0}.chain-manager-header .close-btn:hover{background:#ffffff59;border-color:#ffffff80;transform:translateY(-2px)}.chain-manager-header .close-btn:active{background:#fff3;transform:translateY(0)}.chain-manager-tabs{background:#f8f9fa;gap:8px;padding:16px 28px 0;display:flex}.chain-manager-tabs .tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.chain-manager-tabs .tab svg{flex-shrink:0}.chain-manager-tabs .tab:hover{color:#0891b2;background:#0891b21a}.chain-manager-tabs .tab:active{transform:scale(.98)}.chain-manager-tabs .tab.active{color:#0891b2;background:#fff;box-shadow:0 -2px 8px #0000000d}.chain-manager-content{background:#fff;border-radius:0 0 16px 16px;flex:1;padding:28px;overflow-y:auto}.chain-manager-error{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #ef4444;border-radius:10px;align-items:center;gap:10px;margin:16px 28px;padding:14px 18px;font-size:14px;font-weight:600;animation:.4s ease-in-out shake;display:flex}.chain-manager-error svg{flex-shrink:0}.save-chain-form{flex-direction:column;gap:24px;display:flex}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group input,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;background:#f3f4f6}.form-group textarea{resize:vertical;min-height:80px}.visibility-group{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-left:4px solid #0ea5e9;border-radius:8px;padding:16px}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:20px;height:20px}.checkbox-text{color:#0369a1;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.checkbox-text svg{flex-shrink:0}.visibility-hint{color:#0c4a6e;margin:8px 0 0 32px;font-size:12px;font-weight:500}.form-info{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-left:4px solid #0ea5e9;border-radius:8px;gap:24px;padding:16px;display:flex}.info-item{align-items:center;gap:8px;display:flex}.info-label{color:#0369a1;font-size:13px;font-weight:600}.info-value{color:#0c4a6e;font-size:15px;font-weight:700}.form-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #0891b24d}.btn-save svg{flex-shrink:0}.btn-save:hover:not(:disabled){background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);transform:translateY(-2px);box-shadow:0 6px 16px #0891b266}.btn-save:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #0891b24d}.btn-save:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.load-chain-section{flex-direction:column;gap:20px;display:flex}.search-box{position:relative}.search-box .search-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-box input{border:2px solid #e5e7eb;border-radius:10px;width:100%;padding:14px 18px 14px 44px;font-size:15px;transition:all .2s}.search-box input:focus{border-color:#0891b2;outline:none;box-shadow:0 0 0 3px #0891b21a}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.spinner{border:4px solid #e5e7eb;border-top-color:#0891b2;border-radius:50%;width:50px;height:50px;animation:.8s linear infinite spin}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-state svg{color:#9ca3af;opacity:.6}.empty-state p{color:#6b7280;margin:0;font-size:16px}.empty-state .hint{color:#9ca3af;font-size:14px}.btn-clear-search{color:#374151;cursor:pointer;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;margin-top:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-clear-search:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-clear-search:active{transform:translateY(0)}.chains-list{flex-direction:column;gap:16px;display:flex}.chain-item{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.chain-item:hover{border-color:#0891b2;transform:translateY(-2px);box-shadow:0 4px 12px #0891b226}.chain-item.selected{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#0891b2;box-shadow:0 4px 12px #0891b233}.chain-item-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.chain-title-row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.chain-item-header h3{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:700;overflow:hidden}.visibility-badge{border-radius:6px;flex-shrink:0;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.visibility-badge.public{color:#1e40af;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.visibility-badge.private{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.chain-item-actions{flex-shrink:0;gap:8px;display:flex}.btn-load{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.btn-load svg{flex-shrink:0}.btn-load:hover:not(:disabled){color:#fff;box-shadow:none;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);transform:none}.btn-load:active:not(:disabled){transform:translateY(0)}.btn-load:disabled{opacity:.5;cursor:not-allowed}.btn-delete{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;display:flex;color:#fff!important;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important}.btn-delete svg{flex-shrink:0}.btn-delete:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)!important;transform:translateY(-2px)!important;box-shadow:0 6px 16px #ef444480!important}.btn-delete:active{transform:translateY(0)!important;box-shadow:0 4px 12px #ef444466!important}.chain-item-description{color:#6b7280;margin:0 0 12px;font-size:14px;line-height:1.5}.chain-item-meta{gap:20px;margin-bottom:12px;display:flex}.meta-item{color:#9ca3af;align-items:center;gap:6px;font-size:13px;display:flex}.meta-item svg{flex-shrink:0}.chain-item-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag{color:#6b21a8;background:linear-gradient(135deg,#ddd6fe 0%,#e9d5ff 100%);border:1px solid #c4b5fd;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.delete-confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10001;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.delete-confirm-modal{background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);border-radius:16px;width:90%;max-width:480px;animation:.3s ease-out slideUp;overflow:hidden;box-shadow:0 20px 60px #0006}.delete-confirm-header{text-align:center;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-bottom:2px solid #fecaca;padding:32px 32px 24px}.delete-confirm-header svg{margin:0 auto 16px;animation:2s ease-in-out infinite pulse;display:block}.delete-confirm-header h3{color:#991b1b;margin:0;font-size:22px;font-weight:700}.delete-confirm-body{text-align:center;padding:28px 32px}.delete-confirm-body p{color:#6b7280;margin:0 0 8px;font-size:15px;line-height:1.6}.chain-name-highlight{color:#1f2937!important;margin:12px 0!important;font-size:18px!important;font-weight:700!important}.delete-confirm-actions{gap:12px;padding:0 32px 32px;display:flex}.delete-confirm-actions button{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.delete-confirm-actions button svg{flex-shrink:0}.btn-cancel{color:#374151;background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);box-shadow:0 2px 8px #0000001a}.btn-cancel:hover{background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 100%);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-cancel:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.btn-confirm-delete{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 12px #ef444466}.btn-confirm-delete:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)!important;transform:translateY(-2px)!important;box-shadow:0 6px 16px #ef444480!important}.btn-confirm-delete:active{transform:translateY(0)!important;box-shadow:0 4px 12px #ef444466!important}@media (max-width:767px){.chain-manager-modal{border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh}.chain-manager-header{border-radius:0;padding:16px 20px}.chain-manager-header h2{gap:8px;font-size:20px}.chain-manager-header .close-btn{width:36px;height:36px}.chain-manager-tabs{gap:6px;padding:12px 20px 0;overflow-x:auto}.chain-manager-tabs .tab{white-space:nowrap;padding:10px 16px;font-size:13px}.chain-manager-body,.chain-manager-search{padding:16px 20px}.chain-manager-search input{width:100%;padding:10px 14px;font-size:14px}.saved-chains-list{gap:12px}.chain-item{padding:16px}.chain-item-header{flex-direction:column;align-items:flex-start;gap:10px}.chain-item-info h3{font-size:16px}.chain-item-meta{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.chain-item-actions{justify-content:stretch;gap:6px;width:100%}.chain-item-actions button{flex:1;padding:10px;font-size:13px}.import-section,.export-section{padding:16px}.import-section h3,.export-section h3{font-size:16px}.import-section p,.export-section p{font-size:13px}.import-actions,.export-actions{flex-direction:column;gap:10px}.import-actions button,.export-actions button{width:100%;padding:12px;font-size:14px}textarea{min-height:200px;font-size:13px}.delete-confirmation-overlay .delete-confirmation{width:90%;max-width:400px;padding:20px}.delete-confirmation h3{font-size:18px}.delete-confirmation p{font-size:14px}.delete-confirmation-actions{flex-direction:column-reverse;gap:10px}.delete-confirmation-actions button{width:100%;padding:12px}}@media (max-width:479px){.chain-manager-header{padding:12px 16px}.chain-manager-header h2{font-size:18px}.chain-manager-tabs{padding:10px 16px 0}.chain-manager-tabs .tab{padding:8px 12px;font-size:12px}.chain-manager-body{padding:12px 16px}.chain-item{padding:12px}.chain-item-info h3{font-size:14px}.chain-item-meta{font-size:11px}.chain-item-actions button{padding:8px;font-size:12px}}@media (min-width:768px) and (max-width:1023px){.chain-manager-modal{border-radius:12px;width:90%;max-width:700px;max-height:90vh}.chain-manager-header{padding:20px 24px}.chain-manager-header h2{font-size:22px}.chain-manager-body{padding:20px 24px}}@media (hover:none) and (pointer:coarse){.chain-item-actions button,.import-actions button,.export-actions button,.delete-confirmation-actions button{min-height:44px}.chain-manager-header .close-btn{min-width:44px;min-height:44px}}@media (max-width:767px) and (orientation:landscape){.chain-manager-modal{max-height:100vh}.chain-manager-body{max-height:calc(100vh - 140px)}textarea{min-height:150px}}.query-chain-builder{background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);flex-direction:column;height:100%;display:flex;overflow:hidden}.chain-toolbar{z-index:100;background:linear-gradient(135deg,#1e293b 0%,#334155 50%,#1e293b 100%);border-bottom:3px solid #475569;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;max-height:60px;padding:8px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003,inset 0 1px #ffffff1a}.chain-toolbar:hover{gap:12px;max-height:80px;padding:12px 24px;overflow:visible}.chain-toolbar:before{content:"";opacity:.6;background:linear-gradient(90deg,#0000 0%,#0891b2 20%,#0e7490 50%,#0891b2 80%,#0000 100%);height:2px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.chain-toolbar:hover:before{opacity:1}.chain-toolbar:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle at 20%,#0891b226 0%,#0000 50%),radial-gradient(circle at 80%,#0e749026 0%,#0000 50%);transition:opacity .4s;position:absolute;inset:0}.chain-toolbar:hover:after{opacity:1}.toolbar-left,.toolbar-right{z-index:1;align-items:center;gap:8px;transition:gap .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.chain-toolbar:hover .toolbar-left,.chain-toolbar:hover .toolbar-right{gap:10px}.flow-name-input{color:#f1f5f9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;text-overflow:ellipsis;background:#0f172a99;border:2px solid #475569;border-radius:12px;min-width:200px;max-width:200px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 2px 8px #0006,inset 0 1px 2px #ffffff0d}.chain-toolbar:hover .flow-name-input{min-width:260px;max-width:320px;padding:10px 16px;font-size:14px;box-shadow:0 4px 12px #0006,inset 0 1px 2px #ffffff0d}.flow-name-input::placeholder{color:#94a3b8}.flow-name-input:focus{color:#fff;background:#0f172acc;border-color:#0891b2;outline:none;transform:translateY(-2px);min-width:320px!important;max-width:400px!important;padding:13px 20px!important;font-size:15px!important;box-shadow:0 0 0 4px #3b82f633,0 8px 24px #3b82f64d,inset 0 2px 4px #0003!important}.toolbar-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:#f1f5f9;white-space:nowrap;background:#ffffff14;border:2px solid #ffffff26;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:0;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a}.chain-toolbar:hover .toolbar-btn{border-radius:10px;gap:7px;padding:9px 14px;font-size:13px;box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff1a}.toolbar-btn svg{min-width:16px;min-height:16px}.toolbar-btn span{transition:opacity .4s cubic-bezier(.4,0,.2,1)}.chain-toolbar:not(:hover) .toolbar-btn span{opacity:0;width:0;overflow:hidden}.chain-toolbar:hover .toolbar-btn span{opacity:1;width:auto}.toolbar-btn:before{content:"";background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);border-radius:50%;width:0;height:0;transition:width .5s,height .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toolbar-btn:hover:before{width:300px;height:300px}.toolbar-btn:hover:not(:disabled){color:#fff;background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0006,0 0 20px #3b82f64d,inset 0 1px 2px #fff3}.chain-toolbar:not(:hover) .toolbar-btn:hover:not(:disabled){transform:translateY(-1px)scale(1.05)}.toolbar-btn:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 2px 4px #0000004d}.toolbar-btn svg{z-index:1;filter:drop-shadow(0 1px 2px #0000004d);flex-shrink:0;position:relative}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed;color:#64748b;background:#ffffff08;border-color:#ffffff14;transform:none}.toolbar-btn.primary{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:2px solid #0e749080;animation:3s ease-in-out infinite primaryGlow;box-shadow:0 6px 20px #0891b280,0 2px 8px #0000004d,inset 0 1px 2px #ffffff4d,0 0 #0891b266}@keyframes primaryGlow{0%,to{box-shadow:0 6px 20px #0891b280,0 2px 8px #0000004d,inset 0 1px 2px #ffffff4d,0 0 15px #0891b266}50%{box-shadow:0 6px 20px #0891b299,0 2px 8px #0000004d,inset 0 1px 2px #ffffff4d,0 0 25px #0891b299}}.toolbar-btn.primary:before{background:radial-gradient(circle,#fff6 0%,#0000 70%)}.toolbar-btn.primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#0e7490 0%,#0c5f7a 100%);border-color:#0c5f7ab3;transform:translateY(-3px)scale(1.05);box-shadow:0 10px 30px #0891b2b3,0 0 40px #0e749080,inset 0 1px 2px #fff6}.toolbar-btn.success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#14b8a6 100%);border:2px solid #14b8a680;box-shadow:0 6px 20px #10b98180,0 2px 8px #0000004d,inset 0 1px 2px #ffffff4d,0 0 15px #10b98166}.toolbar-btn.success:before{background:radial-gradient(circle,#fff6 0%,#0000 70%)}.toolbar-btn.success:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#059669 0%,#0d9488 100%);border-color:#0d9488b3;transform:translateY(-3px)scale(1.05);box-shadow:0 10px 30px #10b981b3,0 0 40px #14b8a680,inset 0 1px 2px #fff6}.toolbar-btn.danger{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#f43f5e 100%);border:2px solid #f43f5e80;box-shadow:0 6px 20px #ef444480,0 2px 8px #0000004d,inset 0 1px 2px #ffffff4d,0 0 15px #ef444466}.toolbar-btn.danger:before{background:radial-gradient(circle,#fff6 0%,#0000 70%)}.toolbar-btn.danger:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#dc2626 0%,#e11d48 100%);border-color:#e11d48b3;transform:translateY(-3px)scale(1.05);box-shadow:0 10px 30px #ef4444b3,0 0 40px #f43f5e80,inset 0 1px 2px #fff6}.file-input-label{cursor:pointer;z-index:1;justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.node-menu{z-index:12000;pointer-events:auto;background:linear-gradient(#fff 0%,#fafbfc 100%);border:2px solid #e2e8f0;border-radius:14px;min-width:340px;max-height:560px;margin-top:10px;animation:.25s cubic-bezier(.4,0,.2,1) slideDown;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 20px 60px #0000004d,0 4px 20px #0003,0 0 0 1px #94a3b833}.node-menu-section{border-bottom:1px solid #e5e7eb}.node-menu-section:last-child{border-bottom:none}.node-menu-section-title{color:#64748b;text-transform:uppercase;letter-spacing:1.2px;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #e2e8f0;padding:10px 18px;font-size:11px;font-weight:800;position:sticky;top:0}.node-menu-item{text-align:left;cursor:pointer;color:#374151;background:#fff;border:none;border-bottom:1px solid #0000;align-items:center;gap:14px;width:100%;padding:14px 16px;font-size:14px;font-weight:500;transition:all .15s;display:flex;position:relative}.node-menu-item:last-child{border-bottom:none}.node-menu-item:before{content:"";background:0 0;width:4px;transition:all .15s;position:absolute;top:0;bottom:0;left:0}.node-menu-item:hover{background:linear-gradient(90deg,#f0f9ff 0%,#faf5ff 100%);border-bottom-color:#e2e8f0}.node-menu-item:hover:before{background:linear-gradient(#0891b2,#0e7490);width:5px}.node-menu-item:hover .node-menu-item-label{color:#0f172a;font-weight:700;transform:translate(2px)}.node-menu-item-label{color:#374151;flex:1;font-weight:500;transition:all .15s}.node-type-icon{margin-right:4px;font-size:16px}.excel-export-node .node-header,.console-log-node .node-header{border-left-width:4px}.node-content{border-top:1px solid #eee}.flow-container{background:radial-gradient(circle at 20px 20px,#94a3b814 1px,#0000 1px) 0 0/40px 40px;flex:1;position:relative;overflow:hidden}.help-toggle-btn{color:var(--text-color);border:2px solid var(--border-color);cursor:pointer;width:46px;height:46px;box-shadow:var(--shadow-md);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;transition:all .2s;display:flex}.help-toggle-btn:hover{background:var(--light-grey);border-color:var(--link-color);transform:scale(1.1)}.help-toggle-btn:active{transform:scale(.95)}.flow-help{background:var(--background);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);border:1px solid var(--border-color);max-width:420px;max-height:600px;color:var(--text-color);padding:20px;font-size:13px;line-height:1.6;animation:.3s ease-out slideIn;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.help-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.flow-help h4{color:#0369a1;margin:0;font-size:14px;font-weight:700}.help-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;transition:all .2s;display:flex}.help-close-btn:hover{color:#475569;background:#e2e8f0}.help-section{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:12px}.help-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.help-section strong{color:#1e293b;margin-bottom:6px;font-size:11px;display:block}.help-section ol,.help-section ul{margin:6px 0 0;padding-left:20px}.help-section li{color:#64748b;margin-bottom:4px;font-size:11px}.help-highlight{color:#92400e;background:#fef3c7;border-radius:3px;padding:2px 6px;font-size:11px;font-weight:600}.help-example{color:#0369a1;background:#f0f9ff;border-left:3px solid #00b9d7;border-radius:6px;margin:6px 0;padding:8px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;font-weight:600}.help-section small{color:#94a3b8;margin-top:4px;font-size:10px;font-style:italic;display:block}.results-panel{z-index:1000;background:#fff;border-top:2px solid #e5e7eb;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000001a}.resize-handle{cursor:row-resize;z-index:10;-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;height:8px;transition:background .2s;display:flex;position:absolute;top:0;left:0;right:0}.resize-handle:hover{background:#2563eb1a}.resize-handle:active{background:#2563eb33}.resize-handle-bar{background:#cbd5e1;border-radius:2px;width:60px;height:4px;transition:all .2s}.resize-handle:hover .resize-handle-bar{background:#0891b2;width:80px}.resize-handle:active .resize-handle-bar{background:#0e7490}.results-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:8px;padding:16px 20px;display:flex}.results-header h3{color:#111827;margin:0;font-size:18px;font-weight:700}.close-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .2s;display:flex}.close-btn:hover{color:#111827;background:#f3f4f6;border-color:#d1d5db}.results-stats{background:#fff;border-bottom:1px solid #e5e7eb;gap:24px;padding:16px 20px;display:flex;overflow-x:auto}.stat-item{flex-direction:column;gap:6px;min-width:100px;display:flex}.stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:600}.stat-value{color:#333;font-size:18px;font-weight:700}.execution-errors{background:#ffebee;border-bottom:1px solid #ef9a9a;padding:12px 16px}.execution-errors h4{color:#c62828;margin:0 0 8px;font-size:13px}.execution-errors ul{color:#d32f2f;margin:0;padding-left:20px;font-size:12px}.node-results{border-bottom:1px solid #eee;max-height:200px;padding:12px 16px;overflow-y:auto}.node-results h4{color:#666;text-transform:uppercase;margin:0 0 12px;font-size:13px}.node-result{background:#fafafa;border-left:4px solid #9e9e9e;border-radius:4px;margin-bottom:8px;padding:8px 12px}.node-result.completed{background:#f1f8f4;border-left-color:#4caf50}.node-result.running{background:#e3f2fd;border-left-color:#2196f3}.node-result.error{background:#ffebee;border-left-color:#f44336}.node-result.skipped{background:#fff3e0;border-left-color:#ff9800}.node-result-header{align-items:center;gap:12px;font-size:12px;display:flex}.node-name{color:#333;font-weight:600}.status-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:600}.status-badge.completed{color:#fff;background:#4caf50}.status-badge.running{color:#fff;background:#2196f3}.status-badge.error{color:#fff;background:#f44336}.status-badge.skipped{color:#fff;background:#ff9800}.status-badge.pending{color:#fff;background:#9e9e9e}.node-stats{color:#666;margin-left:auto}.error-message,.skipped-message{background:#fff;border-radius:3px;margin-top:6px;padding:6px;font-size:11px}.final-results{flex:1;padding:12px 16px;overflow-y:auto}.final-results h4{color:#666;text-transform:uppercase;margin:0 0 12px;font-size:13px}.results-table-container{-webkit-overflow-scrolling:touch;max-height:400px;overflow:auto}.results-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:600px;font-size:12px}.results-table th{text-align:left;z-index:1;background:#f5f5f5;border-bottom:2px solid #ddd;padding:8px;font-weight:600;position:sticky;top:0}.results-table td{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #eee;max-width:300px;padding:6px 8px;overflow:hidden}.results-table tbody tr:hover{background:#f9f9f9}.truncation-notice{text-align:center;color:#666;background:#f9f9f9;border-top:1px solid #eee;padding:12px;font-size:12px;font-style:italic}.react-flow__node{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.react-flow__edge-path{stroke:#2196f3;stroke-width:2px}.react-flow__edge.selected .react-flow__edge-path{stroke:#1976d2;stroke-width:3px}.react-flow__controls{box-shadow:0 2px 8px #0000001a}.node-results-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.node-results-panel{background:#fff;border-radius:10px;flex-direction:column;width:90%;max-width:1200px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d}.node-results-header{background:linear-gradient(135deg,#006fa30d 0%,#0000 100%);border-bottom:2px solid #d1d5db;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.node-results-header h3{color:#111827;margin:0;font-size:20px;font-weight:600}.node-results-header .close-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:all .2s;display:flex}.node-results-header .close-btn:hover{background:#c62828;transform:scale(1.05)}.node-results-content{flex:1;padding:20px;overflow:auto}.node-results-content .results-table td{word-wrap:break-word;max-width:500px;overflow:auto}.node-results-content .tree-node{word-wrap:break-word;max-width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.clear-confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10001;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.clear-confirm-modal{background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);border-radius:16px;width:90%;max-width:500px;animation:.3s ease-out slideUp;overflow:hidden;box-shadow:0 20px 60px #0006}.clear-confirm-header{text-align:center;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-bottom:2px solid #fecaca;padding:32px 32px 24px}.clear-confirm-header svg{margin:0 auto 16px;animation:2s ease-in-out infinite pulse;display:block}.clear-confirm-header h3{color:#991b1b;margin:0;font-size:22px;font-weight:700}.clear-confirm-body{text-align:center;padding:28px 32px}.clear-confirm-body p{color:#6b7280;margin:0 0 8px;font-size:15px;line-height:1.6}.warning-text{color:#dc2626!important;margin-top:12px!important;font-size:13px!important;font-weight:600!important}.warning-text-strong{color:#b91c1c!important;margin-top:16px!important;font-size:14px!important;font-weight:700!important}.clear-confirm-actions{gap:12px;padding:0 32px 32px;display:flex}.clear-confirm-actions button{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.clear-confirm-actions button svg{flex-shrink:0}.clear-confirm-actions .btn-cancel{color:#374151;background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);box-shadow:0 2px 8px #0000001a}.clear-confirm-actions .btn-cancel:hover{background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 100%);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.clear-confirm-actions .btn-cancel:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.btn-confirm-clear{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 12px #ef444466}.btn-confirm-clear:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)!important;transform:translateY(-2px)!important;box-shadow:0 6px 16px #ef444480!important}.btn-confirm-clear:active{background:linear-gradient(135deg,#b91c1c 0%,#991b1b 100%)!important;transform:translateY(0)!important;box-shadow:0 4px 12px #ef444466!important}.react-flow__handle{z-index:10!important;cursor:crosshair!important;background:0 0!important;border:4px solid #fff!important;width:26px!important;height:26px!important;transition:all .2s!important}.react-flow__handle-left{background:#28a745!important;left:-13px!important;box-shadow:0 0 0 3px #28a74533,0 0 12px #28a74599!important}.react-flow__handle-right{background:#0891b2!important;right:-13px!important;box-shadow:0 0 0 3px #0891b233,0 0 12px #0891b299!important}.react-flow__handle:hover{border-width:5px!important;width:32px!important;height:32px!important}.react-flow__handle-left:hover{box-shadow:0 0 0 6px #28a74540,0 0 20px #28a745cc!important}.react-flow__handle-right:hover{box-shadow:0 0 0 6px #0891b240,0 0 20px #0891b2cc!important}.react-flow__handle-valid{border-color:#4ade80!important;box-shadow:0 0 0 4px #22c55e4d,0 0 16px #22c55ee6!important}.react-flow__handle-connecting{background:#fbbf24!important;border-color:#fbbf24!important;box-shadow:0 0 0 4px #fbbf244d,0 0 16px #fbbf24e6!important}@media (max-width:767px){.query-chain-builder{height:100vh}.chain-toolbar{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;gap:4px;min-height:48px;max-height:48px;padding:6px 8px;overflow:auto hidden}.chain-toolbar:hover{gap:4px;max-height:48px;padding:6px 8px;overflow-x:auto}.chain-toolbar:before,.chain-toolbar:after{display:none}.toolbar-left,.toolbar-right{flex-wrap:nowrap;flex:none;gap:3px;min-width:0;display:flex}.chain-toolbar:hover .toolbar-left,.chain-toolbar:hover .toolbar-right{gap:6px}.flow-name-input{border-radius:6px;flex-shrink:0;min-width:80px;max-width:100px;height:32px;padding:5px 6px;font-size:10px}.chain-toolbar:hover .flow-name-input{min-width:120px;max-width:150px;padding:6px 10px;font-size:12px}.flow-name-input:focus{transform:none;min-width:160px!important;max-width:180px!important;padding:8px 12px!important;font-size:13px!important}.toolbar-btn{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:0;width:32px;min-width:32px;height:32px;min-height:32px;padding:5px;font-size:0;display:flex}.chain-toolbar:hover .toolbar-btn{gap:0;min-width:32px;min-height:32px;padding:5px;font-size:0}.toolbar-btn svg{width:14px;min-width:14px;height:14px;min-height:14px}.toolbar-btn span{display:none!important}.node-menu{z-index:12000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100vw;min-width:auto;height:100vh;max-height:100vh;box-shadow:none;background:#0f172af2;border:none;border-radius:0;flex-direction:column;margin-top:0;padding:60px 8px 8px;display:flex;position:fixed;inset:0;overflow-y:auto}.node-menu-item{gap:8px;padding:10px 12px}.node-menu-section{background:#fff;border-radius:8px;margin-bottom:8px;overflow:hidden}.node-menu-section:last-child{margin-bottom:0}.node-menu-section-title{padding:8px 12px;font-size:10px}.results-table-container{max-height:300px}.results-table{min-width:800px;font-size:11px}.results-table th{min-width:100px;padding:6px 8px;font-size:11px}.results-table td{min-width:100px;max-width:200px;padding:6px 8px;font-size:11px}.chain-canvas{touch-action:pan-x pan-y pinch-zoom}.resize-handle{cursor:ns-resize;touch-action:none;background:#0891b21a;height:24px}.resize-handle-bar{background:#0891b2;width:80px;height:6px}.resize-handle:active .resize-handle-bar{background:#0e7490;width:100px}.react-flow__controls{transform:translate(-50%);top:auto!important;bottom:20px!important;left:50%!important}.react-flow__controls button{width:36px;height:36px}.react-flow__minimap{bottom:20px;right:10px;width:120px!important;height:80px!important}.react-flow__attribution{display:none}}@media (max-width:479px){.chain-toolbar{gap:3px;min-height:44px;max-height:44px;padding:4px 6px}.toolbar-left,.toolbar-right{gap:2px}.flow-name-input{min-width:70px;max-width:90px;height:30px;padding:4px 5px;font-size:9px}.flow-name-input:focus{min-width:100px!important;max-width:120px!important;font-size:10px!important}.toolbar-btn{width:30px;min-width:30px;height:30px;min-height:30px;padding:4px}.toolbar-btn svg{width:12px;min-width:12px;height:12px;min-height:12px}.react-flow__controls button{width:32px;height:32px}.react-flow__minimap{width:100px!important;height:70px!important}}@media (min-width:768px) and (max-width:1023px){.chain-toolbar{gap:8px;padding:8px 16px}.chain-toolbar:hover{gap:10px;padding:10px 20px}.flow-name-input{min-width:180px;max-width:220px}.chain-toolbar:hover .flow-name-input{min-width:220px;max-width:280px}.toolbar-btn{padding:7px 10px;font-size:12px}.chain-toolbar:hover .toolbar-btn{padding:8px 12px;font-size:12px}}@media (hover:none) and (pointer:coarse){.toolbar-btn,.react-flow__controls button{min-width:44px;min-height:44px}.chain-toolbar:hover{gap:10px;max-height:60px;padding:8px 20px}.chain-toolbar:hover .flow-name-input{min-width:200px;max-width:200px;padding:8px 14px;font-size:13px}@media (min-width:768px){.toolbar-btn{gap:6px;padding:8px 12px;font-size:13px}.toolbar-btn span{opacity:1!important;width:auto!important;display:inline!important}}}@media (max-width:767px) and (orientation:landscape){.chain-toolbar{min-height:48px;padding:6px 12px}.flow-name-input{min-width:100px;max-width:130px;font-size:11px}.toolbar-btn{min-width:36px;min-height:36px;padding:6px}.react-flow__controls{bottom:10px!important}.react-flow__minimap{bottom:10px;right:10px}}@media print{.chain-toolbar,.react-flow__controls,.react-flow__minimap{display:none!important}.query-chain-builder{background:#fff}}.login-container{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle,#0891b24d 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:6s ease-in-out infinite pulse;position:absolute;top:-250px;right:-250px}.login-container:after{content:"";background:radial-gradient(circle,#06b6d44d 0%,#0000 70%);border-radius:50%;width:400px;height:400px;animation:8s ease-in-out infinite pulse;position:absolute;bottom:-200px;left:-200px}.login-box{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);z-index:10;background:#fffffff2;border:1px solid #ffffff4d;width:100%;max-width:420px;padding:3rem;animation:.6s ease-out fadeIn;position:relative;box-shadow:0 20px 60px #0891b24d}.login-box:before{content:"";border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);height:4px;position:absolute;top:0;left:0;right:0;box-shadow:0 2px 15px #0891b280}.login-title{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.eclass-logo-login{flex-shrink:0;width:auto;height:28px}.login-app-title{letter-spacing:-.5px;color:#005;margin:0;font-size:28px;font-weight:800}.login-box h1{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);-webkit-text-fill-color:transparent;text-align:center;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:28px;font-weight:700}.login-box h2{color:var(--text-secondary);text-align:center;margin:0 0 2rem;font-size:18px;font-weight:500}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);letter-spacing:.2px;margin-bottom:10px;font-size:14px;font-weight:600;display:block}.form-group input{box-sizing:border-box;width:100%}.form-group input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.error-message{color:#991b1b;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #fca5a5;align-items:center;gap:8px;margin-bottom:1.5rem;padding:14px 16px;font-size:14px;font-weight:600;animation:.3s ease-out fadeIn;display:flex}.error-message:before{content:"⚠️";font-size:18px}.login-box button{border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:all var(--transition-normal);letter-spacing:.5px;text-transform:uppercase;border:none;padding:16px;font-size:16px;font-weight:700;box-shadow:0 4px 16px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important}.login-box button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px #0891b266;background:linear-gradient(135deg,#0e7490 0%,#155e75 100%)!important}.login-box button:active:not(:disabled){transform:translateY(-1px)}.login-box button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-info{border-top:1px solid var(--border-light);text-align:center;color:var(--text-secondary);margin-top:2rem;padding-top:1.5rem;font-size:13px}.login-info p{margin:6px 0;font-weight:500}.login-info strong{color:#0891b2;border-radius:var(--radius-sm);background:#0891b21a;padding:3px 10px;font-family:Courier New,monospace;font-weight:700}@media (max-width:767px){.login-container{padding:16px}.login-container:before{width:300px;height:300px;top:-150px;right:-150px}.login-container:after{width:250px;height:250px;bottom:-125px;left:-125px}.login-box{border-radius:var(--radius-lg);max-width:100%;padding:2rem 1.5rem}.login-box h1{font-size:1.75rem}.login-box p{font-size:.9rem}.login-form{gap:1.25rem}.login-form input{padding:12px 16px;font-size:14px}.login-form button{padding:14px;font-size:15px}.login-info{padding:14px}.login-info p{font-size:.85rem}}@media (max-width:479px){.login-container{padding:12px}.login-box{padding:1.5rem 1.25rem}.login-box h1{font-size:1.5rem}.login-form input{padding:10px 14px;font-size:14px}.login-form button{padding:12px;font-size:14px}}@media (min-width:768px) and (max-width:1023px){.login-box{max-width:460px}}@media (max-width:767px) and (orientation:landscape){.login-container{padding:12px}.login-box{max-height:90vh;padding:1.5rem;overflow-y:auto}}.user-management{max-width:1400px;margin:0 auto;padding:3rem;animation:.5s ease-out fadeIn}.user-management-header{border-bottom:2px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:2rem;display:flex}.user-management-header h2{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:700}.user-management-header button{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.5px;border:none;align-items:center;gap:10px;padding:14px 32px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 16px #0891b24d;color:#fff!important;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)!important}.user-management-header button:before{content:"+";font-size:20px;font-weight:700}.user-management-header button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0891b266;background:linear-gradient(135deg,#0e7490 0%,#0c5f7a 100%)!important}.user-management-header button:active{transform:translateY(0)}.user-management-loading{text-align:center;color:var(--text-secondary);padding:60px;font-size:18px;font-weight:500}.user-management-error{color:#991b1b;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #fca5a5;align-items:center;gap:10px;margin-bottom:1.5rem;padding:16px 20px;font-weight:600;display:flex;box-shadow:0 4px 12px #ef444433}.user-management-error:before{content:"⚠️";font-size:20px}.create-user-form{border-radius:var(--radius-xl);border:2px solid var(--border-light);background:#fff;margin-bottom:3rem;padding:2.5rem;animation:.3s ease-out fadeIn;position:relative;overflow:hidden;box-shadow:0 8px 32px #0891b214}.create-user-form:before{content:"";background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);height:4px;position:absolute;top:0;left:0;right:0}.create-user-form h3{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:12px;margin:0 0 2rem;font-size:1.5rem;font-weight:700;display:flex}.create-user-form h3:before{content:"👤";border-radius:var(--radius-md);background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);justify-content:center;align-items:center;padding:12px;font-size:28px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2.5rem;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.form-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:1rem;padding-top:1.5rem;display:flex}.form-actions button{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.5px;border:none;padding:14px 32px;font-size:15px;font-weight:700}.form-actions button[type=submit]{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 16px #10b9814d}.form-actions button[type=submit]:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 6px 24px #10b98166}.form-actions button[type=button]{background:var(--bg-tertiary);color:var(--text-secondary)}.form-actions button[type=button]:hover{background:var(--border);color:var(--text-primary)}.users-table-container{border-radius:var(--radius-xl);border:2px solid var(--border-light);background:#fff;overflow:hidden;box-shadow:0 8px 32px #0891b214}.users-table{border-collapse:collapse;width:100%}.users-table thead{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%)}.users-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.5px;padding:18px 24px;font-size:.9rem;font-weight:700}.users-table tbody tr{border-bottom:1px solid var(--border-light);transition:all var(--transition-fast)}.users-table tbody tr:hover{background:linear-gradient(90deg,#0891b20a 0%,#0e74900a 100%);transform:translate(2px)}.users-table tbody tr:last-child{border-bottom:none}.users-table tbody td{color:var(--text-primary);padding:18px 24px;font-size:15px}.current-user-badge{background:linear-gradient(135deg, var(--accent), #fb923c);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;margin-left:10px;padding:6px 14px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #f59e0b66}.user-role-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 16px;font-size:.8rem;font-weight:700;display:inline-block}.user-role-badge.admin{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);box-shadow:0 2px 8px #0891b24d}.user-role-badge.user{background:var(--bg-tertiary);color:var(--text-secondary);border:2px solid var(--border)}.delete-user-button{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;padding:10px 20px;font-size:14px;font-weight:700;box-shadow:0 2px 12px #ef44444d}.delete-user-button:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-2px);box-shadow:0 4px 16px #ef444466}.delete-user-button:active{transform:translateY(0)}.app{background:#f5f5f7;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.app-drawer{z-index:1000;background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 8px #0000000a}.app-drawer.open{width:280px}.app-drawer.closed{width:72px}.drawer-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;min-height:64px;padding:20px 16px;display:flex}.drawer-toggle{cursor:pointer;color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #0891b233}.drawer-toggle:hover{background:linear-gradient(135deg,#0e7490 0%,#155e75 100%);transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.hamburger-icon{stroke-width:2.5px;stroke:#fff;color:#fff;width:24px;height:24px;transition:transform .2s}.drawer-logo{white-space:nowrap;align-items:center;gap:8px;margin-left:12px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.eclass-logo-inline{flex-shrink:0;width:auto;height:18px}.app-title{letter-spacing:-.5px;color:#005;margin:0;font-size:20px;font-weight:800}.app-drawer.closed .drawer-logo{opacity:0;width:0}.drawer-nav{flex:1;padding:12px 8px;overflow:hidden auto}.drawer-nav-item{cursor:pointer;color:#6b7280;white-space:nowrap;border-radius:8px;align-items:center;margin-bottom:4px;padding:12px 16px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.drawer-nav-item:hover{color:#111827;background:#f5f5f7}.drawer-nav-item.active{color:#0891b2;background:#ecfeff;font-weight:600}.drawer-nav-item.active:before{content:"";background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:0 3px 3px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.nav-icon{justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;margin-right:12px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-icon svg{stroke-width:2px;width:20px;height:20px;transition:all .2s}.drawer-nav-item:hover .nav-icon{transform:scale(1.1)}.drawer-nav-item.active .nav-icon{color:#0891b2}.nav-label{font-size:14px;font-weight:500;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.app-drawer.closed .nav-label{opacity:0;width:0}.app-drawer.closed .drawer-nav-item{justify-content:center;padding:12px}.app-drawer.closed .nav-icon{margin-right:0}.drawer-footer{border-top:1px solid #e5e7eb;padding:16px}.drawer-user-info{background:#f5f5f7;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex}.app-drawer.closed .drawer-user-info{justify-content:center;padding:12px 0}.user-avatar{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.app-drawer.closed .user-avatar{width:40px;height:40px;font-size:16px}.user-details{flex:1;transition:opacity .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.app-drawer.closed .user-details{opacity:0;width:0}.user-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.user-role{color:#6b7280;margin:2px 0 0;font-size:12px}.admin-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.drawer-user-info{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding:16px}.user-details{align-items:center;gap:12px;display:flex}.user-icon{color:#6b7280;flex-shrink:0;width:24px;height:24px}.user-info-text{flex-direction:column;flex:1;gap:6px;display:flex}.user-name{color:#111827;font-size:14px;font-weight:600}.user-role{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.user-management-link{cursor:pointer;color:#6b7280;background:0 0;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;width:fit-content;margin-top:4px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.user-management-link:hover{color:#0891b2;background:#f5f5f7;border-color:#0891b2;transform:translateY(-1px);box-shadow:0 2px 8px #0891b21a}.user-management-link svg{stroke-width:2px;width:14px;height:14px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.user-management-link:hover svg{transform:scale(1.1)}.user-role.admin{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);box-shadow:0 2px 8px #0891b233}.user-role.user{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%);box-shadow:0 2px 8px #2563eb33}.user-avatar{color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto;font-size:16px;font-weight:700;display:flex;box-shadow:0 2px 8px #0891b24d}.drawer-logout{cursor:pointer;color:#ef4444;background:0 0;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.drawer-logout:hover{color:#dc2626;background:#fef2f2;border-color:#ef4444}.app-drawer.closed .drawer-logout span{display:none}.app-main{flex-direction:column;flex:1;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex}.app-main.drawer-open{margin-left:280px}.app-main.drawer-closed{margin-left:72px}.app-header{z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;min-height:72px;padding:20px 32px;display:flex;position:relative;box-shadow:0 1px 3px #0000000a}.app-header h1{color:#111827;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.app-header p{color:#6b7280;margin:4px 0 0;font-size:14px}.header-actions{align-items:center;gap:12px;display:flex}.mobile-menu-toggle{cursor:pointer;color:#fff;background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:12px;transition:all .2s;display:none;box-shadow:0 2px 6px #0891b233}.mobile-menu-toggle:hover{background:linear-gradient(135deg,#0e7490 0%,#155e75 100%);box-shadow:0 3px 8px #0891b24d}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-menu-toggle svg{flex-shrink:0}.mobile-drawer-overlay{display:none}@media (max-width:768px){.mobile-drawer-overlay{z-index:1050;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:block;position:fixed;inset:0}}.user-info{color:#6b7280;background:#f5f5f7;border-radius:8px;align-items:center;gap:12px;padding:8px 16px;font-size:14px;display:flex}.user-info strong{color:#111827;font-weight:600}.app-content{box-sizing:border-box;background:#f5f5f7;flex:1;max-width:100%;padding:24px 32px;overflow:hidden auto}.content-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-width:100%;margin-bottom:24px;padding:24px;overflow-x:hidden;box-shadow:0 1px 3px #0000000a}.content-card h2{color:#111827;margin:0 0 16px;font-size:18px;font-weight:700}.content-card p{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.main-panel-full{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1400px;margin:0 auto;display:flex}.action-buttons{flex-wrap:wrap;gap:16px;margin-bottom:28px;display:flex}.action-buttons button,.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary,.action-buttons button:not(.btn-secondary){box-shadow:0 4px 12px #10b9814d;color:#fff!important;background:linear-gradient(135deg,#10b981 0%,#059669 100%)!important}.btn-primary:hover,.action-buttons button:not(.btn-secondary):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #10b98166;color:#fff!important;background:linear-gradient(135deg,#059669 0%,#047857 100%)!important}.btn-primary:active,.action-buttons button:not(.btn-secondary):active:not(:disabled){transform:translateY(0);color:#fff!important;background:linear-gradient(135deg,#047857 0%,#065f46 100%)!important}.btn-secondary{box-shadow:0 2px 6px #0000000d;color:#64748b!important;background:#fff!important;border:2px solid #e2e8f0!important}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000014;color:#1e293b!important;background:#f8fafc!important;border-color:#cbd5e1!important}.btn-secondary:active:not(:disabled){transform:translateY(0);color:#1e293b!important;background:#f1f5f9!important}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.app-loading{color:#6b7280;background:#f5f5f7;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.app-loading h2{color:#111827;margin:16px 0 8px;font-size:24px;font-weight:700}.app-loading p{color:#6b7280;margin:0;font-size:14px}.app-error{text-align:center;background:#f5f5f7;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:32px;display:flex}.app-error h2{color:#ef4444;margin:16px 0 8px;font-size:24px;font-weight:700}.app-error p{color:#6b7280;max-width:500px;margin:0 0 24px;font-size:14px}.app-error button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.app-error button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.fade-in{animation:.3s ease-out fadeIn}.slide-in{animation:.3s ease-out slideIn}@media (max-width:768px){.mobile-menu-toggle{display:flex}.drawer-toggle{display:none!important}.drawer-header{justify-content:flex-start;min-height:56px;padding:12px 16px}.drawer-logo{margin-left:0;opacity:1!important;width:auto!important}.eclass-logo-inline{height:16px}.app-title{font-size:16px}.drawer-nav{flex:1;padding:8px;overflow-y:auto}.drawer-nav-item{margin-bottom:4px;padding:10px 12px;font-size:14px}.nav-icon{width:20px;min-width:20px;height:20px}.nav-label{font-size:14px}.drawer-footer{padding:12px}.drawer-user-info{margin-bottom:8px;padding:10px}.user-icon{width:20px;height:20px}.user-name{font-size:13px}.user-role{font-size:11px}.drawer-logout{padding:10px 12px;font-size:14px}.app-drawer{z-index:1100;width:280px;transition:transform .3s;position:fixed;left:0;overflow:hidden;transform:translate(-100%)}.app-drawer.open{z-index:1100;width:100%;max-width:280px;transform:translate(0);box-shadow:2px 0 12px #0003}.app-drawer.closed{z-index:1100;pointer-events:none;width:280px;transform:translate(-100%)}.app-drawer.closed *{visibility:hidden}.app-drawer.open *{visibility:visible}.app-drawer.closed .drawer-footer{display:none}.app-header{z-index:1000;background:#fff;position:sticky;top:0}.header-left{align-items:center;gap:8px;display:flex}.app-header h1,.app-header p,.header-actions{z-index:1;position:relative}.app-drawer.closed{border-right:none;width:0}.app-main.drawer-open,.app-main.drawer-closed{margin-left:0}.app-header{padding:16px 20px}.app-header h1{font-size:20px}.app-content{max-width:100vw;padding:16px 12px;overflow-x:hidden}.content-card{border-radius:8px;max-width:100%;padding:16px 12px;overflow-x:hidden}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.user-info{display:none}.mobile-menu-toggle{width:32px;height:32px;margin-right:8px}.mobile-menu-toggle svg{width:20px;height:20px}}@media (max-width:480px){.app-header h1{font-size:18px}.app-content{max-width:100vw;padding:12px 8px;overflow-x:hidden}.content-card{max-width:100%;padding:12px 8px;overflow-x:hidden}.mobile-menu-toggle{border-radius:6px;width:28px;height:28px;margin-right:6px}.mobile-menu-toggle svg{width:18px;height:18px}}.db-selector select{color:#111827;appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px}.db-loading{color:#0891b2}.db-selector{align-items:center;gap:8px;display:flex}.db-card{background:linear-gradient(135deg,#0891b2 0%,#0e7490 100%);border:1px solid #0e7490;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid;position:relative;box-shadow:0 4px 10px #0e74902e}.db-card.analyzing{animation:1s ease-in-out infinite alternate glow}@keyframes glow{0%{box-shadow:0 4px 10px #0e74902e}to{box-shadow:0 6px 16px #0891b259}}.db-icon{color:#fff;width:18px;height:18px}.db-info{flex-direction:column;min-width:100px;display:flex}.db-title{color:#fff;letter-spacing:.02em;font-size:14px;font-weight:700}.db-mini-status{color:#ffffffe6;margin-top:2px;font-size:11px;font-weight:600}.db-current{color:#fff;font-size:16px;font-weight:700}.db-select-wrap{position:relative}.db-select-wrap select{color:#0a3a43;appearance:none;cursor:pointer;background:#fffffff2;border:2px solid #ffffff4d;border-radius:999px;padding:10px 32px 10px 14px;font-size:16px;font-weight:700;transition:all .3s;box-shadow:0 2px 8px #0e749026,inset 0 1px 2px #ffffff80}.db-select-wrap select:disabled{opacity:.6;cursor:not-allowed}.db-select-wrap select:hover:not(:disabled){background:#fff;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #0e749040,inset 0 1px 2px #ffffffb3}.db-select-wrap select:focus{border-color:#fffc;outline:none;box-shadow:0 0 0 3px #ffffff4d,0 4px 12px #0e74904d}.chevron{color:#0e7490;pointer-events:none;text-shadow:0 1px 2px #ffffff80;font-size:20px;font-weight:900;transition:transform .3s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.db-select-wrap:hover .chevron{transform:translateY(-50%)scale(1.1)}.db-skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%) 0 0/400% 100%;border-radius:999px;width:160px;height:30px;animation:1s infinite shimmer}.db-card-scan{background:#0891b240;border-radius:999px;height:4px;position:absolute;bottom:0;left:8px;right:8px;overflow:hidden}.db-card-scan:after{content:"";background:linear-gradient(90deg,#0891b200 0%,#0891b2cc 50%,#0e749000 100%);width:24px;height:100%;animation:.5s linear infinite scan;position:absolute;top:0;left:-24px}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.db-analyzing-banner{background:linear-gradient(135deg,#0891b226 0%,#0e749040 100%);border:1px solid #0e7490;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:flex;position:relative}.scan-line{background:#e0f2fe;border-radius:999px;width:140px;height:6px;position:relative;overflow:hidden}.scan-line:after{content:"";background:linear-gradient(90deg,#0891b200 0%,#0891b2b3 50%,#0e749000 100%);width:30px;height:100%;animation:.7s linear infinite scan;position:absolute;top:0;left:-30px}@keyframes scan{0%{left:-30px}to{left:140px}}.analyzing-content{align-items:center;gap:8px;display:inline-flex}.spark{color:#fff;width:16px;height:16px;animation:1s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.analyzing-text{color:#fff;font-weight:700}@media (max-width:767px){.db-selector{gap:6px}.db-card{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;max-width:200px;padding:5px 8px}.db-icon{width:16px;height:16px}.db-info{flex:1;min-width:0;overflow:hidden}.db-title{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.db-mini-status{white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9px;overflow:hidden}.db-current{display:none!important}.db-select-wrap select{max-width:180px;padding:8px 28px 8px 12px;font-size:13px}.chevron{font-size:16px;right:8px}.analyzing-text{font-size:11px}.spark{width:14px;height:14px}}@media (max-width:479px){.db-card{gap:5px;max-width:170px;padding:4px 6px}.db-icon{width:14px;height:14px}.db-info{flex:1;min-width:0}.db-title{font-size:10px}.db-mini-status{font-size:8px}.db-current{display:none!important}.db-select-wrap select{max-width:150px;padding:6px 24px 6px 10px;font-size:12px}.chevron{font-size:14px;right:6px}.analyzing-text{font-size:10px}.spark{width:12px;height:12px}}@media (min-width:768px) and (max-width:1023px){.db-card{padding:6px 10px}.db-name{font-size:12px}.db-stats{font-size:10px}}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--secondary:#7c3aed;--secondary-dark:#6d28d9;--accent:#f59e0b;--accent-dark:#d97706;--success:#059669;--success-dark:#047857;--warning:#f59e0b;--danger:#dc2626;--danger-dark:#b91c1c;--info:#0891b2;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-inverse:#fff;--bg-primary:#fff;--bg-secondary:#f5f5f7;--bg-tertiary:#f9fafb;--bg-accent:#eff6ff;--border:#d1d5db;--border-light:#e5e7eb;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 12px #0000001a;--shadow-xl:0 8px 24px #0000001f;--gradient-primary:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--gradient-secondary:linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);--gradient-accent:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-success:linear-gradient(135deg, #059669 0%, #047857 100%);--gradient-danger:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);--gradient-hero:linear-gradient(135deg, #f5f5f7 0%, #e5e7eb 100%);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--breakpoint-xs:480px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1400px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-xs:clamp(.75rem, .7rem + .25vw, .875rem);--font-sm:clamp(.875rem, .8rem + .35vw, 1rem);--font-base:clamp(1rem, .9rem + .5vw, 1.125rem);--font-lg:clamp(1.125rem, 1rem + .625vw, 1.25rem);--font-xl:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--font-2xl:clamp(1.5rem, 1.3rem + 1vw, 2rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);background:var(--bg-secondary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1.6}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}#root{width:100%;height:100vh}*{scroll-behavior:smooth}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);border:2px solid var(--bg-tertiary);background:linear-gradient(#0891b2,#0e7490)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#06b6d4,#0891b2)}input[type=text],input[type=password],input[type=number],input[type=email],select,textarea{border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-normal);padding:12px 16px;font-family:inherit;font-size:14px;font-weight:500}input[type=text]:focus,input[type=password]:focus,input[type=number]:focus,input[type=email]:focus,select:focus,textarea:focus{border-color:var(--primary);background:var(--bg-primary);outline:none;box-shadow:0 0 0 4px #2563eb1a}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%232563eb' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}select:hover{border-color:var(--primary-light)}button{cursor:pointer;transition:all var(--transition-normal);border-radius:var(--radius-md);border:none;font-family:inherit;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button{border-radius:var(--radius-sm);background:var(--button-color);color:#fff;cursor:pointer;box-shadow:none;border:none;padding:.75em 1.5em;font-family:inherit;font-size:.95em;font-weight:600;transition:all .2s}button:hover:not(:disabled),button:active:not(:disabled){background:var(--button-hover)}button:disabled{cursor:not-allowed;opacity:.6;background:#ccc}button:focus,button:focus-visible{outline:2px solid var(--button-color);outline-offset:2px}.container{width:100%;max-width:1400px;padding:0 var(--spacing-md);margin:0 auto}.touch-target{min-width:44px;min-height:44px;padding:var(--spacing-sm)}.text-responsive{font-size:var(--font-base)}.hide-mobile{display:none}.show-mobile{display:block}.grid-responsive{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}.flex-responsive{gap:var(--spacing-md);flex-direction:column;display:flex}.full-width-mobile{width:100%!important;max-width:100%!important}@media (min-width:480px){:root{--spacing-lg:28px;--spacing-xl:36px}.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (min-width:768px){:root{--spacing-lg:32px;--spacing-xl:48px;--spacing-2xl:64px}.hide-mobile{display:block}.show-mobile{display:none}.flex-responsive{flex-direction:row}.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}:root{font-size:16px}}@media (min-width:1024px){:root{--spacing-xl:56px;--spacing-2xl:72px}.container{padding:0 var(--spacing-lg)}.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (min-width:1400px){:root{--spacing-2xl:96px}.container{padding:0 var(--spacing-xl)}}@media (max-width:767px){input[type=text],input[type=password],input[type=number],input[type=email],select,textarea{width:100%;padding:14px 16px;font-size:16px}button{min-height:44px;padding:12px 20px;font-size:16px}::-webkit-scrollbar{width:6px;height:6px}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){:root{--border:#000;--text-primary:#000;--bg-primary:#fff}}
