*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border-bottom:none;padding:1rem 0;box-shadow:0 2px 10px #1e3a8a1a}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-info{display:flex;align-items:center;gap:1.5rem;color:#fff}.user-info span{color:#ffffffe6;font-weight:500}.nav-tabs{display:flex;align-items:flex-end;gap:.25rem;margin-left:2rem;position:relative;z-index:10}.nav-tab{padding:.6rem 1.2rem .8rem;background:#ffffff1a;color:#fffc;text-decoration:none;border:none;border-radius:8px 8px 0 0;transition:all .2s ease;font-weight:500;font-size:.9rem;cursor:pointer;position:relative;border-top:3px solid transparent;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.nav-tab:hover:not(.active){background:#ffffff26;color:#fffffff2;text-decoration:none;transform:translateY(-2px)}.nav-tab.active{background:#fff;color:#1e3a8a;border-top:3px solid #3b82f6;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;border-bottom:none;font-weight:600;z-index:20;box-shadow:0 -2px 8px #0000001a;padding-bottom:1.2rem;margin-bottom:-4px}.logout-btn{padding:.4rem 1rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.logout-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;text-decoration:none;display:inline-block}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.login-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center;max-width:400px;width:100%}.companies-header{background:#fff;padding:1rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:1rem}.companies-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.company-row{background:#fff;border-radius:6px;padding:.75rem 1rem;box-shadow:0 1px 2px #0000001a;cursor:pointer;transition:box-shadow .2s}.company-row:hover{box-shadow:0 2px 8px #00000026}.company-row-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:.5rem}.company-row-details{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:flex-start}@media (max-width: 768px){.company-row-header{flex-direction:column;align-items:flex-start;gap:.5rem}.company-row-details{grid-template-columns:1fr}}.company-name{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.company-domain{color:#666;font-size:.9rem;margin-bottom:1rem}.recommendation-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;margin-bottom:1rem}.recommendation-pill{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;text-align:center;display:inline-block}.recommendation-attractive .recommendation-pill{background:#d4edda;color:#155724}.recommendation-screen .recommendation-pill{background:#e8f5e8;color:#2e7d32}.recommendation-too-early .recommendation-pill{background:#e3f2fd;color:#1565c0}.recommendation-pass .recommendation-pill{background:#f8d7da;color:#721c24}.recommendation-buy .recommendation-pill{background:#d4edda;color:#155724}.recommendation-hold .recommendation-pill{background:#fff3cd;color:#856404}.recommendation-sell .recommendation-pill{background:#f8d7da;color:#721c24}.recommendation-analysis-failed .recommendation-pill{background:#f8f9fa;color:#6c757d}.recommendation-in-progress .recommendation-pill{background:#e3f2fd;color:#1976d2}.conviction-high{color:#28a745;font-size:1.2rem}.conviction-medium{color:#ffc107;font-size:1.2rem}.conviction-low{color:#dc3545;font-size:1.2rem}.tooltip{position:relative;cursor:help}.tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:.5rem;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:1}.tooltip:hover:before{content:"";position:absolute;bottom:115%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#333;z-index:1000}.company-score{margin-bottom:1rem}.score-high{color:#28a745}.score-medium{color:#ffc107}.score-low{color:#dc3545}.company-summary{color:#666;font-size:.9rem;line-height:1.4}.filters{background:#fff;padding:1rem;border-radius:6px;margin-bottom:1rem;box-shadow:0 1px 2px #0000001a}.filters-row{display:flex;gap:1rem;flex-wrap:wrap}.filter-input{flex:1;min-width:200px;padding:.5rem;border:1px solid #ddd;border-radius:4px}.filter-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff}.error-container{text-align:center;padding:2rem}.error-message{color:#dc3545;margin-bottom:1rem}.dev-badge{background:#fff3cd;color:#856404;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700}.company-link{color:#007bff;text-decoration:none}.company-link:hover{text-decoration:underline}.report-link{color:#007bff;text-decoration:none;font-size:.9rem;padding:.25rem .5rem;border:1px solid #007bff;border-radius:4px;transition:all .2s}.report-link:hover{background:#007bff;color:#fff;text-decoration:none}.company-title{font-size:1.1rem;font-weight:700;margin:0}.company-website{font-size:.9rem;color:#666}.recommendation-text{font-size:.9rem;font-weight:500;display:flex;align-items:center}@media (max-width: 768px){.companies-grid{grid-template-columns:1fr}.filters-row{flex-direction:column}.header-content{flex-direction:column;gap:1rem;align-items:flex-start}.nav-tabs{margin-left:0;flex-wrap:wrap}.nav-tab{font-size:.8rem;padding:.4rem .8rem}.user-info{align-self:flex-end;gap:1rem}.logout-btn{font-size:.8rem;padding:.3rem .8rem}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card h3{font-size:.9rem;color:#666;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-value{font-size:2.5rem;font-weight:700;color:#2563eb;margin-bottom:.5rem;line-height:1}.stat-subtitle{font-size:.85rem;color:#666;line-height:1.4}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.chart-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.chart-card.full-width{grid-column:1 / -1}.chart-card h3{font-size:1.1rem;color:#333;margin-bottom:1rem;font-weight:600;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.harmonic-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;height:260px;align-content:center}.harmonic-stat{text-align:center;padding:1rem;background:#f8f9fa;border-radius:6px;border:2px solid #e9ecef;transition:all .2s ease}.harmonic-stat:hover{background:#e9ecef;border-color:#2563eb}.harmonic-value{font-size:1.8rem;font-weight:700;color:#2563eb;margin-bottom:.25rem}.harmonic-label{font-size:.85rem;color:#666;font-weight:500}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.charts-grid{grid-template-columns:1fr;gap:1rem}.chart-card,.stat-card{padding:1rem}.stat-value{font-size:2rem}.harmonic-stats{grid-template-columns:1fr;height:auto}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.8rem}.chart-card h3{font-size:1rem}}.status-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{text-align:center;margin-bottom:30px}.page-header h1{margin:0 0 8px;color:#333}.page-header p{margin:0;color:#666;font-size:1.1rem}.search-controls{background:#fff;border:1px solid #e1e5e9;border-radius:8px;padding:20px;margin-bottom:30px}.search-input-group{display:flex;gap:12px;margin-bottom:16px}.search-type-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;min-width:140px}.search-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-examples{font-size:.9rem;color:#666}.search-examples ul{margin:8px 0 0;padding-left:20px}.search-examples li{margin-bottom:4px}.status-content{min-height:200px}.recent-executions h2{margin:0 0 20px;color:#333}.pipeline-status{max-width:800px;margin:0 auto;padding:20px}.pipeline-status.loading,.pipeline-status.error,.pipeline-status.empty{text-align:center;padding:40px 20px}.loading-spinner{font-size:2rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon,.empty-icon{font-size:2rem;margin-bottom:10px}.retry-button{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:10px}.retry-button:hover{background:#0056b3}.execution-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.execution-card.running{border-left:4px solid #007bff}.execution-card.success{border-left:4px solid #28a745}.execution-card.failed{border-left:4px solid #dc3545}.execution-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e1e5e9}.company-info h3{margin:0;font-size:1.2rem;color:#333}.company-info .domain{margin:4px 0 0;color:#666;font-size:.9rem}.execution-status{text-align:right}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:4px}.execution-card.running .status-badge{background:#e3f2fd;color:#1976d2}.execution-card.success .status-badge{background:#e8f5e8;color:#2e7d32}.execution-card.failed .status-badge{background:#ffebee;color:#c62828}.duration{display:block;font-size:.8rem;color:#666;margin-top:2px}.steps-container{padding:20px}.step-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.step-item:last-child{border-bottom:none}.step-icon{font-size:1.5rem;width:40px;text-align:center;margin-right:16px}.step-content{flex:1}.step-name{font-weight:600;color:#333;margin-bottom:4px}.step-status{font-size:.9rem;display:flex;align-items:center;gap:8px}.step-duration{color:#666;font-size:.8rem}.step-error{margin-top:4px;color:#dc3545;font-size:.8rem}.step-item.success .step-status{color:#28a745}.step-item.running .step-status{color:#007bff}.step-item.running .step-status{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.step-item.failed .step-status{color:#dc3545}.step-item.pending .step-status{color:#6c757d}.execution-footer{padding:12px 20px;background:#f8f9fa;border-top:1px solid #e1e5e9;color:#666;font-size:.85rem}.status-footer{text-align:center;padding:16px;color:#666;border-top:1px solid #e1e5e9;background:#f8f9fa;margin-top:20px;border-radius:4px}@media (max-width: 768px){.execution-header{flex-direction:column;align-items:flex-start;gap:12px}.execution-status{text-align:left}.step-item{flex-direction:column;align-items:flex-start;gap:8px}.step-icon{margin-right:0}.step-content{width:100%}}@media (prefers-color-scheme: dark){.execution-card{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.execution-header,.execution-footer,.status-footer{background:#1a202c;border-color:#4a5568}.company-info h3{color:#e2e8f0}.company-info .domain{color:#a0aec0}.step-name{color:#e2e8f0}.step-item{border-color:#4a5568}}
