*,*:before,*:after{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1B2A4A;--navy-dark: #12203A;--navy-muted: rgba(255, 255, 255, .12);--white: #FFFFFF;--off-white: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-400: #94A3B8;--gray-500: #64748B;--gray-700: #334155;--gray-900: #0F172A;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Consolas, monospace;--radius: 12px;--radius-sm: 8px}body{font-family:var(--font);background:var(--off-white);color:var(--gray-900);-webkit-font-smoothing:antialiased}.hero{background:var(--navy);padding:5rem 1.5rem 4rem;transition:padding .3s ease}.hero--compact{padding:2rem 1.5rem}.hero-inner{max-width:760px;margin:0 auto}.hero-heading{text-align:center;margin-bottom:2.25rem}.hero-heading h1{font-size:clamp(1.75rem,4vw,2.625rem);font-weight:800;color:var(--white);line-height:1.2;letter-spacing:-.03em}.hero-sub{margin-top:.875rem;color:#ffffff8c;font-size:1rem}.search-bar{display:flex;align-items:stretch;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 24px #0000002e}.search-input{flex:1;padding:1.125rem 1.25rem;border:none;font-size:.9375rem;font-family:var(--font);color:var(--gray-900);background:transparent;outline:none;min-width:0}.search-input::placeholder{color:var(--gray-400)}.search-input:disabled{color:var(--gray-400)}.search-btn{padding:0 1.75rem;background:var(--navy);color:var(--white);border:none;font-size:.9375rem;font-family:var(--font);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.search-btn:hover:not(:disabled){background:var(--navy-dark)}.search-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 520px){.search-bar{flex-direction:column;border-radius:var(--radius)}.search-btn{padding:.9rem;border-radius:0 0 var(--radius) var(--radius)}}.content{padding:2rem 1.5rem 5rem}.content-inner{max-width:1080px;margin:0 auto}.clarification-box{background:var(--white);border:1px solid var(--gray-200);border-left:4px solid var(--navy);border-radius:var(--radius-sm);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.clarification-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:.375rem}.clarification-question{font-size:.9375rem;color:var(--gray-700);line-height:1.55;margin-bottom:1rem}.clarification-options{display:flex;flex-wrap:wrap;gap:.5rem}.btn-clarification-option{padding:.5rem 1rem;background:var(--white);color:var(--navy);border:1.5px solid var(--navy);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font);font-weight:600;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.btn-clarification-option:hover:not(:disabled){background:var(--navy);color:var(--white)}.btn-clarification-option:disabled{opacity:.45;cursor:not-allowed}.clarification-form{display:flex;gap:.625rem}.clarification-input{flex:1;padding:.7rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font);color:var(--gray-900);outline:none;transition:border-color .15s}.clarification-input:focus{border-color:var(--navy)}.btn-confirm{padding:.7rem 1.25rem;background:var(--navy);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font);font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-confirm:hover:not(:disabled){background:var(--navy-dark)}.btn-confirm:disabled{opacity:.4;cursor:not-allowed}.status-wrap{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem 0}.spinner{width:18px;height:18px;border:2.5px solid var(--gray-200);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.status-msg{color:var(--gray-500);font-size:.9375rem}.error-box{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);padding:1rem 1.25rem;color:#991b1b;font-size:.9rem;margin-bottom:1.5rem}.results-header{display:flex;align-items:baseline;gap:.625rem;margin-bottom:1.25rem}.results-count{font-size:1rem;font-weight:700;color:var(--gray-900)}.results-shown{font-size:.875rem;color:var(--gray-400)}.cards{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 580px){.cards{grid-template-columns:1fr 1fr}}@media (min-width: 900px){.cards{grid-template-columns:1fr 1fr 1fr}}@media (min-width: 1200px){.cards{grid-template-columns:repeat(4,1fr)}}.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s;overflow:hidden}.card:hover{box-shadow:0 8px 24px #1b2a4a1a;transform:translateY(-2px);border-color:transparent}.card-body{padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.625rem;flex:1}.card-name{font-size:.875rem;font-weight:700;color:var(--gray-900);line-height:1.4}.card-sector{font-size:.8125rem;color:var(--gray-700);line-height:1.4;margin:0}.card-sector--code{font-family:var(--mono);color:var(--gray-500)}.card-naf-code{color:var(--gray-400);font-size:.75rem}.card-location{font-size:.8125rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.card-meta{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.125rem}.card-meta-item{font-size:.75rem;color:var(--gray-500);background:var(--gray-100);border-radius:4px;padding:.15rem .5rem;white-space:nowrap}.card-dirigeant{font-size:.8125rem;color:var(--gray-700);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-dirigeant-qualite{color:var(--gray-400);font-size:.775rem}.card-finances{display:flex;flex-wrap:wrap;gap:.375rem}.card-finance-item{font-size:.75rem;font-weight:600;color:var(--gray-700);background:var(--gray-100);border-radius:4px;padding:.15rem .5rem;white-space:nowrap}.card-finance-item--resultat{color:#166534;background:#f0fdf4}.card-finance-item--neg{color:#991b1b;background:#fef2f2}.card-siren-label{color:var(--gray-400);font-family:var(--font);font-size:.7rem;font-weight:500;letter-spacing:0}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid var(--gray-100);background:var(--off-white);gap:.5rem}.card-siren{font-size:.75rem;color:var(--gray-400);font-family:var(--mono);letter-spacing:.02em;white-space:nowrap}.card-link{font-size:.775rem;font-weight:600;color:var(--navy);text-decoration:none;white-space:nowrap;transition:opacity .15s}.card-link:hover{opacity:.7;text-decoration:underline}.load-more-wrap{display:flex;justify-content:center;margin-top:2rem}.btn-load-more{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:var(--white);color:var(--navy);border:1.5px solid var(--gray-200);border-radius:var(--radius);font-size:.9375rem;font-family:var(--font);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.btn-load-more:hover:not(:disabled){background:var(--gray-100);border-color:var(--navy);box-shadow:0 2px 8px #1b2a4a14}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.spinner--sm{width:13px;height:13px;border-width:2px}.btn-back{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;color:var(--gray-500);font-size:.875rem;font-family:var(--font);cursor:pointer;padding:0;margin-bottom:1.25rem;transition:color .15s}.btn-back:hover{color:var(--navy)}.content-inner--narrow{max-width:680px}.naf-grid{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:1rem;margin-bottom:1.25rem}@media (min-width: 560px){.naf-grid{grid-template-columns:1fr 1fr}}.naf-item{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:var(--font);transition:border-color .15s,background .15s;width:100%}.naf-item:hover{border-color:var(--navy)}.naf-item--selected{border-color:var(--navy);background:#1b2a4a0a}.naf-item-check{width:18px;height:18px;border:1.5px solid var(--gray-300, #CBD5E1);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--navy);flex-shrink:0;margin-top:1px;background:var(--white);transition:border-color .15s,background .15s}.naf-item--selected .naf-item-check{border-color:var(--navy);background:var(--navy);color:var(--white)}.naf-item-body{display:flex;flex-direction:column;gap:.125rem}.naf-item-code{font-size:.75rem;font-weight:700;color:var(--gray-400);font-family:var(--mono);letter-spacing:.02em}.naf-item--selected .naf-item-code{color:var(--navy)}.naf-item-label{font-size:.875rem;color:var(--gray-700);line-height:1.4}.naf-item--selected .naf-item-label{color:var(--navy);font-weight:500}.naf-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.btn-select-all{background:none;border:none;color:var(--gray-500);font-size:.8125rem;font-family:var(--font);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.btn-select-all:hover{color:var(--navy)}.geo-autocomplete{flex:1;position:relative;min-width:0}.geo-autocomplete .clarification-input{width:100%}.geo-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001a;list-style:none;z-index:100;overflow:hidden}.geo-suggestion-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.625rem 1rem;background:none;border:none;border-bottom:1px solid var(--gray-100);cursor:pointer;font-family:var(--font);font-size:.875rem;text-align:left;transition:background .1s}.geo-suggestions li:last-child .geo-suggestion-item{border-bottom:none}.geo-suggestion-item:hover{background:var(--gray-100)}.geo-suggestion-label{color:var(--gray-900);flex:1}.geo-suggestion-type{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);white-space:nowrap}.footer{text-align:center;padding:2rem 1.5rem 2.5rem;border-top:1px solid var(--gray-200);margin-top:auto}.footer-text{font-size:.8125rem;color:var(--gray-400);margin-bottom:.375rem}.footer-links{font-size:.8125rem;color:var(--gray-400)}.footer-link{background:none;border:none;padding:0;font-size:inherit;font-family:var(--font);color:var(--gray-500);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.footer-link:hover{color:var(--navy)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--white);border-radius:var(--radius);max-width:560px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.modal-title{font-size:1rem;font-weight:700;color:var(--navy)}.modal-close{background:none;border:none;cursor:pointer;color:var(--gray-400);font-size:1rem;padding:.25rem;line-height:1;transition:color .15s}.modal-close:hover{color:var(--gray-900)}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.modal-body h3{font-size:.875rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.modal-body p{font-size:.875rem;color:var(--gray-700);line-height:1.6}.modal-body a{color:var(--navy);text-underline-offset:2px}.status-options{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 1.25rem}.status-option{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-size:.9375rem;color:var(--gray-700);-webkit-user-select:none;user-select:none}.status-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}.btn-export{margin-left:auto;padding:.375rem .875rem;background:var(--navy);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font);font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-export:hover{background:var(--navy-dark)}.export-panel{background:var(--white);border:1px solid var(--gray-200);border-left:4px solid var(--navy);border-radius:var(--radius-sm);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.export-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.export-panel-title{font-weight:700;font-size:.9375rem;color:var(--navy)}.export-panel-close{background:none;border:none;cursor:pointer;color:var(--gray-400);font-size:.875rem;padding:.25rem;line-height:1;transition:color .15s}.export-panel-close:hover{color:var(--gray-900)}.export-summary{font-size:.875rem;color:var(--gray-700);margin-bottom:1.25rem;line-height:1.6}.export-fields-list{list-style:none;margin-top:.625rem;display:flex;flex-direction:column;gap:.25rem;padding-left:.75rem;border-left:2px solid var(--gray-200)}.export-fields-list li{font-size:.8125rem;color:#475569}.export-actions{display:flex;gap:.625rem;flex-wrap:wrap;margin-bottom:.875rem}.btn-export-format{padding:.625rem 1.375rem;background:var(--navy);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font);font-weight:600;cursor:pointer;transition:background .15s}.btn-export-format:hover{background:var(--navy-dark)}.btn-export-format--secondary{background:var(--gray-100);color:var(--navy);border:1.5px solid var(--gray-200)}.btn-export-format--secondary:hover{background:var(--gray-200)}.export-done{display:flex;align-items:center;gap:1rem;margin-bottom:.875rem;font-size:.875rem;color:#166534;font-weight:600}.export-quota{font-size:.75rem;color:var(--gray-400);margin-top:.5rem}.export-progress-bar{height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden;margin-top:.5rem}.export-progress-fill{height:100%;background:var(--navy);border-radius:2px;width:40%;animation:progress-slide 1.5s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-150%)}to{transform:translate(350%)}}
