body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.app-header{color:#fff;padding:0;text-align:center}.header-top{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;border-bottom:1px solid #ffffff1a;display:flex;gap:1rem;margin-bottom:0;margin-left:auto;margin-right:auto;max-width:100%;padding:0 2rem 1rem;position:relative}.header-title{margin-top:.5rem;max-width:none;text-align:left}.title-with-logo{align-items:center;display:flex;gap:1rem}.header-logo{height:50px;object-fit:contain;width:auto}.title-text{display:flex;flex-direction:column}.title-with-badge{align-items:center;display:flex;gap:.75rem}.dev-badge{background:#ffd70033;border:1px solid #ffd70066;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:gold;font-size:.75rem;font-weight:600;padding:.25rem .75rem;white-space:nowrap}.app-header h1{font-size:1.8rem;font-weight:700;margin-bottom:.2rem;margin-top:0;text-shadow:0 2px 4px #0000001a}.app-header p{font-size:.95rem;margin:0;opacity:.9}.user-info{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;margin-left:auto;min-width:auto;padding:.7rem 1rem;top:1rem;transition:all .3s ease}.user-info:hover{background:#fff3;box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.user-email{align-items:center;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;opacity:.95}.user-email:before{content:"👤";font-size:1.1rem}.logout-button{background:#ffffff40;border:1px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .3s ease;white-space:nowrap}.logout-button:hover{background:#ffffff59;border-color:#fff9;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.logout-button:active{transform:translateY(0)}.hamburger-menu{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:6px;height:40px;justify-content:center;transition:all .3s ease;width:40px}.hamburger-menu:hover{background:#ffffff4d;transform:scale(1.05)}.hamburger-line{background:#fff;border-radius:2px;height:3px;transition:all .3s ease;width:24px}.main-content{margin:0 auto;max-width:1400px;padding:0 1rem 2rem}.page-surface{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin-top:1rem;min-height:60vh}.report-generator{align-items:center;display:flex;justify-content:center;min-height:60vh}.generator-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:600px;padding:2rem;width:100%}.generator-card h2{color:#2c3e50;font-size:1.8rem;margin-bottom:1.5rem;text-align:center}.generator-form{margin-bottom:2rem}.questionnaire-option{margin-bottom:1.5rem;text-align:center}.questionnaire-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:8px;padding:16px 24px;transition:all .3s ease;width:100%}.questionnaire-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.questionnaire-btn:disabled{cursor:not-allowed;opacity:.6}.questionnaire-hint{color:#6c757d;display:block;font-size:.85rem;font-style:italic;text-align:center}.questionnaire-divider{align-items:center;color:#999;display:flex;font-size:.9rem;font-weight:500;margin:1.5rem 0;text-align:center}.questionnaire-divider:after,.questionnaire-divider:before{border-bottom:1px solid #dee2e6;content:"";flex:1 1}.questionnaire-divider:before{margin-right:1rem}.questionnaire-divider:after{margin-left:1rem}.input-group{margin-bottom:1.5rem}.input-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:.5rem}.idea-input{border:2px solid #e1e8ed;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:1rem;transition:border-color .3s ease;width:100%}.idea-input:focus{border-color:#667eea;outline:none}.advanced-toggle,.idea-input-section{margin-bottom:1.5rem}.idea-label{color:#2c3e50;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.toggle-label{align-items:center;cursor:pointer;display:flex;font-size:.95rem}.toggle-label input[type=checkbox]{margin-right:.5rem;transform:scale(1.2)}.info-btn{margin-left:.5rem}.advanced-info{background:#f8f9fa;border-left:4px solid #e74c3c;border-radius:8px;margin-top:1rem;padding:1rem}.mode-comparison{display:flex;gap:1rem;margin-top:.5rem}.mode-column{background:#fff;border-radius:6px;flex:1 1;padding:.5rem}.mode-column h5{color:#2c3e50;margin:0 0 .5rem}.mode-column ul{font-size:.9rem;margin:0;padding-left:1.5rem}.backend-selection{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.backend-label{color:#2c3e50;display:block;font-size:1rem;font-weight:600;margin-bottom:.75rem}.backend-options{align-items:flex-start;display:flex;flex-direction:row;gap:.75rem;margin-bottom:.75rem}.compare-btn{align-items:center;align-self:flex-start;background:#3498db;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-style:italic;font-weight:700;height:24px;justify-content:center;line-height:1;margin-top:1rem;padding:0;transition:background .3s ease;width:24px}.compare-btn:hover{background:#2980b9}.backend-option{background:#fff;border:2px solid #e1e8ed;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:1rem;position:relative;transition:all .3s ease}.backend-option:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.backend-option input[type=radio]{cursor:pointer;left:1rem;margin:0;position:absolute;top:1rem;transform:scale(1.3)}.backend-option input[type=radio]:checked~.backend-name{color:#667eea;font-weight:700}.backend-option input[type=radio]:checked{accent-color:#667eea}.backend-name{color:#2c3e50;font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.backend-desc,.backend-name{display:block;margin-left:2rem}.backend-desc{color:#7f8c8d;font-size:.85rem}.backend-info{animation:slideDown .3s ease;background:#fff;border:2px solid #667eea;border-radius:8px;margin-top:1rem;padding:1rem}.backend-info h4{color:#2c3e50;font-size:1.1rem;margin:0 0 1rem}.comparison-table{overflow-x:auto}.comparison-table table{border-collapse:collapse;font-size:.9rem;width:100%}.comparison-table th{background:#667eea;color:#fff;font-weight:600;padding:.75rem;text-align:left}.comparison-table td{border-bottom:1px solid #e1e8ed;padding:.75rem}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:nth-child(2n){background:#f8f9fa}.backend-note{background:#e8f4f8;border-left:4px solid #3498db;border-radius:6px;color:#2c3e50;font-size:.9rem;margin-top:1rem;padding:.75rem}.workflow-selection{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.workflow-label{align-items:center;color:#2c3e50;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.info-btn-inline{background:#3498db;border:none;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:20px;line-height:1;padding:0;transition:background .3s ease;width:20px}.info-btn-inline:hover{background:#2980b9}.workflow-options{display:flex;gap:.75rem;margin-bottom:.75rem}.workflow-option{background:#fff;border:2px solid #e1e8ed;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:1rem;position:relative;transition:all .3s ease}.workflow-option:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a;transform:translateY(-2px)}.workflow-option.selected{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea;box-shadow:0 4px 12px #667eea26}.workflow-option input[type=radio]{accent-color:#667eea;cursor:pointer;margin:0;position:absolute;right:1rem;top:1rem;transform:scale(1.2)}.workflow-content{display:flex;flex-direction:column;gap:.5rem}.workflow-header{align-items:center;display:flex;gap:.5rem}.workflow-icon{font-size:1.5rem;line-height:1}.workflow-name{color:#2c3e50;font-size:1rem;font-weight:600}.workflow-option.selected .workflow-name{color:#667eea;font-weight:700}.workflow-desc{color:#7f8c8d;font-size:.85rem;line-height:1.4}.workflow-info{animation:slideDown .3s ease;background:#fff;border:2px solid #667eea;border-radius:8px;margin-top:1rem;padding:1.5rem}.workflow-info h4{color:#2c3e50;font-size:1.2rem;margin:0 0 1.5rem;text-align:center}.workflow-info h5{color:#667eea;font-size:1rem;font-weight:600;margin:0 0 .75rem}.workflow-details{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1.5rem}.workflow-detail-card{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:1rem}.workflow-detail-card p{color:#2c3e50;font-size:.9rem;margin:.5rem 0}.workflow-detail-card ul{color:#555;font-size:.85rem;margin:.5rem 0;padding-left:1.5rem}.workflow-detail-card li{line-height:1.5;margin:.25rem 0}.workflow-stat{background:#fff;border-radius:4px;color:#667eea;font-size:.85rem;font-weight:600;margin-top:.75rem;padding:.5rem;text-align:center}.workflow-recommendation{background:#e8f4f8;border-left:4px solid #3498db;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.workflow-recommendation h5{color:#2c3e50;margin:0 0 .75rem}.workflow-recommendation ul{font-size:.9rem;margin:0;padding-left:1.5rem}.workflow-recommendation li{line-height:1.6;margin:.5rem 0}.workflow-example{background:#f8f9fa;border-radius:6px;padding:1rem}.workflow-example h5{color:#2c3e50;margin:0 0 1rem;text-align:center}.workflow-comparison-table{border-collapse:collapse;font-size:.9rem;width:100%}.workflow-comparison-table th{background:#667eea;color:#fff;font-weight:600;padding:.75rem;text-align:center}.workflow-comparison-table td{border-bottom:1px solid #e1e8ed;padding:.75rem;text-align:center}.workflow-comparison-table tr:last-child td{border-bottom:none}.workflow-comparison-table tbody tr:nth-child(2n){background:#fff}.workflow-comparison-table tbody td:first-child{color:#2c3e50;font-weight:600;text-align:left}@media (max-width:768px){.workflow-options{flex-direction:column}.workflow-details{grid-template-columns:1fr}.workflow-comparison-table{font-size:.75rem}.workflow-comparison-table td,.workflow-comparison-table th{padding:.5rem}}.progress-container{border-left:4px solid #3498db;border-radius:8px;margin:1.5rem 0;padding:1rem}.progress-bar{background:#e1e8ed;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3498db,#2ecc71);height:100%;transition:width .3s ease}.progress-text{color:#2c3e50;font-size:.9rem;margin:0}.generate-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;transition:transform .2s ease;width:100%}.generate-btn:hover:not(:disabled){transform:translateY(-2px)}.generate-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.info-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:1.5rem}.info-section h3{color:#2c3e50;margin-bottom:1rem}.info-section ul{list-style:none;margin:0;padding:0}.info-section li{font-size:.95rem;padding:.5rem 0}.report-display{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;overflow:hidden}.report-header{align-items:flex-start;background:linear-gradient(135deg,#2c3e50,#3498db);color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:2rem}.report-title-section h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.report-subtitle{font-size:1.1rem;margin:0 0 .5rem;opacity:.9}.report-meta{font-size:.9rem;margin:0;opacity:.8}.report-settings{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.setting-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .75rem;transition:all .2s ease}.model-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.questionnaire-badge{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.workflow-badge{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.setting-badge:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.advanced-badge{background:#e74c3c;border-radius:12px;color:#fff;font-size:.8rem;margin-left:10px;padding:2px 8px}.report-actions{flex-wrap:wrap;gap:1rem}.download-btn,.favorite-btn-large,.new-report-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:transform .2s ease}.download-btn{background:#27ae60;color:#fff}.new-report-btn{background:#fff3;border:1px solid #ffffff4d;color:#fff}.report-history .history-header .new-report-btn,.report-history .new-report-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea4d;color:#fff}.report-history .history-header .new-report-btn:hover,.report-history .new-report-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.favorite-btn-large{background:#ffc10733;border:1px solid #ffc10766;color:#fff;font-size:1rem}.favorite-btn-large.active{background:#ffc107;border-color:#ffc107;box-shadow:0 4px 12px #ffc1074d;color:#2c3e50}.favorite-btn-large:hover{background:#ffc1074d;border-color:#ffc10799}.favorite-btn-large.active:hover{background:#ffb300;border-color:#ffb300}.download-btn:hover:not(:disabled),.new-report-btn:hover{transform:translateY(-2px)}.download-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.confidence-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;margin-top:20px;padding:20px}.confidence-stats h4{color:#fff;font-size:1.1rem;margin:0 0 15px;text-align:center}.confidence-table{border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.confidence-assessment-table{background:#fff;border-collapse:collapse;color:#333;font-size:.85rem;width:100%}.confidence-assessment-table th{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;font-size:.8rem;font-weight:600;padding:12px 15px;text-align:left}.confidence-assessment-table td{border-bottom:1px solid #e1e8ed;color:#333;padding:10px 15px;vertical-align:middle}.confidence-assessment-table .confidence-high{color:#1e7e34;font-weight:600}.confidence-assessment-table .confidence-medium{color:#d68910;font-weight:600}.confidence-assessment-table .confidence-low{color:#c0392b;font-weight:600}.confidence-assessment-table .confidence-bar-bg{background:#0000001a;border-radius:4px;height:8px;overflow:hidden;width:80px}.confidence-assessment-table .confidence-bar-fill{border-radius:4px;height:100%;transition:width .5s ease}.confidence-assessment-table .confidence-bar-fill.high{background:linear-gradient(90deg,#27ae60,#2ecc71)}.confidence-assessment-table .confidence-bar-fill.medium{background:linear-gradient(90deg,#f39c12,#f1c40f)}.confidence-assessment-table .confidence-bar-fill.low{background:linear-gradient(90deg,#e74c3c,#ec7063)}.confidence-summary{margin-top:10px;text-align:center}.confidence-summary p{color:#fff;font-size:.9rem;margin:0}.tab-navigation{background:#f8f9fa;border-bottom:2px solid #e1e8ed;margin:0;overflow-x:auto;padding:0;white-space:nowrap}.tab-button{display:inline-block;font-size:.9rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:15px 20px;transition:all .3s ease}.tab-button:hover{background:#e9ecef;color:#333}.tab-button.active{background:#fff;border-bottom-color:#3498db;color:#3498db;font-weight:600}.tab-content{min-height:70vh}.overview-layout{display:flex;gap:20px;height:calc(100vh - 250px);overflow:hidden;padding:20px}.timeline-sidebar{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-shrink:0;height:100%;overflow-y:auto;padding:20px;width:280px}.timeline-sidebar h4{color:#2c3e50;font-size:1.1rem;margin:0 0 20px}.timeline-items{display:flex;flex-direction:column;gap:12px}.timeline-item{align-items:center;border-left:3px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .3s ease}.timeline-item:hover{background:#e9ecef;transform:translateX(5px)}.timeline-item.active{background:#e3f2fd;border-left-color:#3498db;box-shadow:0 2px 8px #3498db33}.timeline-marker{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;height:35px;justify-content:center;width:35px}.timeline-item.active .timeline-marker{background:#2980b9;box-shadow:0 0 0 3px #3498db4d}.timeline-content h5{color:#2c3e50;font-size:.9rem;font-weight:600;margin:0 0 4px}.timeline-progress{color:#7f8c8d;font-size:.8rem}.report-content-main{flex:1 1;height:100%;max-width:calc(100% - 300px);overflow-x:hidden;overflow-y:auto;padding-right:10px}.report-content-main::-webkit-scrollbar{width:8px}.report-content-main::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.report-content-main::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.report-content-main::-webkit-scrollbar-thumb:hover{background:#555}.timeline-sidebar::-webkit-scrollbar{width:6px}.timeline-sidebar::-webkit-scrollbar-track{background:#e9ecef;border-radius:10px}.timeline-sidebar::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:10px}.timeline-sidebar::-webkit-scrollbar-thumb:hover{background:#6c757d}.single-section-content{margin:0 auto;max-width:1000px;padding:30px}.report-content{padding:2rem}.report-section{border-bottom:1px solid #e1e8ed;margin-bottom:3rem;padding-bottom:2rem}.report-section:last-child{border-bottom:none;margin-bottom:0}.section-header{align-items:center;display:flex;margin-bottom:1.5rem}.section-icon{font-size:1.5rem;margin-right:.75rem}.section-header h2{font-size:1.5rem;font-weight:600}.section-content{color:#333;line-height:1.7}.no-content{background:#f8f9fa;border-radius:8px;color:#95a5a6;font-style:italic;margin:1rem 0;padding:2rem;text-align:center}.main-header{border-bottom:3px solid #3498db;color:#2c3e50;font-size:1.5rem;font-weight:600;margin:30px 0 20px;padding-bottom:10px}.sub-header{border-left:4px solid #e74c3c;color:#34495e;font-size:1.2rem;font-weight:600;margin:20px 0 15px;padding-left:15px}.bullet-item{align-items:flex-start;display:flex;line-height:1.6;margin-bottom:8px}.main-bullet .bullet-point{color:#3498db;font-size:1.2rem;font-weight:700;margin-right:10px;min-width:15px}.sub-bullet .bullet-point{color:#7f8c8d;font-size:1rem;font-weight:400;margin-right:10px;min-width:15px}.sub-bullet{color:#555;font-size:.95rem;margin-left:20px}.bullet-content{flex:1 1}.numbered-item{align-items:flex-start;display:flex;line-height:1.6;margin-bottom:10px}.number-point{color:#3498db;font-weight:700;margin-right:10px;min-width:20px}.numbered-content{flex:1 1}.table-wrapper{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px 0;overflow-x:auto}.content-table{background:#fff;border-collapse:collapse;font-size:.9rem;min-width:600px;width:100%}.content-table th{background:#3498db;border-bottom:2px solid #2980b9;color:#fff;font-weight:600;padding:12px 15px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.content-table td{border-bottom:1px solid #e1e8ed;padding:10px 15px;vertical-align:top}.content-table tbody tr:hover{background:#f8f9fa}.content-table tbody tr:nth-child(2n){background:#fafbfc}.content-table tbody tr:nth-child(2n):hover{background:#f1f3f4}.html-table-wrapper{border-radius:10px;box-shadow:0 4px 12px #0000001f;margin:25px 0;overflow:hidden}.html-content-table{background:#fff;border-collapse:collapse;font-size:.9rem;width:100%}.html-content-table thead{background:linear-gradient(135deg,#667eea,#764ba2)}.html-content-table th{border-bottom:none;color:#fff;font-size:.92rem;font-weight:600;letter-spacing:.3px;padding:14px 16px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.html-content-table td{border-bottom:1px solid #e8ecef;line-height:1.6;padding:12px 16px;vertical-align:top}.html-content-table tbody tr{transition:all .2s ease}.html-content-table tbody tr:hover{background:#f5f7fa;transform:translateX(2px)}.html-content-table tbody tr:nth-child(odd){background:#fff}.html-content-table tbody tr:nth-child(2n){background:#f9fafb}.html-content-table tbody tr:nth-child(2n):hover{background:#f0f3f6}.html-content-table td:last-child{font-weight:500;min-width:120px}.html-content-table td:not(:last-child){border-right:1px solid #f0f3f6}.html-content-table th:not(:last-child){border-right:1px solid #fff3}@media (max-width:768px){.html-table-wrapper{margin:15px 0}.html-content-table{font-size:.85rem}.html-content-table td,.html-content-table th{padding:10px 12px}}.confidence-badge{border:1px solid #ffffff4d;border-radius:12px;display:inline-block;font-size:.7rem;font-weight:600;margin-left:8px;padding:2px 8px;text-transform:uppercase}.confidence-high{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.confidence-medium{background:linear-gradient(135deg,#f39c12,#f1c40f);color:#fff}.confidence-low{background:linear-gradient(135deg,#e74c3c,#ec7063);color:#fff}.content-link{color:#3498db;text-decoration:underline;transition:color .3s ease}.content-link:hover{color:#2980b9}.reference-link{font-size:.8rem;margin-left:8px;opacity:.7;text-decoration:none;transition:opacity .3s ease}.reference-link:hover{opacity:1}.doi-link{color:#3498db;font-weight:600;text-decoration:underline;transition:color .3s ease}.doi-link:hover{color:#2980b9;text-decoration:none}.inline-code{background:#f1f2f6;border:1px solid #ddd;border-radius:4px;color:#e74c3c;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.content-spacer{height:10px}.content-paragraph{line-height:1.7;margin-bottom:12px;text-align:justify}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.error-message{background:#e74c3c;color:#fff;gap:12px;margin:1rem 0;position:relative}.error-icon{flex-shrink:0;font-size:20px}.error-text{flex:1 1}.error-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:32px;justify-content:center;margin-left:auto;padding:0;transition:all .2s;width:32px}.error-close:hover{background:#fff3;transform:scale(1.1)}.error-close:active{transform:scale(.95)}html{scroll-behavior:smooth}.overview-layout .report-section{border-bottom:2px solid #e1e8ed;margin-bottom:40px;padding-bottom:30px}.overview-layout .report-section:last-child{border-bottom:none}@media (max-width:768px){.app-header h1{font-size:2rem}.generator-card{margin:1rem;padding:1.5rem}.mode-comparison,.report-header{flex-direction:column}.report-header{align-items:stretch}.report-actions{justify-content:stretch}.download-btn,.new-report-btn{flex:1 1;justify-content:center}.report-content{padding:1.5rem}.content-table{font-size:.8rem;min-width:500px}.content-table td,.content-table th{padding:8px 10px}.overview-layout{flex-direction:column;height:auto;overflow:visible}.timeline-sidebar{height:auto;overflow-y:visible;position:relative;width:100%}.report-content-main{height:auto;max-width:100%;overflow-y:visible}.tab-navigation{overflow-x:auto}.tab-button{font-size:.8rem;min-width:120px;padding:12px 15px}.confidence-bar{align-items:flex-start;flex-direction:column;gap:5px}.confidence-label{min-width:auto}.confidence-bar-bg{width:100%}}.app-navigation{background:#0000000d;border-bottom:1px solid #ffffff1a;display:flex;gap:1rem;justify-content:center;margin-top:0;padding:1rem 2rem}.nav-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.nav-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.nav-btn.active{background:#fff;border-color:#fff;color:#2c3e50}.report-history{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;min-height:70vh;padding:2rem}.history-header{align-items:center;border-bottom:2px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.history-header h2{color:#2c3e50;font-size:1.8rem;margin:0}.loading-container{padding:4rem 2rem}.spinner-large{animation:spin 1s linear infinite;border:4px solid #e1e8ed;border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:1rem;width:40px}.empty-state{padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:#7f8c8d;font-size:1.1rem;margin-bottom:2rem}.generate-first-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:transform .2s ease}.generate-first-btn:hover{transform:translateY(-2px)}.reports-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.report-card{background:#f8f9fa;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:1.5rem;position:relative;transition:all .3s ease}.report-card:hover{background:#e9ecef;border-color:#3498db;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.report-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.report-title{color:#2c3e50;flex:1 1;font-size:1.2rem;font-weight:600;line-height:1.3;margin:0}.report-actions{align-items:center;display:flex;gap:.5rem}.favorite-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.4rem;opacity:.6;padding:.25rem;transition:all .2s ease}.favorite-btn:hover{background:#ffc1071a;opacity:1;transform:scale(1.1)}.favorite-btn.active{color:#ffc107;opacity:1}.delete-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;opacity:.6;padding:.25rem;transition:background .2s ease}.delete-btn:hover{background:#e74c3c1a;opacity:1}.report-meta{display:flex;gap:1rem;margin-bottom:1rem}.report-mode{background:#3498db}.report-backend,.report-mode{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.report-backend{background:#9b59b6}.report-sections{color:#7f8c8d;font-size:.9rem}.report-stats{margin-bottom:1rem}.confidence-mini{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.confidence-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.confidence-dots{display:flex;gap:.5rem}.confidence-dot{border-radius:8px;color:#fff;font-size:.8rem;font-weight:600;padding:.2rem .5rem}.confidence-dot.high{background:#27ae60}.confidence-dot.medium{background:#f39c12}.confidence-dot.low{background:#e74c3c}.research-count{color:#7f8c8d;font-size:.9rem;margin-top:.5rem}.report-date{border-top:1px solid #e1e8ed;color:#95a5a6;font-size:.85rem;padding-top:1rem}.retry-btn{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-left:1rem;padding:.5rem 1rem}.content-main-header{border-bottom:2px solid #3498db;color:#2c3e50;font-size:1.3rem;font-weight:600;margin:25px 0 15px;padding-bottom:8px}.content-sub-header{border-left:3px solid #e74c3c;color:#34495e;font-size:1.1rem;font-weight:600;margin:18px 0 12px;padding-left:12px}@media (max-width:768px){.reports-grid{grid-template-columns:1fr}.history-header{align-items:stretch;flex-direction:column;gap:1rem}.app-navigation{align-items:center;flex-direction:column}.nav-btn{width:200px}.header-top{align-items:center;flex-direction:column;gap:1.5rem;text-align:center}.header-title{order:2}.user-info{order:1;position:static}.app-header p{font-size:1rem}.app-header h1{font-size:2rem}.user-email{font-size:.9rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:450px;padding:2.5rem;text-align:center;width:100%}.login-header{margin-bottom:2rem}.login-header h1{color:#2c3e50;font-size:2.2rem;font-weight:700;margin-bottom:.5rem}.login-header p{color:#7f8c8d;font-size:1rem;margin:0}.login-content{display:flex;flex-direction:column;gap:1.5rem}.sso-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;padding:1.2rem 2rem;transition:transform .2s ease,box-shadow .2s ease;width:100%}.sso-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.sso-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.loading-spinner,.sso-icon{font-size:1.2rem}.login-info{border-top:1px solid #ecf0f1;padding-top:1rem}.login-info p{color:#7f8c8d;font-size:.9rem;line-height:1.4;margin:0}.error-message{font-size:.9rem;text-align:left}@media (max-width:480px){.login-card{margin:.5rem;padding:2rem 1.5rem}.login-header h1{font-size:1.8rem}.sso-button{font-size:1rem;padding:1rem 1.5rem}}.auth-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.auth-loading .loading-spinner{color:#fff;text-align:center}.auth-loading .spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin:0 auto 1rem;width:40px}.auth-loading p{font-size:1.1rem;margin:0;opacity:.9}.sso-loading-overlay{align-items:center;animation:fadeIn .3s ease-in;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:10000}.sso-loading-content{animation:slideUp .5s ease-out;color:#fff;text-align:center}.sso-spinner{animation:spin .8s linear infinite;border:5px solid #fff3;border-radius:50%;border-top-color:#fff;height:60px;margin:0 auto 2rem;width:60px}.sso-loading-content h2{font-size:1.8rem;font-weight:600;margin:0 0 .75rem}.sso-loading-content p{font-size:1.1rem;margin:0;opacity:.9}.save-approval-banner{background:linear-gradient(135deg,#4caf50,#45a049);border-bottom:3px solid #388e3c;color:#fff;margin:0;padding:20px}.approval-content{align-items:center;display:flex;gap:20px;margin:0 auto;max-width:1200px}.approval-icon{flex-shrink:0;font-size:2.5rem}.approval-text{flex:1 1}.approval-text strong{display:block;font-size:1.2rem;margin-bottom:5px}.approval-text p{font-size:.95rem;margin:0;opacity:.9}.save-approval-btn{background:#fff;border:none;border-radius:8px;color:#4caf50;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 32px;transition:all .3s ease;white-space:nowrap}.save-approval-btn:hover:not(:disabled){box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.save-approval-btn:disabled{cursor:not-allowed;opacity:.7}.save-error{color:#ffebee;font-size:.9rem;margin-top:10px;text-align:center}.save-success-banner{align-items:center;animation:slideDown .3s ease;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;padding:15px 20px}.success-icon{font-size:1.5rem}@media (max-width:768px){.approval-content{flex-direction:column;text-align:center}.save-approval-btn{width:100%}}.model-selection{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:20px 0;padding:15px}.model-header{justify-content:space-between;margin-bottom:15px}.model-header,.model-label{align-items:center;display:flex}.model-label{color:#2c3e50;font-size:16px;font-weight:600;gap:10px}.selected-model-info{color:#6c757d;font-size:14px;font-weight:400;margin-left:10px}.info-btn{align-items:center;background:#3498db;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-style:italic;font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;transition:background .3s ease;width:24px}.info-btn:hover{background:#2980b9}.model-info-banner{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;font-size:14px;line-height:1.6;margin-bottom:15px;padding:12px}.info-tier{font-weight:600;margin-right:5px}.category-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.filter-btn{background:#fff;border:2px solid #dee2e6;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover:not(:disabled){background:#e7f3ff;border-color:#007bff}.filter-btn.active{background:#007bff;border-color:#007bff;color:#fff}.filter-btn:disabled{cursor:not-allowed;opacity:.5}.model-options{background:#fff;border:1px solid #dee2e6;border-radius:6px;max-height:400px;overflow-y:auto;padding:10px}.model-provider-group{margin-bottom:20px}.model-provider-group:last-child{margin-bottom:0}.provider-name{border-bottom:2px solid #e9ecef;color:#495057;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 10px;padding-bottom:5px;text-transform:uppercase}.model-option{align-items:flex-start;background:#fafbfc;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;margin-bottom:8px;padding:12px;transition:all .2s}.model-option:hover{background:#f0f8ff;border-color:#007bff;transform:translateX(2px)}.model-option.selected{background:#e8f5e9;border-color:#28a745;box-shadow:0 2px 4px #28a74533}.model-option input[type=radio]{cursor:pointer;height:18px;margin-right:12px;margin-top:4px;width:18px}.model-details{flex:1 1}.model-name-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.model-name{color:#2c3e50;font-size:15px;font-weight:600}.model-badge{border-radius:12px;font-size:11px;font-weight:600;padding:3px 10px;text-transform:uppercase}.model-badge.premium{background:gold;color:#856404}.model-badge.standard{background:#cce5ff;color:#004085}.model-badge.budget{background:#d4edda;color:#155724}.model-description{color:#6c757d;font-size:13px;line-height:1.4;margin-bottom:8px}.model-specs{display:flex;flex-wrap:wrap;gap:15px}.spec{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:4px}.spec.cost-high{color:#dc3545;font-weight:600}.spec.cost-medium{color:#fd7e14;font-weight:600}.spec.cost-low{color:#28a745;font-weight:600}.profile-badge{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;padding:2px 8px}.selected-model-summary{background:#e8f5e9;border-left:4px solid #28a745;border-radius:4px;color:#155724;font-size:14px;margin-top:15px;padding:10px}.model-id-display{color:#6c757d;font-family:Courier New,monospace;font-size:12px;margin-left:8px}.model-options::-webkit-scrollbar{width:8px}.model-options::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.model-options::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.model-options::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media (max-width:768px){.model-name-row{align-items:flex-start}.model-name-row,.model-specs{flex-direction:column;gap:6px}.category-filter{flex-direction:column}.filter-btn{width:100%}}.cache-option{background:linear-gradient(135deg,#667eea15,#764ba215);border:1px solid #667eea30;border-radius:12px;margin:20px 0;padding:15px}.cache-label,.cache-toggle{align-items:center;display:flex}.cache-label{cursor:pointer;font-size:1rem;gap:10px;-webkit-user-select:none;user-select:none}.cache-checkbox{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.cache-text{color:#333;font-weight:500}.info-btn-inline{align-items:center;background:#0000;border:1px solid #667eea;border-radius:50%;color:#667eea;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;margin-left:5px;transition:all .3s ease;width:24px}.info-btn-inline:hover{background:#667eea;color:#fff;transform:scale(1.1)}.cache-info{animation:slideDown .3s ease;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:15px;padding:15px}.cache-info h4{color:#667eea;font-size:1.1rem;margin:0 0 15px}.cache-info h5{color:#333;font-size:1rem;margin:10px 0 8px}.cache-benefits ul,.cache-how-it-works ol{margin:8px 0;padding-left:25px}.cache-benefits li,.cache-how-it-works li{color:#555;line-height:1.5;margin:5px 0}.cache-recommendation{background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px;margin-top:15px;padding:12px}.cache-recommendation p{color:#555;font-size:.95rem;line-height:1.6;margin:0}.cache-recommendation strong{color:#667eea}.cache-checkbox:disabled,.cache-label input:disabled~.cache-text{cursor:not-allowed;opacity:.5}.questionnaire-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.questionnaire-container{animation:slideUp .3s ease-out;display:flex;gap:20px;max-height:90vh;max-width:1400px;width:100%}.questionnaire-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex:1 1;flex-direction:column;max-height:90vh;min-width:0;overflow:hidden}.questionnaire-header{align-items:center;background:#fff;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.questionnaire-header h2{color:#333;font-size:24px;margin:0}.close-btn{font-size:32px;height:40px;transition:all .2s;width:40px}.settings-info-banner{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-bottom:1px solid #e5e7eb;border-left:4px solid #667eea;display:flex;flex-wrap:wrap;gap:24px;padding:12px 24px}.settings-item{align-items:center;display:flex;gap:8px}.settings-label{color:#555;font-size:13px;font-weight:600}.settings-value{background:#fff;border-radius:12px;color:#333;font-size:13px;font-weight:500;padding:4px 12px}.progress-container{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:16px 24px}.progress-bar{background:linear-gradient(90deg,#4caf50,#2196f3);border-radius:3px;height:6px;margin-bottom:8px;transition:width .3s ease}.progress-text{color:#666;display:block;font-size:14px;font-weight:500;text-align:center}.question-container{flex:1 1;min-height:0;overflow-y:auto;padding:24px}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.question-header h3{color:#333;flex:1 1;font-size:18px;margin:0}.required-badge{background:#ff5722;border-radius:12px;color:#fff;font-size:12px;font-weight:600;margin-left:12px;padding:4px 12px}.question-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.6;padding:16px;resize:vertical;transition:all .2s;width:97%}.question-textarea:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.question-textarea.error{border-color:#f44336}.question-textarea.error:focus{box-shadow:0 0 0 3px #f443361a}.error-message{color:#f44336;font-size:14px;margin-top:8px}.answer-stats{color:#666;font-size:13px;margin-top:12px}.answer-stats,.questionnaire-actions{display:flex;justify-content:space-between}.questionnaire-actions{background:#f8f9fa;border-top:1px solid #e9ecef;flex-shrink:0;padding:16px 24px}.left-actions,.right-actions{display:flex;gap:12px}.nav-button{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.nav-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nav-button.primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.nav-button.secondary{background:#fff;border:2px solid #667eea;color:#667eea}.nav-button.secondary:hover:not(:disabled){background:#f0f2ff}.nav-button:disabled{cursor:not-allowed;opacity:.5}.nav-button.generate{background:linear-gradient(135deg,#4caf50,#45a049)}.question-navigator{border-top:1px solid #e9ecef;flex-shrink:0;flex-wrap:wrap;gap:12px;padding:16px 24px}.question-dot,.question-navigator{display:flex;justify-content:center}.question-dot{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:50%;color:#666;cursor:pointer;font-size:14px;font-weight:600;height:36px;transition:all .2s;width:36px}.question-dot:hover{border-color:#2196f3;color:#2196f3;transform:scale(1.1)}.question-dot.active{background:#2196f3;border-color:#2196f3;box-shadow:0 2px 8px #2196f34d;color:#fff}.question-dot.answered{background:#e8f5e9;border-color:#4caf50;color:#4caf50}.question-dot.answered.active{background:#4caf50;color:#fff}.question-dot.error{background:#ffebee;border-color:#f44336;color:#f44336}.summary-preview{padding:0 24px 24px}.summary-preview details{background:#f8f9fa;border-radius:8px;overflow:hidden}.summary-preview summary{color:#333;cursor:pointer;font-weight:600;padding:16px;transition:background .2s;-webkit-user-select:none;user-select:none}.summary-preview summary:hover{background:#e9ecef}.summary-content{border-top:1px solid #e0e0e0;max-height:300px;overflow-y:auto;padding:16px}.summary-item{margin-bottom:20px}.summary-item:last-child{margin-bottom:0}.summary-item strong{color:#333;display:block;font-size:14px;margin-bottom:8px}.summary-item p{border-left:3px solid #2196f3;color:#666;font-size:14px;line-height:1.6;margin:0;padding-left:12px}@media (max-width:768px){.questionnaire-dialog{border-radius:0;max-height:100vh;max-width:100%}.questionnaire-header h2{font-size:20px}.question-container{padding:24px 16px}.questionnaire-actions{padding:12px 16px}.question-navigator{gap:8px;padding:16px}.question-dot{font-size:13px;height:32px;width:32px}}.preview-panel{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:400px}.preview-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e7eb;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.preview-header h3{font-size:18px;font-weight:600;margin:0}.preview-count{background:#fff3;border-radius:12px;font-size:14px;font-weight:500;padding:4px 12px}.preview-content{flex:1 1;overflow-y:auto;padding:20px}.preview-item{border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:20px}.preview-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.preview-question{color:#667eea;font-size:13px;font-weight:600;line-height:1.4;margin-bottom:8px}.preview-answer{word-wrap:break-word;color:#4b5563;font-size:14px;line-height:1.6;white-space:pre-wrap}@media (max-width:1200px){.questionnaire-container{flex-direction:column}.preview-panel{max-height:300px;width:100%}}@media (max-width:768px){.questionnaire-dialog{border-radius:0;max-height:100vh;max-width:100%}.preview-panel{border-radius:0}.preview-header h3,.questionnaire-header h2{font-size:16px}.question-container{padding:24px 16px}.questionnaire-actions{padding:12px 16px}.question-navigator{gap:8px;padding:16px}.question-dot{font-size:13px;height:32px;width:32px}.preview-content{padding:16px}}.idea-suggester{position:relative;width:100%}.idea-input-with-suggestions{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px;transition:all .3s ease;width:100%}.idea-input-with-suggestions:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.idea-input-with-suggestions:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.suggestions-dropdown{animation:slideDown .2s ease;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #00000026;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.suggestions-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px 10px 0 0;color:#fff;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;padding:12px 16px}.suggestions-header-right{align-items:center;display:flex;gap:12px}.close-suggestions-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:24px}.close-suggestions-btn:hover{background:#ffffff4d;transform:scale(1.1)}.close-suggestions-btn:active{transform:scale(.95)}.loading-indicator{animation:pulse 1.5s ease-in-out infinite;font-size:.85rem;opacity:.9}.suggestion-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d);transform:translateX(4px)}.suggestion-item.loading{color:#666;cursor:default;justify-content:center;padding:20px}.suggestion-item.loading:hover{background:#0000;transform:none}.suggestion-icon{flex-shrink:0;font-size:1.5rem;margin-top:2px}.suggestion-content{flex:1 1;min-width:0}.suggestion-text{color:#333;font-weight:500;line-height:1.4;margin-bottom:4px}.suggestion-reason{color:#666;font-size:.85rem;line-height:1.3}.suggestion-confidence{align-self:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 10px}.suggestion-item.warning .suggestion-icon{filter:drop-shadow(0 0 4px rgba(255,193,7,.4))}.suggestion-item.tip .suggestion-icon{filter:drop-shadow(0 0 4px rgba(33,150,243,.4))}.suggestion-item.template .suggestion-icon{filter:drop-shadow(0 0 4px rgba(76,175,80,.4))}.suggestion-item.db{background:#2196f305;border-left:3px solid #2196f3}.suggestion-item.db .suggestion-icon{animation:pulse-glow 2s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(33,150,243,.7))}.suggestion-item.db:hover{background:#2196f314;border-left-color:#1976d2}.suggestion-item.llm{background:#667eea05}.suggestion-item.llm .suggestion-icon{filter:drop-shadow(0 0 4px rgba(102,126,234,.5))}.suggestion-item.llm:hover{background:#667eea0f}.suggestion-item.smart .suggestion-icon{filter:drop-shadow(0 0 4px rgba(156,39,176,.5))}.suggestion-item.contextual{background:#ff980005}.suggestion-item.contextual .suggestion-icon{filter:drop-shadow(0 0 5px rgba(255,152,0,.6))}.suggestion-item.contextual:hover{background:#ff98000f}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 6px rgba(33,150,243,.7))}50%{filter:drop-shadow(0 0 10px rgba(33,150,243,.9))}}.spinner-small{animation:spin .8s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;display:inline-block;height:16px;margin-right:8px;width:16px}.suggestions-dropdown::-webkit-scrollbar{width:8px}.suggestions-dropdown::-webkit-scrollbar-track{background:#f5f5f5;border-radius:0 10px 10px 0}.suggestions-dropdown::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.suggestions-dropdown::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#653a8a)}@media (max-width:768px){.suggestions-dropdown{max-height:300px}.suggestion-item{padding:10px 12px}.suggestion-icon{font-size:1.3rem}.suggestion-text{font-size:.9rem}.suggestion-reason{font-size:.8rem}}.feasibility-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.feasibility-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;width:90%}.feasibility-modal-header{align-items:center;border-bottom:2px solid #f5f5f5;display:flex;gap:16px;padding:24px;position:relative}.feasibility-icon{animation:bounce .6s ease;font-size:3rem}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.feasibility-modal-header h2{flex:1 1;font-size:1.5rem;margin:0}.feasibility-modal.not-feasible .feasibility-modal-header h2{color:#d32f2f}.feasibility-modal.not-feasible .feasibility-score{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left:4px solid #d32f2f}.feasibility-modal.not-feasible .score-value{color:#d32f2f}.feasibility-modal.feasible .feasibility-modal-header h2{color:#2e7d32}.feasibility-modal.feasible .feasibility-score{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #43a047}.feasibility-modal.feasible .score-value{color:#2e7d32}.close-btn{background:#0000;color:#999;font-size:1.5rem;height:32px;position:absolute;right:20px;top:20px;width:32px}.close-btn:hover{background:#f5f5f5;color:#333}.feasibility-modal-content{padding:24px}.feasibility-message{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;color:#1565c0;font-size:.95rem;line-height:1.5;margin-bottom:16px;padding:12px 16px}.feasibility-score{align-items:center;border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.score-label{color:#333;font-size:1rem;font-weight:600}.score-value{font-size:1.5rem;font-weight:700}.feasibility-section{margin-bottom:24px}.feasibility-section h3{align-items:center;color:#333;display:flex;font-size:1.1rem;gap:8px;margin-bottom:12px}.validation-details{display:flex;flex-direction:column;gap:12px}.validation-item{background:#f5f5f5;border-radius:8px;display:flex;flex-direction:column;gap:6px;line-height:1.5;padding:12px 16px}.validation-item strong{color:#555;font-size:.9rem;text-transform:capitalize}.validation-item span{color:#333;font-size:.95rem}.validation-pass{color:#2e7d32!important;font-weight:500}.validation-fail{color:#d32f2f!important;font-weight:500}.validation-moderate{color:#f57c00!important;font-weight:500}.issue-list,.opportunity-list,.strength-list,.suggestion-list{list-style:none;margin:0;padding:0}.issue-list li,.opportunity-list li,.strength-list li,.suggestion-list li{border-radius:8px;line-height:1.5;margin-bottom:8px;padding:12px 16px}.issue-list li{background:#ffebee;border-left:3px solid #ef5350;color:#c62828}.suggestion-list li{background:#e3f2fd;border-left:3px solid #42a5f5;color:#1565c0}.strength-list li{background:#e8f5e9;border-left:3px solid #66bb6a;color:#2e7d32}.opportunity-list li{background:#fff3e0;border-left:3px solid #ffa726;color:#e65100}.issue-list li:before{content:"• ";font-weight:700;margin-right:8px}.suggestion-list li:before{content:"→ ";font-weight:700;margin-right:8px}.strength-list li:before{content:"✓ ";font-weight:700;margin-right:8px}.opportunity-list li:before{content:"★ ";font-weight:700;margin-right:8px}.feasibility-recommendation{background:#fff3e0;border-left:4px solid #ff9800;border-radius:12px;color:#e65100;line-height:1.6;padding:16px}.feasibility-recommendation strong{display:block;font-size:1rem;margin-bottom:4px}.feasibility-progress-message{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:12px;color:#0d47a1;font-size:.95rem;line-height:1.6;margin-top:16px;padding:16px;text-align:center}.feasibility-progress-message strong{color:#1565c0}.feasibility-modal-footer{border-top:2px solid #f5f5f5;display:flex;justify-content:flex-end;padding:20px 24px}.btn-primary{box-shadow:0 4px 12px #667eea4d;font-size:1rem;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.feasibility-modal::-webkit-scrollbar{width:8px}.feasibility-modal::-webkit-scrollbar-track{background:#f5f5f5}.feasibility-modal::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.feasibility-modal::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#653a8a)}@media (max-width:768px){.feasibility-modal{max-height:90vh;width:95%}.feasibility-modal-header{padding:20px}.feasibility-icon{font-size:2.5rem}.feasibility-modal-header h2{font-size:1.3rem}.feasibility-modal-content{padding:20px}.feasibility-score{align-items:flex-start;flex-direction:column;gap:8px}}.job-notification-overlay{align-items:center;animation:fadeIn .3s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.job-notification-modal{animation:slideIn .3s;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;padding:30px;text-align:center;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.notification-icon{animation:bounceIn .6s;font-size:64px;margin-bottom:20px}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.job-notification-modal h2{color:#10b981;font-size:24px;margin:0 0 15px}.notification-message{color:#4b5563;font-size:16px;line-height:1.5;margin:15px 0}.job-id-info{background:#f3f4f6;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin:20px 0;padding:15px}.job-id-info .label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.job-id-info .job-id{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-family:Courier New,monospace;font-size:13px;padding:8px 12px;word-break:break-all}.notification-hint{color:#6b7280;font-size:14px;line-height:1.6;margin:20px 0}.notification-actions{display:flex;gap:12px;justify-content:center;margin-top:25px}.btn-view-jobs{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;max-width:200px;padding:12px 24px;transition:all .2s}.btn-view-jobs:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-close{background:#e5e7eb;border:none;border-radius:6px;color:#374151;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;max-width:120px;padding:12px 24px;transition:all .2s}.btn-close:hover{background:#d1d5db}@media (max-width:600px){.job-notification-modal{padding:25px 20px}.notification-icon{font-size:48px}.job-notification-modal h2{font-size:20px}.notification-message{font-size:14px}.notification-actions{flex-direction:column}.btn-close,.btn-view-jobs{max-width:100%}}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;-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}.confirm-dialog{animation:slideUp .3s cubic-bezier(.68,-.55,.265,1.55);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:520px;min-width:420px;overflow:hidden}.confirm-dialog-header{align-items:center;border-bottom:2px solid #e1e8ed;display:flex;gap:1rem;padding:1.75rem 1.5rem}.confirm-dialog-warning{background:linear-gradient(135deg,#fff3cd,#fffaeb)}.confirm-dialog-danger{background:linear-gradient(135deg,#f8d7da,#fff5f5)}.confirm-dialog-info{background:linear-gradient(135deg,#d1ecf1,#e7f6f8)}.confirm-dialog-icon{font-size:32px;line-height:1}.confirm-dialog-title{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0}.confirm-dialog-body{padding:1.75rem 1.5rem}.confirm-dialog-message{color:#495057;font-size:15px;line-height:1.6;margin:0}.confirm-dialog-footer{background:#f8f9fa;border-top:2px solid #e1e8ed;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem}.confirm-dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:.7rem 1.75rem;transition:all .3s ease}.confirm-dialog-btn-cancel{background:#fff;border:2px solid #dee2e6;color:#6c757d}.confirm-dialog-btn-cancel:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-1px)}.confirm-dialog-btn-confirm{border:none;color:#fff}.confirm-dialog-btn-warning{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.confirm-dialog-btn-warning:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.confirm-dialog-btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 12px #dc35454d}.confirm-dialog-btn-danger:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 6px 20px #dc354566;transform:translateY(-2px)}.confirm-dialog-btn-info{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.confirm-dialog-btn-info:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.confirm-dialog{margin:1rem;max-width:calc(100vw - 2rem);min-width:320px}.confirm-dialog-footer{flex-direction:column-reverse}.confirm-dialog-btn{width:100%}}.cache-suggestions-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.cache-suggestions-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.cache-suggestions-header{align-items:center;border-bottom:2px solid #e1e8ed;display:flex;justify-content:space-between;padding:24px 30px}.cache-suggestions-header h3{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;gap:10px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#95a5a6;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:30px}.close-btn:hover{background:#f8f9fa;color:#e74c3c}.cache-suggestions-info{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px;text-align:center}.cache-suggestions-info p{font-size:1rem;margin:5px 0}.cache-hint{font-size:.9rem;opacity:.9}.suggestions-list{flex:1 1;overflow-y:auto;padding:20px 30px}.suggestion-card{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:12px;cursor:pointer;margin-bottom:15px;padding:20px;transition:all .3s ease}.suggestion-card:hover{background:#fff;border-color:#3498db;box-shadow:0 4px 12px #3498db33;transform:translateX(5px)}.suggestion-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.suggestion-title{align-items:center;display:flex;flex:1 1;gap:10px}.suggestion-number{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:600;padding:4px 10px}.suggestion-title h4{color:#2c3e50;font-size:1.1rem;line-height:1.4;margin:0}.similarity-badge{border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:6px 12px;white-space:nowrap}.suggestion-details{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:12px}.suggestion-info{align-items:center;display:flex;font-size:.9rem;gap:6px}.info-label{color:#7f8c8d;font-weight:500}.info-value{color:#34495e;font-weight:600}.suggestion-settings{border-top:1px solid #e1e8ed;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.suggestion-settings .setting-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.7rem;font-weight:500;gap:.25rem;padding:.25rem .75rem}.suggestion-settings .model-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.suggestion-settings .questionnaire-badge{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.suggestion-settings .workflow-badge{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.suggestion-settings .advanced-badge-small{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.suggestion-action{color:#3498db;font-size:.9rem;font-weight:500;opacity:.7;text-align:right;transition:opacity .2s ease}.suggestion-card:hover .suggestion-action{opacity:1}.cache-suggestions-actions{background:#f8f9fa;border-radius:0 0 16px 16px;border-top:2px solid #e1e8ed;display:flex;flex-direction:column;gap:10px;padding:20px 30px}.btn-generate-new{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:15px;transition:all .3s ease;width:100%}.btn-generate-new:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-generate-new:active{transform:translateY(0)}.btn-close-suggestions{align-items:center;background:#0000;border:2px solid #e1e8ed;border-radius:8px;color:#7f8c8d;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s ease;width:100%}.btn-close-suggestions:hover{background:#ecf0f1;border-color:#bdc3c7;color:#2c3e50}.suggestions-list::-webkit-scrollbar{width:8px}.suggestions-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.suggestions-list::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:4px}.suggestions-list::-webkit-scrollbar-thumb:hover{background:#95a5a6}@media (max-width:768px){.cache-suggestions-modal{max-height:90vh;width:95%}.cache-suggestions-actions,.cache-suggestions-header,.cache-suggestions-info,.suggestions-list{padding:15px 20px}.suggestion-card{padding:15px}.suggestion-header{flex-direction:column;gap:10px}.similarity-badge{align-self:flex-start}.suggestion-details{flex-direction:column;gap:8px}}.jobs-list-container{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;min-height:70vh;padding:2rem}.jobs-header{align-items:center;border-bottom:2px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.jobs-header h2{color:#2c3e50;font-size:1.8rem;margin:0}.btn-refresh:active:not(:disabled){transform:translateY(0)}.loading-container{padding:60px 20px;text-align:center}.loading-spinner{border-top-color:#007bff;margin:0 auto 20px}.error-message{padding:20px;text-align:center}.btn-retry{padding:8px 16px}.btn-retry:hover{background:#c82333}.no-jobs{color:#666;padding:60px 20px}.no-jobs p{font-size:18px;margin:10px 0}.no-jobs .hint{color:#999;font-size:14px}.jobs-table-container{border:1px solid #e1e8ed;border-radius:8px;overflow:hidden}.jobs-table{border-collapse:collapse;width:100%}.jobs-table thead{background:linear-gradient(135deg,#667eea,#764ba2)}.jobs-table th{border-right:1px solid #ffffff1a;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem 1.25rem;text-align:center;text-transform:uppercase}.jobs-table th:last-child{border-right:none}.jobs-table tbody tr{border-bottom:1px solid #dee2e6;transition:background .2s}.jobs-table tbody tr:hover{background:#f8f9fa}.jobs-table td{font-size:14px;padding:12px 15px;text-align:center;vertical-align:middle}.job-row.status-completed{background:#f0fff4}.job-row.status-failed{background:#fff5f5}.job-row.status-timeout{background:#fff4e6}.job-row.status-stuck{background:#fef3c7}.job-row.status-processing{background:#fffbeb}.job-row.status-queued{background:#f0f9ff}.status-cell .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-completed .status-badge{background:#d1fae5;color:#065f46}.status-failed .status-badge{background:#fee2e2;color:#991b1b}.status-timeout .status-badge{background:#fed7aa;color:#9a3412}.status-processing .status-badge,.status-stuck .status-badge{background:#fef3c7;color:#92400e}.status-queued .status-badge{background:#dbeafe;color:#1e40af}.btn-copy-action{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:16px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:4px 8px;transition:all .2s}.btn-copy-action:hover{color:#374151;transform:scale(1.2)}.btn-copy-action:active{transform:scale(1)}.idea-cell{cursor:help;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-cell{max-width:220px;min-width:180px}.config-info{flex-direction:column;gap:4px}.backend-badge,.model-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;max-width:100%;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.backend-badge{background:#e0e7ff;color:#4338ca}.model-badge{background:#dbeafe;color:#1e40af;cursor:help}.duration-cell{color:#059669;font-size:12px;font-weight:600;text-align:center;white-space:nowrap}.duration-text{background:#d1fae5;border-radius:10px;display:inline-block;padding:3px 8px}.timestamp-cell{color:#6b7280;font-size:12px;white-space:nowrap}.action-cell{text-align:center}.action-buttons{flex-wrap:nowrap;gap:8px;justify-content:center}.btn-view{border-radius:5px;font-size:12px;font-weight:500;min-height:32px;padding:6px 12px}.btn-delete,.btn-view{align-items:center;display:flex;line-height:1}.btn-delete{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;height:32px;justify-content:center;min-width:32px;padding:6px 10px;transition:all .2s}.btn-delete:hover{background:#c82333;transform:scale(1.1)}.btn-retry{align-items:center;border-radius:5px;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;min-width:32px;padding:6px 10px;transition:all .2s}.btn-retry:hover{transform:scale(1.1)}.btn-primary{background:#10b981}.btn-primary:hover:not(:disabled){background:#059669}.btn-secondary{background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.jobs-footer{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;margin-top:20px;padding:15px}.auto-refresh-note{color:#6b7280;font-size:12px}.jobs-count{font-size:13px;font-weight:500}@media (max-width:1200px){.jobs-table{font-size:12px}.jobs-table td,.jobs-table th{padding:8px 10px}.idea-cell{max-width:200px}.config-cell{min-width:150px}}@media (max-width:768px){.jobs-header{align-items:flex-start;flex-direction:column;gap:15px}.jobs-footer{flex-direction:column;gap:10px;text-align:center}.jobs-table-container{overflow-x:scroll}.jobs-table{min-width:1000px}}.nav-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.left-nav-panel{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000004d;display:flex;flex-direction:column;height:100vh;left:-250px;position:fixed;top:0;transition:left .3s ease;width:250px;z-index:1001}.left-nav-panel.open{left:0}.left-nav-header{border-bottom:1px solid #fff3;margin-top:20px;padding:30px 20px;text-align:center}.left-nav-header h3{color:#fff;font-size:18px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.left-nav-tools{flex:1 1;overflow-y:auto;padding:20px 10px}.tool-item{align-items:center;background:#ffffff1a;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;flex-direction:row;justify-content:flex-start;margin:10px;padding:15px 20px;transition:all .3s ease}.tool-item:hover{background:#fff3;transform:translateX(5px)}.tool-item.active{background:#ffffff4d;border:2px solid #fff;box-shadow:0 4px 8px #0003}.tool-icon{flex-shrink:0;font-size:28px;margin-right:15px}.tool-info{display:flex;flex-direction:column;gap:4px}.tool-name{color:#fff;font-size:16px;font-weight:600}.tool-badge{background:#ffd70033;border-radius:10px;color:gold;font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.left-nav-tools::-webkit-scrollbar{width:4px}.left-nav-tools::-webkit-scrollbar-track{background:#ffffff1a}.left-nav-tools::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.left-nav-tools::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:768px){.left-nav-panel{width:80px}.tool-icon{font-size:28px}.tool-name{font-size:10px}}.code-generator-container{padding:20px}.code-generator-content-wrapper{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:480px 1fr;margin:0 auto;max-width:1800px}.left-column{display:flex;flex-direction:column}.settings-section{flex:1 1}.right-column,.settings-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:25px}@media (max-width:1400px){.code-generator-content-wrapper{grid-template-columns:420px 1fr}}@media (max-width:1200px){.code-generator-content-wrapper{grid-template-columns:380px 1fr}}@media (max-width:1024px){.code-generator-container{height:auto;max-height:none;overflow:visible}.code-generator-content-wrapper{gap:20px;grid-template-columns:1fr;height:auto}.left-column{height:auto;position:relative}.settings-section{height:auto;min-height:auto;overflow-y:visible}.right-column{height:auto;min-height:500px;overflow-y:auto}.type-radio-group{grid-template-columns:1fr}}@media (max-width:768px){.code-generator-container{padding:10px}.right-column,.settings-section{padding:15px}.config-row,.test-levels{grid-template-columns:1fr}}.section-header{border-bottom:2px solid;border-image:linear-gradient(90deg,#667eea,#764ba2) 1;margin-bottom:20px;padding-bottom:15px}.section-header h2{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0}.generation-type{margin-bottom:20px}.generation-type label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:10px}.type-radio-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.radio-label{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:10px 12px;transition:all .3s}.radio-label:hover{background:#f8f9ff;border-color:#667eea}.radio-label input[type=radio]{accent-color:#667eea;cursor:pointer;height:18px;margin-right:10px;width:18px}.radio-label span{color:#333;font-size:14px;font-weight:500}.config-field,.config-row{margin-bottom:18px}.config-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.config-row .config-field{margin-bottom:0}.config-field label,.section-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.config-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .3s;width:100%}.config-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.layers-section{margin-bottom:20px;padding-top:10px}.layers-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.checkbox-label{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;padding:8px 10px;transition:all .3s}.checkbox-label:hover{background:#f0f4ff;border-color:#667eea}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:16px;margin-right:8px;width:16px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label span{color:#444;font-size:13px;font-weight:500}.test-layers{border-top:1px solid #e0e0e0;margin-top:12px;padding-top:12px}.main-test{background:#fff;border-width:2px;margin-bottom:10px}.test-levels{grid-gap:8px;border-left:3px solid #667eea;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-left:20px;padding-left:15px}.sub-test{background:#f8f9ff;border-color:#d0d9ff}.btn-generate{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:14px 24px;transition:all .3s;width:100%}.btn-generate:hover:not(:disabled){box-shadow:0 6px 25px #667eea80;transform:translateY(-2px)}.btn-generate:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.left-column::-webkit-scrollbar,.right-column::-webkit-scrollbar{width:8px}.left-column::-webkit-scrollbar-track,.right-column::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.left-column::-webkit-scrollbar-thumb,.right-column::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.left-column::-webkit-scrollbar-thumb:hover,.right-column::-webkit-scrollbar-thumb:hover{background:#999}.file-info{display:flex;flex-direction:column;gap:5px}.file-info strong{color:#222;font-size:14px}.file-description{color:#666;font-size:12px;font-weight:400}.file-actions{display:flex;gap:10px}.btn-copy-code,.btn-download-file{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#222;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s}.btn-copy-code:hover{background:#667eea;border-color:#667eea;color:#fff}.btn-download-file:hover{background:#28a745;border-color:#28a745;color:#fff}.code-content{background:#1e1e1e;color:#d4d4d4;flex:1 1;font-family:Courier New,Consolas,monospace;font-size:13px;line-height:1.6;margin:0;max-width:100%;overflow-x:auto;overflow-y:auto;padding:20px;white-space:pre-wrap;word-break:break-word}.error-message{background:#fff3cd;border:1px solid #ffc107;color:#856404;font-weight:500;margin-bottom:20px;padding:15px 20px}.error-message button{align-items:center;background:none;border:none;color:#856404;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.error-message button:hover{opacity:.7}.output-actions{border-top:2px solid #f0f0f0;display:flex;gap:10px;justify-content:center;padding-top:15px}.btn-clear,.btn-download{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#222;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-download:hover{background:#667eea;border-color:#667eea;color:#fff}.btn-clear:hover{background:#dc3545;border-color:#dc3545;color:#fff}@media (max-width:1400px){.code-generator-content{grid-template-columns:1fr}}@media (max-width:768px){.code-generator-container{padding:15px}.config-row,.layers-checkboxes{grid-template-columns:1fr}}.api-endpoint-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:15px;padding:20px;transition:all .3s ease}.api-endpoint-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.card-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.endpoint-number{color:#667eea;font-size:15px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.btn-remove-endpoint{background:#ff4757;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;transition:all .3s}.btn-remove-endpoint:hover:not(:disabled){background:#e84142;transform:scale(1.05)}.btn-remove-endpoint:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.card-body{display:flex;flex-direction:column;gap:15px}.endpoint-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:150px 1fr}.endpoint-field{display:flex;flex-direction:column}.endpoint-field label{color:#333;font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.endpoint-input,.endpoint-select,.endpoint-textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .3s}.endpoint-input:focus,.endpoint-select:focus,.endpoint-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.endpoint-select{background:#fff;cursor:pointer}.endpoint-textarea{font-family:Courier New,monospace;min-height:60px;resize:vertical}.code-textarea{background:#f8f9fa;font-family:Courier New,monospace;font-size:13px;line-height:1.5}.method-field{min-width:150px}.url-field{flex:1 1}@media (max-width:768px){.endpoint-row{grid-template-columns:1fr}.api-endpoint-card{padding:15px}}.input-method-tabs{display:flex;flex-direction:column;height:100%}.tabs-header{border-bottom:2px solid #e0e0e0;display:flex;gap:5px;margin-bottom:20px}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;position:relative;transition:all .3s}.tab-button.active,.tab-button:hover{background:#f8f9ff;color:#667eea}.tab-button.active{border-bottom-color:#667eea}.tabs-content{overflow-y:auto;padding-right:5px}.tab-pane{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.text-tab label{color:#333;display:block;font-weight:600;margin-bottom:10px}.requirements-textarea-large{word-wrap:break-word;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:Courier New,monospace;font-size:14px;line-height:1.6;max-width:100%;min-height:400px;overflow-x:hidden;padding:15px;resize:vertical;transition:border-color .3s;width:100%}.requirements-textarea-large:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.api-tab{display:flex;flex-direction:column}.api-endpoints-list{margin-bottom:20px}.btn-add-endpoint{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s;width:100%}.btn-add-endpoint:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-add-endpoint:disabled{background:#28a745;cursor:not-allowed;opacity:.9}.file-tab{display:flex;flex-direction:column;height:100%}.file-drop-zone,.file-upload-container{display:flex;flex:1 1;flex-direction:column}.file-drop-zone{align-items:center;background:#fafafa;border:3px dashed #d0d0d0;border-radius:12px;cursor:pointer;justify-content:center;min-height:300px;padding:40px;transition:all .3s}.file-drop-zone:hover{background:#f8f9ff;border-color:#667eea}.file-icon{font-size:64px;margin-bottom:20px}.file-text{align-items:center;display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.file-text strong{color:#222;font-size:18px}.file-text span{color:#666;font-size:14px}.file-formats{color:#999;font-size:12px}.file-preview-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:20px;padding:15px}.file-preview-box h4{color:#555;font-size:14px;font-weight:600;margin:0 0 10px}.file-preview-box pre{background:#fff;border-radius:6px;font-family:Courier New,monospace;font-size:12px;line-height:1.5;margin:0;overflow-x:auto;padding:12px}.token-counter{align-items:center;background:#f0f4ff;border:1px solid #d0d9ff;border-radius:8px;display:flex;font-size:13px;gap:10px;margin-top:15px;padding:12px 16px}.token-counter.warning{background:#fff3cd;border-color:#ffc107}.token-label{color:#555;font-weight:600}.token-value{color:#667eea;font-family:Courier New,monospace;font-weight:700}.token-counter.warning .token-value{color:#ff9800}.token-warning{color:#ff9800;font-weight:600;margin-left:auto}.tabs-content::-webkit-scrollbar{width:8px}.tabs-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tabs-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.tabs-content::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width:768px){.tabs-header{flex-direction:column}.tab-button{border-bottom:none;border-left:3px solid #0000;padding:10px 15px}.tab-button.active{border-bottom-color:#0000;border-left-color:#667eea}}.code-history-container{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1400px;padding:2rem}.code-history-header{align-items:center;border-bottom:2px solid;border-image:linear-gradient(90deg,#667eea,#764ba2) 1;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.code-history-header h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.btn-refresh{box-shadow:0 2px 4px #667eea33;font-size:.9rem;padding:.5rem 1rem}.btn-refresh:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.loading-container{padding:3rem}.loading-spinner{border:4px solid #f3f4f6;margin-bottom:1rem}.error-message{background-color:#fee;color:#c33}.no-codes{color:#666;padding:3rem;text-align:center}.no-codes p{font-size:1.1rem;margin:.5rem 0}.no-codes .hint{color:#999;font-size:.9rem}.codes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.code-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;padding:1.5rem;transition:all .3s ease}.code-card:hover{border-color:#667eea;box-shadow:0 8px 16px #667eea26;transform:translateY(-2px)}.code-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.code-info{flex:1 1}.code-title{color:#333;font-size:1.1rem;font-weight:600;margin:0}.code-actions{display:flex;gap:.5rem}.btn-delete-card,.btn-favorite{background:#0000;border:none;cursor:pointer;font-size:1.3rem;line-height:1;padding:.25rem;transition:transform .2s ease}.btn-delete-card:hover,.btn-favorite:hover{transform:scale(1.2)}.btn-favorite{color:#fbbf24}.btn-favorite.favorited{filter:drop-shadow(0 0 2px rgba(251,191,36,.5))}.btn-delete-card{color:#ef4444}.code-card-body{margin-bottom:1rem}.code-language-info{color:#667eea;font-size:.9rem;font-weight:600;margin:0 0 .5rem}.code-requirements{color:#555;font-size:.95rem;line-height:1.5;margin:0 0 1rem}.code-meta{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:1rem;padding-top:.5rem}.files-count{background:#f3f4f6;border-radius:12px;color:#666;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.code-date{border-top:1px solid #e5e7eb;color:#999;font-size:.8rem;margin-top:.5rem;padding-top:.5rem;text-align:right}@media (max-width:768px){.code-history-container{padding:1rem}.code-history-header{align-items:flex-start;flex-direction:column;gap:1rem}.codes-grid{grid-template-columns:1fr}.btn-refresh{width:100%}}.code-jobs-list-container{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;min-height:70vh;padding:2rem}.code-jobs-header{align-items:center;border-bottom:2px solid;border-image:linear-gradient(90deg,#667eea,#764ba2) 1;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.code-jobs-header h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.btn-refresh{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-refresh:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-refresh:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-message p{color:#c33;margin:0}.btn-retry{background:#dc3545;border-radius:6px;color:#fff;font-weight:600;padding:.5rem 1rem}.no-jobs{color:#7f8c8d;padding:4rem 2rem;text-align:center}.no-jobs p:first-child{font-size:3rem;margin-bottom:.5rem}.no-jobs .hint{font-size:1rem;opacity:.7}.code-jobs-table-container{border:1px solid #e1e8ed;border-radius:8px;overflow-x:auto}.code-jobs-table{background:#fff;border-collapse:collapse;width:100%}.code-jobs-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.code-jobs-table th{border-bottom:2px solid #5568d3;font-size:.95rem;font-weight:600;padding:1rem;text-align:center}.code-jobs-table tbody tr{border-bottom:1px solid #e1e8ed;cursor:pointer;transition:background-color .2s}.code-jobs-table tbody tr:hover{background-color:#f8f9fa}.code-jobs-table td{padding:1rem;text-align:center;vertical-align:middle}.status-cell{width:140px}.status-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;padding:.4rem .8rem;text-transform:capitalize}.status-completed{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-processing{animation:pulse 2s ease-in-out infinite;background:#fff3cd;color:#856404}.status-queued{background:#d1ecf1;color:#0c5460}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.requirements-cell{color:#495057;font-size:.9rem;max-width:400px;text-align:left}.config-cell{min-width:200px}.config-info{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;justify-content:center}.framework-badge,.language-badge{background:#e9ecef;border-radius:12px;color:#495057;display:inline-block;font-size:.8rem;font-weight:600;padding:.3rem .7rem}.framework-badge{background:#d1ecf1;color:#0c5460}.timestamp-cell{color:#6c757d;font-size:.85rem;min-width:150px}.action-cell{min-width:200px;text-align:right!important}.action-buttons{align-items:center;display:flex;gap:.5rem;justify-content:flex-end}.btn-view{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.btn-primary{box-shadow:0 2px 8px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#6c757d;color:#fff}.btn-view:disabled{cursor:not-allowed;opacity:.5}.btn-retry{background:#0000;border:none;color:#3498db;cursor:pointer;font-size:1.3rem;font-weight:700;padding:5px;transition:all .3s ease}.btn-retry:hover{background:#e3f2fd;border-radius:4px;transform:scale(1.2)}.btn-copy-action,.btn-delete{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:.5rem;transition:all .2s}.btn-copy-action:hover{background:#e9ecef}.btn-delete:hover{background:#f8d7da}.code-jobs-footer{align-items:center;border-top:2px solid #e1e8ed;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:1.5rem}.auto-refresh-note{color:#6c757d;font-size:.9rem;margin:0}.jobs-count{color:#495057;font-size:.9rem;font-weight:600;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem}.loading-spinner{border:4px solid #f3f3f3}@media (max-width:1024px){.code-jobs-table-container{overflow-x:scroll}.code-jobs-table{min-width:900px}}@media (max-width:768px){.code-jobs-list-container{padding:1rem}.code-jobs-header{gap:1rem}.code-jobs-footer,.code-jobs-header{align-items:flex-start;flex-direction:column}}.code-viewer-container{background:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:2rem}.code-viewer-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.header-left{align-items:center;display:flex;flex:1 1;gap:1rem}.header-left h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:600;margin:0}.btn-back-icon{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.btn-back-icon:hover{background:#667eea;color:#fff;transform:translateX(-3px)}.header-actions{display:flex;gap:.75rem}.btn-save-history{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-save-history:hover:not(:disabled){box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.btn-save-history:disabled{cursor:not-allowed;opacity:.6}.btn-favorite-header{background:#0000;border:2px solid #fbbf24;border-radius:8px;color:#fbbf24;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-favorite-header:hover{transform:translateY(-1px)}.btn-favorite-header.favorited,.btn-favorite-header:hover{background:#fbbf24;color:#fff}.btn-download-all{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 4px #667eea33;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-download-all:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.top-row{margin-bottom:1.5rem}.bottom-row,.top-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:320px 1fr}.code-metadata{grid-gap:.75rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;height:-webkit-fit-content;height:fit-content;padding:1.25rem 1.5rem}.metadata-item{display:flex;flex-direction:column;gap:.25rem}.metadata-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.metadata-value{color:#1e293b;font-size:1rem;font-weight:600}.requirements-section{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:200px;overflow-y:auto;padding:1.25rem 1.5rem}.requirements-section p{overflow-y:auto}.requirements-section h3{color:#334155;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.requirements-section p{color:#475569;font-size:.95rem;line-height:1.7;margin:0;white-space:pre-wrap}.files-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:600px;overflow:hidden;padding:1.5rem}.files-sidebar h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.files-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto}.file-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.875rem 1rem;transition:all .2s ease}.file-item:hover{background:#f0f4ff;border-color:#667eea;transform:translateX(2px)}.file-item.selected{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea;color:#667eea;font-weight:600}.file-icon{font-size:1.2rem}.file-name{color:#333;flex:1 1;font-size:.9rem;word-break:break-all}.btn-download-file{background:#0000;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem;transition:transform .2s ease}.btn-download-file:hover{transform:scale(1.2)}.file-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:600px;overflow:hidden}.file-content-header{align-items:center;background:#f8fafc;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.file-content-header h3{color:#1e293b;font-family:SF Mono,Monaco,Menlo,monospace;font-size:1rem;font-weight:600;margin:0}.btn-copy-code{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 2px 4px #667eea33;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-copy-code:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}.code-block{background:#1e293b;color:#e2e8f0;flex:1 1;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.6;margin:0;max-height:540px;overflow-x:auto;overflow-y:auto;padding:1.5rem;white-space:pre}.code-block code{font-family:inherit}.no-file-selected,.no-files{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;color:#64748b;padding:4rem 2rem;text-align:center}.no-file-selected p,.no-files p{font-size:1.1rem;font-weight:500;margin:0}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:4rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:50px;margin-bottom:1.5rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#64748b;font-size:1rem;font-weight:500}.error-container p{color:#dc2626;font-size:1.1rem;font-weight:600;margin-bottom:1.5rem}.btn-back{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 4px #667eea33;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:all .3s ease}.btn-back:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-1px)}@media (max-width:1024px){.top-row{grid-template-columns:300px 1fr}.bottom-row{grid-template-columns:280px 1fr}}@media (max-width:768px){.bottom-row,.top-row{grid-template-columns:1fr}.code-viewer-container{padding:1rem}.code-viewer-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{flex-direction:column;width:100%}.btn-download-all,.btn-favorite-header{width:100%}.files-sidebar{max-height:300px}}.code-generator-nav{background:#0000000d;border-bottom:1px solid #ffffff1a;display:flex;gap:1rem;justify-content:center;margin-top:0;padding:1rem 2rem}.nav-link{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:#ffffff4d;transform:translateY(-2px)}.nav-link.active{background:#fff;border-color:#fff;color:#2c3e50}@media (max-width:768px){.code-generator-nav{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.nav-link{flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;font-size:.9rem;padding:.6rem 1rem;text-align:center}}.sdlc-nav{background:#0000;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px 0}.sdlc-nav-btn{align-items:center;background:#0000;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;color:#4b5563;color:var(--text-secondary,#4b5563);cursor:pointer;display:inline-flex;font-size:.9rem;gap:6px;padding:8px 14px;transition:background .15s ease,color .15s ease}.sdlc-nav-btn:hover{background:#3b82f614;color:#111827;color:var(--text-primary,#111827)}.sdlc-nav-btn.active{background:#fff;background:var(--background,#fff);border-color:#e5e7eb;border-color:var(--border-color,#e5e7eb);border-bottom:1px solid #fff;border-bottom:1px solid var(--background,#fff);color:#2563eb;color:var(--accent,#2563eb);font-weight:600}.sdlc-nav-icon{font-size:1rem;line-height:1}.sdlc-stub{background:#3b82f608;border:1px dashed #d1d5db;border:1px dashed var(--border-color,#d1d5db);border-radius:12px;margin:48px auto;max-width:720px;padding:32px;text-align:center}.sdlc-stub h2{margin:0 0 8px}.sdlc-stub-icon{font-size:3rem;margin-bottom:12px}.sdlc-stub p{color:#4b5563;color:var(--text-secondary,#4b5563);margin:6px 0}.sdlc-stub-tag{background:#f59e0b26;border-radius:999px;color:#b45309;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-top:10px;padding:4px 10px;text-transform:uppercase}.pipeline-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.87rem;padding:8px 12px;transition:border-color .15s;width:100%}.pipeline-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;outline:none}.pipeline-input.error{border-color:#ef4444}.pipeline-input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.pipeline-workspace{background:#f8fafc;display:flex;flex-direction:column;height:100%;min-height:0}.pipeline-stepper{background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto;padding:0 24px}.pipeline-step,.pipeline-stepper{align-items:center;display:flex;flex-shrink:0;gap:0}.pipeline-step-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#94a3b8;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:16px 14px;transition:color .15s,border-color .15s;white-space:nowrap}.pipeline-step-btn:hover:not(:disabled){color:#475569}.pipeline-step-btn.active{border-bottom-color:#1d4ed8;color:#1d4ed8}.pipeline-step-btn.completed{color:#16a34a}.pipeline-step-btn:disabled{cursor:not-allowed;opacity:.45}.pipeline-step-icon{font-size:1rem}.pipeline-step-check{align-items:center;background:#dcfce7;border-radius:50%;color:#16a34a;display:flex;font-size:.75rem;font-weight:700;height:18px;justify-content:center;width:18px}.pipeline-step-connector{background:#e2e8f0;flex-shrink:0;height:1px;width:24px}.pipeline-stage{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.pipeline-stage-header{align-items:flex-start;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:20px 28px 16px}.pipeline-stage-title{align-items:center;color:#1e293b;display:flex;font-size:1.3rem;font-weight:700;gap:8px;margin:0 0 4px}.pipeline-stage-desc{color:#64748b;font-size:.88rem;margin:0}.pipeline-stage-body{flex:1 1;min-height:0;overflow-y:auto;padding:24px 28px}.pipeline-approval{align-items:center;background:#fff;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;padding:16px 28px}.pipeline-approval-comment{border:1px solid #cbd5e1;border-radius:6px;flex:1 1;font-family:inherit;font-size:.88rem;height:38px;line-height:1.4;min-width:220px;padding:8px 12px;resize:none;transition:border-color .15s}.pipeline-approval-comment:focus{border-color:#3b82f6;outline:none}.pipeline-approval-comment:disabled{background:#f8fafc;color:#94a3b8}.pipeline-btn{border:none;border-radius:6px;cursor:pointer;font-size:.88rem;font-weight:600;padding:8px 20px;transition:background .15s,opacity .15s;white-space:nowrap}.pipeline-btn:disabled{cursor:not-allowed;opacity:.5}.pipeline-btn.primary{background:#1d4ed8;color:#fff}.pipeline-btn.primary:hover:not(:disabled){background:#1e40af}.pipeline-btn.success{background:#16a34a;color:#fff}.pipeline-btn.success:hover:not(:disabled){background:#15803d}.pipeline-btn.danger{background:#dc2626;color:#fff}.pipeline-btn.danger:hover:not(:disabled){background:#b91c1c}.pipeline-btn.secondary{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.pipeline-btn.secondary:hover:not(:disabled){background:#e2e8f0}.pipeline-approved-badge{align-items:center;background:#dcfce7;border-radius:20px;color:#16a34a;display:flex;font-size:.82rem;font-weight:600;gap:6px;padding:4px 12px}.pipeline-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 24px;text-align:center}.pipeline-spinner{animation:pipeline-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1d4ed8;height:40px;width:40px}@keyframes pipeline-spin{to{transform:rotate(1turn)}}.pipeline-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 24px;text-align:center}.pipeline-empty-icon{font-size:2.5rem}.pipeline-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.88rem;padding:14px 18px}.pipeline-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:20px}.pipeline-card-title{color:#1e293b;font-size:.95rem;font-weight:700;margin:0 0 12px}.pipeline-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pipeline-tag{background:#eff6ff;border-radius:20px;color:#1d4ed8;font-size:.78rem;font-weight:600;padding:3px 10px}.pipeline-tag.green{background:#dcfce7;color:#16a34a}.pipeline-tag.yellow{background:#fef9c3;color:#92400e}.pipeline-tag.red{background:#fee2e2;color:#dc2626}.pipeline-tag.gray{background:#f1f5f9;color:#475569}.pipeline-list{color:#475569;font-size:.88rem;line-height:1.7;margin:0;padding-left:20px}.pipeline-grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pipeline-req-textarea{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.9rem;line-height:1.6;min-height:160px;padding:14px;resize:vertical;transition:border-color .15s;width:100%}.pipeline-req-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.pipeline-req-textarea:disabled{background:#f8fafc;color:#94a3b8}.pipeline-analysis-title{color:#1e293b;font-size:1.4rem;font-weight:700;margin:0 0 4px}.pipeline-analysis-overview{color:#475569;font-size:.9rem;line-height:1.6;margin:0 0 16px}.pipeline-complexity-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.78rem;font-weight:700;gap:5px;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.complexity-low{background:#dcfce7;color:#16a34a}.complexity-medium{background:#fef9c3;color:#92400e}.complexity-high{background:#fee2e2;color:#dc2626}.pipeline-mermaid-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:200px;overflow:auto;padding:20px}.pipeline-mermaid-title{color:#64748b;font-size:.82rem;font-weight:700;letter-spacing:.05em;margin-bottom:16px;text-transform:uppercase}.pipeline-mermaid svg{height:auto;max-width:100%}.pipeline-mermaid-fallback{background:#f8fafc;border-radius:6px;color:#334155;font-family:Consolas,Monaco,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;padding:14px;white-space:pre}.pipeline-tabs{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:0;margin-bottom:16px}.pipeline-tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:.85rem;font-weight:500;padding:10px 18px;transition:color .15s,border-color .15s;white-space:nowrap}.pipeline-tab-btn:hover{color:#1e293b}.pipeline-tab-btn.active{border-bottom-color:#1d4ed8;color:#1d4ed8}.pipeline-filetree-container{border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:0;height:520px;overflow:hidden}.pipeline-filetree-panel{background:#f8fafc;border-right:1px solid #e2e8f0;flex-shrink:0;overflow-y:auto;padding:8px 0;width:240px}.pipeline-file-item{align-items:center;background:#0000;border:none;color:#475569;cursor:pointer;display:flex;font-size:.82rem;gap:7px;overflow:hidden;padding:6px 14px;text-align:left;text-overflow:ellipsis;transition:background .1s;white-space:nowrap;width:100%}.pipeline-file-item:hover{background:#e2e8f0}.pipeline-file-item.active{background:#eff6ff;color:#1d4ed8;font-weight:600}.pipeline-file-icon{flex-shrink:0;font-size:.85rem}.pipeline-filetree-viewer{flex:1 1;min-width:0;overflow:hidden}.pipeline-tech-table{border-collapse:collapse;font-size:.85rem;width:100%}.pipeline-tech-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:8px 12px;text-align:left}.pipeline-tech-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:8px 12px;vertical-align:top}.pipeline-tech-table tr:last-child td{border-bottom:none}.pipeline-markdown{background:#f8fafc;border-radius:6px;color:#334155;font-family:SF Mono,Consolas,Monaco,monospace;font-size:.88rem;line-height:1.7;min-height:200px;overflow-x:auto;padding:16px;white-space:pre-wrap}.pipeline-deploy-summary{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:12px;margin-bottom:20px;padding:28px}.pipeline-deploy-title{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0 0 8px}.pipeline-deploy-btn{background:linear-gradient(135deg,#1d4ed8,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.03em;padding:16px;transition:opacity .15s,transform .1s;width:100%}.pipeline-deploy-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.pipeline-deploy-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.pipeline-deploy-status{border-radius:8px;font-size:.9rem;font-weight:500;margin-top:20px;padding:16px 20px}.pipeline-deploy-status.deploying{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.pipeline-deploy-status.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.pipeline-deploy-status.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.pipeline-file-count-badge{background:#e0e7ff;border-radius:12px;color:#4338ca;font-size:.75rem;font-weight:600;padding:2px 8px}.pipeline-checklist{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.pipeline-checklist li{align-items:center;color:#475569;display:flex;font-size:.88rem;gap:10px}.pipeline-check-icon{color:#16a34a;font-size:1rem}.pipeline-warn-icon{color:#f59e0b;font-size:1rem}.stage-shell{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:320px 1fr;padding:24px}@media (max-width:1024px){.stage-shell{grid-template-columns:1fr}}.stage-shell-side{background:#f9fafb;background:var(--surface,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:16px;position:-webkit-sticky;position:sticky;top:24px}.stage-shell-side h3{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.85rem;letter-spacing:.05em;margin:0 0 8px;text-transform:uppercase}.stage-shell-side .input-block{font-size:.9rem;margin-bottom:14px}.stage-shell-side .input-block .label{color:#111827;color:var(--text-primary,#111827);font-weight:600}.stage-shell-side .input-block .value{color:#4b5563;color:var(--text-secondary,#4b5563);margin-top:2px;word-break:break-word}.stage-shell-side .empty{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.85rem;font-style:italic}.stage-shell-main{background:#fff;background:var(--background,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;min-height:320px;padding:24px}.stage-shell-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-color,#f3f4f6);display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.stage-shell-header h2{font-size:1.4rem;margin:0}.stage-shell-header p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.95rem;margin:4px 0 0}.stage-agent-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stage-agent-meta span{border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:6px;color:#4b5563;color:var(--text-secondary,#4b5563);font-size:.78rem;padding:4px 8px}.stage-agent-meta span,.stage-approval-panel{background:#f9fafb;background:var(--surface,#f9fafb)}.stage-approval-panel{grid-gap:12px;align-items:start;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) auto;margin-top:24px;padding:14px}.stage-approval-panel h3{font-size:.95rem;margin:0 0 4px}.stage-approval-panel p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.84rem;margin:0}.stage-approval-panel textarea{background:#fff;background:var(--background,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:8px;box-sizing:border-box;color:#111827;color:var(--text-primary,#111827);font:inherit;min-height:76px;padding:10px;resize:vertical;width:100%}.stage-btn.approved{background:#ecfdf5;border-color:#86efac;color:#166534}@media (max-width:900px){.stage-approval-panel{grid-template-columns:1fr}}.stage-shell-footer{align-items:center;border-top:1px solid #f3f4f6;border-top:1px solid var(--border-color,#f3f4f6);display:flex;justify-content:space-between;margin-top:24px;padding-top:16px}.stage-btn{background:#fff;background:var(--background,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:8px;color:#111827;color:var(--text-primary,#111827);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .15s ease}.stage-btn:hover{background:#3b82f60f}.stage-btn:disabled{cursor:not-allowed;opacity:.6}.stage-btn.primary{background:#2563eb;background:var(--accent,#2563eb);border-color:#2563eb;border-color:var(--accent,#2563eb);color:#fff}.stage-btn.primary:hover{filter:brightness(1.05)}.stage-btn.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.stage-empty{color:#6b7280;color:var(--text-secondary,#6b7280);padding:32px 16px;text-align:center}.stage-empty .icon{font-size:2.4rem;margin-bottom:8px}.stage-options{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:14px}.stage-option{background:#fff;background:var(--background,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;cursor:pointer;padding:14px;transition:border-color .15s ease,box-shadow .15s ease}.stage-option:hover{border-color:#93c5fd;border-color:var(--accent,#93c5fd)}.stage-option.selected{border-color:#2563eb;border-color:var(--accent,#2563eb);box-shadow:0 0 0 2px #2563eb26}.stage-option h4{font-size:1rem;margin:0 0 6px}.stage-option .meta{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.85rem}.stage-option ul{font-size:.85rem;margin:8px 0 0 16px;padding:0}.stage-file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.stage-file-item{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;display:flex;font-family:Menlo,Consolas,monospace;font-size:.85rem;justify-content:space-between;padding:8px 12px}.stage-file-item .meta{color:#6b7280;color:var(--text-secondary,#6b7280);font-family:inherit;font-size:.75rem}.stage-pre{background:#0f172a;border-radius:8px;color:#e2e8f0;font-family:Menlo,Consolas,monospace;font-size:.8rem;max-height:360px;overflow-x:auto;padding:14px;white-space:pre}.stage-radio-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 14px}.stage-radio{align-items:center;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:999px;cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:6px 12px}.stage-radio.active{background:#2563eb;background:var(--accent,#2563eb);border-color:#2563eb;border-color:var(--accent,#2563eb);color:#fff}.notification{border-radius:8px;box-shadow:0 4px 12px #00000026;margin-bottom:1rem;max-width:500px;min-width:320px;opacity:0;overflow:hidden;position:relative;transform:translateX(400px);transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.notification-visible{opacity:1;transform:translateX(0)}.notification-content{align-items:center;background:#fff;display:flex;gap:.6rem;padding:.5rem .75rem}.notification-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:26px;justify-content:center;line-height:1;margin:0;width:26px}.notification-message{color:#2c3e50;flex:1 1;font-size:14px;line-height:1.3;word-break:break-word}.notification-close{align-items:center;background:none;border:none;border-radius:4px;color:#95a5a6;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.notification-close:hover{background:#0000000d;color:#2c3e50}.notification-progress{background:#0000001a;height:4px;overflow:hidden}.notification-progress-bar{height:100%;transition:width .1s linear}.notification-success .notification-icon{background:#d4edda;color:#155724}.notification-success .notification-progress-bar{background:linear-gradient(90deg,#28a745,#20c997)}.notification-error .notification-icon{background:#f8d7da;color:#721c24}.notification-error .notification-progress-bar{background:linear-gradient(90deg,#dc3545,#c82333)}.notification-warning .notification-icon{background:#fff3cd;color:#856404}.notification-warning .notification-progress-bar{background:linear-gradient(90deg,#ffc107,#ff9800)}.notification-info .notification-icon{background:#d1ecf1;color:#0c5460}.notification-info .notification-progress-bar{background:linear-gradient(90deg,#17a2b8,#138496)}@media (max-width:768px){.notification{max-width:calc(100vw - 2rem);min-width:280px}}.notification-container{display:flex;flex-direction:column;pointer-events:none;position:fixed;right:1rem;top:80px;z-index:9999}.notification-container>*{pointer-events:all}@media (max-width:768px){.notification-container{left:1rem;right:1rem;top:60px}}.idea-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.72rem;font-weight:600;gap:4px;letter-spacing:.4px;padding:2px 10px;text-transform:uppercase;white-space:nowrap}.status-draft{background:#f3f4f6;border:1px solid #d1d5db;color:#6b7280}.status-submitted{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.status-under_review{background:#fefce8;border:1px solid #fde68a;color:#a16207}.status-shortlisted{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.status-approved{background:#ecfdf5;border:1px solid #6ee7b7;color:#047857}.status-closed{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.status-sent_back{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.status-rock_tumbler{background:#f3e8ff;border:1px solid #d8b4fe;color:#7e22ce}.status-legacy{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.role-view-tabs{align-items:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;display:inline-flex;gap:6px;margin-bottom:12px;padding:6px}.role-view-tab{background:#0000;border:none;border-radius:999px;color:#334155;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 12px}.role-view-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.idea-list{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:1000px;min-height:60vh;padding:28px 24px}.workflow-guide{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:12px 14px}.workflow-guide h3{color:#1e293b;font-size:.9rem;margin:0 0 8px}.workflow-guide ul{color:#334155;font-size:.82rem;line-height:1.4;margin:0;padding-left:18px}.idea-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.idea-list-header h2{color:#1e293b;font-size:1.4rem;font-weight:700;margin:0}.idea-list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.idea-list-controls input,.idea-list-controls select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#1e293b;font-size:.85rem;padding:8px 12px}.idea-list-controls input:focus,.idea-list-controls select:focus{border-color:#3b82f6;outline:none}.btn-new-idea{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 18px;transition:opacity .15s,transform .15s;white-space:nowrap}.btn-new-idea:hover{opacity:.9;transform:translateY(-1px)}.idea-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:18px 20px;transition:box-shadow .15s,border-color .15s}.idea-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #00000014}.idea-card-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.idea-card-badges{align-items:center;display:flex;gap:8px}.queue-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:700;padding:2px 10px;text-transform:uppercase;white-space:nowrap}.queue-badge.owner{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.queue-badge.admin{background:#fef3c7;border-color:#fcd34d;color:#92400e}.queue-badge.manager{background:#f3e8ff;border-color:#d8b4fe;color:#7e22ce}.queue-badge.done{background:#dcfce7;border-color:#86efac;color:#166534}.queue-badge.legacy{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.idea-card-title{color:#1e293b;flex:1 1;font-size:1rem;font-weight:600}.idea-card-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.78rem;gap:10px}.idea-card-tags{display:flex;flex-wrap:wrap;gap:6px}.idea-card-tag{background:#eff6ff;border-radius:12px;color:#1d4ed8;font-size:.72rem;font-weight:500;padding:1px 8px}.idea-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4b5563;display:-webkit-box;font-size:.85rem;overflow:hidden}.empty-state{color:#64748b;padding:60px 20px;text-align:center}.empty-state h3{font-size:1.1rem;font-weight:600;margin:0 0 8px}.empty-state p{font-size:.9rem;margin:0 0 20px}.loading-row{align-items:center;color:#64748b;display:flex;justify-content:center;padding:48px}.legacy-note{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#475569;font-size:.8rem;margin-top:10px;padding:10px 12px}.idea-submission{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:860px;min-height:60vh;padding:32px 24px}.idea-submission h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 4px}.idea-submission .subtitle{color:#64748b;font-size:.9rem;margin:0 0 28px}.form-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:24px}.form-section h3{border-bottom:1px solid #f1f5f9;color:#334155;font-size:1rem;font-weight:600;margin:0 0 16px;padding-bottom:8px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.form-group label .required{color:#ef4444;margin-left:2px}.form-group input,.form-group select,.form-group textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.9rem;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{min-height:90px;resize:vertical}.form-group .error-msg{color:#ef4444;font-size:.78rem;margin-top:4px}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tag-chip{align-items:center;background:#eff6ff;border-radius:16px;color:#1d4ed8;display:inline-flex;font-size:.8rem;font-weight:500;gap:4px;padding:4px 10px}.tag-chip button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.85rem;line-height:1;padding:0}.tag-input-row{display:flex;gap:8px}.tag-input-row input{flex:1 1}.tag-input-row button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px;white-space:nowrap}.question-stepper{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.step-dot{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:.75rem;font-weight:700;height:28px;justify-content:center;transition:all .15s;width:28px}.step-dot.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#764ba2;color:#fff}.step-dot.answered{background:#10b981;border-color:#10b981;color:#fff}.step-nav{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.step-progress{color:#64748b;font-size:.82rem}.action-bar{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:opacity .15s,transform .15s}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:background .15s,border-color .15s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-draft{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px}.btn-draft:hover{background:#f9fafb}.char-count{color:#9ca3af;font-size:.75rem;margin-top:2px;text-align:right}.idea-detail{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:900px;min-height:60vh;padding:28px 24px}.idea-detail-back{align-items:center;background:none;border:none;color:#3b82f6;cursor:pointer;display:flex;font-size:.88rem;font-weight:500;gap:6px;padding:0 0 16px}.idea-detail-back:hover{text-decoration:underline}.idea-detail-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px 24px}.idea-detail-title-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.idea-detail-title{color:#1e293b;flex:1 1;font-size:1.3rem;font-weight:700}.idea-detail-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:.82rem;gap:12px;margin-bottom:8px}.idea-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.idea-detail-tag{background:#eff6ff;border-radius:16px;color:#1d4ed8;font-size:.75rem;font-weight:500;padding:3px 10px}.idea-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:4px;margin-bottom:16px;padding-bottom:0}.idea-tab{background:none;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:.88rem;font-weight:600;margin-bottom:-2px;padding:10px 18px;transition:color .15s,border-color .15s}.idea-tab.active{border-bottom-color:#764ba2;color:#764ba2}.idea-tab:hover:not(.active){color:#374151}.idea-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px 24px}.idea-section h3{color:#374151;font-size:.95rem;font-weight:600;margin:0 0 12px}.qa-item{margin-bottom:14px}.qa-question{color:#1e293b;font-size:.85rem;font-weight:600;margin-bottom:4px}.qa-answer{background:#f8fafc;border-left:3px solid #764ba2;border-radius:6px;color:#374151;font-size:.88rem;padding:10px 12px;white-space:pre-wrap}.idea-action-bar{display:flex;flex-wrap:wrap;gap:10px;padding:14px 0}.btn-action{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:all .15s}.btn-action.primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.btn-action.danger{background:#fff;border-color:#fca5a5;color:#dc2626}.btn-action.success{background:#fff;border-color:#86efac;color:#15803d}.btn-action.warning{background:#fff;border-color:#fdba74;color:#c2410c}.btn-action.secondary{background:#fff;border-color:#d1d5db;color:#374151}.btn-action:hover{opacity:.85}.btn-action:disabled{cursor:not-allowed;opacity:.5}.comment-list{display:flex;flex-direction:column;gap:12px}.comment-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.comment-header{display:flex;font-size:.78rem;justify-content:space-between;margin-bottom:6px}.comment-author{color:#1e293b;font-weight:600}.comment-time{color:#94a3b8}.comment-body{color:#374151;font-size:.88rem;white-space:pre-wrap}.comment-visibility-tag{background:#fef9c3;border-radius:10px;color:#92400e;display:inline-block;font-size:.7rem;font-weight:500;margin-left:6px;padding:1px 6px}.comment-input-area{display:flex;flex-direction:column;gap:8px;margin-top:16px}.comment-input-area textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.88rem;min-height:70px;padding:10px 12px;resize:vertical;width:100%}.comment-input-area textarea:focus{border-color:#3b82f6;outline:none}.comment-input-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.rating-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;padding:14px}.rating-header{color:#374151;font-size:.82rem;font-weight:600;margin-bottom:8px}.rating-bars{display:flex;flex-direction:column;gap:6px}.rating-bar-row{align-items:center;display:flex;gap:10px}.rating-bar-label{color:#64748b;flex-shrink:0;font-size:.78rem;width:150px}.rating-bar-track{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.rating-bar-fill{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;height:100%;transition:width .3s}.rating-value{color:#1e293b;font-size:.8rem;font-weight:700;width:28px}.rating-form{display:flex;flex-direction:column;gap:14px}.rating-slider-group label{color:#374151;display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.rating-slider-group input[type=range]{accent-color:#3b82f6;width:100%}.rating-slider-value{color:#3b82f6;font-size:.85rem;font-weight:700;margin-left:8px}.modal-box{width:400px}.modal-box h3{margin:0 0 16px}.modal-box textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.88rem;margin-bottom:12px;min-height:80px;padding:10px;resize:vertical;width:100%}.assign-manager-list{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;max-height:200px;overflow-y:auto}.assign-manager-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:.88rem;gap:10px;padding:10px 12px}.assign-manager-item:last-child{border-bottom:none}.user-management{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:1000px;min-height:60vh;padding:28px 24px}.user-mgmt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.user-management h2{color:#1e293b;font-size:1.4rem;font-weight:700;margin:0}.btn-create-user{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px}.btn-create-user:hover{background:#1d4ed8}.user-mgmt-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.user-mgmt-controls input,.user-mgmt-controls select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#1e293b;font-size:.85rem;padding:8px 12px}.user-mgmt-controls input:focus,.user-mgmt-controls select:focus{border-color:#3b82f6;outline:none}.user-count{color:#64748b;font-size:.82rem;margin-left:auto}.user-table{background:#fff;border:1px solid #e2e8f0;border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.user-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase}.user-table td,.user-table th{color:#374151;padding:12px 16px}.user-table td{border-bottom:1px solid #f1f5f9;font-size:.88rem;vertical-align:middle}.user-table tr:last-child td{border-bottom:none}.user-table tr:hover td{background:#f8fafc}.role-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.72rem;font-weight:700;gap:4px;padding:2px 10px;text-transform:uppercase}.role-admn{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.role-mngr{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.role-iown{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.status-active{color:#15803d;font-weight:600}.status-inactive{color:#9ca3af}.btn-edit-user{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 12px;transition:background .15s}.btn-edit-user:hover{background:#f3f4f6}.user-table-loading{color:#64748b;padding:48px;text-align:center}.modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-box{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:90vw;padding:24px;width:380px}.modal-box h3{color:#1e293b;font-size:1rem;margin:0 0 4px}.modal-box .modal-email{color:#64748b;font-size:.82rem;margin:0 0 16px}.modal-field{margin-bottom:14px}.modal-field label{color:#374151;display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}.modal-field input,.modal-field select{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.88rem;padding:9px 12px;width:100%}.modal-field input:focus,.modal-field select:focus{border-color:#3b82f6;outline:none}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.btn-save{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 20px}.btn-save:hover:not(:disabled){background:#2563eb}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.88rem;font-weight:600;padding:9px 20px}.btn-cancel:hover{background:#f9fafb}.admin-portal{margin:0 auto;max-width:1200px;padding:24px}.admin-portal-header{margin-bottom:16px}.admin-portal-header h2{color:#1e293b;font-size:1.35rem;margin:0}.admin-portal-header p{color:#64748b;font-size:.9rem;margin:6px 0 0}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-tab{background:#fff;border:1px solid #d1d5db;border-radius:999px;color:#334155;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 14px}.admin-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.admin-tab-content{margin-top:8px}.admin-crud-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.admin-crud-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.admin-crud-header h3{color:#1f2937;font-size:1.02rem;margin:0}.admin-crud-controls{display:flex;flex-wrap:wrap;gap:8px}.admin-crud-controls input{min-width:90px}.admin-box input,.admin-box select,.admin-box textarea,.admin-crud-controls input,.admin-crud-controls select,.admin-inline input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:.84rem;padding:8px 10px}.admin-table-wrap{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:14px;overflow:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #f1f5f9;color:#334155;font-size:.82rem;padding:8px 10px;text-align:left;white-space:nowrap}.admin-table th{background:#f8fafc;font-size:.76rem;letter-spacing:.4px;text-transform:uppercase}.admin-empty{color:#94a3b8;padding:20px;text-align:center}.admin-actions-cell{display:flex;gap:6px}.admin-crud-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.admin-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.admin-box h4{color:#1f2937;font-size:.9rem;margin:0 0 8px}.admin-box textarea{font-family:Consolas,monospace;margin-bottom:8px;min-height:120px;width:100%}.admin-inline{display:flex;gap:8px;margin-bottom:8px}.btn-admin-danger,.btn-admin-primary,.btn-admin-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 12px}.admin-form-modal{max-width:96vw;width:min(760px,96vw)}.admin-form-grid{grid-gap:10px 12px;display:grid;gap:10px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid .modal-field textarea{box-sizing:border-box;width:100%}.components-table-editor{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px}.components-inline-table{border-collapse:collapse;margin-bottom:8px;width:100%}.components-inline-table td,.components-inline-table th{border-bottom:1px solid #e2e8f0;padding:6px}.components-inline-table td input,.components-inline-table td select{width:100%}.btn-admin-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-admin-secondary{background:#e2e8f0;color:#334155}.btn-admin-danger{background:#dc2626;color:#fff}.admin-raw-json{margin-top:14px}.admin-raw-json summary{color:#334155;cursor:pointer;font-weight:600}.admin-box pre,.admin-raw-json pre{background:#0f172a;border-radius:8px;color:#e2e8f0;font-size:.76rem;max-height:320px;overflow:auto;padding:10px}@media (max-width:768px){.admin-portal{padding:16px}.admin-crud-controls{justify-content:flex-start;width:100%}.admin-form-grid{grid-template-columns:1fr}}.studio-layout{background:#fff;display:flex;font-family:Inter,system-ui,-apple-system,sans-serif;height:calc(100vh - 70px);overflow:hidden}.studio-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;min-width:260px;overflow:hidden;width:260px}.studio-sidebar-header{border-bottom:1px solid #e2e8f0;padding:14px 14px 10px}.studio-new-btn{align-items:center;background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:8px;padding:9px 12px;transition:background .15s;width:100%}.studio-new-btn:hover{background:#4f46e5}.studio-project-list{flex:1 1;overflow-y:auto;padding:8px 6px}.studio-project-item{border-radius:8px;cursor:pointer;margin-bottom:2px;padding:10px;position:relative;transition:background .12s}.studio-project-item:hover{background:#e2e8f0}.studio-project-item.active{background:#ede9fe}.studio-project-name{color:#0f172a;font-size:.84rem;font-weight:600;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-project-item.active .studio-project-name{color:#4f46e5}.studio-project-preview{color:#94a3b8;font-size:.74rem;margin-top:2px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-project-time{color:#cbd5e1;font-size:.68rem;margin-top:2px}.studio-project-menu{opacity:0;position:absolute;right:6px;top:8px;transition:opacity .12s}.studio-project-item:hover .studio-project-menu{opacity:1}.studio-project-menu-btn{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:1rem;padding:2px 5px}.studio-project-menu-btn:hover{background:#e2e8f0;color:#475569}.studio-project-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001a;min-width:130px;overflow:hidden;position:absolute;right:0;top:24px;z-index:100}.studio-project-dropdown button{background:none;border:none;color:#374151;cursor:pointer;display:block;font-size:.82rem;padding:8px 14px;text-align:left;width:100%}.studio-project-dropdown button:hover{background:#f1f5f9}.studio-project-dropdown button.danger{color:#ef4444}.studio-project-dropdown button.danger:hover{background:#fef2f2}.studio-empty{align-items:center;color:#94a3b8;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:32px}.studio-empty-icon{font-size:3.5rem}.studio-empty h2{color:#334155;font-size:1.1rem;font-weight:700;margin:0}.studio-empty p{font-size:.87rem;line-height:1.6;margin:0;max-width:300px;text-align:center}.studio-empty-btn{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:8px;padding:10px 22px}.studio-empty-btn:hover{background:#4f46e5}.studio-chat{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.studio-chat-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 20px}.studio-chat-title{align-items:center;display:flex;gap:8px}.studio-chat-title,.studio-chat-title-edit{color:#0f172a;font-size:.95rem;font-weight:700}.studio-chat-title-edit{background:none;border:1px solid #0000;border-radius:5px;cursor:text;max-width:340px;padding:2px 6px}.studio-chat-title-edit:hover{border-color:#e2e8f0}.studio-chat-title-edit:focus{background:#f8fafc;border-color:#6366f1;outline:none}.studio-model-selector{align-items:center;color:#64748b;display:flex;font-size:.8rem;gap:8px}.studio-model-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;color:#374151;cursor:pointer;font-size:.8rem;max-width:220px;padding:5px 10px}.studio-model-select:focus{border-color:#6366f1;outline:none}.studio-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px 20px 10px;scroll-behavior:smooth}.studio-msg{animation:studioFadeIn .2s ease;display:flex;gap:10px;max-width:78%}@keyframes studioFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.studio-msg.user{align-self:flex-end;flex-direction:row-reverse}.studio-msg.agent{align-self:flex-start}.studio-msg-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.85rem;height:30px;justify-content:center;margin-top:2px;width:30px}.studio-msg.agent .studio-msg-avatar{background:#ede9fe;color:#6366f1}.studio-msg.user .studio-msg-avatar{background:#6366f1;color:#fff}.studio-msg-bubble{border-radius:12px;font-size:.875rem;line-height:1.6;padding:10px 14px;word-break:break-word}.studio-msg.agent .studio-msg-bubble{background:#f1f5f9;border-bottom-left-radius:4px;color:#1e293b}.studio-msg.user .studio-msg-bubble{background:#6366f1;border-bottom-right-radius:4px;color:#fff}.studio-msg-actions{align-items:center;display:flex;gap:6px;margin-top:4px}.studio-msg-actions.user{justify-content:flex-end}.studio-msg-actions.agent{justify-content:flex-start}.studio-msg-action-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:.78rem;height:24px;justify-content:center;transition:all .12s ease;width:24px}.studio-msg-action-btn:hover:not(:disabled){background:#eef2ff;border-color:#6366f1;color:#4f46e5}.studio-msg-action-btn:disabled{cursor:not-allowed;opacity:.45}.studio-msg-bubble strong{font-weight:700}.studio-msg-bubble em{font-style:italic}.studio-msg-bubble code{background:#e2e8f0;border-radius:4px;font-family:monospace;font-size:.82em;padding:1px 5px}.studio-cursor{animation:studioBlink .8s step-start infinite;background:#6366f1;border-radius:1px;display:inline-block;height:14px;margin-left:2px;vertical-align:middle;width:2px}@keyframes studioBlink{50%{opacity:0}}.studio-typing{align-items:center;align-self:flex-start;background:#f1f5f9;border-radius:12px 12px 12px 4px;display:flex;gap:5px;padding:10px 16px}.studio-typing-dot{animation:studioTyping 1.2s ease-in-out infinite;background:#94a3b8;border-radius:50%;height:7px;width:7px}.studio-typing-dot:nth-child(2){animation-delay:.2s}.studio-typing-dot:nth-child(3){animation-delay:.4s}@keyframes studioTyping{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.studio-file-chip{align-items:center;background:#fff3;border-radius:20px;display:inline-flex;font-size:.78rem;gap:6px;margin-bottom:6px;padding:4px 10px}.studio-msg.agent .studio-file-chip{background:#e2e8f0;color:#374151}.studio-analysis-chip{background:#fff;border:1.5px solid #6366f1;border-radius:10px;font-size:.82rem;margin-top:10px;padding:10px 14px}.studio-analysis-chip-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.studio-valid-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;padding:3px 10px}.studio-valid-badge.valid{background:#dcfce7;color:#15803d}.studio-valid-badge.invalid{background:#fee2e2;color:#b91c1c}.studio-score-bar{background:#e2e8f0;border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.studio-score-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;height:100%;transition:width .5s ease}.studio-show-result-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.78rem;font-weight:600;padding:4px 12px;white-space:nowrap}.studio-show-result-btn:hover{background:#4f46e5}.studio-inline-diagrams{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-top:8px}.studio-inline-diagram{background:#fff;border:1px solid #dbeafe;border-radius:10px;padding:8px}.studio-inline-diagram-title{color:#1e3a8a;font-size:.72rem;font-weight:700;margin-bottom:6px}.studio-inline-diagram-explanation{color:#475569;font-size:.7rem;line-height:1.45;margin-bottom:6px}.studio-inline-diagram-link{display:block;text-decoration:none}.studio-inline-diagram-img{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;max-height:170px;object-fit:contain;width:100%}.studio-inline-diagram-pre{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;color:#334155;font-size:.68rem;margin:0;max-height:150px;overflow:auto;padding:8px;white-space:pre-wrap}.studio-progress{background:#fafafa;border-bottom:1px solid #f1f5f9;border-top:1px solid #f1f5f9;flex-shrink:0;padding:8px 20px}.studio-progress-label{align-items:center;color:#94a3b8;display:flex;font-size:.7rem;justify-content:space-between;letter-spacing:.05em;margin-bottom:5px;text-transform:uppercase}.studio-progress-stages{align-items:center;display:flex;font-size:.72rem;gap:0}.studio-stage-item{align-items:center;border-radius:12px;color:#94a3b8;display:flex;font-weight:500;gap:4px;padding:3px 8px;white-space:nowrap}.studio-stage-item.active{background:#ede9fe;color:#6366f1}.studio-stage-item.done{color:#10b981}.studio-stage-item.locked{color:#cbd5e1}.studio-stage-connector{color:#e2e8f0;font-size:.8rem;margin:0 2px}.studio-req-bar{align-items:center;color:#64748b;display:flex;font-size:.72rem;gap:6px;margin-top:2px}.studio-req-bar-track{background:#e2e8f0;border-radius:2px;flex:1 1;height:4px;max-width:120px;overflow:hidden}.studio-req-bar-fill{background:#6366f1;border-radius:2px;height:100%;transition:width .3s ease}.studio-input-area{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:12px 20px 16px}.studio-input-wrapper{align-items:flex-end;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;display:flex;gap:8px;padding:8px 10px;transition:border-color .15s}.studio-input-wrapper:focus-within{background:#fff;border-color:#6366f1}.studio-textarea{background:#0000;border:none;color:#0f172a;flex:1 1;font-family:inherit;font-size:.88rem;line-height:1.55;max-height:160px;min-height:22px;overflow-y:auto;resize:none}.studio-textarea:focus{outline:none}.studio-textarea::placeholder,.studio-textarea:disabled{color:#94a3b8}.studio-icon-btn{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;padding:4px;transition:color .12s,background .12s}.studio-icon-btn:hover:not(:disabled){background:#ede9fe;color:#6366f1}.studio-icon-btn:disabled{cursor:not-allowed;opacity:.35}.studio-send-btn{align-items:center;background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;height:32px;justify-content:center;transition:background .15s;width:32px}.studio-send-btn:hover:not(:disabled){background:#4f46e5}.studio-send-btn:disabled{background:#c7d2fe;cursor:not-allowed}.studio-input-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.studio-action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;font-size:.76rem;font-weight:500;padding:5px 12px;transition:all .12s;white-space:nowrap}.studio-action-btn:hover:not(:disabled){background:#ede9fe;border-color:#6366f1;color:#6366f1}.studio-action-btn.primary{background:#6366f1;border-color:#6366f1;color:#fff}.studio-action-btn.primary:hover:not(:disabled){background:#4f46e5}.studio-action-btn:disabled{cursor:not-allowed;opacity:.4}.studio-modal-overlay{align-items:center;animation:studioFadeIn .15s ease;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.studio-modal{animation:studioSlideUp .2s ease;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;max-height:88vh;max-width:640px;overflow-y:auto;width:100%}@keyframes studioSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.studio-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:10px;justify-content:space-between;padding:18px 22px 14px}.studio-modal-title{color:#0f172a;font-size:1rem;font-weight:700}.studio-modal-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.studio-modal-action-btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#334155;cursor:pointer;font-size:.72rem;font-weight:600;padding:6px 10px}.studio-modal-action-btn:hover{background:#f8fafc;border-color:#94a3b8}.studio-modal-action-btn.primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.studio-modal-action-btn.primary:hover{background:#1e40af}.studio-modal-action-btn.success{background:#15803d;border-color:#15803d;color:#fff}.studio-modal-action-btn.success:hover{background:#166534}.studio-modal-close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:1.2rem;padding:2px 6px}.studio-modal-close:hover{background:#f1f5f9;color:#374151}.studio-modal-body{padding:18px 22px 22px}.studio-modal-section{margin-bottom:18px}.studio-modal-section-title{color:#94a3b8;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.studio-reason-item{color:#374151;display:flex;font-size:.85rem;gap:8px;line-height:1.5;margin-bottom:5px}.studio-summary-grid{grid-gap:10px 16px;display:grid;font-size:.83rem;gap:10px 16px;grid-template-columns:1fr 1fr}.studio-summary-cell-label{color:#94a3b8;font-size:.72rem;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.studio-summary-cell-value{color:#1e293b;font-weight:500}.studio-tag-row{display:flex;flex-wrap:wrap;gap:5px}.studio-tag{background:#ede9fe;border-radius:12px;color:#4f46e5;font-size:.75rem;font-weight:500;padding:3px 9px}.studio-tag.red{background:#fee2e2;color:#b91c1c}.studio-tag.green{background:#dcfce7;color:#15803d}.studio-tag.gray{background:#f1f5f9;color:#475569}.studio-phase-pill{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.studio-doc-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-family:Consolas,Courier New,monospace;font-size:.76rem;max-height:220px;overflow:auto;padding:12px;white-space:pre-wrap}.studio-doc-preview-wrap{grid-gap:10px;display:grid;gap:10px}.studio-doc-mermaid-block{border-radius:10px}.studio-design-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.studio-design-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.studio-design-title{color:#1e293b;font-size:.76rem;font-weight:700;margin-bottom:6px}.studio-design-explanation{color:#475569;font-size:.72rem;line-height:1.45;margin-bottom:8px}.studio-design-link{color:#1d4ed8;display:inline-block;font-size:.74rem;margin-bottom:8px;text-decoration:none}.studio-design-link:hover{text-decoration:underline}.studio-design-img{background:#f8fafc;border:1px solid #dbeafe;border-radius:8px;margin-bottom:8px;max-height:260px;object-fit:contain;width:100%}.studio-design-pre{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:.68rem;margin:0;max-height:160px;overflow:auto;padding:8px;white-space:pre-wrap}@media (max-width:768px){.studio-modal-actions{flex-wrap:wrap;justify-content:flex-start;order:3;width:100%}.studio-modal-header{align-items:flex-start;flex-wrap:wrap}}
/*# sourceMappingURL=main.79d030ed.css.map*/