*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.dashboard-container{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:2rem;border-bottom:2px solid #eaeaea;margin-bottom:2rem}.dashboard-header h1{color:#667eea;font-size:2rem;font-weight:700}.status-indicator{padding:.5rem 1rem;border-radius:20px;background:#f0f0f0;font-size:.9rem;font-weight:500}.status-connected{background:#d4edda;color:#155724}.status-fallback{background:#fff3cd;color:#856404}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;text-align:center;padding:2rem}.dashboard-loading h1,.dashboard-error h1{color:#667eea;margin-bottom:1rem}.dashboard-main{margin-bottom:2rem}.pipeline-stats-section,.prospects-section{margin-bottom:2rem;padding:2rem;background:#f8f9fa;border-radius:8px;border:1px solid #eaeaea}.pipeline-stats-section h2,.prospects-section h2{margin-bottom:1.5rem;color:#667eea;font-size:1.5rem}.stats-summary{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 8px #0000001a;text-align:center}.stat-card h3{color:#666;font-size:.9rem;margin-bottom:.5rem;text-transform:uppercase}.stat-value{font-size:2rem;font-weight:700;color:#667eea}.stats-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.stats-column h3{margin-bottom:1rem;color:#666}.stats-table{width:100%;border-collapse:collapse}.stats-table th,.stats-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eaeaea}.stats-table th{background:#f8f9fa;font-weight:600}.stats-table tr:last-child td{border-bottom:none}.filters{display:flex;align-items:center;gap:1rem}.filters label{font-weight:600;color:#666}.filters select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:1rem;cursor:pointer}.prospects-table-container{overflow-x:auto}.prospects-table-container table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.prospects-table-container th{background:#667eea;color:#fff;padding:1rem;text-align:left;cursor:pointer;user-select:none}.prospects-table-container th:hover{background:#5a6fd6}.prospects-table-container td{padding:1rem;border-bottom:1px solid #eaeaea;background:#fff}.prospects-table-container tr:hover td{background:#f8f9fa}.prospects-table-container tr:last-child td{border-bottom:none}.text-right{text-align:right}.text-center{text-align:center!important}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.nouveau{background:#d4edda;color:#155724}.status-badge.en_cours{background:#fff3cd;color:#856404}.status-badge.ferme{background:#d1ecf1;color:#0c5460}.status-badge.annule{background:#f8d7da;color:#721c24}.priority-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.priority-badge.haute{background:#f8d7da;color:#721c24}.priority-badge.moyenne{background:#fff3cd;color:#856404}.priority-badge.basse{background:#d4edda;color:#155724}.empty-state{text-align:center;padding:3rem;color:#666;font-style:italic}.notice-fallback{margin-top:1.5rem;padding:1rem;background:#fff3cd;border-radius:6px;color:#856404;text-align:center;font-size:.9rem}.dashboard-footer{text-align:center;padding-top:2rem;border-top:1px solid #eaeaea;color:#666;font-size:.9rem}.dashboard-footer p{margin:.25rem 0}.dashboard-error{background:#f8d7da;color:#721c24;padding:2rem;border-radius:8px}.dashboard-loading,.dashboard-error{justify-content:center;align-items:center}@media (max-width: 768px){.dashboard-container{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem}.dashboard-header h1{font-size:1.5rem}.stats-breakdown{grid-template-columns:1fr}}
