.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.header{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;height:64px;gap:2rem}.logo h1{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.nav{display:flex;gap:.5rem;flex:1}.nav-link{padding:.5rem 1rem;border-radius:6px;text-decoration:none;color:var(--text-muted);font-size:.875rem;font-weight:500;transition:all .15s ease}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--bg-tertiary)}.header-user{display:flex;align-items:center;gap:.75rem}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;color:var(--text-muted);border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.theme-toggle:hover{color:var(--text-primary);background:var(--bg-secondary)}.username{font-size:.875rem;color:var(--text-muted)}.logout-button{padding:.375rem .75rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-primary);border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.logout-button:hover{color:var(--text-primary);border-color:var(--border-secondary);background:var(--bg-secondary)}.main{flex:1;max-width:1400px;margin:0 auto;padding:2rem;width:100%}.main.main-full-width{max-width:none;padding:0}.album-card{display:flex;gap:1rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem;transition:all .15s ease}.album-card:hover{border-color:var(--border-secondary)}.album-card.selected{border-color:var(--accent);background:var(--success-bg-light)}.album-card-checkbox{display:flex;align-items:flex-start;padding-top:.25rem}.album-card-checkbox input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--accent)}.album-card-artwork{flex-shrink:0;width:80px;height:80px;border-radius:4px;overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-primary);transition:all .15s ease}.album-card-artwork.clickable{cursor:pointer}.album-card-artwork.clickable:hover{border-color:var(--accent);box-shadow:0 2px 8px var(--shadow-sm);transform:scale(1.05)}.album-card-artwork img{width:100%;height:100%;object-fit:cover}.album-card-content{flex:1;min-width:0}.album-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.album-info{flex:1;min-width:0}.album-artist{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-title{font-size:.875rem;color:var(--text-tertiary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-year{color:var(--text-muted)}.album-meta{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.album-status-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px}.album-incomplete-badge{font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--orange-bg);color:var(--orange-text);border:1px solid var(--orange-border)}.album-incomplete-tracks-badge{font-size:.625rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--warning-bg);color:var(--warning-text-dark);border:1px solid var(--warning-border)}.album-uncertain-tracks-badge{font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--cyan-bg);color:var(--cyan-text);border:1px solid var(--cyan-border)}.workflow-status-badge.clickable{cursor:pointer;transition:opacity .15s ease}.workflow-status-badge.clickable:hover{opacity:.8}.album-warning-badge{font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--warning-bg);color:var(--warning-text-dark);border:1px solid var(--warning-border)}.workflow-error{background:var(--error-bg-light);border:1px solid var(--error-border);border-radius:4px;padding:.5rem;margin-bottom:.75rem}.workflow-error .error-label{font-size:.625rem;font-weight:600;color:var(--error-text);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.25rem}.workflow-error .error-message{font-size:.75rem;color:var(--error-accent);display:block}.album-details{display:flex;gap:1.5rem;margin-bottom:.75rem}.album-detail{display:flex;flex-direction:column;gap:.125rem}.detail-label{font-size:.625rem;font-weight:500;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.75rem;color:var(--text-secondary)}.album-paths{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem;padding:.5rem;background:var(--bg-secondary);border-radius:4px}.path-item{display:flex;gap:.5rem;align-items:baseline}.path-label{font-size:.625rem;font-weight:500;color:var(--text-faint);text-transform:uppercase;flex-shrink:0;width:2.5rem}.path-value{font-size:.6875rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-value.multi-source{display:flex;flex-direction:column;gap:.25rem;white-space:normal;overflow:visible}.source-path-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-path-item .disc-indicator{font-weight:600;color:var(--info-text);margin-right:.25rem}.album-actions{display:flex;gap:.5rem;margin-top:.5rem}.album-actions .btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease;border:none}.album-actions .btn:disabled{opacity:.6;cursor:not-allowed}.btn-details{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-details:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary)}.btn-complete-multiDisc{background:var(--orange-accent);color:#fff}.btn-complete-multiDisc:hover:not(:disabled){background:var(--orange-accent-hover)}.artwork-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.artwork-modal{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1rem}.artwork-modal-close{position:absolute;top:-2rem;right:-2rem;background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary);font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0;line-height:1}.artwork-modal-close:hover{background:var(--accent);border-color:var(--accent);color:#fff}.artwork-modal-image{max-width:100%;max-height:calc(90vh - 5rem);border-radius:8px;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}.artwork-modal-caption{text-align:center;color:#fff}.artwork-caption-artist{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.artwork-caption-album{font-size:.875rem;opacity:.9}@media (max-width: 640px){.album-card{padding:.75rem}.album-card-header{flex-direction:column;gap:.5rem}.album-meta{justify-content:flex-start}.album-details{flex-wrap:wrap;gap:1rem}.album-paths{padding:.375rem}.path-item{flex-direction:column;gap:.125rem}.path-label{width:auto}.album-actions{flex-direction:column}.album-actions .btn{width:100%;padding:.5rem}.artwork-modal-overlay{padding:1rem}.artwork-modal-close{top:-1rem;right:-1rem;width:32px;height:32px;font-size:1.25rem}.artwork-modal-image{max-height:calc(90vh - 4rem)}}.metadata-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.metadata-modal{background:var(--bg-primary);border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm)}.metadata-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary)}.metadata-modal-title h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.metadata-modal-subtitle{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0}.metadata-modal-actions{display:flex;align-items:center;gap:.75rem}.btn-rerun{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--info-text);background:var(--info-bg);border:1px solid var(--info-border);border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-rerun:hover:not(:disabled){background:var(--info-bg-light);border-color:var(--info-border)}.btn-rerun:disabled{opacity:.6;cursor:not-allowed}.metadata-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-faint);cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.metadata-modal-close:hover{color:var(--text-secondary)}.metadata-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.metadata-loading,.metadata-error,.metadata-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.875rem}.metadata-error{color:var(--error-text);background:var(--error-bg-light);border-radius:6px}.metadata-content{display:flex;flex-direction:column;gap:1rem}.workflow-info-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.workflow-info-header{display:flex;align-items:center;gap:.75rem}.workflow-info-label{font-size:.75rem;font-weight:500;color:var(--text-muted)}.workflow-status-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px}.album-va-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--purple-bg);color:var(--purple-text)}.workflow-info-detail{font-size:.75rem;color:var(--text-muted);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.workflow-error-box{background:var(--error-bg-light);border:1px solid var(--error-border);border-radius:4px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.error-box-label{font-size:.625rem;font-weight:600;color:var(--error-text);text-transform:uppercase;letter-spacing:.05em}.error-box-message{font-size:.75rem;color:var(--error-accent)}.design-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-secondary);border-radius:6px}.design-label{font-size:.75rem;font-weight:500;color:var(--text-muted);margin-right:.25rem}.design-btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.design-btn:hover{background:var(--bg-tertiary);border-color:var(--text-faint)}.design-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.design-columns .columns-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.design-columns .column{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.design-columns .column-header{padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary)}.design-columns .original-column .column-header{background:var(--bg-secondary);color:var(--text-muted)}.design-columns .final-column .column-header{background:var(--success-bg-light);color:var(--success-text-dark)}.design-columns .column-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--bg-tertiary);font-size:.875rem;gap:.5rem}.design-columns .column-row:last-child{border-bottom:none}.design-columns .column-row.will-remove{background:var(--error-bg-light);opacity:.7}.design-columns .column-row.will-remove .tag-name,.design-columns .column-row.will-remove .tag-value{text-decoration:line-through;color:var(--error-text)}.design-columns .column-row.fetched-new,.design-columns .column-row.fetched-tag{background:var(--success-bg-light)}.design-columns .column-row.fetched-new .tag-not-present{color:var(--text-faint);font-style:italic}.design-columns .tag-source{font-size:.7rem;color:var(--accent);margin-left:.5rem;font-weight:400;text-transform:capitalize}.design-columns .tag-name{font-weight:500;color:var(--text-secondary);flex-shrink:0}.design-columns .tag-value{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1}.design-columns .final-column .tag-value{color:var(--accent);font-weight:500}.design-columns .keep-tag-btn{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--bg-primary);color:var(--accent);border:1px solid var(--success-border);border-radius:4px;cursor:pointer;transition:all .15s ease;padding:0;line-height:1}.design-columns .keep-tag-btn:hover:not(:disabled){background:var(--success-bg);border-color:var(--accent)}.design-columns .keep-tag-btn:disabled{opacity:.6;cursor:wait}.design-columns .remove-tag-btn{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--bg-primary);color:var(--error-accent);border:1px solid var(--error-border);border-radius:4px;cursor:pointer;transition:all .15s ease;padding:0;line-height:1;opacity:0}.design-columns .column-row:hover .remove-tag-btn{opacity:1}.design-columns .remove-tag-btn:hover:not(:disabled){background:var(--error-bg);border-color:var(--error-accent)}.design-columns .remove-tag-btn:disabled{opacity:.6;cursor:wait}.design-columns .edit-tag-btn{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:400;background:var(--bg-primary);color:var(--info-text);border:1px solid var(--info-border);border-radius:4px;cursor:pointer;transition:all .15s ease;padding:0;line-height:1;opacity:0;margin-left:.25rem}.design-columns .column-row:hover .edit-tag-btn{opacity:1}.design-columns .edit-tag-btn:hover:not(:disabled){background:var(--info-bg);border-color:var(--info-border)}.design-columns .edit-tag-btn:disabled{opacity:.6;cursor:wait}.design-columns .tag-edit-container{display:flex;gap:.25rem;flex:1;align-items:center}.design-columns .tag-edit-input{flex:1;padding:.25rem .5rem;font-size:.8125rem;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--info-border);border-radius:4px;outline:none;transition:all .15s ease}.design-columns .tag-edit-input:focus{border-color:var(--accent);background:var(--bg-primary)}.design-columns .tag-edit-save{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--success-bg);color:var(--accent);border:1px solid var(--success-border);border-radius:4px;cursor:pointer;transition:all .15s ease;padding:0;line-height:1}.design-columns .tag-edit-save:hover{background:var(--success-bg-light);border-color:var(--accent)}.design-columns .tag-edit-cancel{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--error-bg);color:var(--error-accent);border:1px solid var(--error-border);border-radius:4px;cursor:pointer;transition:all .15s ease;padding:0;line-height:1}.design-columns .tag-edit-cancel:hover{background:var(--error-bg-light);border-color:var(--error-accent)}.design-columns .tag-edited-indicator{display:inline-block;margin-right:.375rem;font-size:.75rem;color:var(--info-text);font-weight:500;flex-shrink:0}.design-columns .column-row.manual-edit .tag-value{color:var(--info-text);font-weight:500}.design-columns .removed-count{text-align:center;font-size:.8125rem;color:var(--error-text);padding:.5rem;background:var(--error-bg-light);border-radius:4px}.design-cards .cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.design-cards .tag-card{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;transition:all .15s ease}.design-cards .tag-card.kept{background:var(--bg-primary)}.design-cards .tag-card.removed{background:var(--error-bg-light);border-color:var(--error-border);opacity:.8}.design-cards .card-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.design-cards .tag-card.removed .card-header{background:var(--error-bg);border-bottom-color:var(--error-border)}.design-cards .card-tag-name{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.design-cards .tag-card.removed .card-tag-name{color:var(--error-text);text-decoration:line-through}.design-cards .card-status{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;border-radius:50%}.design-cards .card-status.kept{background:var(--success-bg);color:var(--success-text)}.design-cards .card-status.removed{background:var(--error-bg);color:var(--error-text)}.design-cards .card-body{padding:.625rem .75rem}.design-cards .card-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.8125rem;padding:.25rem 0}.design-cards .card-row.final{border-top:1px dashed var(--border-primary);margin-top:.25rem;padding-top:.5rem}.design-cards .card-label{font-size:.6875rem;color:var(--text-faint);text-transform:uppercase}.design-cards .card-value{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.design-cards .card-row.final .card-value{color:var(--accent);font-weight:500}.design-minimal .minimal-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.design-minimal .minimal-row{display:grid;grid-template-columns:140px 30px 1fr;align-items:center;padding:.625rem 1rem;border-bottom:1px solid var(--bg-tertiary);font-size:.875rem}.design-minimal .minimal-row:last-child{border-bottom:none}.design-minimal .minimal-row.removed{background:var(--error-bg-light)}.design-minimal .minimal-name{font-weight:500;color:var(--text-secondary)}.design-minimal .minimal-row.removed .minimal-name{color:var(--error-text)}.design-minimal .minimal-arrow{color:var(--text-faint);font-size:.875rem;text-align:center}.design-minimal .minimal-arrow .strikethrough{text-decoration:line-through;color:var(--error-accent)}.design-minimal .minimal-values{display:flex;gap:1rem;overflow:hidden}.design-minimal .original-value{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.design-minimal .final-value{color:var(--accent);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.design-minimal .minimal-values.removed .original-value{text-decoration:line-through;color:var(--error-text)}.design-minimal .removed-text{font-size:.75rem;font-style:italic;color:var(--error-text);background:var(--error-bg);padding:.125rem .5rem;border-radius:4px}.metadata-paths{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px}.metadata-paths .path-row{display:flex;gap:.75rem;align-items:flex-start}.metadata-paths .path-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;flex-shrink:0;min-width:5rem;padding-top:.125rem}.metadata-paths .path-value{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.8125rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;word-break:break-all;transition:background-color .3s ease}.metadata-paths .path-value.path-highlight{background-color:#ffc1074d;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:4px;animation:pathHighlightFade 2s ease-out}@keyframes pathHighlightFade{0%{background-color:#ffc10780}to{background-color:#ffc10700}}.metadata-paths .path-value.multi-source{display:flex;flex-direction:column;gap:.25rem}.metadata-paths .source-path-item{display:flex;gap:.5rem;align-items:flex-start}.metadata-paths .disc-indicator{font-weight:600;color:var(--text-muted);flex-shrink:0}.files-comparison-section{margin-top:.5rem}.files-comparison-header{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.files-columns-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.files-column{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.files-column-header{padding:.625rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary)}.original-files-column .files-column-header{background:var(--bg-secondary);color:var(--text-muted)}.final-files-column .files-column-header{background:var(--success-bg-light);color:var(--success-text-dark)}.files-column-content{min-height:2rem}.files-column-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--bg-tertiary);font-size:.8125rem}.files-column-row:last-child{border-bottom:none}.files-column-row.will-remove{background:var(--error-bg-light);opacity:.7}.files-column-row.will-remove .file-name{text-decoration:line-through;color:var(--error-text)}.files-column-row .file-icon{font-size:.875rem;flex-shrink:0}.files-column-row .file-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.final-files-column .files-column-row .file-name{color:var(--accent);font-weight:500}.files-removed-count{text-align:center;font-size:.8125rem;color:var(--error-text);padding:.5rem;background:var(--error-bg-light);border-radius:4px;margin-top:.5rem}.extra-files-section{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.75rem}.extra-files-label{font-weight:600;color:var(--text-muted);text-transform:uppercase;flex-shrink:0;padding-top:.125rem}.extra-files-list{display:flex;flex-wrap:wrap;gap:.375rem}.extra-file{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:4px;font-size:.6875rem;cursor:default}.extra-file.kept{background:var(--success-bg);color:var(--success-text)}.extra-file.discarded{background:var(--error-bg);color:var(--error-text);opacity:.7}.extra-file .file-icon{font-size:.75rem}.extra-file .file-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extra-file .file-status{font-size:.625rem;font-weight:600}.tag-comparison-table{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.tag-table-header{display:grid;grid-template-columns:140px 1fr 1fr 80px;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tag-table-row{display:grid;grid-template-columns:140px 1fr 1fr 80px;gap:.5rem;padding:.625rem 1rem;border-bottom:1px solid var(--bg-tertiary);font-size:.875rem;align-items:center}.tag-table-row:last-child{border-bottom:none}.tag-table-row.removed{background:var(--error-bg-light)}.tag-col-name{font-weight:500;color:var(--text-secondary)}.tag-col-original{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-col-final{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.removed-tag{color:var(--error-text);font-style:italic;font-size:.8125rem}.tag-col-status{text-align:center}.status-kept{display:inline-block;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;background:var(--success-bg);color:var(--success-text);border-radius:4px}.status-removed{display:inline-block;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;background:var(--error-bg);color:var(--error-text);border-radius:4px}.audio-info-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.8125rem;color:var(--text-secondary)}.audio-info-compact .audio-label{color:var(--text-muted);font-weight:500}.audio-info-compact .audio-separator{color:var(--border-secondary)}.audio-info-compact .audio-item{white-space:nowrap}.audio-info-section{padding:1rem;background:var(--bg-secondary);border-radius:8px}.audio-info-section h4{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.audio-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.audio-info-item{display:flex;flex-direction:column;gap:.125rem}.audio-label{font-size:.6875rem;color:var(--text-faint);text-transform:uppercase}.audio-value{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.settings-hint{padding:.75rem 1rem;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:6px}.settings-hint p{font-size:.8125rem;color:var(--warning-text);margin:0;line-height:1.5}.tracks-list{display:flex;flex-direction:column;gap:.5rem}.disc-header{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--info-bg);border-radius:6px;margin-top:.5rem}.disc-header:first-child{margin-top:0}.disc-icon{font-size:1rem}.disc-label{font-size:.8125rem;font-weight:600;color:var(--info-text);text-transform:uppercase;letter-spacing:.05em}.track-row{padding:.75rem 1rem;background:var(--bg-secondary);border-radius:6px}.track-header{display:flex;gap:1rem;align-items:center;transition:background-color .15s ease;border-radius:6px;padding:.5rem;margin:-.5rem}.track-header.clickable:hover{background-color:var(--bg-hover)}.track-number{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--bg-hover);border-radius:4px}.track-filenames{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.filename-row{display:flex;gap:.75rem;align-items:baseline}.filename-label{font-size:.6875rem;font-weight:500;color:var(--text-faint);text-transform:uppercase;flex-shrink:0;width:60px}.filename-value{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filename-row.final .filename-value{color:var(--accent);font-weight:500}.track-metadata-indicators{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.track-duration{font-size:.75rem;color:var(--text-faint)}.track-bpm{font-size:.75rem;color:var(--text-secondary);padding:.25rem .5rem;background-color:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.track-lyrics-indicator{font-size:1rem;cursor:help}.track-musicbrainz{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-subtle)}.track-musicbrainz details{cursor:pointer}.track-musicbrainz summary{list-style:none;display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted);padding:.25rem 0}.track-musicbrainz summary::-webkit-details-marker{display:none}.track-musicbrainz summary:before{content:"▸";font-size:.625rem;transition:transform .2s}.track-musicbrainz details[open] summary:before{transform:rotate(90deg)}.mb-tags-summary .mb-icon{font-size:.875rem}.mb-tags-summary .match-confidence{margin-left:auto;font-size:.6875rem;color:var(--success);background:var(--success-bg);padding:.125rem .375rem;border-radius:4px}.mb-tags-content{padding:.5rem 0 .25rem 1.25rem}.mb-matched-title{display:flex;gap:.5rem;font-size:.6875rem;margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px dashed var(--border-subtle)}.mb-matched-title .label{color:var(--text-faint)}.mb-matched-title .value{color:var(--text-secondary);font-style:italic}.mb-tag-row{display:flex;gap:.5rem;font-size:.6875rem;padding:.125rem 0}.mb-tag-name{color:var(--text-faint);flex-shrink:0}.mb-tag-value{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.mb-tag-value.new{color:var(--success);background:var(--success-bg);padding:0 .25rem;border-radius:2px}.mb-tag-value.mb-tag-link{color:var(--accent);text-decoration:underline;cursor:pointer;transition:all .15s ease}.mb-tag-value.mb-tag-link:hover{color:var(--accent-hover);text-decoration:none}.mb-link{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent);transition:all .15s ease}.mb-link:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover);border-bottom-style:solid}.track-info-columns{display:flex;gap:1rem;align-items:center;flex-shrink:0}.track-duration-col{font-size:.75rem;color:var(--text-faint);min-width:40px;text-align:center}.track-lyrics-col{min-width:80px;display:flex;align-items:center;justify-content:center}.lyrics-badge{font-size:.6875rem;color:var(--success);background:var(--success-bg);padding:.25rem .5rem;border-radius:4px;display:inline-flex;align-items:center;gap:.25rem}.no-lyrics{font-size:.75rem;color:var(--text-faint)}.track-expand-icon{flex-shrink:0;font-size:.75rem;color:var(--text-muted);transition:color .15s ease;padding:.25rem .5rem}.track-header.clickable:hover .track-expand-icon{color:var(--text-primary)}.track-metadata-expanded{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:6px;padding:1rem}.track-metadata-expanded .design-columns{margin:0}.track-metadata-expanded .columns-container{grid-gap:.75rem}.track-metadata-expanded .column-header{font-size:.6875rem}.track-metadata-expanded .column-row{padding:.375rem .5rem;font-size:.75rem}.track-metadata-expanded .tag-name{font-size:.6875rem}.track-metadata-expanded .tag-value{font-size:.75rem}.track-metadata-expanded .removed-count{margin-top:.5rem;font-size:.6875rem}.track-mb-confidence{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle);font-size:.75rem;color:var(--text-muted)}.track-mb-confidence .matched-title{color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.metadata-modal{max-width:100%;max-height:100vh;border-radius:0}.design-columns .columns-container,.files-columns-container{grid-template-columns:1fr}.design-cards .cards-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.design-minimal .minimal-row{grid-template-columns:110px 24px 1fr}.audio-info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.metadata-modal-header{padding:1rem}.metadata-tabs{padding:0 1rem}.metadata-tab{padding:.625rem .75rem;font-size:.8125rem}.metadata-modal-body{padding:1rem}.design-selector{flex-wrap:wrap}.design-btn{padding:.25rem .5rem;font-size:.6875rem}.design-columns .column-row{padding:.375rem .75rem;font-size:.8125rem}.design-cards .cards-grid{grid-template-columns:1fr}.design-minimal .minimal-row{grid-template-columns:1fr;gap:.25rem}.design-minimal .minimal-name{font-size:.8125rem}.design-minimal .minimal-arrow{display:none}.design-minimal .minimal-values{padding-left:.5rem;font-size:.8125rem}.audio-info-grid{grid-template-columns:1fr 1fr;gap:.75rem}.track-header{flex-wrap:wrap}.track-filenames{width:100%;order:2;margin-top:.5rem}.track-info-columns{gap:.5rem}.track-expand-icon{font-size:.625rem;padding:.125rem .375rem}}.workflow-logs{padding:1.5rem}.logs-list{display:flex;flex-direction:column;gap:.75rem;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.875rem}.log-entry{background:var(--bg-secondary);border-left:3px solid var(--text-faint);padding:.75rem 1rem;border-radius:4px;transition:background .15s}.log-entry:hover{background:var(--bg-tertiary)}.log-entry.log-level-info{border-left-color:var(--info-border)}.log-entry.log-level-warning{border-left-color:var(--warning-border);background:var(--warning-bg)}.log-entry.log-level-warning:hover{background:var(--warning-bg)}.log-entry.log-level-error{border-left-color:var(--error-accent);background:var(--error-bg-light)}.log-entry.log-level-error:hover{background:var(--error-bg)}.log-entry.log-level-debug{border-left-color:var(--purple-text);opacity:.8}.log-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.log-timestamp{color:var(--text-muted);font-size:.8125rem;font-weight:500}.log-level{padding:.125rem .5rem;border-radius:3px;font-size:.6875rem;font-weight:600;letter-spacing:.05em}.log-level.log-info{background:var(--info-bg);color:var(--info-text)}.log-level.log-warning{background:var(--warning-bg);color:var(--warning-text)}.log-level.log-error{background:var(--error-bg);color:var(--error-text)}.log-level.log-debug{background:var(--purple-bg);color:var(--purple-text)}.log-message{color:var(--text-primary);line-height:1.5;word-break:break-word}.log-details{margin-top:.5rem}.log-details details{border-top:1px solid var(--border-primary);padding-top:.5rem}.log-details summary{color:var(--text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;-webkit-user-select:none;user-select:none}.log-details summary:hover{color:var(--text-secondary)}.log-details pre{background:var(--code-bg);color:var(--text-primary);padding:.75rem;border-radius:4px;overflow-x:auto;margin:.5rem 0 0;font-size:.8125rem}.logs-empty{text-align:center;color:var(--text-faint);padding:3rem 1.5rem;font-size:.9375rem}.metadata-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:0 0 12px 12px}.metadata-modal-footer .btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.metadata-modal-footer .btn:disabled{opacity:.6;cursor:not-allowed}.metadata-modal-footer .btn-approve{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.metadata-modal-footer .btn-approve:hover:not(:disabled){background:var(--success-bg-light);border-color:var(--success-text)}.metadata-modal-footer .btn-reject{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-secondary)}.metadata-modal-footer .btn-reject:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-faint)}.pending-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--warning-bg);color:var(--warning-text)}.design-columns .column-row.manual-removal{background:var(--error-bg-light)}.design-columns .column-row.manual-removal .tag-name,.design-columns .column-row.manual-removal .tag-value{text-decoration:line-through;color:var(--error-text)}.design-columns .column-row.manual-removal .keep-tag-btn{opacity:1}.workflow-error-box{background:var(--error-bg-light);border:1px solid var(--error-border);border-radius:4px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.warnings-errors-content{padding:1.5rem}.warnings-errors-list{display:flex;flex-direction:column;gap:1.5rem}.errors-section,.warnings-section{display:flex;flex-direction:column;gap:.75rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--border-primary)}.section-icon{font-size:1.25rem}.items-list{display:flex;flex-direction:column;gap:.5rem}.error-item,.warning-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-primary)}.error-item{background:var(--error-bg-light);border-color:var(--error-border)}.warning-item{background:var(--warning-bg);border-color:var(--warning-border)}.item-icon{font-size:1.125rem;flex-shrink:0;margin-top:.125rem}.item-message{flex:1;color:var(--text-primary);line-height:1.5;word-break:break-word}.error-item .item-message{color:var(--error-text-dark)}.warning-item .item-message{color:var(--warning-text-dark)}.no-warnings-errors{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;color:var(--text-secondary);font-size:1rem}.no-warnings-errors p{margin:0;font-size:1.125rem}.album-warning-badge.clickable,.album-error-badge.clickable,.workflow-status-badge.clickable{cursor:pointer;transition:transform .1s ease,opacity .2s ease}.album-warning-badge.clickable:hover,.album-error-badge.clickable:hover,.workflow-status-badge.clickable:hover{transform:translateY(-1px);opacity:.9}.album-warning-badge.clickable:active,.album-error-badge.clickable:active,.workflow-status-badge.clickable:active{transform:translateY(0)}.album-error-badge{font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;background:var(--error-bg-light);color:var(--error-text-dark);border:1px solid var(--error-border)}.processed-albums-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.processed-albums-modal{background:var(--bg-primary);border-radius:8px;box-shadow:0 4px 12px var(--shadow-md);width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column}.processed-albums-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--border-primary)}.processed-albums-title h3{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.processed-albums-subtitle{margin:0;font-size:.875rem;color:var(--text-muted)}.processed-albums-actions{display:flex;gap:.5rem;align-items:center}.processed-albums-actions .btn-refresh{padding:.375rem .75rem;font-size:.75rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:4px;cursor:pointer;transition:all .15s ease}.processed-albums-actions .btn-refresh:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary)}.processed-albums-actions .btn-refresh:disabled{opacity:.5;cursor:not-allowed}.processed-albums-close{background:none;border:none;font-size:1.75rem;color:var(--text-faint);cursor:pointer;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.processed-albums-close:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.processed-albums-stats{display:flex;gap:.5rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-wrap:wrap}.stat-button{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .15s ease;min-width:80px}.stat-button:hover{border-color:var(--border-secondary);background:var(--bg-secondary)}.stat-button.active{border-color:var(--info-border);background:var(--info-bg-light)}.stat-button .stat-count{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.stat-button .stat-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stat-button.stat-pending .stat-count{color:var(--warning-border)}.stat-button.stat-approved .stat-count{color:var(--accent)}.stat-button.stat-rejected .stat-count{color:var(--error-accent)}.processed-albums-body{padding:1rem 1.5rem;overflow-y:auto;flex:1}.processed-albums-loading,.processed-albums-error,.processed-albums-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.processed-albums-error{color:var(--error-accent)}.processed-albums-list{display:flex;flex-direction:column;gap:.5rem}.processed-album-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .15s ease}.processed-album-item:hover{border-color:var(--border-secondary);background:var(--bg-tertiary)}.processed-album-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.album-status-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;flex-shrink:0}.album-status-badge.status-pending{background:var(--warning-bg);color:var(--warning-text)}.album-status-badge.status-approved{background:var(--success-bg);color:var(--success-text)}.album-status-badge.status-rejected{background:var(--error-bg);color:var(--error-text)}.album-status-badge.status-moved{background:var(--info-bg);color:var(--info-text)}.album-info{display:flex;align-items:center;gap:.375rem;min-width:0;flex:1}.album-artist{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-separator{color:var(--text-faint);flex-shrink:0}.album-name{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-year{color:var(--text-faint);font-size:.875rem;flex-shrink:0}.processed-album-meta{display:flex;align-items:center;gap:1rem;flex-shrink:0}.workflow-status-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;flex-shrink:0}.workflow-status-badge.workflow-completed{background:var(--success-bg);color:var(--success-text)}.workflow-status-badge.workflow-failed{background:var(--error-bg);color:var(--error-text)}.workflow-status-badge.workflow-running{background:var(--info-bg);color:var(--info-text)}.workflow-status-badge.workflow-review{background:var(--warning-bg);color:var(--warning-text)}.album-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.btn-delete-inline{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:1rem;padding:.25rem .5rem;line-height:1;border-radius:4px;transition:all .15s ease}.btn-delete-inline:hover{background:var(--error-bg);color:var(--error-accent)}.delete-confirm-inline{display:flex;gap:.25rem}.btn-confirm-delete-inline,.btn-cancel-delete-inline{background:none;border:1px solid;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;line-height:1;border-radius:4px;transition:all .15s ease}.btn-confirm-delete-inline{border-color:var(--error-accent);color:var(--error-accent);background:var(--error-bg-light)}.btn-confirm-delete-inline:hover:not(:disabled){background:var(--error-accent);color:#fff}.btn-cancel-delete-inline{border-color:var(--border-primary);color:var(--text-muted);background:var(--bg-primary)}.btn-cancel-delete-inline:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-secondary)}.btn-confirm-delete-inline:disabled,.btn-cancel-delete-inline:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.processed-albums-modal{max-width:100%;max-height:100vh;border-radius:0}.processed-albums-header,.processed-albums-body{padding:1rem}.processed-albums-stats{padding:.75rem 1rem}.stat-button{min-width:60px;padding:.375rem .75rem}.stat-button .stat-count{font-size:1rem}.processed-album-item{flex-direction:column;align-items:flex-start;gap:.5rem}.processed-album-main{flex-wrap:wrap}.album-info{width:100%;flex-wrap:wrap}.processed-album-meta{width:100%;justify-content:space-between}}.stat-staging{border-color:var(--accent-primary)}.stat-staging.active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-hover) 100%);color:#fff}.staging-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.btn-select-all{padding:.5rem 1rem;border:1px solid var(--border-primary);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-select-all:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-delete-selected{padding:.5rem 1rem;border:1px solid var(--error);border-radius:4px;background:var(--error);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-delete-selected:hover{background:var(--error-hover)}.btn-delete-selected:disabled{opacity:.5;cursor:not-allowed}.staging-item{display:flex;align-items:center;gap:1rem}.staging-checkbox{flex-shrink:0;padding-left:.5rem}.staging-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.staging-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.staging-name{font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;color:var(--text-muted)}.staging-album{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.staging-album-status{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.staging-orphaned{color:var(--text-muted);font-style:italic}.staging-orphaned-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--warning);color:#fff}.staging-meta{font-size:.875rem;color:var(--text-muted)}.reject-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.reject-modal{background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.reject-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.reject-modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.reject-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.reject-modal-close:hover:not(:disabled){background-color:var(--hover-color)}.reject-modal-close:disabled{opacity:.5;cursor:not-allowed}.reject-modal-body{padding:1.5rem;overflow-y:auto}.reject-modal-album{margin:0 0 1rem;font-size:1rem;color:var(--text-primary)}.reject-modal-album strong{color:var(--primary-color)}.reject-modal-question{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.95rem}.reject-modal-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.reject-modal-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.reject-modal-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.reject-modal-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.reject-modal-checkbox span{color:var(--text-primary);font-size:.95rem}.reject-modal-checkbox.remember span{color:var(--text-secondary);font-size:.9rem}.reject-modal-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background-color:#ffa5001a;border:1px solid rgba(255,165,0,.3);border-radius:6px;margin-top:1rem}.reject-modal-warning .warning-icon{font-size:1.25rem;flex-shrink:0}.reject-modal-warning span:last-child{color:var(--text-primary);font-size:.9rem;line-height:1.4}.reject-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-primary)}.reject-modal-footer .btn{padding:.5rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .2s}.reject-modal-footer .btn-cancel{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.reject-modal-footer .btn-cancel:hover:not(:disabled){background-color:var(--hover-color)}.reject-modal-footer .btn-reject{background-color:#dc3545;color:#fff}.reject-modal-footer .btn-reject:hover:not(:disabled){background-color:#c82333}.reject-modal-footer .btn:disabled{opacity:.6;cursor:not-allowed}.workflow-progress-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:20px;margin-bottom:16px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.progress-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badges{display:flex;gap:8px;flex-shrink:0}.status-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.live{background:#22c55e;color:#000}.status-badge.polling{background:#64748b;color:#fff}.progress-section{margin-bottom:20px}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--text-muted);margin-bottom:8px}.progress-stats{color:var(--text-primary);font-weight:500}.progress-bar-container{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .3s ease;border-radius:4px}.node-bar{height:6px}.node-fill{background:linear-gradient(90deg,#22c55e,#16a34a)}.current-node-section{background:var(--bg-secondary);border-left:3px solid #3b82f6;padding:12px 16px;border-radius:4px}.node-header{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-primary);margin-bottom:8px}.current-node-section .node-icon{font-size:18px;animation:spin 2s linear infinite}.node-progress{margin-top:12px;padding-left:26px}.progress-detail{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding-left:26px;font-size:13px;color:var(--text-muted)}.detail-icon{color:var(--text-muted);opacity:.6;flex-shrink:0}.detail-text{flex:1;line-height:1.4}.dashboard{display:flex;flex-direction:column;gap:2rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1.25rem}.stat-card.clickable{cursor:pointer;transition:all .15s ease}.stat-card.clickable:hover{border-color:var(--info-border);box-shadow:0 2px 8px var(--info-focus-shadow)}.stat-card.clickable .stat-detail{color:var(--info-border)}.period-select{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;outline:none;transition:border-color .15s ease}.period-select:hover{border-color:var(--text-faint)}.period-select:focus{border-color:var(--info-border);box-shadow:0 0 0 2px var(--info-focus-shadow)}.status-badge.healthy{background:var(--success-bg);color:var(--success-text)}.status-badge.error{background:var(--error-bg);color:var(--error-text)}.status-badge.clickable-badge{cursor:pointer;transition:background-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.status-badge.clickable-badge:hover:not(.loading){background-color:#fff;color:var(--text-primary)}.status-badge.clickable-badge:active:not(.loading){opacity:.8}.status-badge.clickable-badge.loading{opacity:.7;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.stat-value{font-size:2rem;font-weight:600;color:var(--text-primary);margin:.5rem 0}.stat-detail{font-size:.75rem;color:var(--text-faint);margin:0}.section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-link{font-size:.875rem;color:var(--accent);text-decoration:none;font-weight:500}.section-link:hover{color:var(--accent-hover);text-decoration:underline}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.config-item{display:flex;flex-direction:column;gap:.25rem}.config-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.config-disabled{color:var(--text-faint);font-weight:400;text-transform:none}.config-value{font-size:.875rem;color:var(--text-primary);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;background:var(--code-bg);padding:.5rem;border-radius:4px}.empty-state{text-align:center;padding:2rem;color:var(--text-faint)}.empty-state p{margin:0;font-size:.875rem}.empty-hint{font-size:.75rem;display:block;margin-top:.25rem}.config-not-set{text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:6px}.not-configured-text{font-size:.875rem;color:var(--text-secondary);font-weight:500;margin:0 0 .25rem}.not-configured-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 1rem}.loading-text{font-size:.875rem;color:var(--text-muted);text-align:center;padding:1rem;margin:0}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.monitor-card{display:flex;flex-direction:column}.status-badge.running{background:var(--success-bg);color:var(--success-text)}.watched-folders{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.folder-tag{font-size:.625rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;background:var(--bg-tertiary);color:var(--text-secondary);padding:.25rem .5rem;border-radius:4px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-error{font-size:.75rem;color:var(--error-text);background:var(--error-bg);padding:.5rem;border-radius:4px;margin:.5rem 0 0}.monitor-actions{margin-top:auto;padding-top:.75rem}.album-list{display:flex;flex-direction:column;gap:.75rem}.section-link-btn{font-size:.875rem;color:var(--accent);background:none;border:none;cursor:pointer;font-weight:500;padding:0}.section-link-btn:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.section-link-btn:disabled{color:var(--text-faint);cursor:not-allowed}.section-header-actions{display:flex;align-items:center;gap:1rem}.workflow-filter{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.75rem;font-weight:500;color:var(--text-muted)}.filter-select{font-size:.75rem;padding:.375rem .625rem;border:1px solid var(--border-primary);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.filter-select:hover{border-color:var(--border-secondary)}.filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--input-focus-shadow)}.batch-actions{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--success-bg-light);border:1px solid var(--success-border);border-radius:6px;margin-bottom:1rem}.batch-count{font-size:.875rem;font-weight:500;color:var(--success-text-dark)}.batch-buttons{display:flex;gap:.5rem}.btn-approve{background:var(--accent);color:#fff}.btn-approve:hover:not(:disabled){background:var(--accent-hover)}.btn-reject{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-reject:hover:not(:disabled){background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.action-error{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--error-bg-light);border:1px solid var(--error-border);border-radius:6px;margin-bottom:1rem;color:var(--error-text);font-size:.875rem}.error-dismiss{background:none;border:none;color:var(--error-text);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.error-dismiss:hover{color:var(--error-text-dark)}@media (max-width: 640px){.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.section-header-actions{width:100%;flex-direction:column;align-items:stretch}.workflow-filter{width:100%}.filter-select{flex:1}.batch-actions{flex-direction:column;gap:.75rem;align-items:stretch}.batch-count{text-align:center}.batch-buttons{flex-direction:column}.batch-buttons .btn{width:100%}}.processing-section{background:linear-gradient(to right,var(--info-bg-lighter),var(--bg-primary));border:2px solid var(--info-border)}.processing-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.processing-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;padding:1rem;transition:all .2s}.processing-item:hover{box-shadow:0 2px 4px var(--shadow-sm)}.processing-info{display:flex;flex-direction:column;gap:.5rem}.processing-path{display:flex;gap:.5rem;font-size:.875rem}.processing-label{color:var(--text-muted);font-weight:500}.processing-value{color:var(--text-primary);font-family:monospace;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:3px}.processing-album{display:flex;gap:.375rem;align-items:center;font-size:.95rem}.processing-artist{color:var(--text-secondary);font-weight:600}.processing-separator{color:var(--text-faint)}.processing-album-name{color:var(--text-secondary)}.processing-year{color:var(--text-muted);font-size:.875rem}.processing-node{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--info-bg-light);border:1px solid var(--info-bg);border-radius:4px;font-size:.875rem;margin-top:.25rem}.processing-node-icon{font-size:1rem}.processing-node-label{color:var(--info-text);font-weight:500;flex:1}.processing-spinner{color:var(--info-border);font-size:1.25rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.processing-actions{display:flex;gap:.5rem;flex-shrink:0}.processing-actions .btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border-radius:4px;white-space:nowrap;flex:0 0 auto}.btn-danger{background-color:var(--danger-bg);color:#fff;border:none}.btn-danger:hover:not(:disabled){background-color:var(--danger-bg-hover)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.processing-item-container{margin-bottom:16px}.processing-item-container .processing-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:12px;padding:0 20px}.highlight{animation:highlightPulse 2s ease-out}@keyframes highlightPulse{0%{background-color:transparent;box-shadow:0 0 0 0 var(--info-border)}25%{background-color:var(--info-bg);box-shadow:0 0 0 8px var(--info-focus-shadow)}to{background-color:transparent;box-shadow:0 0 0 0 var(--info-focus-shadow)}}.section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1.5rem}.section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.coming-soon{color:var(--text-muted);font-size:.875rem;margin:0 0 1.5rem}.planned-features{background:var(--bg-secondary);border-radius:6px;padding:1rem 1.25rem}.planned-features h4{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.planned-features ul{margin:0;padding-left:1.25rem}.planned-features li{font-size:.875rem;color:var(--text-tertiary);margin-bottom:.5rem}.planned-features li:last-child{margin-bottom:0}.planned-features li strong{color:var(--text-primary)}.logs-section{display:flex;flex-direction:column;gap:1rem}.logs-filters{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary)}.logs-filters-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.search-input-wrapper{position:relative;flex:1;min-width:200px}.search-input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--info-border);box-shadow:0 0 0 3px var(--info-focus-shadow)}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem}.search-clear:hover{color:var(--text-muted)}.filter-select{padding:.5rem 2rem .5rem .75rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--text-primary);cursor:pointer;min-width:130px}.filter-select:focus{outline:none;border-color:var(--info-border);box-shadow:0 0 0 3px var(--info-focus-shadow)}.clear-filters-btn{padding:.5rem .75rem;background:none;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;color:var(--text-muted);cursor:pointer}.clear-filters-btn:hover{background:var(--bg-secondary);color:var(--text-secondary)}.logs-filters-actions{display:flex;align-items:center;gap:1rem;justify-content:flex-end}.auto-refresh-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);cursor:pointer}.auto-refresh-toggle input{cursor:pointer}.logs-loading,.logs-error,.logs-empty{text-align:center;padding:2rem}.logs-loading p,.logs-empty p{color:var(--text-muted);font-size:.875rem;margin:0}.logs-error{background:var(--error-bg-light);border:1px solid var(--error-bg);border-radius:6px;color:var(--error-accent);display:flex;align-items:center;justify-content:center;gap:1rem}.logs-error button{padding:.25rem .75rem;background:var(--error-accent);color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer}.logs-error button:hover{background:var(--danger-bg-hover)}.empty-hint{display:block;color:var(--text-faint);font-size:.8125rem;margin-top:.5rem}.link-btn{background:none;border:none;color:var(--info-border);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.link-btn:hover{color:var(--info-text)}.logs-list{display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:6px;overflow:hidden}.log-entry{border-bottom:1px solid var(--border-primary)}.log-entry.has-details{cursor:pointer}.log-entry.has-details:hover{background:var(--bg-secondary)}.log-main{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.8125rem}.log-timestamp{color:var(--text-muted);font-family:monospace;font-size:.75rem;flex-shrink:0;min-width:120px}.log-level{padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;flex-shrink:0;min-width:56px;text-align:center}.level-debug{background:var(--bg-tertiary);color:var(--text-muted)}.level-info{background:var(--info-bg);color:var(--info-text)}.level-warning{background:var(--warning-bg);color:var(--warning-text-dark)}.level-error{background:var(--error-bg);color:var(--error-accent)}.log-source{color:var(--text-faint);font-size:.75rem;flex-shrink:0;min-width:70px}.log-message{color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-expand-icon{color:var(--text-faint);font-size:1rem;font-weight:700;flex-shrink:0;width:1rem;text-align:center}.log-entry.expanded .log-expand-icon{color:var(--info-border)}.log-details{background:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:.75rem 1rem}.log-details pre{margin:0;font-size:.75rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.logs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem}.pagination-info{color:var(--text-muted);font-size:.875rem}.logs-total{text-align:center;color:var(--text-faint);font-size:.8125rem;padding-top:.75rem}@media (max-width: 768px){.logs-filters-row{flex-direction:column}.search-input-wrapper,.filter-select,.clear-filters-btn{width:100%}.log-main{flex-wrap:wrap;gap:.5rem}.log-timestamp,.log-source{min-width:auto}.log-message{flex-basis:100%;order:5}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:1rem}.login-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:2.5rem;width:100%;max-width:380px}.login-card h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;text-align:center}.login-subtitle{color:var(--text-muted);font-size:.875rem;text-align:center;margin:0 0 1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-error{background:var(--error-bg);color:var(--error-text);padding:.75rem;border-radius:6px;font-size:.875rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group input{padding:.625rem .75rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;color:var(--text-primary);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus-shadow)}.login-button{margin-top:.5rem;padding:.625rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease}.login-button:hover:not(:disabled){background:var(--accent-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.tool-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.tool-modal{background:var(--bg-primary);border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm)}.tool-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary)}.tool-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.tool-modal-subtitle{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0}.tool-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-faint);cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.tool-modal-close:hover{color:var(--text-secondary)}.tool-stats{display:flex;gap:1.5rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.tool-stat{display:flex;flex-direction:column;gap:.25rem;align-items:center}.stat-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-value.stat-success{color:var(--accent)}.stat-value.stat-warning{color:var(--warning-text-dark)}.stat-value.stat-error{color:var(--error-accent)}.tool-modal-body{flex:1;overflow-y:auto;padding:0;background:var(--bg-primary);position:relative}.tool-logs{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.8125rem;padding:1rem 1.5rem;min-height:400px;max-height:500px;overflow-y:auto;background:var(--bg-secondary);border-radius:0}.log-entry{display:flex;gap:.75rem;padding:.375rem 0;color:var(--text-secondary);line-height:1.5;border-bottom:1px solid var(--bg-tertiary)}.log-entry:last-child{border-bottom:none}.log-entry.log-info{color:var(--text-secondary)}.log-entry.log-success{color:var(--accent);font-weight:500}.log-entry.log-warning{color:var(--warning-text);background:var(--warning-bg);padding:.375rem .75rem;margin:0 -.75rem;border-left:3px solid var(--warning-border)}.log-entry.log-error{color:var(--error-text);background:var(--error-bg-light);padding:.375rem .75rem;margin:0 -.75rem;border-left:3px solid var(--error-accent)}.log-timestamp{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.log-message{flex:1;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;color:inherit}.scroll-to-bottom-btn{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;border:none;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;box-shadow:0 4px 6px var(--shadow-md),0 2px 4px var(--shadow-sm);transition:all .2s ease;z-index:10}.scroll-to-bottom-btn:hover{background:var(--accent-hover);box-shadow:0 6px 8px var(--shadow-md),0 3px 6px var(--shadow-sm)}.scroll-to-bottom-btn:active{transform:translate(-50%) scale(.95)}.tool-summary{background:var(--bg-primary);padding:1.5rem;min-height:400px;max-height:500px;overflow-y:auto}.tool-summary h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.summary-stats{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.summary-stats p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.summary-stats strong{font-weight:600;color:var(--text-primary)}.summary-stats .text-warning{color:var(--warning-text-dark)}.summary-stats .text-error{color:var(--error-accent)}.summary-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.875rem}.summary-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:1.5rem 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.summary-section-title:first-child{margin-top:0}.summary-list{display:flex;flex-direction:column;gap:.5rem}.summary-item{display:flex;gap:.75rem;padding:.75rem;border-radius:6px;border:1px solid}.summary-item.summary-success{background:var(--success-bg-light);border-color:var(--success-border)}.summary-item.summary-warning{background:var(--warning-bg);border-color:var(--warning-border)}.summary-item.summary-error{background:var(--error-bg-light);border-color:var(--error-border)}.summary-icon{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;border-radius:50%}.summary-success .summary-icon{background:var(--success-bg);color:var(--success-text)}.summary-warning .summary-icon{background:var(--warning-bg);color:var(--warning-text)}.summary-error .summary-icon{background:var(--error-bg);color:var(--error-text)}.summary-content{flex:1;min-width:0}.summary-folder{font-size:.875rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-detail{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.summary-warning .summary-detail,.summary-error .summary-detail{color:var(--warning-text)}.tool-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-primary)}.btn-primary:hover{background:var(--info-text)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-secondary)}.btn-secondary:hover{background:var(--bg-hover)}.folder-input-container{position:relative;width:100%}.folder-input-container .form-input{width:100%;padding-right:2rem}.folder-input-loading{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#059669;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.folder-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-height:240px;overflow-y:auto;z-index:100}.folder-suggestion{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;cursor:pointer;transition:background-color .1s ease}.folder-suggestion:hover,.folder-suggestion.selected{background:#f3f4f6}.folder-suggestion:first-child{border-radius:6px 6px 0 0}.folder-suggestion:last-child{border-radius:0 0 6px 6px}.folder-suggestion:only-child{border-radius:6px}.folder-icon{font-size:1rem;flex-shrink:0;opacity:.7}.folder-name{font-size:.875rem;color:#111827;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-suggestions::-webkit-scrollbar{width:6px}.folder-suggestions::-webkit-scrollbar-track{background:transparent}.folder-suggestions::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.folder-suggestions::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.folder-suggestions{max-height:200px}.folder-suggestion{padding:.75rem}.folder-name{font-size:.9375rem}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.settings-modal{background:var(--bg-primary);border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm)}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary)}.settings-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.settings-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-faint);cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.settings-modal-close:hover{color:var(--text-secondary)}.settings-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.settings-loading{text-align:center;color:var(--text-muted);font-size:.875rem;padding:2rem;margin:0}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-row{display:flex;gap:1rem}.form-group-half{flex:1}.form-select{padding:.625rem .875rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;color:var(--text-secondary);background:var(--input-bg);cursor:pointer;width:100%}.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus-shadow)}.form-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.form-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.form-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-hint{font-size:.8125rem;color:var(--text-muted);margin:0}.form-hint-small{font-size:.75rem;color:var(--text-faint);margin:.25rem 0 0 1.5rem}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}.settings-info{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem}.info-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem}.info-list{font-size:.8125rem;color:var(--text-muted);margin:0;padding-left:1.25rem;line-height:1.6}.info-list li{margin-bottom:.375rem}.info-list li:last-child{margin-bottom:0}.settings-toast{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-top:1rem}.settings-toast-success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.settings-toast-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.settings-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container{background:var(--bg-primary);border-radius:12px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm)}.history-modal{max-width:700px}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-primary)}.history-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.history-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;transition:all .2s ease}.history-item:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.history-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.history-item-title{display:flex;flex-direction:column;gap:4px}.history-item-title strong{color:var(--text-primary);font-size:14px}.history-item-date{color:var(--text-muted);font-size:12px}.history-item-actions{display:flex;gap:8px}.btn-icon-sm{padding:6px;min-width:unset;width:28px;height:28px}.btn-icon-sm svg{width:16px;height:16px}.btn-delete{color:var(--error-accent)}.btn-delete:hover{background:var(--error-bg-light);color:var(--error-text-dark)}.history-item-stats{color:var(--text-muted);font-size:13px;line-height:1.5}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--info-border);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p,.error-state p,.empty-state p{color:var(--text-muted);margin:0}.error-state p{margin-bottom:16px}.batch-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.batch-processing-modal{background:var(--bg-primary);border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary)}.modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.btn-close{background:none;border:none;font-size:1.5rem;color:var(--text-faint);cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.btn-close:hover{color:var(--text-secondary)}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.batch-section{margin-bottom:24px;padding:16px;background:var(--bg-secondary);border-radius:8px}.batch-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.batch-card{background:var(--bg-primary);border-radius:6px;padding:16px;margin-bottom:12px}.batch-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.batch-name{font-weight:600;color:var(--text-primary)}.batch-progress{margin-bottom:12px}.progress-text{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.progress-bar{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.batch-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.batch-actions button{opacity:1;visibility:visible}.batch-card-history{opacity:.8}.batch-summary{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.batch-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.batch-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color);gap:12px}.batch-title{font-size:18px;font-weight:600;color:var(--text-primary)}.batch-filters{display:flex;gap:12px;margin-bottom:16px}.batch-filters .form-control{flex:1}.folder-list{max-height:400px;overflow-y:auto;margin-bottom:16px}.folder-item{display:flex;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:background .2s}.folder-item:hover{background:var(--bg-hover)}.folder-item input[type=checkbox]{margin-right:12px;cursor:pointer}.folder-info{flex:1}.folder-name{font-weight:500;color:var(--text-primary);margin-bottom:4px}.folder-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 0}.pagination-info{font-size:14px;color:var(--text-secondary)}.batch-config{max-width:600px;margin:0 auto}.batch-summary-box{background:var(--bg-secondary);border-radius:8px;padding:16px;margin-top:24px}.batch-summary-box h5{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-primary);border-radius:6px;margin-bottom:8px}.summary-item:last-child{margin-bottom:0}.summary-item span{color:var(--text-secondary);font-size:14px}.summary-item strong{color:var(--text-primary);font-size:14px;font-weight:600}.batch-status-badge-success{background:var(--success-bg);color:var(--success-text)}.batch-status-badge-warning{background:var(--warning-bg);color:var(--warning-text)}.batch-status-badge-error{background:var(--error-bg);color:var(--error-text)}.batch-status-badge-secondary{background:var(--bg-hover);color:var(--text-secondary)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-control{padding:.625rem .875rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;color:var(--text-secondary);background:var(--input-bg);width:100%}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus-shadow)}.alert{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;margin-top:1rem}.alert-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.alert-success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.btn{padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .15s ease}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{padding:.5rem .75rem;font-size:.8125rem}.batch-history-modal{max-width:700px}.batch-history-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;transition:all .2s ease;cursor:pointer}.batch-history-item:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.batch-history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.batch-history-title{display:flex;align-items:center;gap:12px}.batch-history-title strong{color:var(--text-primary);font-size:14px}.batch-history-date{color:var(--text-muted);font-size:12px;margin-bottom:8px}.batch-history-actions{display:flex;gap:8px}.batch-history-stats{color:var(--text-muted);font-size:13px;line-height:1.5}.batch-details-modal{max-width:800px}.batch-details-summary{background:var(--bg-secondary);border-radius:8px;padding:16px;margin-bottom:24px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-primary)}.summary-row:last-child{border-bottom:none}.summary-label{font-weight:500;color:var(--text-secondary)}.summary-value{color:var(--text-primary)}.batch-details-section{margin-top:24px}.batch-details-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.folders-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.folder-details-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:12px}.folder-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.folder-details-path{font-weight:500;color:var(--text-primary);word-break:break-all;flex:1;margin-right:12px}.folder-details-badges{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.folder-error-message{background:var(--error-bg);color:var(--error-text);padding:8px;border-radius:4px;font-size:13px;margin-bottom:8px}.folder-details-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.batch-status-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px}.batch-status-badge-default{background:var(--bg-secondary);color:var(--text-secondary)}.batch-status-badge-running{background:var(--info-bg);color:var(--info-text)}.batch-status-badge-paused{background:var(--warning-bg);color:var(--warning-text)}.batch-status-badge-completed{background:var(--success-bg);color:var(--success-text)}.batch-status-badge-failed{background:var(--error-bg);color:var(--error-text)}.batch-status-badge-cancelled{background:var(--bg-hover);color:var(--text-secondary)}.batch-status-badge-pending{background:var(--warning-bg);color:var(--warning-text)}.batch-status-badge-warning{background:var(--warning-bg);color:var(--warning-text-dark);border:1px solid var(--warning-border)}.batch-status-badge-incomplete{background:var(--orange-bg);color:var(--orange-text);border:1px solid var(--orange-border)}.batch-status-badge-error{background:var(--error-bg-light);color:var(--error-text-dark);border:1px solid var(--error-border)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.stat-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.status-badge{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:9999px}.status-badge.running{background:var(--info-bg);color:var(--info-text)}.status-badge.inactive{background:var(--bg-tertiary);color:var(--text-muted)}.stat-detail{font-size:.75rem;color:var(--text-faint);margin:0 0 1rem;line-height:1.5;flex-grow:1}.tool-card{min-height:160px}.tool-card-disabled{opacity:.6}.tool-actions{display:flex;gap:.5rem;align-items:center;margin-top:auto}.btn-icon{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:var(--text-muted);flex-shrink:0}.btn-icon:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-secondary);color:var(--text-secondary)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon svg{width:16px;height:16px}.btn{display:inline-block;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;border:none;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{background:var(--text-faint);cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.75rem;flex:1}.page{display:flex;flex-direction:column;gap:1.5rem}.page-header{margin-bottom:.5rem}.page-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.page-description{color:var(--text-muted);font-size:.875rem;margin:0}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;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:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.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 rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.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{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.node-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.node-icon svg{display:block}.node-icon-brand svg{border-radius:3px}.tool-node{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;min-width:180px;max-width:220px;box-shadow:0 1px 3px var(--shadow-sm);transition:all .2s ease;display:flex;flex-direction:column}.tool-node.selected{border-color:var(--info-border);box-shadow:0 0 0 2px var(--info-focus-shadow),0 2px 8px var(--shadow-md)}.tool-node-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--bg-tertiary);background:var(--bg-secondary);border-radius:8px 8px 0 0}.tool-node-header .node-icon{flex-shrink:0}.tool-node-label{font-weight:500;font-size:14px;color:var(--text-secondary);flex:1;min-width:0}.tool-node-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.tool-node-category{font-size:12px;color:var(--text-faint);margin:0;line-height:1.5;flex-grow:1}.tool-node-config-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:var(--bg-tertiary);border-radius:4px;cursor:pointer;color:var(--text-muted);transition:all .15s ease;padding:0;flex-shrink:0}.tool-node-config-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.tool-node:hover{border-color:var(--border-secondary);box-shadow:0 2px 8px var(--shadow-md)}.tool-node.selected:hover{border-color:var(--info-border);box-shadow:0 0 0 2px var(--info-focus-shadow),0 2px 8px var(--shadow-md)}.tool-node-warning{font-size:14px;flex-shrink:0;line-height:1}.condition-node{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;max-width:220px;box-shadow:0 1px 3px #0000000a;transition:all .2s ease;display:flex;flex-direction:column}.condition-node.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626,0 2px 8px #0000001a}.condition-node-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f1f5f9;background:#fef3c7;border-radius:8px 8px 0 0}.condition-node-label{font-weight:500;font-size:14px;color:#374151;flex:1}.condition-node-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.condition-node-summary{font-size:12px;color:#9ca3af;font-style:italic;margin:0;line-height:1.5;flex-grow:1}.condition-node-config-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:#0000000d;border-radius:4px;cursor:pointer;color:#78350f;transition:all .15s ease;padding:0;flex-shrink:0}.condition-node-config-btn:hover{background:#0000001a;color:#451a03}.condition-node-outputs{display:flex;justify-content:space-between;padding:8px 14px 12px;gap:8px;border-top:1px solid #f1f5f9}.condition-output{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;padding-bottom:16px;flex:1}.condition-output span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.condition-output.true span{color:#10b981}.condition-output.false span{color:#64748b}.condition-node:hover{border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.condition-node.selected:hover{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626,0 2px 8px #0000001a}.input-node{background:#fff;border:2px solid #3b82f6;border-radius:8px;min-width:180px;box-shadow:0 2px 4px #00000014;transition:all .2s ease;overflow:hidden}.input-node.selected{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f626,0 2px 8px #0000001f}.input-node.disabled{opacity:.6;border-style:dashed}.input-node:hover{border-color:#2563eb;box-shadow:0 4px 12px #0000001a}.input-node-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#3b82f6;border-bottom:1px solid #2563eb}.input-node-badge{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1px}.input-node-config-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:#fff3;border-radius:4px;cursor:pointer;color:#fff;transition:all .15s ease}.input-node-config-btn:hover{background:#ffffff4d}.input-node-content{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.input-node-label{font-weight:600;font-size:13px;color:#1e293b}.input-node-folder{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.input-node-folder svg{flex-shrink:0;color:#94a3b8}.input-node-folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.input-node-details{display:flex;gap:4px;flex-wrap:wrap;min-height:18px}.input-node-details .badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.input-node-details .scan-all{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.input-node-details .disabled-badge{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.input-node .react-flow__handle{width:10px;height:10px;background:#3b82f6;border:2px solid #ffffff}.input-node .react-flow__handle-bottom{bottom:-5px}.output-node{background:#fff;border:2px solid #10b981;border-radius:8px;min-width:180px;box-shadow:0 2px 4px #00000014;transition:all .2s ease;overflow:hidden}.output-node.selected{border-color:#059669;box-shadow:0 0 0 3px #10b98126,0 2px 8px #0000001f}.output-node:hover{border-color:#059669;box-shadow:0 4px 12px #0000001a}.output-node-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#10b981;border-bottom:1px solid #059669}.output-node-badge{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1px}.output-node-config-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:#fff3;border-radius:4px;cursor:pointer;color:#fff;transition:all .15s ease}.output-node-config-btn:hover{background:#ffffff4d}.output-node-content{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.output-node-label{font-weight:600;font-size:13px;color:#1e293b}.output-node-destination{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.output-node-destination svg{flex-shrink:0;color:#94a3b8}.output-node-destination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.output-node-structure{display:flex;align-items:center;gap:4px;font-size:10px}.output-node-structure .structure-label{color:#94a3b8}.output-node-structure .structure-value{color:#64748b;font-family:Monaco,Menlo,monospace;background:#f1f5f9;padding:1px 4px;border-radius:2px}.output-node-details{display:flex;gap:4px;flex-wrap:wrap;min-height:18px}.output-node-details .badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.output-node-details .auto-approve{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.output-node .react-flow__handle{width:10px;height:10px;background:#10b981;border:2px solid #ffffff}.output-node .react-flow__handle-top{top:-5px}.approval-node{background:#fff;border:2px solid #f59e0b;border-radius:8px;min-width:180px;box-shadow:0 2px 4px #0000001a;transition:all .15s ease}.approval-node:hover{box-shadow:0 4px 12px #f59e0b40}.approval-node.selected{border-color:#d97706;box-shadow:0 0 0 2px #d9770633}.approval-node.auto{border-color:#10b981}.approval-node.auto:hover{box-shadow:0 4px 12px #10b98140}.approval-node.auto.selected{border-color:#059669;box-shadow:0 0 0 2px #05966933}.approval-node-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #fef3c7;background:#fffbeb;border-radius:6px 6px 0 0}.approval-node.auto .approval-node-header{background:#ecfdf5;border-bottom-color:#d1fae5}.approval-node-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#d97706;background:#fef3c7;padding:2px 6px;border-radius:3px}.approval-node.auto .approval-node-badge{color:#059669;background:#d1fae5}.approval-node-config-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .15s ease}.approval-node-config-btn:hover{background:#0000000d;color:#6b7280}.approval-node-content{padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.approval-node-icon{color:#f59e0b;display:flex;align-items:center;justify-content:center}.approval-node.auto .approval-node-icon{color:#10b981}.approval-node-label{font-size:13px;font-weight:600;color:#374151;text-align:center}.approval-node-details{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.approval-node .badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:500}.approval-node .auto-badge{background:#d1fae5;color:#059669}.approval-node .manual-badge{background:#fef3c7;color:#d97706}.approval-node .react-flow__handle{width:10px;height:10px;background:#f59e0b;border:2px solid #fff}.approval-node.auto .react-flow__handle{background:#10b981}.approval-node .notification-handle{background:#8b5cf6;right:-6px}.approval-node .react-flow__handle-bottom{bottom:-6px}.approval-node .react-flow__handle-top{top:-6px}.notification-node{background:#fff;border:2px solid #8b5cf6;border-radius:8px;min-width:160px;box-shadow:0 2px 4px #0000001a;transition:all .15s ease}.notification-node:hover{box-shadow:0 4px 12px #8b5cf640}.notification-node.selected{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.notification-node.disabled{opacity:.6}.notification-node-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #ede9fe;background:#f5f3ff;border-radius:6px 6px 0 0}.notification-node-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#7c3aed;background:#ede9fe;padding:2px 6px;border-radius:3px}.notification-node-config-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .15s ease}.notification-node-config-btn:hover{background:#0000000d;color:#6b7280}.notification-node-content{padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.notification-node-icon{color:#8b5cf6;display:flex;align-items:center;justify-content:center}.notification-node-label{font-size:13px;font-weight:600;color:#374151;text-align:center}.notification-node-details{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.notification-node .badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:500}.notification-node .type-badge{background:#ede9fe;color:#7c3aed;text-transform:capitalize}.notification-node .disabled-badge{background:#f3f4f6;color:#6b7280}.notification-node .warning-badge{background:#fef3c7;color:#d97706}.notification-node .react-flow__handle{width:10px;height:10px;background:#8b5cf6;border:2px solid #fff}.notification-node .react-flow__handle-left{left:-6px}.tool-palette{width:250px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.tool-palette-header{padding:16px;border-bottom:1px solid var(--border-primary)}.tool-palette-header h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.tool-palette-header .help-text{margin:0;font-size:12px;color:var(--text-muted)}.tool-palette-content{flex:1;overflow-y:auto;padding:12px}.tool-category{margin-bottom:20px}.tool-category h4{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-left:8px}.palette-item{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:8px;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;box-shadow:0 1px 3px var(--shadow-sm)}.palette-item:hover{border-color:var(--border-secondary);box-shadow:0 2px 8px var(--shadow-md);transform:translateY(-1px)}.palette-item:active{cursor:grabbing;transform:translateY(0)}.palette-item-header{padding:8px 10px;border-bottom:1px solid var(--bg-tertiary);background:var(--bg-secondary);border-radius:8px 8px 0 0}.palette-condition .palette-item-header.condition-header{background:var(--warning-bg)}.palette-input .palette-item-header{background:var(--info-bg);border-bottom-color:var(--info-bg);display:flex;align-items:center;gap:8px}.palette-output .palette-item-header{background:var(--success-bg);border-bottom-color:var(--success-border);display:flex;align-items:center;gap:8px}.palette-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.palette-badge-input{background:var(--info-border);color:#fff}.palette-badge-output{background:var(--accent);color:#fff}.palette-badge-approval{background:var(--warning-border);color:#fff}.palette-badge-notification{background:#8b5cf6;color:#fff}.palette-input:hover{border-color:var(--info-border)}.palette-output:hover{border-color:var(--accent)}.palette-condition .palette-item-header{background:var(--warning-bg);border-bottom-color:var(--warning-bg)}.palette-condition:hover{border-color:var(--warning-border)}.palette-tool .palette-item-header{background:var(--bg-tertiary);border-bottom-color:var(--border-primary);display:flex;align-items:center;gap:6px}.palette-tool:hover{border-color:var(--text-faint)}.palette-approval .palette-item-header{background:var(--warning-bg);border-bottom-color:var(--warning-bg);display:flex;align-items:center;gap:8px}.palette-approval:hover{border-color:var(--warning-border)}.palette-notification .palette-item-header{background:var(--purple-bg);border-bottom-color:var(--purple-bg);display:flex;align-items:center;gap:8px}.palette-notification:hover{border-color:var(--purple-text)}.palette-item-name{font-weight:500;font-size:13px;color:var(--text-secondary);display:block}.palette-item-body{padding:8px 10px}.palette-item-category,.palette-item-description{font-size:11px;color:var(--text-faint);display:block;line-height:1.4}.tool-palette-content::-webkit-scrollbar{width:6px}.tool-palette-content::-webkit-scrollbar-track{background:transparent}.tool-palette-content::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.tool-palette-content::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.token-modal{max-width:700px;width:90vw;max-height:80vh}.token-modal .modal-body{padding:0;max-height:60vh;overflow-y:auto}.token-categories{display:flex;flex-direction:column}.token-category{border-bottom:1px solid var(--border-primary)}.token-category:last-child{border-bottom:none}.category-header{width:100%;padding:16px 20px;background:none;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);transition:background-color .2s}.category-header:hover{background-color:var(--bg-secondary)}.category-name{text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:var(--text-muted)}.category-toggle{font-size:18px;font-weight:400;color:var(--text-muted)}.token-list{padding:0 20px 12px}.token-item{padding:12px 16px;margin-bottom:8px;border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .2s;background:var(--bg-primary)}.token-item:hover{border-color:var(--info-border);background-color:var(--info-bg-lighter);transform:translate(4px)}.token-item:last-child{margin-bottom:0}.token-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.token-name{font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;font-weight:600;color:var(--info-text);background-color:var(--code-bg);padding:2px 8px;border-radius:4px}.token-example{font-family:Monaco,Menlo,Consolas,monospace;font-size:12px;color:var(--text-muted);background-color:var(--bg-secondary);padding:2px 8px;border-radius:4px}.token-description{font-size:12px;color:var(--text-muted);margin-left:4px}.tag-input-container{border:1px solid var(--input-border);border-radius:6px;padding:6px 8px;min-height:42px;cursor:text;transition:all .2s ease;background:var(--input-bg)}.tag-input-container:focus-within{border-color:var(--info-border);box-shadow:0 0 0 3px var(--info-focus-shadow)}.tag-input-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--info-bg);border:1px solid var(--info-border);border-radius:4px;font-size:13px;color:var(--info-text);max-width:200px}.tag-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-chip-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--info-border);cursor:pointer;border-radius:50%;font-size:14px;line-height:1;transition:all .15s ease;flex-shrink:0}.tag-chip-remove:hover{background:var(--info-bg-light);color:var(--info-text)}.tag-input-field{flex:1;min-width:120px;border:none;outline:none;padding:4px;font-size:14px;font-family:inherit;color:var(--text-primary);background:transparent}.tag-input-field::placeholder{color:var(--text-faint)}.provider-select{display:flex;flex-direction:column;gap:1rem}.provider-selected-list,.provider-available-list{display:flex;flex-direction:column;gap:.5rem}.provider-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.provider-list-title{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.provider-list-hint{font-size:.7rem;color:var(--text-faint)}.provider-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.5rem;transition:all .15s ease}.provider-item.selected{background:var(--bg-primary);border-color:var(--info-border);box-shadow:0 1px 3px var(--shadow-sm)}.provider-item.selected:hover{background:var(--bg-secondary)}.provider-item.available{opacity:.7;background:var(--bg-tertiary)}.provider-item.available:hover{opacity:1;background:var(--bg-hover)}.provider-item.drag-over{border-color:var(--info-border);border-style:dashed;background:var(--info-bg-lighter)}.provider-item.dragging{opacity:.5}.provider-drag-handle{cursor:grab;color:var(--text-faint);font-size:1rem;-webkit-user-select:none;user-select:none;padding:0 .25rem}.provider-drag-handle:active{cursor:grabbing}.provider-order{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--info-border);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.provider-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.provider-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--info-border);cursor:pointer}.provider-name{font-weight:500;color:var(--text-primary);white-space:nowrap}.provider-description{font-size:.8rem;color:var(--text-muted);margin-left:auto}.provider-hint{color:var(--text-faint);font-size:.875rem;font-style:italic;text-align:center;padding:1rem}.provider-item.available .provider-drag-handle,.provider-item.available .provider-order{display:none}.provider-config-link{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;padding:.75rem;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:.5rem;font-size:.8rem;color:var(--warning-text)}.provider-config-link a{color:var(--info-border);text-decoration:none;font-weight:500}.provider-config-link a:hover{text-decoration:underline}.provider-warning{color:var(--warning-border);font-weight:500}.provider-api-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:.5rem;font-size:.85rem;color:var(--warning-text)}.provider-config-toggle{padding:.375rem .75rem;font-size:.8rem;font-weight:500;color:var(--info-border);background:var(--bg-primary);border:1px solid var(--info-border);border-radius:.375rem;cursor:pointer;transition:all .15s ease}.provider-config-toggle:hover{background:var(--info-bg-lighter)}.provider-api-config{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.5rem}.api-config-header{margin-bottom:1rem}.api-config-title{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.api-key-field{margin-bottom:1rem}.api-key-field label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.api-key-label{font-size:.8rem;font-weight:500;color:var(--text-tertiary)}.api-key-help{font-size:.75rem;color:var(--info-border);text-decoration:none}.api-key-help:hover{text-decoration:underline}.api-key-field input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--input-border);border-radius:.375rem;background:var(--input-bg);color:var(--text-primary);box-sizing:border-box}.api-key-field input:focus{outline:none;border-color:var(--info-border);box-shadow:0 0 0 3px var(--info-focus-shadow)}.api-key-field input::placeholder{color:var(--text-faint)}.api-config-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.btn-save-api-keys{padding:.5rem 1rem;font-size:.8rem;font-weight:500;color:#fff;background:var(--info-border);border:none;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.btn-save-api-keys:hover:not(:disabled){background:#2563eb}.btn-save-api-keys:disabled{opacity:.5;cursor:not-allowed}.save-message{font-size:.8rem}.save-message.success{color:var(--success-text)}.save-message.error{color:var(--error-accent)}.api-key-status{font-size:.7rem;padding:.15rem .4rem;border-radius:.25rem;margin-left:.5rem;font-weight:500}.api-key-status.configured{background:var(--success-bg);color:var(--success-text)}.provider-api-notice.all-configured{background:var(--success-bg-light);border-color:var(--success-border);color:var(--success-text-dark)}.multi-select-checkbox{display:flex;flex-direction:column;gap:12px;padding:12px;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px}.checkbox-option{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.checkbox-option:hover{background-color:var(--bg-tertiary)}.checkbox-option input[type=checkbox]{margin-top:2px;cursor:pointer;width:16px;height:16px;flex-shrink:0}.checkbox-label-text{display:flex;flex-direction:column;gap:4px;flex:1}.checkbox-description{font-size:.875rem;color:var(--text-muted);font-weight:400}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm);max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column}.tool-config-modal{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.modal-subtitle{margin:4px 0 0;font-size:14px;color:var(--text-muted);font-weight:400}.close-button{background:none;border:none;font-size:28px;color:var(--text-faint);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.close-button:hover{background:var(--bg-tertiary);color:var(--text-muted)}.modal-body{padding:24px;overflow-y:auto;flex:1}.tool-description{margin-bottom:24px;padding:12px 16px;background:var(--info-bg-lighter);border-left:3px solid var(--info-border);border-radius:4px}.tool-description p{margin:0;font-size:14px;color:var(--text-tertiary);line-height:1.5}.config-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.form-hint{margin:0;font-size:13px;color:var(--text-muted);line-height:1.4}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:14px;color:var(--text-primary);background:var(--input-bg);transition:all .2s ease;font-family:inherit}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--info-border);box-shadow:0 0 0 3px var(--info-focus-shadow)}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:14px;font-weight:500;color:var(--text-secondary)}.no-config{text-align:center;padding:32px;color:var(--text-faint);font-size:14px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-primary);flex-shrink:0}.btn-primary,.btn-secondary{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:var(--info-border);color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:var(--bg-primary);color:var(--text-muted);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.template-examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.template-example{font-size:11px;font-family:Monaco,Menlo,monospace;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.template-example:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-tertiary)}.form-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border-primary)}.form-divider span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.form-section-hint{margin:0;font-size:13px;color:var(--text-muted);line-height:1.4;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;border-left:3px solid var(--purple-text)}.checkbox-label.highlight{padding:12px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px}.checkbox-label.highlight span{font-weight:600;color:var(--warning-text)}.form-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.btn-tokens{padding:4px 10px;font-size:12px;font-weight:500;color:var(--info-text);background:var(--info-bg);border:1px solid var(--info-border);border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-tokens:hover{background:var(--info-bg-light);border-color:var(--info-border);color:var(--info-text)}.template-preview{margin-top:8px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;display:flex;align-items:center;gap:8px}.preview-label{font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.preview-value{color:var(--text-primary);overflow-x:auto;white-space:nowrap}.metadata-tabs{display:flex;gap:0;padding:0 1.5rem;border-bottom:1px solid var(--border-primary)}.metadata-tab{background:none;border:none;padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s ease}.metadata-tab:hover{color:var(--text-secondary)}.metadata-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.toast-container{position:fixed;top:120px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:4px solid;animation:slideIn .3s ease-out;transition:transform .2s}.toast-clickable{cursor:pointer}.toast-clickable:hover{transform:translate(-4px)}.toast-success{border-left-color:#10b981}.toast-warning{border-left-color:#f59e0b}.toast-error{border-left-color:#ef4444}.toast-info{border-left-color:#3b82f6}.toast-icon{font-size:20px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{color:#10b981}.toast-warning .toast-icon{color:#f59e0b}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:#3b82f6}.toast-message{flex:1;font-size:14px;line-height:1.5;color:#1f2937}.toast-close{background:none;border:none;font-size:24px;line-height:1;color:#9ca3af;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.toast-close:hover{color:#4b5563}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.workflows-page{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden}.workflows-container{display:flex;flex:1;overflow:hidden}.workflows-canvas{flex:1;position:relative;background:var(--bg-secondary)}.react-flow{background:var(--bg-secondary);padding-top:56px}.loading,.error-message{display:flex;align-items:center;justify-content:center;height:100%;font-size:16px;color:var(--text-muted)}.error-message{color:var(--error-accent)}.success-message{position:absolute;top:20px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:12px 24px;border-radius:8px;box-shadow:0 4px 12px var(--input-focus-shadow);z-index:1000;font-size:14px;font-weight:500;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.react-flow__controls{box-shadow:0 2px 8px var(--shadow-md);border:1px solid var(--border-primary)}.react-flow__controls-button{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);fill:var(--text-muted)}.react-flow__controls-button:hover{background:var(--bg-secondary)}.react-flow__minimap{background:var(--bg-primary);border:1px solid var(--border-primary);box-shadow:0 2px 8px var(--shadow-md)}.react-flow__edge-path{stroke:var(--text-faint);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--info-border);stroke-width:3}.react-flow__handle{width:10px;height:10px;background:var(--info-border);border:2px solid var(--bg-primary)}.react-flow__handle-connecting,.react-flow__handle-valid{background:var(--accent)}.react-flow__node{padding:0;background:transparent;border:none}.help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.help-modal{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 25px -5px var(--shadow-md),0 10px 10px -5px var(--shadow-sm);max-width:600px;width:90%;max-height:80vh;overflow:auto}.help-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-primary)}.help-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.help-modal .close-button{background:none;border:none;font-size:28px;color:var(--text-faint);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.help-modal .close-button:hover{background:var(--bg-tertiary);color:var(--text-muted)}.help-modal-content{padding:24px}.shortcut-section{margin-bottom:24px}.shortcut-section:last-child{margin-bottom:0}.shortcut-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--bg-tertiary)}.shortcut-item:last-child{border-bottom:none}.shortcut-item kbd{display:inline-block;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;color:var(--text-tertiary);box-shadow:0 1px 2px var(--shadow-sm);margin:0 2px}.shortcut-item>span:last-child{color:var(--text-tertiary);font-size:14px}.workflows-floating-actions{position:absolute;top:8px;right:16px;display:flex;gap:8px;z-index:10}.floating-btn{width:40px;height:40px;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow-md);color:var(--text-muted);font-size:16px;font-weight:600}.floating-btn:hover:not(:disabled){border-color:var(--border-secondary);background:var(--bg-secondary);box-shadow:0 4px 12px var(--shadow-md)}.floating-btn:disabled{cursor:not-allowed;opacity:.4}.floating-btn.save-btn.has-changes{background:var(--info-border);border-color:var(--info-border);color:#fff}.floating-btn.save-btn.has-changes:hover{background:var(--info-text);border-color:var(--info-text);box-shadow:0 4px 12px var(--info-focus-shadow)}.floating-btn.monitor-btn.running{background:var(--accent);border-color:var(--accent);color:#fff}.floating-btn.monitor-btn.running:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 12px var(--input-focus-shadow)}.floating-btn.monitor-btn:not(.running){color:var(--text-muted)}.floating-btn.monitor-btn:not(.running):hover:not(:disabled){color:var(--accent)}.floating-btn svg{width:18px;height:18px}.react-flow__selection{background:#3b82f614;border:1px dashed rgba(59,130,246,.5);border-radius:4px}.react-flow__nodesselection,.react-flow__nodesselection-rect{background:transparent!important;border:none!important}.workflow-tabs-container{position:absolute;top:0;left:0;right:0;background:#f8f9fa;border-bottom:1px solid #dee2e6;z-index:5;height:56px;display:flex;align-items:center}.workflow-tabs-scroll{flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.workflow-tabs{display:flex;align-items:center;gap:4px;padding:8px 12px;min-width:min-content;height:100%}.workflow-tab-wrapper{position:relative;transition:opacity .2s}.workflow-tab-wrapper.dragging{opacity:.5}.workflow-tab-wrapper.drag-over{position:relative}.workflow-tab-wrapper.drag-over:before{content:"";position:absolute;left:-4px;top:0;bottom:0;width:2px;background:#3b82f6}.workflow-tab{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;-webkit-user-select:none;user-select:none}.workflow-tab:hover{background:#f8f9fa;border-color:#adb5bd}.workflow-tab.selected{background:#e7f3ff;border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.workflow-tab.active{border-color:#3b82f6;border-width:2px;font-weight:500}.workflow-tab-content{display:flex;align-items:center;gap:6px}.workflow-tab-name{font-size:14px;color:#1f2937}.workflow-tab-rename-input{border:1px solid #3b82f6;border-radius:4px;padding:2px 6px;font-size:14px;font-family:inherit;outline:none;min-width:100px;max-width:200px}.workflow-tab-add{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px dashed #adb5bd;border-radius:6px;cursor:pointer;transition:all .2s;flex-shrink:0}.workflow-tab-add:hover{background:#f8f9fa;border-color:#3b82f6;border-style:solid}.workflow-tab-add-icon{font-size:20px;color:#6c757d}.workflow-tab-add:hover .workflow-tab-add-icon{color:#3b82f6}.workflow-context-menu{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px;min-width:200px;z-index:10000}.context-menu-item{display:flex;align-items:center;gap:12px;padding:8px 12px;font-size:14px;color:#1f2937;cursor:pointer;border-radius:4px;transition:background .15s}.context-menu-item:hover:not(.disabled){background:#f8f9fa}.context-menu-item.disabled{opacity:.5;cursor:not-allowed}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover:not(.disabled){background:#fee}.context-menu-icon{font-size:16px;width:20px;text-align:center}.context-menu-badge{margin-left:auto;font-size:11px;padding:2px 6px;background:#f1f3f5;border-radius:4px;color:#6c757d;font-weight:500}.context-menu-divider{height:1px;background:#dee2e6;margin:4px 0}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--accent: #059669;--accent-hover: #047857;--accent-light: #d1fae5;--accent-dark: #065f46;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #e5e7eb;--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #4b5563;--text-muted: #6b7280;--text-faint: #9ca3af;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--success-bg: #d1fae5;--success-bg-light: #f0fdf4;--success-text: #065f46;--success-text-dark: #166534;--success-border: #bbf7d0;--error-bg: #fee2e2;--error-bg-light: #fef2f2;--error-text: #991b1b;--error-text-dark: #7f1d1d;--error-border: #fecaca;--error-accent: #dc2626;--warning-bg: #fef3c7;--warning-text: #92400e;--warning-text-dark: #b45309;--warning-border: #f59e0b;--info-bg: #dbeafe;--info-bg-light: #eff6ff;--info-bg-lighter: #f0f9ff;--info-text: #1e40af;--info-border: #3b82f6;--orange-bg: #ffedd5;--orange-text: #c2410c;--orange-border: #fdba74;--orange-accent: #f97316;--orange-accent-hover: #ea580c;--purple-bg: #f3e8ff;--purple-text: #6b21a8;--cyan-bg: #e0f2fe;--cyan-text: #0369a1;--cyan-border: #7dd3fc;--danger-bg: #dc2626;--danger-bg-hover: #b91c1c;--input-bg: #ffffff;--input-border: #d1d5db;--input-focus-shadow: rgba(5, 150, 105, .1);--info-focus-shadow: rgba(59, 130, 246, .1);--shadow-sm: rgba(0, 0, 0, .05);--shadow-md: rgba(0, 0, 0, .1);--code-bg: #f9fafb;--color-success-bg: var(--success-bg);--color-success: var(--success-text);--color-error-bg: var(--error-bg);--color-error: var(--error-text);--color-warning-bg: var(--warning-bg);--color-warning: var(--warning-text);--color-primary-bg: var(--info-bg);--color-primary: var(--info-text);color:var(--text-primary);background-color:var(--bg-secondary)}[data-theme=dark]{--accent: #10b981;--accent-hover: #34d399;--accent-light: #064e3b;--accent-dark: #6ee7b7;--bg-primary: #1e293b;--bg-secondary: #0f172a;--bg-tertiary: #334155;--bg-hover: #475569;--text-primary: #f1f5f9;--text-secondary: #e2e8f0;--text-tertiary: #cbd5e1;--text-muted: #94a3b8;--text-faint: #64748b;--border-primary: #334155;--border-secondary: #475569;--success-bg: #064e3b;--success-bg-light: #022c22;--success-text: #6ee7b7;--success-text-dark: #34d399;--success-border: #047857;--error-bg: #450a0a;--error-bg-light: #2d0a0a;--error-text: #fca5a5;--error-text-dark: #f87171;--error-border: #7f1d1d;--error-accent: #f87171;--warning-bg: #451a03;--warning-text: #fcd34d;--warning-text-dark: #fbbf24;--warning-border: #b45309;--info-bg: #1e3a5f;--info-bg-light: #172554;--info-bg-lighter: #0c1a2e;--info-text: #93c5fd;--info-border: #3b82f6;--orange-bg: #431407;--orange-text: #fdba74;--orange-border: #9a3412;--orange-accent: #fb923c;--orange-accent-hover: #f97316;--purple-bg: #3b0764;--purple-text: #d8b4fe;--cyan-bg: #164e63;--cyan-text: #67e8f9;--cyan-border: #0e7490;--danger-bg: #dc2626;--danger-bg-hover: #ef4444;--input-bg: #1e293b;--input-border: #475569;--input-focus-shadow: rgba(16, 185, 129, .2);--info-focus-shadow: rgba(59, 130, 246, .2);--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--code-bg: #1e293b;--color-success-bg: var(--success-bg);--color-success: var(--success-text);--color-error-bg: var(--error-bg);--color-error: var(--error-text);--color-warning-bg: var(--warning-bg);--color-warning: var(--warning-text);--color-primary-bg: var(--info-bg);--color-primary: var(--info-text)}body,#root{min-height:100vh}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.875rem}
