@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap);:root{--primary-color:#4a90e2;--secondary-color:#357abd;--primary-blue:#4a90e2;--primary-blue-dark:#357abd;--primary-blue-light:#66a3e8;--primary-blue-pale:#dbeafe;--background:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#f1f5f9);--surface-primary:#fff;--surface-secondary:#f8fafc;--card-bg:#fffffffa;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--text-light:#94a3b8;--shadow-sm:0 1px 3px #00000014,0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a,0 4px 6px #0000000d;--shadow-blue:0 10px 40px #4a90e240;--glass-bg:#ffffffbf;--glass-border:#ffffff4d;--glass-backdrop:blur(12px);--border-light:#e2e8f0;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--gradient-primary:linear-gradient(135deg,#4a90e2,#357abd);--gradient-primary-hover:linear-gradient(135deg,#357abd,#2d6aa0);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--frontend-green:#22c55e;--backend-blue:#3b82f6;--backend-white:#fff;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:always;font-feature-settings:"liga","clig";background:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#f1f5f9);background:var(--background);color:#0f172a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-variant-ligatures:common-ligatures;font-variant-ligatures:common-ligatures;font-weight:400;line-height:1.6;text-rendering:optimizeLegibility}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.main-container{display:flex;flex:1 1;overflow:hidden}.content{background:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#f1f5f9);background:var(--background);flex:1 1;overflow-y:auto;padding:2rem}button{border:none;cursor:pointer;font-family:Inter,sans-serif;font-weight:600;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}button:hover:not([class]){box-shadow:0 10px 40px #4a90e240;box-shadow:var(--shadow-blue);transform:translateY(-2px)}input,select,textarea{font-family:inherit;font-size:inherit}.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);background:#fffffffa;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--border-radius-md);box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-md);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.card:hover{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#4a90e2,#357abd);background:var(--gradient-primary);border:none;border-radius:8px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,#357abd,#2d6aa0);background:var(--gradient-primary-hover);box-shadow:0 10px 40px #4a90e240;box-shadow:var(--shadow-blue)}.btn-secondary{background:#fff;border:2px solid #4a90e2;border:2px solid var(--primary-color);border-radius:8px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;box-shadow:var(--shadow-sm);color:#4a90e2;color:var(--primary-color)}.btn-secondary:hover{background:#dbeafe;background:var(--primary-blue-pale);border-color:#357abd;border-color:var(--primary-blue-dark)}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #dbeafe;border-top:3px solid #4a90e2;border:3px solid var(--primary-blue-pale);border-radius:50%;border-top-color:var(--primary-color);height:40px;width:40px}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);background:#ffffffbf;background:var(--glass-bg);border:1px solid #ffffff4d;border:1px solid var(--glass-border);border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d;box-shadow:var(--shadow-lg)}.start-page{background:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#f1f5f9);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.start-container,.start-page{align-items:center;display:flex;padding:2rem}.start-container{animation:fadeInUp .6s ease-out;flex-direction:column;gap:2.5rem;max-width:780px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.start-header{align-items:center;display:flex;flex-direction:column;gap:1rem;text-align:center}.gm-logo-large{filter:drop-shadow(0 6px 24px rgba(0,0,0,.12));height:100px;object-fit:contain;transition:transform .3s ease;width:100px}.gm-logo-large:hover{transform:scale(1.06)}.app-title{color:#0f172a;font-size:2.25rem;font-weight:800;letter-spacing:-.5px;margin:0}.app-subtitle{color:#64748b;font-size:1.05rem;font-weight:500;line-height:1.6;margin:0;max-width:480px}.menu-grid{flex-direction:column;gap:12px;max-width:640px}.menu-card,.menu-grid{display:flex;width:100%}.menu-card{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0000000a;cursor:pointer;font-family:Inter,sans-serif;gap:16px;padding:18px 20px;text-align:left;transition:all .25s cubic-bezier(.4,0,.2,1)}.menu-card:hover{border-color:#0000;box-shadow:0 12px 32px #0000001f;box-shadow:0 12px 32px var(--card-shadow,#0000001f);transform:translateY(-3px)}.menu-card:active{transform:translateY(-1px)}.menu-card-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.menu-card-content{flex:1 1;min-width:0}.menu-card-title{color:#0f172a;font-size:1.05rem;font-weight:700;margin:0 0 4px}.menu-card-desc{color:#64748b;font-size:.82rem;font-weight:400;line-height:1.45;margin:0}.menu-card-arrow{flex-shrink:0;opacity:.4;transition:opacity .2s ease,transform .2s ease}.menu-card:hover .menu-card-arrow{opacity:1;transform:translateX(3px)}.start-footer{align-items:center;color:#94a3b8;display:flex;font-size:.78rem;font-weight:500;gap:10px;margin-top:.5rem}.footer-dot{background:#cbd5e1;border-radius:50%;height:4px;width:4px}@media (max-width:768px){.start-container{gap:2rem;padding:1rem}.app-title{font-size:1.75rem}.app-subtitle{font-size:.95rem}.gm-logo-large{height:80px;width:80px}.menu-card{gap:12px;padding:14px 16px}.menu-card-icon{height:44px;width:44px}.menu-card-title{font-size:.95rem}.menu-card-desc{font-size:.78rem}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-content{background:var(--surface-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#2c5282,#2a4365);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#fff;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700;margin:0}.close-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:var(--border-radius-sm);color:#fff;justify-content:center;padding:.5rem;transition:var(--transition)}.close-btn:hover{background:#ffffff40;transform:scale(1.1)}.modal-body{background:var(--surface-secondary);color:var(--text-primary);flex:1 1;overflow-y:auto;padding:2rem}.help-section{background:var(--surface-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.help-section h3{align-items:center;color:var(--text-primary);display:flex;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 1rem}.section-icon{background:var(--primary-blue-pale);border-radius:var(--border-radius-sm);color:var(--primary-color);display:inline-flex;padding:.5rem}.section-icon.learning{background:#10b98126;color:var(--success)}.section-icon.work{background:var(--primary-blue-pale);color:var(--info)}.section-icon.troubleshoot{background:#ef444426;color:var(--error)}.help-section p{color:var(--text-secondary);line-height:1.6;margin:.75rem 0}.help-section ul{margin:1rem 0;padding-left:1.5rem}.help-section li{color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.help-section strong{color:var(--text-primary);font-weight:600}.help-note{background:var(--primary-blue-pale);border-left:4px solid var(--primary-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.95rem;margin-top:1rem;padding:1rem}.help-section.features{background:#10b9810d;border:1px solid #10b98133}.modal-footer{background:var(--surface-primary)}.btn-close{background:var(--gradient-primary);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-weight:600;padding:.75rem 1.5rem;transition:var(--transition)}.btn-close:hover{background:var(--gradient-primary-hover);box-shadow:var(--shadow-blue);transform:translateY(-2px)}.about-modal .modal-body{padding:2rem}.about-section{background:var(--surface-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.about-section.app-info{background:var(--primary-blue-pale);border:1px solid var(--primary-color);text-align:center}.app-logo{margin-bottom:1rem}.app-logo img{height:80px;object-fit:contain;width:80px}.about-section h1{color:var(--text-primary);font-family:Inter,sans-serif;font-size:2rem;font-weight:700;margin:.5rem 0}.version{color:var(--text-tertiary);font-size:1rem;margin:.5rem 0}.tagline{color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin:1rem 0 0}.about-section h3{align-items:center;color:var(--text-primary);display:flex;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 1rem}.about-section ul{list-style:none;margin:1rem 0;padding-left:1.5rem}.about-section li{color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem;padding-left:.5rem;position:relative}.about-section strong{color:var(--text-primary);font-weight:600}.about-section.credits{background:#10b9810d;border:1px solid #10b98133}.developer-card{align-items:center;background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);display:flex;gap:1.5rem;padding:1.5rem}.developer-icon{align-items:center;background:var(--gradient-primary);border-radius:50%;box-shadow:var(--shadow-blue);color:#fff;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.developer-info h4{color:var(--text-primary);font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.role{font-size:1rem;font-weight:500;margin:0 0 1rem}.description,.role{color:var(--text-secondary)}.description{line-height:1.6;margin:0}.about-section.license{background:#ef44440d;border:1px solid #ef444433}.copyright{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-primary);font-weight:600;margin-top:1rem;padding:.75rem;text-align:center}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.info-item{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);flex-direction:column;gap:.5rem;padding:1rem}.info-item strong{color:var(--text-tertiary);font-size:.875rem;font-weight:500}.info-item span{color:var(--text-primary);font-size:1rem;font-weight:600}.features-modal .modal-body{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.feature-item{align-items:flex-start;background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.feature-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-icon{align-items:center;border-radius:var(--border-radius-md);color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.feature-icon.speed{background:linear-gradient(135deg,#f59e0b,#d97706)}.feature-icon.documents,.feature-icon.learning{background:linear-gradient(135deg,#3b82f6,#2563eb)}.feature-icon.database{background:linear-gradient(135deg,#10b981,#059669)}.feature-icon.security{background:linear-gradient(135deg,#ef4444,#dc2626)}.feature-icon.performance{background:linear-gradient(135deg,#06b6d4,#0891b2)}.feature-content{flex:1 1}.feature-content h3{color:var(--text-primary);font-size:1.125rem;font-weight:700;margin:0 0 .5rem}.feature-content p{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.toast{animation:slideIn .3s ease-out;background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:8px;box-shadow:0 4px 12px #0000004d;gap:12px;max-width:500px;min-width:300px;padding:16px;position:fixed;right:20px;top:80px;z-index:10000}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{flex-shrink:0;justify-content:center}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-message{color:#e0e0e0;color:var(--text-primary,#e0e0e0);flex:1 1;font-size:14px;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:#888;color:var(--text-secondary,#888);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:4px;transition:background .2s}.toast-close:hover{background:#ffffff1a;color:#e0e0e0;color:var(--text-primary,#e0e0e0)}.model-config-modal .modal-body{display:flex;flex-direction:column;padding:0}.tab-navigation{background:var(--surface-secondary);border-bottom:2px solid var(--border-light);display:flex}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:600;padding:1rem 1.5rem;transition:all .2s}.tab-button.active,.tab-button:hover{background:var(--surface-primary);color:var(--primary-color)}.tab-button.active{border-bottom-color:var(--primary-color)}.config-section{display:flex;flex-direction:column;gap:1rem;padding:2rem}.config-section h3{border-bottom:2px solid var(--border-light);color:var(--text-primary);font-size:1rem;font-weight:700;margin:0;padding-bottom:.5rem}.model-info{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);padding:1rem}.model-info strong{color:var(--primary-color);display:block;font-size:1.125rem;margin-bottom:.5rem}.model-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.api-key-section{display:flex;flex-direction:column;gap:.75rem}.api-key-section label{color:var(--text-primary);font-size:.9375rem;font-weight:600}.api-key-input-group{align-items:center;display:flex;gap:.5rem}.api-key-input{background:var(--surface-primary);border:2px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-primary);flex:1 1;font-family:Courier New,monospace;font-size:.9375rem;padding:.75rem 1rem;transition:border-color .2s}.api-key-input:focus{border-color:var(--primary-color);outline:none}.toggle-visibility-btn{align-items:center;background:var(--surface-secondary);border:2px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.75rem;transition:all .2s}.toggle-visibility-btn:hover{background:var(--primary-blue-pale);border-color:var(--primary-color);color:var(--primary-color)}.input-hint{color:var(--text-tertiary);font-size:.8125rem;line-height:1.4;margin:0}.input-hint code{background:var(--surface-secondary);border-radius:4px;font-family:Courier New,monospace;font-size:.75rem;padding:.125rem .5rem}.input-hint a{color:var(--primary-color);text-decoration:none}.input-hint a:hover{text-decoration:underline}.token-usage-section{display:flex;flex-direction:column;gap:1rem}.token-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.token-stat{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.token-stat label{color:var(--text-light);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.token-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.token-value.used{color:#f59e0b}.token-value.remaining{color:#22c55e}.token-progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.token-progress-fill{background:linear-gradient(90deg,#22c55e,#f59e0b 70%,#ef4444);height:100%;transition:width .3s ease}.token-hint{color:var(--text-light);font-size:.75rem;margin:0;text-align:center}.settings-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.setting-item{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;gap:.5rem;padding:1rem}.setting-item label{color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.setting-item span{color:var(--primary-color);font-size:1.125rem;font-weight:700}.modal-footer{background:var(--surface-secondary);border-top:1px solid var(--border-light);display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.btn-secondary{background:var(--surface-primary);border:2px solid var(--border-light);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background:var(--surface-secondary);border-color:var(--text-tertiary)}.btn-primary{align-items:center;background:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-blue-dark);border-color:var(--primary-blue-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.empty-state{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.model-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.model-config-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.model-config-item.active-model{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid var(--primary-color);box-shadow:0 4px 12px #4a90e226}.badge-active{background:var(--primary-color);border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.model-config-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-top:1rem}.model-config-stats .stat-item{background:#fff;border:1px solid var(--border-light);border-radius:6px;display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.model-config-stats .stat-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.model-config-stats .stat-value{color:var(--text-primary);font-size:.9375rem;font-weight:600}.model-config-stats .stat-value.status-online{color:#10b981}.additional-models{border-top:2px solid var(--border-light);margin-top:2rem;padding-top:2rem}.additional-models h4{color:var(--text-secondary);font-size:.9375rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.model-config-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.badge-default{background:#10b981;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.model-config-details{color:#6b7280;display:flex;font-size:.875rem;gap:1rem;margin-bottom:.5rem}.model-config-actions{display:flex;gap:.5rem}.btn-activate{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.375rem .75rem;transition:all .2s}.btn-activate:hover{background:#059669;transform:translateY(-1px)}.btn-test{align-items:center;background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.375rem .75rem}.btn-test:hover{background:#2563eb}.btn-delete{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.375rem .5rem}.btn-delete:hover{background:#dc2626}.test-result{border-radius:6px;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.75rem}.test-result.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.test-result.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.form-group{margin-bottom:1rem}.form-group label{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input:not([type=range]),.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-toggle-advanced{background:#0000;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;font-weight:600;margin:1rem 0;padding:.5rem 0}.btn-toggle-advanced:hover{color:#2563eb}.advanced-settings{background:#f9fafb;border-radius:6px;margin-top:.5rem;padding:1rem}.btn-add-model{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem;width:100%}.btn-add-model:hover{background:#059669}.gpt-stats-overlay{align-items:center;animation:gptFadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes gptFadeIn{0%{opacity:0}to{opacity:1}}.gpt-stats-modal{background:#1a1f2e;border:1px solid #ffffff14;border-radius:16px;box-shadow:0 20px 60px #00000080;color:#e2e8f0;max-height:85vh;max-width:92vw;overflow-y:auto;width:720px}.gpt-stats-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:20px 24px 16px}.gpt-stats-header-left{align-items:center;display:flex;gap:10px}.gpt-stats-header-left h2{color:#f1f5f9;font-size:1.15rem;font-weight:700;margin:0}.gpt-stats-icon{color:#f59e0b}.gpt-stats-header-actions{align-items:center;display:flex;gap:8px}.gpt-stats-close,.gpt-stats-refresh{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;padding:6px;transition:all .15s}.gpt-stats-close:hover,.gpt-stats-refresh:hover{background:#ffffff1f;color:#f1f5f9}.gpt-stats-loading{color:#94a3b8;font-size:.95rem;padding:60px 0}.gpt-stats-error,.gpt-stats-loading{align-items:center;display:flex;gap:12px;justify-content:center}.gpt-stats-error{color:#ef4444;font-size:.9rem;padding:40px 0}.gpt-stats-error button{background:#ef444426;border:1px solid #ef44444d;border-radius:6px;color:#ef4444;cursor:pointer;font-size:.85rem;padding:6px 14px}.gpt-stats-body{padding:20px 24px 24px}.gpt-stats-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.gpt-stat-card{align-items:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;display:flex;gap:12px;padding:14px 16px}.gpt-stat-card-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.gpt-stat-card-icon.tokens{background:#3b82f626;color:#3b82f6}.gpt-stat-card-icon.requests{background:#a855f726;color:#a855f7}.gpt-stat-card-icon.cost{background:#10b98126;color:#10b981}.gpt-stat-card-icon.time{background:#f59e0b26;color:#f59e0b}.gpt-stat-card-data{display:flex;flex-direction:column}.gpt-stat-value{color:#f1f5f9;font-size:1.15rem;font-weight:700;line-height:1.2}.gpt-stat-label{color:#64748b;font-size:.75rem;font-weight:500;margin-top:2px}.gpt-stats-detail-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.gpt-stats-detail-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;padding:16px}.gpt-stats-detail-section h3{align-items:center;color:#94a3b8;display:flex;font-size:.85rem;font-weight:600;gap:6px;margin:0 0 14px}.gpt-token-breakdown{display:flex;flex-direction:column;gap:10px}.gpt-token-bar-container{display:flex;flex-direction:column;gap:4px}.gpt-token-bar-label{color:#94a3b8;display:flex;font-size:.8rem;justify-content:space-between}.gpt-token-bar-value{color:#e2e8f0;font-weight:600}.gpt-token-bar{background:#ffffff0f;border-radius:4px;height:8px;overflow:hidden}.gpt-token-bar-fill{border-radius:4px;height:100%;transition:width .4s ease}.gpt-token-bar-fill.prompt{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.gpt-token-bar-fill.completion{background:linear-gradient(90deg,#10b981,#34d399)}.gpt-token-avg{color:#64748b;font-size:.78rem;margin-top:4px}.gpt-token-avg strong{color:#e2e8f0}.gpt-ops-breakdown{display:flex;flex-direction:column;gap:10px}.gpt-ops-empty{color:#64748b;font-size:.85rem;padding:20px 0;text-align:center}.gpt-op-row{display:flex;flex-direction:column;gap:4px}.gpt-op-header{align-items:center;display:flex;font-size:.78rem;gap:6px}.gpt-op-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.gpt-op-name{color:#e2e8f0;flex:1 1;font-weight:500}.gpt-op-meta{color:#64748b;font-size:.72rem;white-space:nowrap}.gpt-op-bar{background:#ffffff0a;border-radius:3px;height:6px;overflow:visible;position:relative}.gpt-op-bar-fill{border-radius:3px;height:100%;min-width:2px;transition:width .4s ease}.gpt-op-bar-label{color:#94a3b8;display:none;font-size:.7rem;position:absolute;right:0;top:-16px}.gpt-stats-timeline-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:16px;padding:16px}.gpt-stats-timeline-section h3{align-items:center;color:#94a3b8;display:flex;font-size:.85rem;font-weight:600;gap:6px;margin:0 0 12px}.gpt-stats-timeline{max-height:220px;overflow-y:auto}.gpt-timeline-table{border-collapse:collapse;font-size:.78rem;width:100%}.gpt-timeline-table thead th{background:#1a1f2e;border-bottom:1px solid #ffffff0f;color:#64748b;font-weight:600;padding:6px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.gpt-timeline-table tbody tr{border-bottom:1px solid #ffffff08}.gpt-timeline-table tbody tr:hover{background:#ffffff08}.gpt-timeline-table td{color:#cbd5e1;padding:6px 8px}.gpt-tl-time{color:#64748b;white-space:nowrap}.gpt-tl-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.gpt-tl-op-badge{background:#ffffff0a;border:1px solid;border-radius:4px;display:inline-block;font-size:.72rem;padding:2px 8px;white-space:nowrap}.gpt-stats-session-meta{align-items:center;border-top:1px solid #ffffff0a;color:#475569;display:flex;font-size:.72rem;justify-content:space-between;padding-top:12px}@media (max-width:768px){.gpt-stats-summary-grid{grid-template-columns:repeat(2,1fr)}.gpt-stats-detail-row{grid-template-columns:1fr}.gpt-stats-session-meta{align-items:flex-start;flex-direction:column;gap:4px}}.unified-viewer-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.unified-viewer{background:var(--surface-primary);border-radius:16px;box-shadow:0 24px 80px #0006;display:flex;flex-direction:column;height:90vh;max-width:1600px;overflow:hidden;width:95vw}.viewer-header{align-items:center;background:var(--gradient-primary);border-bottom:1px solid var(--border-light);color:#fff;display:flex;justify-content:space-between;padding:1.5rem 2rem}.header-left h2{font-size:1.5rem;font-weight:700;margin:0}.header-subtitle{font-size:.875rem;margin:.25rem 0 0;opacity:.9}.viewer-close{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.5rem;transition:var(--transition)}.viewer-close:hover{background:#ffffff4d}.viewer-stats{background:var(--surface-secondary);border-bottom:1px solid var(--border-light);display:flex;gap:2rem;padding:1rem 2rem}.stat{display:flex;flex-direction:column}.stat.active{background:var(--primary-blue-pale);border-radius:8px;padding:.5rem 1rem}.stat-value{color:var(--primary-color);font-size:1.5rem}.stat.active .stat-value{font-size:1rem}.stat-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.05em}.viewer-toolbar{background:var(--surface-primary);border-bottom:1px solid var(--border-light);gap:1rem;padding:1rem 2rem}.search-box,.viewer-toolbar{align-items:center;display:flex}.search-box{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:8px;flex:1 1;gap:.5rem;padding:.625rem 1rem}.search-box input{background:none;border:none;color:var(--text-primary);flex:1 1;font-size:.875rem;outline:none}.toolbar-btn{align-items:center;background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1rem;transition:var(--transition)}.toolbar-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.viewer-content{display:flex;flex:1 1;overflow:hidden}.tables-sidebar{background:var(--surface-secondary);border-right:1px solid var(--border-light);overflow-y:auto;padding:1rem;width:280px}.sidebar-title{font-size:.75rem;margin-bottom:1rem}.category-label,.sidebar-title{color:var(--text-tertiary);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.category-label{font-size:.7rem;margin:1.5rem 0 .5rem;padding:0 .75rem}.table-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;margin-bottom:.25rem;padding:.75rem;text-align:left;transition:var(--transition);width:100%}.table-btn:hover{background:#4a90e21a;color:var(--primary-color)}.table-btn.active{background:var(--gradient-primary);color:#fff}.table-count{font-size:.75rem;font-weight:600;opacity:.7}.table-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.table-header{align-items:center;background:var(--surface-primary);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1.5rem 2rem}.table-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.table-meta{color:var(--text-tertiary);font-size:.875rem;margin:.25rem 0 0}.table-wrapper{background:var(--surface-primary);flex:1 1;overflow:auto}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table thead{background:var(--surface-secondary);position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table th{border-bottom:2px solid var(--border-light);color:var(--text-secondary);cursor:pointer;font-weight:600;padding:.875rem 1rem;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th:hover{background:#4a90e21a}.th-content{align-items:center;display:flex;gap:.5rem}.pk-badge{background:var(--primary-blue-pale);border-radius:3px;color:var(--primary-color);display:inline-block;font-size:.625rem;font-weight:700;padding:.125rem .375rem}.data-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);max-width:400px;overflow:hidden;padding:.875rem 1rem;text-overflow:ellipsis;white-space:nowrap}.data-table tbody tr:hover{background:var(--surface-secondary)}.pk-cell{color:var(--primary-color);font-weight:600}.actions-col{width:100px}.actions-cell,.actions-col{text-align:center}.delete-btn{align-items:center;background:#0000;border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.375rem .625rem;transition:var(--transition)}.delete-btn:hover{background:#fee;border-color:#f44;color:#d00}.delete-btn.confirm{animation:pulse .5s ease;background:#f44;border-color:#d00;color:#fff}.pagination{align-items:center;background:var(--surface-primary);border-top:1px solid var(--border-light);display:flex;gap:1rem;justify-content:center;padding:1rem}.page-btn{background:var(--surface-secondary);border:1px solid var(--border-light);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:var(--transition)}.page-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.3}.page-info{color:var(--text-secondary);font-size:.875rem;font-weight:500}.table-empty,.table-loading{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;justify-content:center;padding:4rem}.table-empty svg,.table-loading svg{color:var(--text-light);margin-bottom:1rem}.spin{animation:spin 1s linear infinite}.login-modal{max-width:500px;width:90%}.login-placeholder{align-items:center;display:flex;flex-direction:column;gap:1.5rem;padding:3rem 2rem;text-align:center}.placeholder-icon{animation:fadeInScale .5s ease;font-size:4rem;opacity:.6}.login-placeholder h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.placeholder-label{color:var(--text-tertiary);font-size:1.125rem;font-style:italic;font-weight:600;margin:-1rem 0 0}.placeholder-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0;max-width:350px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:.6;transform:scale(1)}}.learning-progress-container{bottom:1rem;max-width:400px;position:fixed;right:1rem;z-index:1000}.learning-status-banner{animation:slideInUp .3s ease;background:var(--gradient-primary);border-radius:.75rem;box-shadow:var(--shadow-blue);color:#fff;padding:1rem}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.status-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.brain-icon{color:#fff}.brain-icon.pulsing{animation:pulse 2s ease-in-out infinite}.status-title{font-size:.9375rem;font-weight:600}.status-details{background:#ffffff26;border-radius:.5rem;margin-bottom:.75rem;padding:.75rem}.current-document{font-size:.875rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-step{font-size:.8125rem;margin-bottom:.5rem;opacity:.9}.progress-bar-container{background:#ffffff40;border-radius:3px;height:6px;margin-bottom:.25rem;overflow:hidden;width:100%}.progress-bar-fill{background:#fff;border-radius:3px;height:100%;transition:width .3s ease}.progress-percentage{font-size:.75rem;opacity:.9;text-align:right}.status-summary{display:flex;font-size:.8125rem;gap:1rem}.summary-item{align-items:center;display:flex;gap:.375rem;opacity:.95}.summary-item.error{color:#fecaca}.active-jobs-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.job-item{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;padding:.75rem}.job-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.job-document{color:#1f2937;font-size:.875rem;font-weight:600;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-progress{color:var(--primary-color);font-size:.8125rem;font-weight:700}.job-step{color:#6b7280;font-size:.8125rem;margin-bottom:.5rem}.job-progress-bar{background:#e5e7eb;border-radius:2px;height:4px;overflow:hidden;width:100%}.job-progress-fill{background:var(--gradient-primary);border-radius:2px;height:100%;transition:width .3s ease}.failed-jobs-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.failed-job-item{background:#fee2e2;border-left:4px solid #ef4444;border-radius:.5rem;padding:.75rem}.failed-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.failed-document{color:#991b1b;font-size:.875rem;font-weight:600}.failed-error{color:#7f1d1d;font-size:.8125rem;margin-left:1.5rem}.message-feedback{display:flex;justify-content:flex-start;margin-left:0;margin-top:2px}.feedback-quick-actions{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #0000001a;border-radius:20px;box-shadow:0 2px 8px #00000026;display:flex;gap:4px;padding:4px 6px}.feedback-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#00000080;cursor:pointer;display:flex;height:28px;justify-content:center;padding:6px;transition:all .2s;width:28px}.feedback-btn:hover{background:#00000014;color:#000c;transform:scale(1.1)}.feedback-btn.active.positive{background:#4caf5026;color:#4caf50}.feedback-btn.active.negative{background:#f4433626;color:#f44336}.feedback-btn.detailed{color:#2196f3b3}.feedback-btn.detailed:hover{background:#2196f31f;color:#2196f3e6}.feedback-submitted{background:#4caf501a;border:1px solid #4caf504d;border-radius:20px;color:#4caf50}.feedback-error,.feedback-submitted{align-items:center;box-shadow:0 2px 8px #0000001a;display:flex;font-size:11px;gap:4px;padding:4px 8px}.feedback-error{background:#f443361a;border:1px solid #f443364d;border-radius:20px;color:#f44336}.feedback-submitting{align-items:center;background:#2196f31a;border:1px solid #2196f34d;border-radius:20px;box-shadow:0 2px 8px #0000001a;color:#2196f3cc;display:flex;font-size:11px;gap:4px;padding:4px 8px}.feedback-submitting .spinner{animation:spin 1s linear infinite}.feedback-btn:disabled{cursor:not-allowed;opacity:.5}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.feedback-detailed-form{background:#1e1e1e;background:var(--bg-secondary,#1e1e1e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:12px;bottom:80px;box-shadow:0 8px 32px #00000080;left:80px;padding:16px;position:fixed;width:320px;z-index:1000}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.form-header h4{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:14px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;color:#888;color:var(--text-secondary,#888);cursor:pointer;display:flex;padding:4px}.close-btn:hover{color:#e0e0e0;color:var(--text-primary,#e0e0e0)}.form-group{margin-bottom:12px}.form-group label{color:#999;color:var(--text-secondary,#999);display:block;font-size:12px;margin-bottom:6px}.rating-slider{align-items:center;display:flex;gap:12px}.rating-slider input[type=range]{background:#333;background:var(--border-color,#333);border-radius:2px;flex:1 1;height:4px;outline:none}.rating-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#2196f3;border-radius:50%;cursor:pointer;height:14px;width:14px}.rating-slider input[type=range]::-moz-range-thumb{background:#2196f3;border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.rating-value{color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-size:13px;font-weight:600;min-width:20px;text-align:center}.form-group input[type=checkbox]{margin-right:8px}.form-group textarea{background:#121212;background:var(--bg-primary,#121212);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:4px;color:#e0e0e0;color:var(--text-primary,#e0e0e0);font-family:inherit;font-size:13px;padding:8px;resize:vertical;width:100%}.form-group textarea:focus{background:#2196f31a;border-color:#2196f3;outline:none}.submit-btn{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px;transition:background .2s;width:100%}.submit-btn:hover{background:#1976d2}.context-menu{animation:contextMenuFadeIn .15s ease-out;background:linear-gradient(135deg,#1a1f2e,#252d3d);border:1px solid #3b82f64d;border-radius:8px;box-shadow:0 10px 40px #00000080,0 0 20px #3b82f633;min-width:220px;padding:6px;position:fixed;z-index:10000}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item{align-items:center;border-radius:4px;color:#e5e7eb;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.context-menu-item:hover{background:#3b82f626;color:#60a5fa}.context-menu-item svg{color:#9ca3af;flex-shrink:0;transition:color .15s ease}.context-menu-item:hover svg{color:#60a5fa}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover{background:#ef444426;color:#f87171}.context-menu-item.danger svg{color:#ef4444}.context-menu-item.danger:hover svg{color:#f87171}.context-menu-divider{background:#6b72804d;height:1px;margin:4px 0}.context-menu-item:active{transform:scale(.98)}.search-loading-indicator{animation:searchIndicatorFadeIn .3s ease-out;background:#fff;background:var(--surface-primary,#fff);border:1px solid #e2e8f0;border-left:3px solid #4a90e2;border:1px solid var(--border-light,#e2e8f0);border-left:3px solid var(--primary-color,#4a90e2);border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm,0 1px 3px #00000014);margin:12px 0;padding:14px 18px}@keyframes searchIndicatorFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-indicator-content{align-items:center;display:flex;gap:12px;position:relative}.search-indicator-icon{align-items:center;background:#dbeafe;background:var(--primary-blue-pale,#dbeafe);border:1px solid #4a90e233;border-radius:8px;border-radius:var(--border-radius-sm,8px);color:#4a90e2;color:var(--primary-color,#4a90e2);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.search-icon.spinning{animation:spin 1.5s linear infinite}.search-icon.pulsing{animation:pulse 2s ease-in-out infinite}.search-icon.rotating{animation:rotate 3s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.search-indicator-text{align-items:baseline;display:flex;flex:1 1;gap:4px}.search-stage-text{color:#0f172a;color:var(--text-primary,#0f172a);font-family:Inter,Public Sans,sans-serif;font-size:14px;font-weight:600;letter-spacing:.2px}.search-dots{color:#64748b;color:var(--text-tertiary,#64748b);display:inline-block;font-size:14px;font-weight:600;min-width:20px}.search-progress-bar{background:#e2e8f0;background:var(--border-light,#e2e8f0);border-radius:2px;bottom:-8px;height:3px;left:0;overflow:hidden;position:absolute;right:0}.search-progress-fill{animation:progressSlide 2s ease-in-out infinite;background:#4a90e2;background:var(--primary-color,#4a90e2);height:100%;width:100%}@keyframes progressSlide{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.file-upload-progress-container{animation:progressContainerFadeIn .3s ease-out;background:#fff;background:var(--surface-primary,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:12px;border-radius:var(--border-radius-md,12px);box-shadow:0 4px 6px #00000012;box-shadow:var(--shadow-md,0 4px 6px #00000012);margin:16px 0;padding:20px}@keyframes progressContainerFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.file-upload-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light,#e2e8f0);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.file-upload-header h3{color:#0f172a;color:var(--text-primary,#0f172a);font-size:15px;font-weight:600;margin:0}.file-count{color:#64748b;color:var(--text-tertiary,#64748b);font-size:13px;font-weight:500}.file-progress-list{display:flex;flex-direction:column;gap:12px}.file-progress-item{background:#f8fafc;background:var(--surface-secondary,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-light,#e2e8f0);border-radius:8px;border-radius:var(--border-radius-sm,8px);padding:12px;transition:all .3s ease}.file-progress-item.completed{background:#10b9810f;border-color:#10b98166}.file-progress-item.failed{background:#ef44440f;border-color:#ef444466}.file-info-row{justify-content:space-between;margin-bottom:8px}.file-icon-name,.file-info-row{align-items:center;display:flex}.file-icon-name{flex:1 1;gap:10px;min-width:0}.status-icon{flex-shrink:0}.status-icon.success{color:#10b981;color:var(--success,#10b981)}.status-icon.error{color:#ef4444;color:var(--error,#ef4444)}.status-icon.processing{color:#4a90e2;color:var(--primary-color,#4a90e2)}.status-icon.spinning{animation:spin 1s linear infinite}.file-details{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.file-name{color:#0f172a;color:var(--text-primary,#0f172a);font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#64748b;color:var(--text-tertiary,#64748b);font-size:12px}.file-stage{color:#4a90e2;color:var(--primary-color,#4a90e2);font-size:12px;font-weight:500;margin-left:12px;white-space:nowrap}.file-progress-bar-container{background:#e2e8f0;background:var(--border-light,#e2e8f0);border-radius:2px;height:4px;margin-bottom:6px;overflow:hidden;position:relative}.file-progress-bar-fill{border-radius:2px;height:100%;transition:width .3s ease,background-color .3s ease}.file-progress-percentage{color:#64748b;color:var(--text-tertiary,#64748b);font-size:11px;text-align:right}.file-upload-complete{align-items:center;background:#10b98114;border:1px solid #10b9814d;border-radius:6px;color:#10b981;color:var(--success,#10b981);display:flex;font-size:13px;font-weight:500;gap:8px;margin-top:12px;padding:10px}.file-upload-complete svg{flex-shrink:0}.error-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.error-modal-content{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #f871714d;border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:450px;width:90%}.error-modal-content.info-modal{border:1px solid #3b82f64d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-modal-header{align-items:center;border-bottom:1px solid #f8717133;display:flex;gap:.75rem;padding:1.25rem 1.5rem}.info-modal .error-modal-header{border-bottom:1px solid #3b82f633}.error-modal-icon{align-items:center;color:#f87171;display:flex;justify-content:center}.error-modal-icon.info-icon{color:#3b82f6}.error-modal-title{color:#f8fafc;flex:1 1;font-size:1.125rem;font-weight:600;margin:0}.error-modal-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s ease}.error-modal-close:hover{background:#f871711a;color:#f87171}.error-modal-body{padding:1.5rem}.error-modal-body p{color:#cbd5e1;font-size:.9375rem;line-height:1.6;margin:0}.error-modal-footer{border-top:1px solid #f8717133;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.info-modal .error-modal-footer{border-top:1px solid #3b82f633}.error-modal-button{background:linear-gradient(135deg,#2c5282,#2a4365);border:1px solid #3b82f64d;border-radius:8px;box-shadow:0 2px 8px #2c52824d;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.625rem 1.5rem;transition:all .2s ease}.error-modal-button:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f680;box-shadow:0 4px 12px #2c528266;transform:translateY(-1px)}.error-modal-button:active{transform:translateY(0)}.streaming-message{color:#111827;contain:layout style;font-weight:400;line-height:1.5;min-height:1.5em;position:relative;width:100%;will-change:contents}.streaming-message ::selection{background:#0000}.streaming-message ::-moz-selection{background:#0000}.streaming-message.streaming-active{animation:fadeIn .2s ease-in}.streaming-cursor{animation:blink 1s step-end infinite;background:none;background-color:initial;border:none;color:#3b82f6;display:inline;font-weight:700;margin:0;outline:none;padding:0;pointer-events:none;user-select:none;-webkit-user-select:none;vertical-align:initial}.streaming-cursor:after,.streaming-cursor:before{content:none;display:none}.streaming-cursor::selection{background:#0000}.streaming-cursor::-moz-selection{background:#0000}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.streaming-message p{margin:0}.streaming-message p+p{margin-top:.5em}.streaming-message p:empty{display:none!important;height:0!important;line-height:0!important;margin:0!important;padding:0!important}.streaming-message>:empty{display:none!important}.streaming-message>:last-child{margin-bottom:0!important}.streaming-message code{background-color:#f3f4f6;border-radius:4px;color:#111827;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;padding:2px 6px}.streaming-message pre{background-color:#f9fafb;border-left:3px solid #3b82f6;border-radius:6px;color:#111827;overflow-x:auto;padding:12px}.streaming-message pre code{background-color:initial;padding:0}.streaming-message ol,.streaming-message ul{margin-bottom:.5em;margin-left:1.5em}.streaming-message li{margin-bottom:.25em}.streaming-message strong{color:#111827;font-weight:700}.streaming-message em{color:#374151;font-style:italic}.streaming-message a{color:#60a5fa;text-decoration:underline}.streaming-message a:hover{color:#93c5fd}.streaming-message h1,.streaming-message h2,.streaming-message h3{color:#111827;font-weight:700;margin-bottom:.5em;margin-top:1em}.streaming-message h1{font-size:1.5em}.streaming-message h2{font-size:1.3em}.streaming-message h3{font-size:1.1em}.streaming-message blockquote{border-left:4px solid #d1d5db;color:#374151;font-style:italic;margin-left:0;padding-left:1em}.streaming-message table{border-collapse:collapse;margin:1em 0;width:100%}.streaming-message td,.streaming-message th{border:1px solid #e5e7eb;color:#111827;padding:8px 12px;text-align:left}.streaming-message th{background-color:#f3f4f6;font-weight:700}.streaming-message tr:nth-child(2n){background-color:#f9fafb}.afp-container{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;margin-top:12px;padding:14px 16px}.afp-header{color:#94a3b8;font-size:.85rem;font-weight:600;gap:8px;margin-bottom:12px}.afp-header,.afp-quick-row{align-items:center;display:flex}.afp-quick-row{flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:10px}.afp-stars{align-items:center;display:flex;gap:4px}.afp-star{background:none;border:none;color:#475569;cursor:pointer;padding:2px;transition:transform .1s}.afp-star:hover{transform:scale(1.2)}.afp-star.active{color:#f59e0b}.afp-rating-label{color:#f59e0b;font-size:.78rem;font-weight:600;margin-left:6px}.afp-accuracy-btns{display:flex;gap:8px}.afp-acc-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:.78rem;font-weight:500;gap:5px;padding:5px 12px;transition:all .15s}.afp-acc-btn:hover{background:#ffffff14}.afp-acc-btn.correct.selected{background:#10b98126;border-color:#10b98166;color:#34d399}.afp-acc-btn.incorrect.selected{background:#ef444426;border-color:#ef444466;color:#f87171}.afp-toggle-details{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.78rem;padding:4px 0;text-decoration:underline;text-underline-offset:2px}.afp-toggle-details:hover{color:#93bbfc}.afp-findings-list{margin:8px 0;max-height:240px;overflow-y:auto;padding-right:4px}.afp-finding-row,.afp-findings-list{display:flex;flex-direction:column;gap:6px}.afp-finding-row{background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;padding:8px 10px}.afp-finding-desc{align-items:center;display:flex;font-size:.78rem;gap:8px}.afp-finding-idx{color:#64748b;font-weight:600;min-width:28px}.afp-finding-text{color:#cbd5e1;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afp-finding-actions{align-self:flex-end;display:flex;gap:4px}.afp-verdict-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:5px;color:#64748b;cursor:pointer;display:flex;font-size:.72rem;font-weight:700;height:26px;justify-content:center;transition:all .15s;width:26px}.afp-verdict-btn:hover{background:#ffffff14}.afp-verdict-btn.correct.selected{background:#10b98133;border-color:#10b981;color:#34d399}.afp-verdict-btn.incorrect.selected{background:#ef444433;border-color:#ef4444;color:#f87171}.afp-verdict-btn.unsure.selected{background:#f59e0b33;border-color:#f59e0b;color:#fbbf24}.afp-finding-comment{background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;color:#e2e8f0;font-size:.75rem;outline:none;padding:4px 8px;width:100%}.afp-finding-comment:focus{border-color:#60a5fa66}.afp-comment-row{margin:8px 0}.afp-comment{background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;color:#e2e8f0;font-family:inherit;font-size:.8rem;outline:none;padding:8px 10px;resize:vertical;width:100%}.afp-comment:focus{border-color:#60a5fa66}.afp-error{color:#f87171;font-size:.78rem;margin:4px 0}.afp-submit-row{display:flex;justify-content:flex-end}.afp-submit-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:6px;padding:7px 16px;transition:all .15s}.afp-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6)}.afp-submit-btn:disabled{cursor:not-allowed;opacity:.4}.afp-spinner{animation:afpSpin 1s linear infinite}@keyframes afpSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.afp-submitted{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#34d399;display:flex;font-size:.85rem;font-weight:500;gap:8px;margin-top:12px;padding:12px 16px}.afp-submitted-icon{color:#10b981}.audit-suggestion-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #2c5282;border-radius:10px;box-shadow:0 2px 8px #0000000f;margin:4px 0;max-width:520px;overflow:hidden;padding:0}.asc-header{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);display:flex;gap:8px;padding:14px 18px 8px}.asc-header-icon{color:#2c5282;flex-shrink:0}.asc-header-title{color:#1a202c;font-size:15px;font-weight:700;letter-spacing:-.2px}.asc-description{background:linear-gradient(135deg,#f7fafc,#edf2f7);color:#718096;font-size:13px;margin:0;padding:0 18px 10px}.asc-files{display:flex;flex-direction:column;gap:8px;padding:12px 18px}.asc-file-row{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;padding:8px 12px}.asc-file-icon,.asc-file-row{align-items:center;display:flex}.asc-file-icon{border-radius:6px;flex-shrink:0;height:32px;justify-content:center;width:32px}.asc-file-icon.dcdl{background:#e8f5e9;color:#2e7d32}.asc-file-icon.pdf{background:#ffebee;color:#c62828}.asc-file-info{display:flex;flex-direction:column;min-width:0}.asc-file-label{color:#a0aec0;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.asc-file-name{color:#2d3748;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asc-audit-type{border-top:1px solid #edf2f7;display:flex;flex-direction:column;gap:2px;padding:10px 18px}.asc-audit-label{color:#a0aec0;font-size:11px}.asc-audit-name{color:#2c5282;font-size:13px;font-weight:600}.asc-actions{background:#f7fafc;border-top:1px solid #edf2f7;display:flex;gap:8px;padding:12px 18px}.asc-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:9px 20px;transition:all .15s ease}.asc-btn.run{background:linear-gradient(135deg,#2c5282,#2a4365);box-shadow:0 2px 6px #2c528240;color:#fff}.asc-btn.run:hover{box-shadow:0 4px 12px #2c528266;transform:translateY(-1px)}.asc-btn.cancel{background:#edf2f7;color:#4a5568}.asc-btn.cancel:hover{background:#e2e8f0}.asc-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.chat-page{background:var(--background);color:var(--text-primary);display:flex;flex-direction:column;font-family:Public Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2c5282,#2a4365);border-bottom:none;box-shadow:0 2px 12px #2c528240;justify-content:space-between;padding:.6rem 1.5rem;z-index:10}.chat-header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.gm-logo-img{border-radius:8px;filter:brightness(0) invert(1);object-fit:contain}.gm-logo,.gm-logo-img{height:44px;width:44px}.logo-placeholder{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-blue-dark) 100%);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-blue);color:#fff;display:flex;font-size:24px;font-weight:700;height:50px;justify-content:center;text-shadow:0 2px 4px #0000004d;width:50px}.header-title h1{color:#fff;font-size:1.2rem;font-weight:700;line-height:1.3;margin:0;text-shadow:0 1px 3px #00000026}.header-subtitle{color:#fffc;font-size:.75rem;font-weight:400;margin:0}.header-right{align-items:center;display:flex;gap:.5rem}.header-right-divider{background:#fff3;height:22px;margin:0 2px;width:1px}.restart-icon-btn{color:#fbbf24}.header-home-btn{background:#fff3;border:1px solid #ffffff4d}.header-home-btn:hover{background:#ffffff59}.mode-toggle{background:#f0f4f8;border-radius:8px;display:flex;padding:4px}.mode-btn{background:#0000;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.mode-btn.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#0051a5}.model-display{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--border-radius-sm);color:#fff;display:flex;font-family:Public Sans,Inter,sans-serif;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:var(--transition)}.model-display.clickable{cursor:pointer}.model-display.clickable:hover{background:#ffffff40;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.icon-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:var(--transition)}.icon-btn:hover{background:#ffffff40;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.login-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:var(--transition)}.login-btn:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.restart-btn{background:#fbbf2433;border-color:#fbbf2466}.restart-btn:hover{background:#fbbf2459;border-color:#fbbf2499}.help-dropdown-container{position:relative}.help-dropdown{background:#fff;border:2px solid var(--border-light);border-radius:var(--border-radius-md);box-shadow:0 8px 24px #00000026;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.help-dropdown button{background:#fff;border:none;color:var(--text-primary);cursor:pointer;display:block;font-size:.875rem;font-weight:600;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.help-dropdown button:hover{background:var(--primary-blue-pale);color:var(--primary-color)}.help-dropdown button:not(:last-child){border-bottom:1px solid var(--border-light)}.learning-toggle-container{align-items:center;display:flex;gap:.5rem}.learning-label{color:var(--text-primary);font-size:.8125rem;font-weight:600;transition:color .3s ease}.learning-toggle-switch{background:#d1d5db;border:1px solid #9ca3af;border-radius:11px;cursor:pointer;height:22px;position:relative;transition:all .3s ease;width:44px}.learning-toggle-switch:hover{background:#b8bec7}.learning-toggle-switch.active{background:#22c55e;border-color:#16a34a}.toggle-slider{align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;color:#6b7280;display:flex;height:18px;justify-content:center;left:2px;position:absolute;top:1px;transition:all .3s ease;width:18px}.learning-toggle-switch.active .toggle-slider{background:#fff;color:#22c55e;transform:translateX(22px)}.input-area{display:flex;flex-direction:column;padding:0}.input-area-header{align-items:center;background:var(--surface-secondary);border-bottom:1px solid var(--border-light);display:flex;gap:1.5rem;justify-content:flex-start;padding:.75rem 1.5rem .5rem}.system-status-message{background:#0000;border-radius:6px;color:#9ca3af;font-family:Public Sans,sans-serif;font-size:.75rem;font-weight:400;margin:.125rem 0;opacity:.75;padding:.375rem 1rem;pointer-events:none;text-align:center;-webkit-user-select:none;user-select:none}.grey-feedback{align-items:flex-start;border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-sm);color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;margin:.25rem 0;overflow:hidden;padding:.625rem .75rem;position:relative;transition:background .2s}.grey-feedback:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#6b72801a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.grey-feedback .feedback-icon{animation:pulse 2s ease-in-out infinite;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ai-disclaimer{color:#6b7280;font-size:.75rem;line-height:1.3;padding:.5rem 1.5rem;text-align:center}.search-warning{align-items:center;color:#f59e0b;display:flex;font-weight:600;gap:.5rem;justify-content:center}.chat-container{background:var(--surface-secondary);overflow:hidden;width:100%}.chat-container,.messages-area{display:flex;flex:1 1;flex-direction:column}.messages-area{background:#fff;gap:0;overflow-y:auto;padding:1rem 0;position:relative}.messages-area>*{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:900px;padding-left:1.5rem;padding-right:1.5rem;width:100%}.messages-area.dragging{background:linear-gradient(135deg,#dbeafe,#eff6ff);border:3px dashed var(--primary-color);border-radius:var(--border-radius-md)}.messages-area.dragging:after{background:#fffffff2;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);color:var(--primary-color);content:"Drop files here to attach";font-size:1.5rem;font-weight:700;left:50%;padding:2rem;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:100}.messages-area.dragging.learning-active:after{background:linear-gradient(135deg,#10b98126,#4a90e226);border:3px solid var(--success);content:"Drop files to LEARN\A\ASystem will permanently store knowledge from these files";white-space:pre-wrap}.message{align-items:flex-start;animation:msgFadeIn .25s ease-out;border-radius:0;display:flex;gap:.75rem;margin-bottom:.25rem;padding:.5rem .75rem;transition:background .15s ease}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message:hover{background:#0000}.message.assistant .message-text:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px);transition:all .2s ease}.message.user .message-text:hover{box-shadow:0 4px 16px #4a90e259;transform:translateY(-1px);transition:all .2s ease}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;background:var(--surface-secondary);border-radius:50%;box-shadow:0 1px 3px #00000014;color:var(--text-primary);display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:32px;justify-content:center;margin-top:2px;width:32px}.message-avatar .avatar-icon{border-radius:50%;height:100%;object-fit:cover;width:100%}.user-avatar-icon{color:var(--text-primary);height:18px;width:18px}.message.user .message-avatar{background:var(--surface-secondary);border:2px solid var(--border-light);box-shadow:var(--shadow-sm)}.message-content{display:flex;flex-direction:column;gap:.25rem;max-width:85%}.message.user .message-content{align-items:flex-end;align-self:flex-end;max-width:-webkit-fit-content;max-width:fit-content}.message-header{align-items:center;display:flex;font-size:.8125rem;gap:.4rem}.message-role{color:#1f2937;font-weight:600}.message-time{color:#9ca3af;font-size:.7rem}.message-text-wrapper{max-width:100%;width:-webkit-fit-content;width:fit-content}.message-text,.message-text-wrapper{display:inline-block;position:relative}.message-text{border-radius:12px;box-shadow:0 1px 4px #0000000f;font-size:.9375rem;line-height:1.55;padding:.625rem .875rem;word-break:break-word}.message-text,.message.user .message-text{max-width:-webkit-fit-content;max-width:fit-content}.message.user .message-text{word-wrap:break-word;background:linear-gradient(135deg,#4a90e2,#357abd);border:1px solid #4a90e24d;box-shadow:0 2px 12px #4a90e240;color:#fff;font-weight:400;overflow-wrap:break-word}.message.user .message-text p{line-height:1.5;margin:0}.message.user .message-text p+p{margin-top:.35em}.message.assistant .message-text{background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;color:#111827;font-family:Public Sans,sans-serif;min-height:0;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.message-actions{align-items:center;display:flex;gap:4px;margin-top:4px;opacity:0;transition:opacity .15s ease}.message:hover .message-actions{opacity:1}.copy-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.copy-btn:hover{background:#f3f4f6;color:#4b5563}.copy-btn:active{transform:scale(.92)}.message.assistant .message-text>:empty{display:none}.message.assistant .message-text>:last-child{margin-bottom:0!important}.message.assistant.streaming .message-text,.message.assistant.streaming .message-text *{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.message.assistant .message-text p{color:#111827;line-height:1.6;margin:0}.message.assistant .message-text p+p{margin-top:.5em}.message.assistant .message-text strong{color:#1f2937;font-weight:600}.message.assistant .message-text em{color:#374151}.message-text h2{color:var(--primary-color);font-size:1.125rem;font-weight:700;margin:1rem 0 .5rem}.message-text h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:.75rem 0 .25rem}.message-text li{margin-bottom:.25rem;margin-left:1.5rem}.message-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.attachment-chip{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .5rem}.spinner{animation:spin 1s linear infinite}.input-area{background:var(--surface-primary);border-top:1px solid var(--border-light);box-shadow:0 -4px 12px #00000008;padding:1rem 2rem}.attached-files{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1.5rem 0}.file-chip{align-items:center;background:#f0f4f8;border-radius:6px;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem}.file-chip button{background:none;border:none;color:#999;cursor:pointer;font-size:1.25rem;line-height:1;margin:0;padding:0}.file-chip button:hover{color:#e63946}.input-box{align-items:flex-end;background:#fff;border:1.5px solid #d1d5db;border-radius:12px;box-shadow:0 1px 4px #0000000f;display:flex;gap:.5rem;margin:.25rem .75rem .5rem;padding:.5rem .75rem;transition:border-color .2s ease,box-shadow .2s ease}.input-box:focus-within{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21f}.attach-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.attach-btn:hover:not(:disabled){background:var(--primary-blue-pale)}.attach-btn:disabled{cursor:not-allowed;opacity:.5}.message-input{background:#0000;border:none;border-radius:6px;box-sizing:border-box;color:#111827;flex:1 1;font-family:Public Sans,Inter,sans-serif;font-size:.9375rem;height:40px;line-height:1.4;max-height:200px;min-height:40px;outline:none;overflow-y:hidden;padding:.625rem .75rem;resize:none;transition:height .1s ease}.message-input:focus{outline:none}.send-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:6px;box-shadow:0 1px 3px #2563eb4d;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.send-btn:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-blue);transform:translateY(-2px)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.chat-footer{align-items:center;background:linear-gradient(135deg,#2c5282,#2a4365);border-top:none;box-shadow:0 -2px 10px #2c528226;color:#ffffffe6;display:flex;font-size:.8rem;justify-content:space-between;padding:.5rem 1.5rem}.footer-text{color:#ffffffe6;font-weight:500}.footer-status-group{align-items:center;display:flex;gap:.75rem}.footer-status-divider{background:#ffffff59;height:14px;width:1px}.footer-status{color:#fff;font-weight:600;gap:.5rem}.footer-status,.status-text{align-items:center;display:flex}.status-text{gap:.25rem}.heartbeat-indicator{animation:heartbeat 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:10px;width:10px}.heartbeat-indicator.offline{animation:none;background:#ef4444}.heartbeat-indicator.ai-heartbeat.online{animation:ai-pulse 2s ease-in-out infinite;background:#10b981}.heartbeat-indicator.ai-heartbeat.offline{animation:none;background:#ef4444}@keyframes heartbeat{0%,to{opacity:1;transform:scale(1)}25%{opacity:.8;transform:scale(1.2)}50%{opacity:1;transform:scale(1)}}@keyframes ai-pulse{0%,to{box-shadow:0 0 0 0 #10b98180;opacity:1;transform:scale(1)}50%{box-shadow:0 0 6px 2px #10b9814d;opacity:.85;transform:scale(1.15)}}.learning-toggle-btn{display:inline-block;height:34px;position:relative;width:60px}.learning-toggle-btn input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:#10b981}input:focus+.slider{box-shadow:0 0 1px #10b981}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.learning-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.toggle-label{font-weight:700;letter-spacing:.5px;min-width:28px;text-align:center}.dcdl-audit-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.dcdl-audit-modal{animation:dcdlSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:95vw;overflow-y:auto;width:600px}@keyframes dcdlSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dcdl-audit-header{align-items:center;background:linear-gradient(135deg,#2c5282,#2a4365);border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.dcdl-audit-title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.dcdl-audit-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;padding:4px}.dcdl-audit-close:hover{background:#fff3}.dcdl-audit-body{padding:20px}.dcdl-audit-description{color:#4a5568;font-size:13px;line-height:1.5;margin-bottom:16px}.dcdl-audit-file-selectors{align-items:center;display:flex;flex-direction:column;gap:12px}.dcdl-file-drop-zone{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:80px;padding:20px;transition:all .2s;width:100%}.dcdl-file-drop-zone:hover{background:#ebf8ff;border-color:#4299e1}.dcdl-file-drop-zone.drag-over{background:#bee3f8;border-color:#3182ce}.dcdl-file-drop-zone.has-file{background:#f0fff4;border-color:#48bb78;border-style:solid}.dcdl-file-zone-label{color:#718096;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.dcdl-file-info{align-items:center;display:flex;gap:8px}.dcdl-file-check{color:#48bb78}.dcdl-file-name{color:#2d3748;font-size:13px;font-weight:500;word-break:break-all}.dcdl-file-type-badge{background:#e2e8f0;border-radius:10px;color:#4a5568;font-size:10px;font-weight:600;padding:2px 8px;white-space:nowrap}.dcdl-file-placeholder{color:#a0aec0;flex-direction:column;gap:6px}.dcdl-file-placeholder,.dcdl-swap-btn{align-items:center;display:flex;font-size:12px}.dcdl-swap-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-weight:500;gap:4px;padding:6px 14px;transition:all .15s}.dcdl-swap-btn:hover{background:#edf2f7}.dcdl-swap-btn:disabled{cursor:not-allowed;opacity:.4}.dcdl-audit-error,.dcdl-audit-warning{align-items:center;border-radius:6px;display:flex;font-size:12px;gap:6px;margin-top:12px;padding:8px 12px}.dcdl-audit-warning{background:#fffbeb;border:1px solid #fefcbf;color:#d69e2e}.dcdl-audit-error{background:#fff5f5;border:1px solid #fed7d7;color:#e53e3e}.dcdl-audit-footer{background:#f7fafc;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.dcdl-audit-cancel-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:13px;padding:8px 18px}.dcdl-audit-cancel-btn:hover{background:#edf2f7}.dcdl-audit-run-btn{align-items:center;background:linear-gradient(135deg,#2c5282,#2a4365);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:all .15s}.dcdl-audit-run-btn:hover{box-shadow:0 2px 8px #2c528266}.dcdl-audit-run-btn:disabled{cursor:not-allowed;opacity:.5}.dcdl-progress-container{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;margin:4px 0;padding:16px}.dcdl-progress-container.failed{background:#fff5f5;border-color:#fc8181}.dcdl-progress-container.completed{background:#f0fff4;border-color:#68d391}.dcdl-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.dcdl-progress-title{color:#2d3748;font-size:14px;font-weight:600}.dcdl-progress-percent{color:#3182ce;font-size:14px;font-weight:700}.dcdl-progress-bar-track{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden}.dcdl-progress-bar-fill{background:linear-gradient(90deg,#3182ce,#63b3ed);border-radius:3px;height:100%;transition:width .4s ease-out}.dcdl-progress-bar-fill.error{background:#fc8181}.dcdl-progress-bar-fill.success{background:#48bb78}.dcdl-progress-stages{display:flex;flex-direction:column;gap:4px}.dcdl-progress-stage{display:flex;flex-direction:column;font-size:12px;gap:2px;padding:3px 0}.dcdl-stage-main{align-items:center;display:flex;gap:6px}.dcdl-gpt-tag{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;display:inline-flex;font-size:9px;font-weight:800;gap:3px;letter-spacing:.03em;margin-left:2px;padding:1px 7px;white-space:nowrap}.dcdl-gpt-tag.fallback{background:#fffbeb;border-color:#fcd34d;color:#b45309}.dcdl-gpt-detail{animation:fadeInDetail .4s ease;color:#4a90e2;font-size:10px;font-style:italic;font-weight:500;margin-left:22px}.dcdl-gpt-detail.fallback{color:#b45309}@keyframes fadeInDetail{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.dcdl-progress-stage.done{color:#38a169}.dcdl-progress-stage.active{color:#3182ce;font-weight:600}.dcdl-progress-stage.pending{color:#a0aec0}.dcdl-progress-stage.failed{color:#e53e3e}.dcdl-progress-message{border-top:1px solid #e2e8f0;color:#718096;font-size:11px;margin-top:8px;padding-top:8px}.dcdl-progress-error{align-items:flex-start;background:#fff5f5;border-radius:6px;color:#e53e3e;display:flex;font-size:12px;gap:6px;margin-top:8px;padding:8px 10px}.dcdl-results-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:4px 0;overflow:hidden}.dcdl-results-banner{align-items:center;display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px 16px}.dcdl-results-banner.pass{background:#f0fff4;border-bottom:2px solid #48bb78;color:#276749}.dcdl-results-banner.fail{background:#fff5f5;border-bottom:2px solid #fc8181;color:#9b2c2c}.dcdl-cell-tabs{background:#f7fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;overflow-x:auto;padding:8px 16px}.dcdl-cell-tab{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:5px;padding:6px 14px;transition:all .15s;white-space:nowrap}.dcdl-cell-tab:hover{background:#edf2f7}.dcdl-cell-tab.active{background:#2c5282;border-color:#2c5282;box-shadow:0 1px 4px #2c52824d;color:#fff;font-weight:600}.dcdl-cell-tab.active svg{color:#fff!important}.dcdl-cell-tab.tab-pass{border-left:3px solid #48bb78}.dcdl-cell-tab.tab-fail{border-left:3px solid #fc8181}.dcdl-cell-tab.active.tab-pass{border-left-color:#68d391}.dcdl-cell-tab.active.tab-fail{border-left-color:#feb2b2}.dcdl-results-verdict{font-size:18px;font-weight:700}.dcdl-results-pct{background:#ffffff4d;border-radius:4px;font-size:13px;font-weight:600;opacity:.85;padding:2px 8px}.dcdl-results-subtitle{font-size:12px;font-weight:400;margin-left:auto;opacity:.8}.dcdl-results-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);padding:12px 16px}.dcdl-stat-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px;text-align:center}.dcdl-stat-value{color:#2d3748;display:block;font-size:20px;font-weight:700}.dcdl-stat-label{color:#718096;display:block;font-size:10px;letter-spacing:.3px;text-transform:uppercase}.dcdl-stat-card.matched .dcdl-stat-value{color:#38a169}.dcdl-stat-card.mismatches .dcdl-stat-value{color:#e53e3e}.dcdl-stat-card.missing .dcdl-stat-value{color:#dd6b20}.dcdl-stat-card.extra .dcdl-stat-value{color:#d69e2e}.dcdl-severity-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.dcdl-severity-badge{border-radius:10px;font-size:11px;font-weight:600;padding:3px 10px}.dcdl-results-files{background:#f7fafc;border-top:1px solid #edf2f7;color:#4a5568;display:flex;flex-wrap:wrap;font-size:11px;gap:12px;padding:10px 16px}.dcdl-results-section{border-top:1px solid #e2e8f0}.dcdl-section-toggle{align-items:center;background:#f7fafc;border:none;color:#2d3748;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 16px;text-align:left;width:100%}.dcdl-section-toggle:hover{background:#edf2f7}.dcdl-findings-table,.dcdl-matched-table{font-size:11px;overflow-x:auto}.dcdl-findings-header,.dcdl-matched-header{grid-gap:4px;background:#37474f;color:#fff;display:grid;font-size:10px;font-weight:600;gap:4px;grid-template-columns:80px 130px 130px 80px 1fr 1fr 32px;letter-spacing:.3px;min-width:-webkit-max-content;min-width:max-content;padding:6px 16px;text-transform:uppercase}.dcdl-matched-header{grid-template-columns:120px 140px 110px 110px 100px 100px 70px 80px 70px}.dcdl-findings-row,.dcdl-matched-row{grid-gap:4px;align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:grid;gap:4px;grid-template-columns:80px 130px 130px 80px 1fr 1fr 32px;min-width:-webkit-max-content;min-width:max-content;padding:6px 16px}.dcdl-matched-row{cursor:default;grid-template-columns:120px 140px 110px 110px 100px 100px 70px 80px 70px}.dcdl-matched-row .field-match{color:#2e7d32}.dcdl-matched-row .field-mismatch{color:#c62828;font-weight:600}.dcdl-findings-row:hover{background:#f7fafc}.dcdl-findings-row:nth-child(2n){background:#fafafa}.dcdl-finding-severity{align-items:center;display:flex;font-size:10px;font-weight:600;gap:3px}.dcdl-finding-type{color:#4a5568}.dcdl-finding-device{font-family:monospace;font-size:11px}.dcdl-finding-detail{background:#f7fafc;border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:11px;line-height:1.6;padding:8px 16px 12px 96px}.dcdl-finding-detail p{margin:2px 0}.dcdl-findings-header-actions{min-width:0}.dcdl-copy-btn,.dcdl-finding-actions{align-items:center;display:flex;justify-content:center}.dcdl-copy-btn{background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;padding:3px;transition:all .15s ease}.dcdl-copy-btn:hover{background:#eff6ff;color:#4a90e2}.dcdl-copy-btn.copied{background:#ecfdf5;color:#10b981}.dcdl-confidence{color:#38a169;font-weight:600}.dcdl-results-actions{background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;padding:12px 16px}.dcdl-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s}.dcdl-action-btn.view{background:#edf2f7;color:#2d3748}.dcdl-action-btn.view:hover{background:#e2e8f0}.dcdl-action-btn.download{background:linear-gradient(135deg,#2c5282,#2a4365);color:#fff}.dcdl-action-btn.download:hover{box-shadow:0 2px 8px #2c528266}.dcdl-action-btn.markup{background:linear-gradient(135deg,#276749,#22543d);color:#fff}.dcdl-action-btn.markup:hover{box-shadow:0 2px 8px #27674966}.dcdl-action-btn.markup.ready{background:linear-gradient(135deg,#2f855a,#276749)}.dcdl-action-btn.markup:disabled{cursor:not-allowed;opacity:.7}.dcdl-markup-error{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px;color:#c53030;font-size:11px;gap:6px}.dcdl-markup-error,.dcdl-markup-progress{display:flex;margin:4px 0;padding:6px 12px}.dcdl-markup-progress{flex-direction:column;gap:3px}.dcdl-markup-progress-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden;width:100%}.dcdl-markup-progress-fill{background:linear-gradient(90deg,#38a169,#48bb78);border-radius:3px;height:100%;transition:width .5s ease-out}.dcdl-markup-progress-label{color:#718096;font-size:10px;text-align:right}.dcdl-pagination{align-items:center;background:#f7fafc;border-top:1px solid #e2e8f0;color:#4a5568;display:flex;font-size:12px;gap:12px;justify-content:center;padding:8px 16px}.dcdl-pagination button{background:#fff;border:1px solid #cbd5e0;border-radius:4px;color:#2d3748;cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px;transition:all .15s}.dcdl-pagination button:hover:not(:disabled){background:#edf2f7;border-color:#a0aec0}.dcdl-pagination button:disabled{cursor:not-allowed;opacity:.4}.dcdl-pagination span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spin{animation:spinAnim 1s linear infinite}@keyframes spinAnim{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.demo-btn{align-items:center;background:#ffffff1a;border:1px dashed #ffffff80;border-radius:8px;border-radius:var(--border-radius-sm,8px);color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;letter-spacing:.3px;padding:.35rem .75rem;transition:all .25s ease}.demo-btn:hover:not(:disabled){background:#ffffff40;border-color:#ffffffb3;transform:translateY(-1px)}.demo-btn:disabled{cursor:not-allowed;opacity:.4}.demo-btn-label{font-size:11px;text-transform:uppercase}.audit-engine-page{background:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#f1f5f9);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.ae-gha-header{align-items:center;background:linear-gradient(135deg,#2c5282,#2a4365);box-shadow:0 4px 20px #2c52824d;display:flex;justify-content:space-between;padding:.85rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.ae-gha-header-left{align-items:center;display:flex;gap:1rem}.ae-gha-back-btn{align-items:center;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:6px;color:#ffffffd9;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s ease}.ae-gha-back-btn:hover{background:#ffffff38;box-shadow:none;color:#fff;transform:none}.ae-gha-divider{background:#fff3;height:28px;width:1px}.ae-gha-logo{border-radius:8px;filter:brightness(0) invert(1);height:50px;object-fit:contain;width:50px}.ae-gha-title h1{color:#fff;font-size:1.35rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.ae-gha-title p{color:#ffffffe0;font-size:.82rem;font-weight:500;margin:0}.ae-gha-header-right{align-items:center;display:flex;gap:12px}.ae-gpt-badge{align-items:center;background:#10b98140;border:1px solid #10b98173;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.78rem;font-weight:700;gap:6px;letter-spacing:.02em;padding:6px 14px;transition:all .2s ease;white-space:nowrap}.ae-gpt-badge:hover{background:#10b98166;border-color:#10b981a6;box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.ae-gpt-badge.offline{background:#9ca3af40;border-color:#9ca3af73}.ae-gpt-badge.offline:hover{background:#9ca3af66;border-color:#9ca3afa6;box-shadow:0 2px 8px #9ca3af4d}.ae-demo-btn{align-items:center;background:#4a90e240;border:1px dashed #ffffff80;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.78rem;font-weight:700;gap:6px;letter-spacing:.02em;padding:6px 14px;transition:all .2s ease;white-space:nowrap}.ae-demo-btn:hover:not(:disabled){background:#4a90e273;border-color:#ffffffb3;box-shadow:0 2px 8px #4a90e24d;transform:translateY(-1px)}.ae-demo-btn:disabled{cursor:not-allowed;opacity:.4}.ae-gha-footer{align-items:center;background:linear-gradient(135deg,#2c5282,#2a4365);box-shadow:0 -4px 20px #2c52824d;color:#ffffffe6;display:flex;font-size:.82rem;justify-content:space-between;padding:.65rem 2rem}.ae-footer-text{color:#ffffffe0;font-weight:500}.ae-footer-status-group{align-items:center;display:flex;gap:.75rem}.ae-footer-divider{background:#ffffff59;height:14px;width:1px}.ae-footer-status{align-items:center;color:#fff;display:flex;font-weight:600;gap:.5rem}.ae-heartbeat{animation:ae-pulse 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:10px;width:10px}.ae-heartbeat.offline{animation:none;background:#ef4444}.ae-heartbeat.ai-heartbeat.online{animation:ae-ai-pulse 2s ease-in-out infinite;background:#10b981}.ae-heartbeat.ai-heartbeat.offline{animation:none;background:#ef4444}@keyframes ae-pulse{0%,to{opacity:1;transform:scale(1)}25%{opacity:.8;transform:scale(1.2)}50%{opacity:1;transform:scale(1)}}@keyframes ae-ai-pulse{0%,to{box-shadow:0 0 0 0 #10b98180;opacity:1;transform:scale(1)}50%{box-shadow:0 0 6px 2px #10b9814d;opacity:.85;transform:scale(1.15)}}.ae-current-audit-label{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#334155;display:flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:10px;padding:10px 16px}.ae-queue-count{color:#64748b;font-size:.75rem;font-weight:500;margin-left:4px}.ae-results-summary-bar{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;color:#059669;display:flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:12px;padding:10px 16px}.ae-download-all-btn{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:8px;box-shadow:0 2px 8px #05966940;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.78rem;font-weight:700;gap:6px;margin-left:auto;padding:6px 16px;transition:all .2s ease;white-space:nowrap}.ae-download-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 14px #05966966;transform:translateY(-1px)}.ae-download-all-btn:disabled{cursor:not-allowed;opacity:.7}.ae-result-block{margin-bottom:16px}.ae-result-block:last-child{margin-bottom:0}.ae-content{flex:1 1;gap:20px;margin:0 auto;max-width:860px;padding:28px 24px 40px;width:100%}.ae-content,.ae-upload-section{display:flex;flex-direction:column}.ae-upload-section{gap:14px}.ae-dropzone{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:2px dashed #cbd5e1;border-radius:16px;cursor:pointer;padding:40px 24px;text-align:center;transition:all .25s ease}.ae-dropzone.active{background:#4a90e20f;border-color:#4a90e2;box-shadow:0 0 0 4px #4a90e21a}.ae-dropzone:hover{background:#fffc;border-color:#94a3b8;box-shadow:none;transform:none}.ae-dropzone.has-files{border-color:#e2e8f0;border-style:solid;padding:14px 20px}.ae-dropzone-empty{align-items:center;display:flex;flex-direction:column;gap:10px}.ae-upload-icon{color:#94a3b8;margin-bottom:4px}.ae-dropzone-empty h3{color:#334155;font-size:1.1rem;font-weight:600;margin:0}.ae-dropzone-empty p{color:#94a3b8;font-size:.85rem;margin:0}.ae-file-combos{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.ae-file-combos span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;font-size:.72rem;font-weight:600;padding:4px 12px}.ae-dropzone-hint{align-items:center;color:#94a3b8;display:flex;font-size:.82rem;font-weight:500;gap:6px;justify-content:center}.ae-file-list{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.ae-file-list-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:10px 16px}.ae-file-count{color:#334155;font-size:.82rem;font-weight:600}.ae-clear-btn{align-items:center;background:#0000;border:1px solid #fca5a5;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px}.ae-clear-btn:hover{background:#fef2f2;box-shadow:none;transform:none}.ae-clear-btn:disabled{cursor:not-allowed;opacity:.4}.ae-file-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;padding:10px 16px;transition:background .15s ease}.ae-file-item:last-child{border-bottom:none}.ae-file-item:hover{background:#f8fafc}.file-icon.pdf{color:#ef4444}.file-icon.excel{color:#10b981}.ae-file-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.ae-file-name{color:#0f172a;font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-file-size{color:#94a3b8;font-size:.72rem}.ae-file-remove{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;padding:4px}.ae-file-remove:hover{background:#fef2f2;box-shadow:none;color:#ef4444;transform:none}.ae-file-remove:disabled{cursor:not-allowed;opacity:.3}.ae-detections{display:flex;flex-direction:column;gap:8px}.ae-detect-header{color:#10b981;font-size:.82rem;font-weight:700;padding:0 4px}.ae-detect-header,.ae-detection{align-items:center;display:flex;gap:8px}.ae-detection{border-radius:10px;color:#334155;font-size:.85rem;font-weight:500;padding:10px 16px}.ae-detection.detected{background:#f0fdf4;border:1px solid #bbf7d0}.ae-detection.unknown{background:#fffbeb;border:1px solid #fde68a}.ae-detect-icon{color:#10b981;flex-shrink:0}.ae-detect-icon.warn{color:#f59e0b}.ae-detect-conf{color:#10b981;font-size:.75rem;font-weight:600}.ae-run-btn-inline{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 3px 10px #10b98140;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:700;gap:5px;margin-left:auto;padding:6px 16px;transition:all .2s ease;white-space:nowrap}.ae-run-btn-inline:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 14px #10b98166;transform:translateY(-1px)}.ae-run-btn-inline:active{transform:translateY(0)}.ae-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 16px}.ae-error span{flex:1 1}.ae-error button{background:#0000;border:none;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;padding:2px}.ae-error button:hover{background:#fee2e2;box-shadow:none;transform:none}.ae-run-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 6px 20px #10b98159;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:10px;justify-content:center;min-width:260px;padding:14px 28px;transition:all .25s ease}.ae-run-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 28px #10b98173;transform:translateY(-2px)}.ae-run-btn:active{transform:translateY(0)}.ae-mode-toggle-bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:14px;padding:12px 18px}.ae-toggle-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.85rem;font-weight:700;gap:8px;padding:7px 16px;transition:all .2s ease;white-space:nowrap}.ae-toggle-btn.active{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.ae-toggle-btn:hover:not(:disabled){background:#e2e8f0;box-shadow:none;transform:none}.ae-toggle-btn.active:hover:not(:disabled){background:#d1fae5}.ae-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.ae-mode-label{color:#94a3b8;font-size:.8rem;font-weight:500}.ae-manual-section{animation:fadeIn .25s ease;display:flex;flex-direction:column;gap:16px}.ae-manual-selector{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px}.ae-manual-label{color:#475569;display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.ae-select-wrapper{display:inline-block;position:relative;width:100%}.ae-select{-webkit-appearance:none;appearance:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;padding:10px 40px 10px 14px;transition:border-color .2s ease;width:100%}.ae-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21f;outline:none}.ae-select:disabled{cursor:not-allowed;opacity:.5}.ae-select-chevron{color:#94a3b8;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.ae-manual-desc{color:#94a3b8;font-size:.8rem;margin:8px 0 0}.ae-dual-zones{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.ae-zone-col{display:flex;flex-direction:column;gap:8px}.ae-zone-header{align-items:center;display:flex;gap:10px;padding:0 4px}.ae-zone-badge{border-radius:6px;flex-shrink:0;font-size:.68rem;font-weight:800;letter-spacing:.06em;padding:3px 10px;text-transform:uppercase}.ae-zone-badge.source{background:#dbeafe;color:#1d4ed8}.ae-zone-badge.ref{background:#f3e8ff;color:#9333ea}.ae-zone-title{color:#334155;font-size:.82rem;font-weight:600}.ae-zone-drop{min-height:120px;padding:24px 16px}.ae-zone-drop.has-files{min-height:auto;padding:10px 14px}.ae-zone-empty{gap:6px}.ae-zone-empty p{color:#64748b;font-size:.82rem;margin:0}.ae-zone-accept{color:#94a3b8;font-size:.7rem;font-weight:600}.ae-manual-actions{display:flex;justify-content:flex-end}.ae-progress-section{animation:fadeIn .3s ease}.ae-loading{align-items:center;color:#64748b;display:flex;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;padding:24px}.ae-results-section{animation:fadeIn .4s ease}.ae-new-session-bar{display:flex;justify-content:center;padding:20px 0 4px}.ae-new-session-btn{align-items:center;background:linear-gradient(135deg,#4a90e2,#2c5282);border:none;border-radius:10px;box-shadow:0 4px 16px #4a90e24d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.92rem;font-weight:700;gap:8px;justify-content:center;padding:12px 32px;transition:all .25s ease}.ae-new-session-btn:hover{background:linear-gradient(135deg,#2c5282,#2a4365);box-shadow:0 6px 24px #2c528273;transform:translateY(-2px)}.ae-new-session-btn:active{transform:translateY(0)}.ae-file-type-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#3b82f6;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;margin-left:8px;padding:1px 8px;text-transform:uppercase;vertical-align:middle}.ae-file-type-badge.wd_template{background:#fdf4ff;border-color:#e9d5ff;color:#a855f7}.ae-file-type-badge.wd_drawing{background:#eff6ff;border-color:#bfdbfe;color:#3b82f6}.ae-file-type-badge.dcdl{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.ae-file-type-badge.power_sizing_pdp,.ae-file-type-badge.power_sizing_supp{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.ae-classifying{background:#fffc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;font-size:.85rem;font-weight:600;gap:8px;padding:14px}.ae-checkbox-btn,.ae-classifying{align-items:center;display:flex;justify-content:center}.ae-checkbox-btn{background:#0000;border:none;color:#94a3b8;cursor:pointer;flex-shrink:0;padding:2px;transition:color .15s ease}.ae-checkbox-btn:hover:not(:disabled){color:#10b981}.ae-checkbox-btn:disabled{cursor:not-allowed;opacity:.5}.ae-detection.selected .ae-checkbox-btn{color:#10b981}.ae-detection.suppressed{background:#f8fafc;border:1px solid #e2e8f0;opacity:.7}.ae-detection.suppressed .ae-checkbox-btn{color:#94a3b8}.ae-suppress-reason{color:#94a3b8;flex:1 1;font-size:.72rem;font-style:italic;margin-left:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-verify-btn{align-items:center;background:#4a90e214;border:1px solid #4a90e240;border-radius:7px;color:#4a90e2;cursor:pointer;display:flex;font-size:.78rem;font-weight:700;gap:5px;margin-left:auto;padding:5px 14px;transition:all .2s ease;white-space:nowrap}.ae-verify-btn:hover:not(:disabled){background:#4a90e226;border-color:#4a90e266}.ae-verify-btn:disabled{cursor:not-allowed;opacity:.4}.ae-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ae-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:640px;overflow:hidden;width:90%}.ae-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;color:#0f172a;display:flex;gap:10px;padding:18px 24px}.ae-modal-header h3{flex:1 1;font-size:1.05rem;font-weight:700;margin:0}.ae-modal-close{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;padding:4px}.ae-modal-close:hover{background:#f1f5f9;color:#334155}.ae-modal-body{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px 24px}.ae-modal-section h4{color:#475569;font-size:.82rem;font-weight:700;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.ae-modal-table{display:flex;flex-direction:column;gap:4px}.ae-modal-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;font-size:.84rem;gap:12px;padding:8px 12px}.ae-modal-row.muted{opacity:.6}.ae-modal-fname{color:#0f172a;flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ae-modal-type{border-radius:10px;font-size:.7rem;font-weight:700;padding:2px 10px;text-transform:uppercase;white-space:nowrap}.ae-modal-type.wd_drawing{background:#eff6ff;color:#3b82f6}.ae-modal-type.wd_template{background:#fdf4ff;color:#a855f7}.ae-modal-type.dcdl{background:#ecfdf5;color:#059669}.ae-modal-type.power_sizing_pdp,.ae-modal-type.power_sizing_supp{background:#fff7ed;color:#ea580c}.ae-modal-type.unknown{background:#f1f5f9;color:#94a3b8}.ae-modal-conf{color:#10b981;font-size:.75rem;font-weight:600;white-space:nowrap}.ae-modal-audit-row{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:8px;padding:12px}.ae-modal-audit-row strong{color:#0f172a;display:block;font-size:.88rem;margin-bottom:6px}.ae-modal-assign{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ae-modal-role{color:#64748b;font-size:.75rem;font-weight:700;min-width:65px}.ae-modal-file-tag{border-radius:6px;font-size:.72rem;font-weight:600;max-width:200px;overflow:hidden;padding:2px 10px;text-overflow:ellipsis;white-space:nowrap}.ae-modal-file-tag.source{background:#dbeafe;color:#1d4ed8}.ae-modal-file-tag.ref{background:#f3e8ff;color:#9333ea}.ae-modal-suppressed{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;display:flex;font-size:.82rem;gap:8px;margin-bottom:6px;padding:10px 12px}.ae-modal-footer{border-top:1px solid #e2e8f0;gap:10px;justify-content:flex-end;padding:16px 24px}.ae-modal-btn,.ae-modal-footer{align-items:center;display:flex}.ae-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:700;gap:6px;padding:9px 20px;transition:all .2s ease}.ae-modal-btn.secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.ae-modal-btn.secondary:hover{background:#e2e8f0}.ae-modal-btn.primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 3px 10px #10b98140;color:#fff}.ae-modal-btn.primary:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 14px #10b98166}.ae-modal-select{-webkit-appearance:auto;appearance:auto;background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#0f172a;cursor:pointer;flex:1 1;font-family:inherit;font-size:.82rem;font-weight:600;min-width:0;padding:7px 12px;transition:border-color .2s ease}.ae-modal-select:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21f;outline:none}.ae-modal-hint{color:#94a3b8;font-size:.75rem;font-style:italic;margin:0 0 10px}.ae-modal-multi-ref{display:flex;flex:1 1;flex-direction:column;gap:5px}.ae-modal-multi-ref-row{display:flex;gap:6px}.ae-modal-add-ref{align-self:flex-start;background:#0000;border:1px dashed #93c5fd;border-radius:6px;color:#4a90e2;cursor:pointer;font-size:.72rem;font-weight:700;padding:4px 10px;transition:all .15s ease}.ae-modal-add-ref:hover{background:#eff6ff;border-color:#4a90e2}.ae-modal-row.excluded{opacity:.45;text-decoration:line-through}.ae-modal-row.excluded .ae-checkbox-btn{color:#ef4444}.ae-modal-restore-btn{background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;color:#4a90e2;cursor:pointer;flex-shrink:0;font-size:.7rem;font-weight:700;margin-left:auto;padding:3px 10px;white-space:nowrap}.ae-modal-restore-btn:hover{background:#dbeafe;border-color:#93c5fd}@media (max-width:768px){.ae-gha-header{flex-wrap:wrap;gap:8px;padding:10px 14px}.ae-gha-title h1{font-size:1.05rem}.ae-gha-title p{font-size:.72rem}.ae-gpt-badge{font-size:.68rem;padding:4px 10px}.ae-gha-logo{height:36px;width:36px}.ae-gha-footer{font-size:.75rem;padding:.5rem 14px}.ae-content{padding:16px 12px 32px}.ae-dropzone{padding:28px 16px}.ae-run-btn{font-size:.92rem;min-width:200px;padding:12px 20px}.ae-mode-toggle-bar{align-items:flex-start;flex-direction:column;gap:8px}.ae-dual-zones{grid-template-columns:1fr}.ae-zone-drop{min-height:100px}.ae-modal{max-height:90vh;width:95%}}.help-page{background:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#f1f5f9);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.help-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 4px #0000000a;justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.help-back-btn,.help-header{align-items:center;display:flex}.help-back-btn{background:#0000;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:.85rem;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.help-back-btn:hover{background:#f1f5f9;box-shadow:none;color:#334155;transform:none}.help-header-center{align-items:center;display:flex;gap:10px}.help-header-center h1{color:#0f172a;font-size:1.15rem;font-weight:700;margin:0}.help-header-icon{color:#8b5cf6}.help-header-right{align-items:center;display:flex}.help-gm-logo{height:32px;object-fit:contain;width:32px}.help-content{display:flex;flex:1 1;flex-direction:column;gap:20px;margin:0 auto;max-width:800px;padding:28px 24px 40px;width:100%}.help-intro{margin-bottom:8px;text-align:center}.help-intro h2{color:#0f172a;font-size:1.5rem;font-weight:700;margin:0 0 8px}.help-intro p{color:#64748b;font-size:.95rem;margin:0}.help-sections{display:flex;flex-direction:column;gap:10px}.help-section{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:box-shadow .2s ease}.help-section.open{box-shadow:0 4px 16px #0000000f}.help-section-header{align-items:center;background:#0000;border:none;color:#334155;cursor:pointer;display:flex;font-family:Inter,sans-serif;justify-content:space-between;padding:14px 18px;transition:background .15s ease;width:100%}.help-section-header:hover{background:#f8fafc;box-shadow:none;transform:none}.help-section-left{align-items:center;display:flex;gap:12px}.help-section-icon{color:#8b5cf6;flex-shrink:0}.help-section-title{color:#0f172a;font-size:.95rem;font-weight:700}.help-section-body{animation:fadeIn .25s ease;padding:4px 18px 18px 50px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.help-para{margin-bottom:14px}.help-para:last-child{margin-bottom:0}.help-para p{color:#334155;font-size:.87rem;line-height:1.6;margin:0 0 6px}.help-para h4{color:#0f172a;font-size:.9rem;font-weight:700;margin:12px 0 6px}.help-para code{background:#f1f5f9;border-radius:4px;color:#4a90e2;font-size:.82rem;padding:1px 5px}.help-list-item{align-items:flex-start;color:#334155;display:flex;font-size:.87rem;gap:8px;line-height:1.5;margin:5px 0}.help-list-check{color:#10b981;flex-shrink:0;margin-top:3px}.help-list-item.numbered{gap:10px}.help-step-num{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.72rem;font-weight:700;height:22px;justify-content:center;width:22px}.help-table{border-collapse:collapse;font-size:.82rem;margin:8px 0 14px;width:100%}.help-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#334155;font-weight:700;padding:8px 12px;text-align:left}.help-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:7px 12px}.help-table tr:last-child td{border-bottom:none}.help-footer{color:#94a3b8;font-size:.78rem;font-weight:500;padding:16px 0;text-align:center}@media (max-width:768px){.help-content{padding:16px 12px 32px}.help-section-body{padding-left:18px}.help-intro h2{font-size:1.25rem}}.system-flow-diagram{background:linear-gradient(135deg,#f8fafc,#fff);height:100%;overflow-y:auto;padding:1rem;width:100%}.flow-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.flow-header h2{color:#111827;font-size:1.25rem;font-weight:700;margin:0}.flow-status{align-items:center;display:flex;gap:2rem}.current-mode-indicator,.current-node-indicator{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:.5rem;padding:.5rem 1rem}.status-label{color:#6b7280;font-size:.875rem;font-weight:500}.status-value{color:#111827;font-size:.875rem;font-weight:700}.flow-diagram-canvas{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1400px;width:100%}.flow-section{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:.5rem;padding:1.5rem;width:100%}.section-title{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;box-shadow:0 2px 6px #3b82f64d;color:#1f2937;color:#fff;font-size:1.125rem;font-weight:800;letter-spacing:.05em;margin-bottom:1rem;padding:.75rem 1.25rem;text-align:center;text-transform:uppercase}.flow-layer{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;margin:.25rem 0;padding:.75rem;width:100%}.layer-header{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-left:4px solid #3b82f6;border-radius:6px;box-shadow:0 1px 3px #00000014;color:#1f2937;font-size:.8125rem;font-weight:700;letter-spacing:.05em;margin-bottom:.75rem;padding:.5rem 1rem;text-transform:uppercase}.layer-nodes{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;width:100%}.modes-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);max-width:700px}.subprocess-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.flow-node{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;max-width:200px;min-width:150px;padding:.75rem;position:relative;transition:all .3s ease}.flow-node:hover{box-shadow:0 6px 16px #0003;transform:translateY(-4px) scale(1.02);z-index:10}.flow-node.state-active{border-color:#10b981;border-width:3px;box-shadow:0 2px 8px #10b98140}.flow-node.state-inactive{border-color:#9ca3af;border-width:3px;opacity:.75}.flow-node.current-node{border-color:#10b981;border-width:3px;box-shadow:0 0 0 4px #10b98133}.flow-node.active-pulse{animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{border-color:#10b981}50%{border-color:#60a5fa}}.node-entry_point,.node-mode,.node-operation,.node-subprocess{background:linear-gradient(135deg,#f9fafb,#fff)}.node-terminal{background:linear-gradient(135deg,#d1d5db,#e5e7eb);border-color:#6b7280}.node-icon{background:#f3f4f6;border-radius:6px;color:#6b7280;font-size:1.125rem;height:36px;margin-bottom:.5rem;width:36px}.state-active .node-icon{background:#d1fae5;color:#059669}.state-inactive .node-icon{background:#f3f4f6;color:#9ca3af}.node-content{text-align:center}.node-title{font-size:.75rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.node-desc{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.6875rem;line-height:1.4;margin-bottom:.25rem;max-height:3.6em;overflow:hidden;text-align:center;text-overflow:ellipsis}.conditional-badge{align-items:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:4px;color:#d97706;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .5rem}.conditional-symbol{font-size:.875rem}.node-state-indicator{border-radius:8px;box-shadow:0 1px 2px #00000026;color:#fff;font-size:.5625rem;font-weight:700;padding:.125rem .375rem;position:absolute;right:-6px;text-transform:uppercase;top:-6px}.state-active .node-state-indicator{animation:activeFlash 2s ease-in-out infinite;background:#10b981;color:#fff;font-weight:700}@keyframes activeFlash{0%,to{box-shadow:0 2px 4px #10b98166;opacity:1}50%{box-shadow:0 0 16px #10b981e6;opacity:.7}}.state-inactive .node-state-indicator{background:#9ca3af;color:#fff;font-weight:600}.flow-decision-container{align-items:center;display:flex;flex-direction:column;gap:1rem;max-width:800px;width:100%}.flow-decision-diamond{align-items:center;background:linear-gradient(135deg,#fef3c7,#fffbeb);border:3px solid #f59e0b;box-shadow:0 4px 12px #f59e0b40;display:flex;height:130px;justify-content:center;position:relative;transform:rotate(45deg);transition:all .3s ease;width:130px}.flow-decision-diamond:hover{box-shadow:0 8px 20px #f59e0b73;transform:rotate(45deg) scale(1.08)}.flow-decision-diamond.state-active{border-color:#d97706;border-width:4px;box-shadow:0 0 0 6px #d9770633,0 4px 12px #f59e0b4d}.decision-icon{color:#d97706;font-size:1.25rem}.decision-icon,.decision-label{position:absolute;transform:rotate(-45deg)}.decision-label{color:#92400e;font-size:.625rem;font-weight:700;line-height:1.2;text-align:center;width:90px}.decision-paths{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1rem;width:100%}.decision-path-branch{align-items:center;background:#fff;border:2px solid #f59e0b;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;min-width:180px;padding:1rem}.decision-path-branch,.path-condition{flex-direction:column;gap:.5rem}.condition-badge{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;color:#d97706;font-size:.875rem;font-weight:700;padding:.375rem .75rem;text-align:center}.arrow-down{color:#f59e0b;font-size:1.5rem;font-weight:700}.path-targets{gap:.5rem;width:100%}.path-target-preview{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;font-size:.8125rem;font-weight:600;padding:.5rem;text-align:center}.flow-connector{background:linear-gradient(180deg,#3b82f6,#60a5fa);box-shadow:0 0 8px #3b82f666;flex-direction:column;margin:.5rem 0;min-height:30px;width:4px}.connector-line{flex:1 1;width:100%}.connector-arrow{align-items:center;background:#fff;border:2px solid #3b82f6;border-radius:50%;box-shadow:0 2px 6px #3b82f64d;color:#3b82f6;display:flex;font-size:1.125rem;font-weight:700;height:24px;justify-content:center;width:24px}.split-layer{align-items:flex-start;display:flex;flex-direction:row;gap:2rem;padding:1.5rem;width:100%}.column-header{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#1f2937;font-size:.9375rem;font-weight:700;margin-bottom:1rem;padding:.625rem 1rem;text-align:center}.split-column{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:1.25rem;position:relative}.split-column:before{background:linear-gradient(180deg,#0000,#3b82f6 50%,#0000);bottom:0;content:"";left:-1rem;position:absolute;top:0;width:2px}.decision-layer{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #f59e0b}.modes-layer{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981}.flow-legend{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-top:2rem;max-width:1400px;padding:1.5rem;width:100%}.legend-title{color:#111827;font-size:1.125rem;font-weight:700;margin-bottom:1rem}.legend-items{display:flex;flex-wrap:wrap;gap:1.5rem}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-symbol{border:2px solid #e5e7eb;border-radius:6px;height:40px;width:40px}.legend-symbol.node-entry_point,.legend-symbol.node-mode,.legend-symbol.node-operation,.legend-symbol.node-subprocess{background:linear-gradient(135deg,#f9fafb,#fff);border-color:#d1d5db}.legend-item span{color:#374151;font-size:.875rem;font-weight:600}.flow-diagram-empty{align-items:center;color:#6b7280;display:flex;font-size:1.125rem;height:400px;justify-content:center}.mode-note{background:#dc26261a;border:1px solid #dc262633;border-radius:4px;color:#dc2626}.flow-note,.mode-note{font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.375rem .75rem;text-align:center}.flow-note{background:#3b82f61a;border:1px solid #3b82f633;border-radius:4px;color:#3b82f6}.flow-note.async-note{background:#10b9811a;border-color:#10b98133;color:#10b981}.flow-note.audit-note{background:#8b5cf61a;border-color:#8b5cf633;color:#8b5cf6}.process-monitor-container-fullscreen{background:linear-gradient(135deg,#f8fafc,#fff);color:#111827;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;overflow:hidden}.process-monitor-minimized{border-radius:8px;bottom:20px;box-shadow:0 10px 40px #00000026;overflow:hidden;position:fixed;right:20px;z-index:9999}.minimized-bar{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:flex;gap:16px;justify-content:space-between;min-width:300px;padding:12px 20px}.minimized-title{font-size:14px;font-weight:600}.minimized-controls{align-items:center;display:flex;gap:12px}.minimized-stats{color:#ffffffe6;font-size:12px}.monitor-header-bar{align-items:center;background:linear-gradient(135deg,#fff,#f9fafb);border-bottom:2px solid #e5e7eb;box-shadow:0 2px 8px #0000000a;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 32px}.pm-back-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;gap:5px;margin-right:12px;padding:6px 12px;transition:all .2s ease}.pm-back-btn:hover{background:#e2e8f0;box-shadow:none;color:#1e293b;transform:none}.view-mode-toggle{background:#f3f4f6;border-radius:8px;display:flex;gap:8px;margin-top:12px;padding:4px}.view-mode-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.view-mode-btn:hover{background:#ffffff80;color:#111827}.view-mode-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2563eb}.header-left-section{align-items:center;display:flex;gap:24px}.monitor-title{color:#111827;font-size:24px;font-weight:700;margin:0}.header-metrics-inline{display:flex;gap:12px}.metric-pill{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:13px;font-weight:600;padding:6px 12px}.metric-pill.active{background:#dbeafe;color:#1d4ed8}.metric-pill.completed{background:#d1fae5;color:#059669}.metric-pill.failed{background:#fee2e2;color:#dc2626}.header-controls-bar{align-items:center;display:flex;gap:12px}.toggle-control{align-items:center;background:#f9fafb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;-webkit-user-select:none;user-select:none}.toggle-control input[type=checkbox]{cursor:pointer;height:16px;width:16px}.control-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s ease}.control-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.control-btn.refresh{color:#2563eb}.control-btn.refresh:hover{background:#eff6ff;border-color:#bfdbfe}.control-btn.close{color:#dc2626}.control-btn.close:hover{background:#fef2f2;border-color:#fecaca}.flowchart-visualization-container{background:linear-gradient(135deg,#f8fafc,#fff);flex:1 1;overflow-y:auto;padding:24px 32px}.flowchart-header-info{margin-bottom:32px}.flow-overview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.overview-stat{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;padding:20px;text-align:center}.stat-value{color:#111827;font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{color:#6b7280;font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.flow-status-banner{align-items:center;background:#fff;border:1px solid #e5e7eb;border-left:4px solid;border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;gap:16px;padding:20px 24px}.status-icon-large{align-items:center;display:flex;font-size:32px;height:48px;justify-content:center;width:48px}.status-info{flex:1 1}.status-title{color:#111827;font-size:18px;font-weight:700;margin-bottom:4px}.status-subtitle{color:#6b7280;font-size:14px}.flowchart-main-area{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 380px}.flowchart-timeline{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:24px}.timeline-label{border-bottom:2px solid #e5e7eb;color:#111827;font-size:16px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.timeline-nodes{display:flex;flex-direction:column;gap:0}.flow-connector,.flowchart-node-container{position:relative}.flow-connector{align-items:center;display:flex;height:40px;justify-content:center}.connector-line{background:linear-gradient(180deg,#d1d5db,#9ca3af);height:100%;width:2px}.flow-connector.running .connector-line{animation:flowPulse 2s ease-in-out infinite;background:linear-gradient(180deg,#3b82f6,#2563eb)}@keyframes flowPulse{0%,to{opacity:1}50%{opacity:.5}}.branch-indicator{align-items:center;background:#f59e0b;border-radius:50%;box-shadow:0 2px 8px #f59e0b4d;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;width:24px}.flowchart-node{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 6px #0000000a;cursor:pointer;display:flex;overflow:hidden;padding:0;transition:all .3s ease}.flowchart-node:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.flowchart-node.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.flowchart-node.pulsing{animation:nodePulse 2s ease-in-out infinite}@keyframes nodePulse{0%,to{box-shadow:0 2px 6px #0000000a,0 0 0 0 #3b82f666}50%{box-shadow:0 2px 6px #0000000a,0 0 0 8px #3b82f600}}.flowchart-node.completed{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:#10b981}.flowchart-node.failed{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#ef4444}.flowchart-node.blocked{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#f59e0b}.node-status-indicator{flex-shrink:0;width:6px}.status-icon{background:#fff;border-radius:50%;font-size:18px;left:-3px;padding:2px;position:absolute;top:12px}.node-content{flex:1 1;padding:16px 20px}.node-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.node-title{color:#111827;font-size:16px;font-weight:600;margin:0}.node-badge{background:#f3f4f6;border-radius:12px;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.node-progress-bar{background:#f3f4f6;height:8px;margin-bottom:8px}.node-progress-bar,.progress-fill-animated{border-radius:4px;overflow:hidden;position:relative}.progress-fill-animated{height:100%;transition:width .5s ease}.progress-fill-animated:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-label{color:#fff;font-size:11px;font-weight:600;position:absolute;right:8px;text-shadow:0 1px 2px #0000004d;top:50%;transform:translateY(-50%)}.node-message{color:#6b7280;font-size:13px;font-style:italic;margin-bottom:8px}.node-error-display{background:#fee2e2;border-left:3px solid #ef4444;border-radius:4px;color:#991b1b;font-size:13px;margin-bottom:8px;padding:8px 12px}.node-timing{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:6px}.timing-icon{font-size:14px}.conditional-branches{background:#f9fafb;border-top:1px solid #e5e7eb;padding:12px 20px}.branch-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.branch-options{display:flex;flex-direction:column;gap:6px}.branch-option{align-items:center;border-radius:6px;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 10px}.branch-option.success{background:#d1fae5;color:#065f46}.branch-option.failure{background:#fee2e2;color:#991b1b}.branch-option.retry{background:#fef3c7;color:#92400e}.upcoming-indicator{align-items:center;display:flex;flex-direction:column;padding:16px 0}.upcoming-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.upcoming-arrow{animation:bounce 2s ease-in-out infinite;color:#d1d5db;font-size:20px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.process-detail-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;height:-webkit-fit-content;height:fit-content;padding:24px;position:-webkit-sticky;position:sticky;top:24px}.process-detail-panel h3{border-bottom:2px solid #e5e7eb;color:#111827;font-size:16px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.detail-content{display:flex;flex-direction:column;gap:12px}.detail-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.detail-label{color:#6b7280;font-size:13px;font-weight:500}.detail-value{color:#111827;font-size:13px;font-weight:600}.detail-metadata{border-top:2px solid #e5e7eb;margin-top:8px;padding-top:12px}.metadata-json{background:#f9fafb;border-radius:6px;color:#374151;font-size:11px;max-height:300px;overflow-x:auto;overflow-y:auto;padding:12px}.no-processes-message{padding:60px 20px;text-align:center}.no-processes-message p{color:#6b7280;font-size:16px;margin:0 0 8px}.no-processes-subtitle{color:#9ca3af;font-size:14px}.monitor-error,.monitor-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.loading-spinner-large{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:48px;width:48px}.monitor-loading p{color:#6b7280;font-size:16px;margin-top:20px}.error-icon{color:#ef4444;font-size:64px;margin-bottom:16px}.error-text{color:#6b7280;font-size:16px;margin:0 0 20px}.retry-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 6px #3b82f64d;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s ease}.retry-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}@media (max-width:1280px){.flowchart-main-area{grid-template-columns:1fr}.process-detail-panel{position:static}.flow-overview{grid-template-columns:repeat(2,1fr)}}.architecture-visualization-container{background:linear-gradient(135deg,#f8fafc,#fff);flex:1 1;overflow-y:auto;padding:32px}.architecture-header{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:32px;padding:24px}.architecture-title h2{color:#111827;font-size:24px;font-weight:700;margin:0 0 8px}.architecture-subtitle{color:#6b7280;font-size:14px;line-height:1.6;margin:0}.architecture-status{border-top:1px solid #e5e7eb;display:flex;gap:32px;margin-top:20px;padding-top:20px}.current-mode,.current-node{align-items:center;display:flex;gap:12px}.mode-label,.node-label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mode-value,.node-value{background:#eff6ff;border-radius:6px;color:#2563eb;font-size:16px;font-weight:700;padding:4px 12px}.architecture-map{display:flex;flex-direction:column;gap:32px}.map-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:24px}.section-title{border-bottom:2px solid #e5e7eb;color:#111827;font-size:18px;font-weight:700;margin:0 0 20px;padding-bottom:12px}.nodes-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.subprocess-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.architecture-node{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:12px;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.architecture-node:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.architecture-node.active{border-width:3px;box-shadow:0 0 0 3px #2563eb1a,0 4px 12px #2563eb33}.architecture-node.pulsing{animation:architecturePulse 2s ease-in-out infinite}@keyframes architecturePulse{0%,to{box-shadow:0 0 0 0 #3b82f666}50%{box-shadow:0 0 0 12px #3b82f600}}.architecture-node.selected{background:#f0f9ff;border-color:#2563eb}.node-icon{align-items:center;border-radius:10px;box-shadow:0 2px 8px #00000026;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.node-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.node-name{color:#111827;font-size:16px;font-weight:700;margin:0}.node-type-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.node-description{color:#6b7280;font-size:13px;line-height:1.4;margin:0}.conditional-indicator{align-items:center;background:#fef3c7;border-radius:6px;display:flex;gap:6px;margin-top:8px;padding:6px 10px}.conditional-icon{color:#92400e;font-size:16px}.conditional-text{color:#92400e;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.node-state-badge{border-radius:6px;box-shadow:0 2px 4px #00000026;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;position:absolute;right:12px;top:12px}.conditional-paths-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-top:32px;padding:24px}.paths-list{display:flex;flex-direction:column;gap:16px}.conditional-path{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px}.path-condition{align-items:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.condition-label{color:#92400e;font-size:11px;font-weight:700;letter-spacing:.5px}.condition-text{color:#78350f;font-size:13px;font-weight:600}.path-description{color:#6b7280;flex:1 1;font-size:13px}.path-arrow{color:#3b82f6;font-size:20px;font-weight:700}.path-targets{display:flex;flex-direction:column;gap:4px}.path-target{background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#1d4ed8;font-size:12px;font-weight:600;padding:4px 10px}.node-detail-panel{background:#fff;border:2px solid #2563eb;border-radius:12px;box-shadow:0 10px 40px #2563eb4d;max-height:80vh;max-width:400px;overflow-y:auto;padding:24px;position:fixed;right:32px;top:50%;transform:translateY(-50%);z-index:1000}.runtime-processes-container{background:linear-gradient(135deg,#f8fafc,#fff);flex:1 1;overflow-y:auto;padding:32px}.processes-header{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:24px;padding:24px}.processes-header h2{color:#111827;font-size:24px;font-weight:700;margin:0 0 20px}.processes-list{display:flex;flex-direction:column;gap:12px}.process-item{grid-gap:16px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:16px;grid-template-columns:2fr 1fr 1fr 1fr;padding:16px 20px;transition:all .2s ease}.process-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.process-item.running{background:linear-gradient(135deg,#fff,#eff6ff);border-left:4px solid #3b82f6}.process-item.completed{border-left:4px solid #10b981;opacity:.7}.process-item.failed{background:linear-gradient(135deg,#fff,#fef2f2);border-left:4px solid #ef4444}.process-name{color:#111827;font-size:14px;font-weight:600}.process-type{color:#6b7280;text-transform:uppercase}.process-state,.process-type{font-size:12px;letter-spacing:.5px}.process-state{font-weight:700}.process-progress{align-items:center;display:flex;gap:8px}.progress-bar{border-radius:3px;flex:1 1;height:6px}.progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:3px}.no-processes{color:#6b7280;padding:60px 20px;text-align:center}@media (max-width:768px){.monitor-header-bar{gap:16px}.header-left-section,.monitor-header-bar{align-items:flex-start;flex-direction:column}.header-left-section{gap:12px}.flow-overview,.nodes-grid,.subprocess-grid{grid-template-columns:1fr}.node-detail-panel{margin-top:24px;position:static;transform:none}.process-item{grid-template-columns:1fr}}.home-page{margin:0 auto;max-width:1200px}.hero-section{margin-bottom:3rem;padding:4rem 2rem;text-align:center}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin-bottom:1rem}.hero-subtitle{color:#94a3b8;font-size:1.25rem}.features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.feature-card{background:#1e293bcc;border:1px solid #94a3b81a;border-radius:12px;color:inherit;cursor:pointer;padding:2rem;text-align:center;text-decoration:none;transition:all .3s ease}.feature-card:hover{border-color:#3b82f680;box-shadow:0 8px 24px #3b82f633;transform:translateY(-5px)}.feature-card h3{font-size:1.25rem;margin:1rem 0 .5rem}.feature-card p{color:#94a3b8;font-size:.9rem}.stats-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;padding:1.5rem;text-align:center}.stat-card h4{color:#3b82f6;font-size:1.5rem;margin-bottom:.5rem}.stat-card p{color:#94a3b8;font-size:.9rem}.analysis-page{margin:0 auto;max-width:1400px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h2{font-size:2rem;font-weight:700}.page-header>div{display:flex;gap:1rem}.page-header button{align-items:center;display:flex;gap:.5rem}.analysis-content{grid-gap:1.5rem;display:grid;gap:1.5rem}.analysis-item{background:#0003;border-radius:8px;margin-bottom:.5rem;padding:1rem}.analysis-item p{font-size:.9rem;margin:.25rem 0}.settings-page{margin:0 auto;max-width:900px}.settings-page h2{font-size:2rem;font-weight:700;margin-bottom:2rem}.settings-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.settings-header{align-items:center;border-bottom:1px solid #94a3b81a;display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.settings-header h3{font-size:1.25rem;margin:0}.setting-item{margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-item label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.setting-input,.setting-select{background:#0f172a80;border:1px solid #94a3b84d;border-radius:8px;color:#e2e8f0;font-size:.95rem;padding:.75rem;width:100%}.setting-input:focus,.setting-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background .2s ease}.checkbox-label:hover{background:#3b82f60d}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.info-grid{grid-gap:1rem;display:grid;gap:1rem}.info-item{background:#0003;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.info-label{color:#94a3b8;font-size:.9rem}.info-value{color:#3b82f6;font-weight:600}.loading-screen{align-items:center;background:var(--background);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-screen.error{background:linear-gradient(135deg,#ef4444,#dc2626)}.loading-container{background:#fffffff2;border-radius:1rem;box-shadow:0 25px 50px -12px #00000080;max-width:500px;padding:3rem;text-align:center;width:90%}.loading-logo{margin-bottom:1.5rem}.logo-spin{animation:gentle-pulse 2s ease-in-out infinite;height:80px;width:80px}@keyframes gentle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.loading-container h2{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.loading-subtitle{color:#6b7280;font-size:.95rem;margin:0 0 2rem}.progress-container{margin:2rem 0}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:var(--gradient-primary);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;display:inline-block;font-size:.875rem;font-weight:600}.current-status{align-items:center;color:#4b5563;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;margin-top:1rem}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.service-checks{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.service-check{background:#f9fafb;border-radius:.5rem;justify-content:space-between;margin:.5rem 0;padding:.75rem}.service-check,.service-info{align-items:center;display:flex}.service-info{color:#374151;gap:.75rem}.service-name{font-size:.875rem;font-weight:500}.service-status{align-items:center;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem}.retry-info{background:#fef3c7;border-radius:.5rem;color:#92400e;font-size:.875rem;margin-top:1rem;padding:.75rem}.retry-button{background:#fff;border:2px solid #fff;border-radius:.5rem;color:#ef4444;cursor:pointer;font-weight:600;margin-top:1.5rem;padding:.75rem 2rem;transition:all .2s}.retry-button:hover{background:#fee2e2;transform:translateY(-2px)}
/*# sourceMappingURL=main.d98b47a4.css.map*/