*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1a365d;--secondary:#2b6cb0;--accent:#ecc94b;--bg:#f7fafc;--card:#fff;--text:#2d3748;--text-light:#718096;--border:#e2e8f0;--success:#38a169;--warning:#d69e2e;--danger:#e53e3e;--radius:12px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{min-height:100vh}.app-header{background:var(--primary);color:#fff;z-index:100;padding:0 24px;position:sticky;top:0;box-shadow:0 2px 8px #00000026}.header-content{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;display:flex}.logo{cursor:pointer;letter-spacing:-.5px;font-size:24px;font-weight:800}.logo-light{opacity:.85;font-weight:400}.nav{gap:8px;display:flex}.nav-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:8px 18px;font-size:14px;transition:all .2s}.nav-btn:hover{background:#ffffff1a}.nav-btn.active{background:#fff3;border-color:#fff6}.main-content{max-width:1200px;margin:0 auto;padding:24px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:20px;padding:24px}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.card-title{color:var(--primary);font-size:20px;font-weight:700}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--secondary);color:#fff}.btn-primary:hover{background:#1a4f8b}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#2f855a}.btn-warning{background:var(--warning);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{color:var(--secondary);border:1px solid var(--secondary);background:0 0}.btn-outline:hover{background:#ebf4ff}.btn-sm{padding:6px 12px;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-group.full{grid-column:1/-1}.form-group label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 3px #2b6cb01a}.step-indicator{gap:4px;margin-bottom:24px;display:flex}.step{text-align:center;background:var(--border);color:var(--text-light);cursor:pointer;border-radius:8px;flex:1;padding:10px;font-size:12px;font-weight:600;transition:all .2s}.step.active{background:var(--secondary);color:#fff}.step.completed{background:var(--success);color:#fff}.form-actions{border-top:1px solid var(--border);justify-content:space-between;margin-top:24px;padding-top:16px;display:flex}.client-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px;display:grid}.client-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:20px;transition:all .2s}.client-card:hover{border-color:var(--secondary);box-shadow:0 4px 12px #0000001a}.client-name{color:var(--primary);margin-bottom:4px;font-size:18px;font-weight:700}.client-info{color:var(--text-light);margin-bottom:8px;font-size:13px}.client-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tag{border-radius:12px;padding:2px 10px;font-size:11px;font-weight:600}.tag-cadre{color:#2b6cb0;background:#ebf4ff}.tag-independant{color:#975a16;background:#fefcbf}.tag-retraite{color:#276749;background:#c6f6d5}.tag-score{color:var(--text);background:#e2e8f0}.client-actions{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:12px;display:flex}.empty-state{text-align:center;color:var(--text-light);padding:60px 20px}.empty-state h2{color:var(--text);margin-bottom:8px;font-size:24px}.empty-state p,.diag-header{margin-bottom:24px}.diag-score{background:var(--bg);border-radius:var(--radius);align-items:center;gap:24px;margin-bottom:20px;padding:24px;display:flex}.score-ring{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;font-size:28px;font-weight:800;display:flex}.score-ring.excellent{background:linear-gradient(135deg,#38a169,#2f855a)}.score-ring.bon{background:linear-gradient(135deg,#2b6cb0,#1a4f8b)}.score-ring.moyen{background:linear-gradient(135deg,#d69e2e,#b7791f)}.score-ring.faible{background:linear-gradient(135deg,#e53e3e,#c53030)}.score-info h3{margin-bottom:4px;font-size:18px}.diag-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.metric-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.metric-card.full{grid-column:1/-1}.metric-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:4px;font-size:11px;font-weight:600}.metric-value{color:var(--text);font-size:24px;font-weight:700}.metric-value.positive{color:var(--success)}.metric-value.negative{color:var(--danger)}.reco-card{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--secondary);border-radius:var(--radius);margin-bottom:12px;padding:16px}.reco-card.priority-1{border-left-color:var(--accent)}.reco-card h4{color:var(--primary);margin-bottom:4px;font-size:15px}.reco-card p{color:var(--text-light);font-size:13px}.badge-urgence{border-radius:20px;margin-bottom:16px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.badge-faible{color:#276749;background:#c6f6d5}.badge-moyen{color:#975a16;background:#fefcbf}.badge-eleve{color:#9b2c2c;background:#fed7d7}.badge-critique{color:#742a2a;background:#fc8181}.loading{justify-content:center;align-items:center;padding:40px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--secondary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pdf-section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}@media (width<=768px){.form-grid,.diag-grid{grid-template-columns:1fr}.diag-score{text-align:center;flex-direction:column}.client-grid{grid-template-columns:1fr}}
