.v24-import-btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #b78aa0;background:#fff;color:#5a2239;border-radius:12px;padding:.72rem 1rem;font-weight:700;cursor:pointer}.v24-import-btn:hover{background:#fff7fa}.v24-modal-backdrop{position:fixed;inset:0;background:rgba(25,12,18,.58);z-index:99990;display:flex;align-items:flex-start;justify-content:center;padding:3vh 16px;overflow:auto}.v24-modal{width:min(1120px,100%);background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.25);overflow:hidden;margin:auto}.v24-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #eadde3}.v24-head h2{margin:3px 0 0;color:#351623;font-size:1.5rem}.v24-eyebrow{margin:0;color:#8b4d69;font-size:.75rem;font-weight:800;letter-spacing:.08em}.v24-close{border:0;background:#f5edf1;width:38px;height:38px;border-radius:12px;font-size:1.35rem;cursor:pointer;color:#4b2636}.v24-body{padding:22px 24px 26px}.v24-step{display:none}.v24-step.active{display:block}.v24-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v24-field{display:flex;flex-direction:column;gap:6px}.v24-field.wide{grid-column:1/-1}.v24-field label,.v24-label{font-size:.86rem;font-weight:750;color:#442434}.v24-field input,.v24-field select,.v24-select{width:100%;border:1px solid #d8c8d0;border-radius:11px;padding:10px 12px;background:#fff;color:#2b1720;font:inherit}.v24-file{border:1.5px dashed #c9aebc;border-radius:16px;padding:22px;background:#fff9fb}.v24-help{font-size:.82rem;color:#74616a;margin:.35rem 0 0}.v24-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.v24-primary,.v24-secondary{border:0;border-radius:11px;padding:11px 16px;font-weight:800;cursor:pointer}.v24-primary{background:#5d203a;color:white}.v24-primary:disabled{opacity:.5;cursor:not-allowed}.v24-secondary{background:#f2e8ed;color:#4a2636}.v24-summary{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.v24-chip{border-radius:999px;padding:7px 10px;background:#f5edf1;color:#4e2b3b;font-size:.82rem;font-weight:750}.v24-chip.good{background:#e9f6ed;color:#206034}.v24-chip.warn{background:#fff3d7;color:#765100}.v24-chip.bad{background:#fde9e9;color:#8a2929}.v24-table-wrap{overflow:auto;border:1px solid #eadde3;border-radius:14px;max-height:48vh}.v24-table{width:100%;border-collapse:collapse;font-size:.84rem}.v24-table th,.v24-table td{padding:10px 11px;border-bottom:1px solid #eee4e8;text-align:left;vertical-align:top;white-space:nowrap}.v24-table th{position:sticky;top:0;background:#faf5f7;color:#593349;z-index:2}.v24-status{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:800;font-size:.72rem}.v24-status.new,.v24-status.created,.v24-status.valid,.v24-status.normalized{background:#e8f5ec;color:#1f6a38}.v24-status.existing{background:#e9f0ff;color:#315a9b}.v24-status.needs_confirmation,.v24-status.duplicate_in_file{background:#fff2d7;color:#7d5600}.v24-status.rejected,.v24-status.invalid{background:#fde9e9;color:#8f2f2f}.v24-inline-input{min-width:165px;border:1px solid #d9c7d0;border-radius:8px;padding:6px 8px}.v24-confirm{display:flex;align-items:center;gap:6px}.v24-error{background:#fdeaea;color:#8b2929;border-radius:11px;padding:10px 12px;margin:12px 0}.v24-success{background:#eaf7ee;color:#235f36;border-radius:11px;padding:12px 14px;margin:12px 0}.v24-progress{display:flex;gap:8px;margin-bottom:20px}.v24-progress span{height:6px;background:#eadde3;flex:1;border-radius:99px}.v24-progress span.on{background:#6b2944}.v24-note{background:#f8f3f5;border-radius:12px;padding:12px 14px;color:#604755;margin:12px 0}.v24-small{font-size:.78rem;color:#74616a}.v24-loading{padding:30px;text-align:center;color:#6b5360}@media(max-width:720px){.v24-modal-backdrop{padding:0}.v24-modal{min-height:100vh;border-radius:0}.v24-grid{grid-template-columns:1fr}.v24-body,.v24-head{padding-left:16px;padding-right:16px}.v24-table{font-size:.78rem}.v24-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 0}}

.v24-warning{background:#fff4dd;color:#7a5515;border-radius:11px;padding:12px 14px;margin:12px 0}.v24-note-compact{font-size:.82rem;margin-top:14px}.v24-status.updated{background:#e9f6ed;color:#206034}.v24-status.duplicate{background:#fff3d7;color:#765100}.v24-table td{white-space:normal;overflow-wrap:anywhere}.v24-preview-local td:nth-child(1),.v24-preview-server td:nth-child(1){width:70px}.v24-preview-local td:nth-child(2),.v24-preview-server td:nth-child(2){min-width:180px}.v24-preview-local td:nth-child(5),.v24-preview-server td:nth-child(5){min-width:190px}
@media(max-width:720px){
  .v24-modal-backdrop{padding:0}.v24-modal{min-height:100dvh;border-radius:0}.v24-body,.v24-head{padding-left:14px;padding-right:14px}.v24-head h2{font-size:1.35rem}.v24-grid{grid-template-columns:1fr}.v24-actions{position:sticky;bottom:0;z-index:4;background:#fff;padding:12px 0 max(8px,env(safe-area-inset-bottom));margin-top:14px}.v24-actions button{min-height:46px}.v24-table-wrap{overflow:visible;border:0;max-height:none}.v24-table,.v24-table tbody{display:block;width:100%}.v24-table thead{display:none}.v24-table tr{display:block;margin:0 0 12px;border:1px solid #eadde3;border-radius:14px;background:#fff;overflow:hidden}.v24-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:start;width:auto!important;min-width:0!important;padding:10px 12px;border-bottom:1px solid #f0e6ea;white-space:normal}.v24-table td:last-child{border-bottom:0}.v24-table td::before{font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8b5c70}.v24-preview-local td:nth-child(1)::before,.v24-preview-server td:nth-child(1)::before{content:'Ligne'}.v24-preview-local td:nth-child(2)::before,.v24-preview-server td:nth-child(2)::before{content:'Cliente'}.v24-preview-local td:nth-child(3)::before{content:'Téléphone Excel'}.v24-preview-local td:nth-child(4)::before{content:'Téléphone NAKIMA'}.v24-preview-local td:nth-child(5)::before{content:'Contrôle'}.v24-preview-server td:nth-child(3)::before{content:'Téléphone'}.v24-preview-server td:nth-child(4)::before{content:'Statut'}.v24-preview-server td:nth-child(5)::before{content:'Message'}.v24-inline-input{min-width:0;width:100%}.v24-summary{gap:7px}.v24-chip{font-size:.78rem}.v24-file{padding:16px}
}
