.crm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:crm-fadeIn .2s ease}@keyframes crm-fadeIn{0%{opacity:0}to{opacity:1}}.crm-modal{background:var(--bg-white,#fff);border-radius:var(--radius,20px);box-shadow:0 25px 60px rgba(0,0,0,.25);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;position:relative;animation:crm-slideUp .25s ease;color:var(--text-dark,#18181b)}@keyframes crm-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.crm-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted,#71717a);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:10}.crm-close:hover{background:var(--bg-light,#f5f5f5);color:var(--text-dark,#18181b)}.crm-step{padding:1.5rem}.crm-header{margin-bottom:1rem}.crm-header h2{font-family:var(--font-space-grotesk),sans-serif;font-size:1.3rem;font-weight:700;color:var(--text-dark,#18181b)}.crm-nav{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.crm-back{background:none;border:none;color:var(--modal-accent);font-size:.9rem;font-weight:600;cursor:pointer;padding:0}.crm-back:hover{text-decoration:underline}.crm-indicator{font-size:.8rem;color:var(--text-muted,#71717a);font-weight:600}.crm-body{display:flex;flex-direction:column;gap:.75rem}.crm-subtitle{color:var(--text-muted,#71717a);font-size:.9rem}.crm-section-title{font-size:1rem;font-weight:650;margin:.5rem 0 0;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08)}.crm-section-title:first-child{margin-top:0;padding-top:0;border-top:none}.crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.crm-field{display:flex;flex-direction:column;gap:.25rem}.crm-label{font-size:.75rem;font-weight:600;color:var(--text-muted,#71717a);text-transform:uppercase;letter-spacing:.04em}.crm-input,.crm-textarea{background:var(--bg-white,#fff);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-xs,8px);padding:.55rem .7rem;color:var(--text-dark,#18181b);font-size:.9rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;width:100%}.crm-input:focus,.crm-textarea:focus{outline:none;border-color:var(--modal-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--modal-accent) 15%,transparent)}.crm-textarea{resize:vertical}.crm-input-error{border-color:#ef4444!important;box-shadow:0 0 0 2px rgba(239,68,68,.15)}.crm-error{color:#ef4444}.crm-error,.crm-notice{font-size:.82rem;margin:0}.crm-notice{color:#f59e0b;font-weight:500}.crm-muted{color:var(--text-muted,#71717a)}.crm-phone-row{display:flex;gap:.4rem}.crm-phone-code{width:105px;flex-shrink:0;background:var(--bg-white,#fff);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-xs,8px);padding:.55rem .4rem;color:var(--text-dark,#18181b);font-size:.85rem}.crm-phone-row .crm-input{flex:1;min-width:0}.crm-btn-primary{display:flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-sm,12px);border:none;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;width:100%;margin-top:1.25rem}.crm-btn-primary:hover{filter:brightness(1.1);box-shadow:0 4px 12px rgba(0,0,0,.2)}.crm-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.25rem}.crm-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-muted,#71717a);font-weight:500}.crm-dot{width:12px;height:12px;border-radius:50%}.crm-dot-available{background:#22c55e}.crm-dot-almost{background:#f59e0b}.crm-dot-full{background:#ef4444}.crm-tabs{display:flex;background:rgba(0,0,0,.04);border-radius:10px;padding:3px;overflow-x:auto;gap:2px}.crm-tab{padding:.4rem .8rem;border:none;background:transparent;color:var(--text-muted,#71717a);font-size:.78rem;font-weight:600;border-radius:7px;cursor:pointer;transition:all .2s;white-space:nowrap}.crm-tab:hover:not(.crm-tab-active){color:var(--text-dark,#18181b);background:rgba(0,0,0,.04)}.crm-tab-active{box-shadow:0 1px 4px rgba(0,0,0,.15)}.crm-grid-scroll{overflow-x:auto;margin-bottom:.5rem}.crm-schedule{width:100%;border-collapse:separate;border-spacing:0}.crm-schedule th{text-align:center;padding:.4rem .3rem;color:var(--text-muted,#71717a);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.crm-schedule td{padding:.35rem .2rem;border-top:1px solid rgba(0,0,0,.06);text-align:center}.crm-schedule tr:first-child td{border-top:2px solid var(--modal-accent)}.crm-schedule tr:nth-child(2n) td{background:rgba(0,0,0,.02)}.crm-week-label{text-align:left!important;font-weight:500;white-space:nowrap;font-size:.82rem}.crm-day-label{display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer}.crm-day-date{font-size:.6rem;color:var(--text-muted,#71717a);font-weight:600;line-height:1}.crm-checkbox{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--modal-accent);border-radius:4px;background:transparent;cursor:pointer;transition:all .15s;position:relative}.crm-checkbox:hover:not(:disabled){background:color-mix(in srgb,var(--modal-accent) 10%,transparent)}.crm-checkbox:checked{background:var(--modal-accent);border-color:var(--modal-accent)}.crm-checkbox:checked:after{content:"\2713";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:11px;font-weight:700}.crm-status-available{border-color:#22c55e}.crm-status-available:checked{background:#22c55e;border-color:#22c55e}.crm-status-almost{border-color:#f59e0b}.crm-status-almost:checked{background:#f59e0b;border-color:#f59e0b}.crm-status-full{border-color:#d1d5db;background:#f3f4f6;cursor:not-allowed;opacity:.5}.crm-horaire-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.crm-horaire-table th{text-align:left;padding:.5rem .4rem;color:var(--text-muted,#71717a);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--modal-accent)}.crm-horaire-table td{padding:.4rem .3rem;border-top:1px solid rgba(0,0,0,.06);vertical-align:middle}.crm-horaire-table tr:nth-child(2n) td{background:rgba(0,0,0,.02)}.crm-horaire-day{font-weight:500;font-size:.8rem;white-space:nowrap}.crm-horaire-select{width:100%;background:var(--bg-white,#fff);border:1px solid rgba(0,0,0,.15);border-radius:6px;padding:.35rem .4rem;color:var(--text-dark,#18181b);font-size:.8rem;font-family:inherit}.crm-toggle-row{display:flex;gap:.5rem;margin-bottom:1rem}.crm-toggle{padding:.45rem 1.2rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-xs,8px);background:var(--bg-white,#fff);color:var(--text-muted,#71717a);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s}.crm-toggle:hover:not(.crm-toggle-active){border-color:var(--modal-accent);color:var(--text-dark,#18181b)}.crm-needs-panel{margin-bottom:1rem;padding:.75rem;background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-sm,12px)}.crm-need-category{margin-bottom:.4rem}.crm-need-category:last-child{margin-bottom:0}.crm-check-label{display:flex;align-items:center;gap:.4rem;font-size:.88rem;cursor:pointer;padding:.3rem .5rem;border-radius:6px;transition:background .15s}.crm-check-label:hover{background:color-mix(in srgb,var(--modal-accent) 6%,transparent)}.crm-need-check{accent-color:var(--modal-accent);width:16px;height:16px}.crm-need-detail{margin:.25rem 0 .4rem 2rem}@media (max-width:640px){.crm-overlay{align-items:flex-end;padding:0}.crm-modal{max-height:95vh;max-height:95dvh;height:95vh;border-radius:16px 16px 0 0;margin-top:auto}.crm-step{padding:1rem}.crm-header h2{font-size:1.1rem}.crm-grid{grid-template-columns:1fr}.crm-schedule td,.crm-schedule th{padding:.25rem .12rem;font-size:.68rem}.crm-week-label{font-size:.7rem;max-width:80px;overflow:hidden;text-overflow:ellipsis}.crm-checkbox{width:16px;height:16px}.crm-checkbox:checked:after{font-size:10px}.crm-tab{padding:.3rem .6rem;font-size:.7rem}.crm-day-date{font-size:.55rem}.crm-phone-code{width:90px;font-size:.78rem}.crm-horaire-day{font-size:.7rem;white-space:normal;max-width:100px}.crm-horaire-select{font-size:.7rem;padding:.25rem}.crm-horaire-table th{font-size:.62rem}.crm-btn-primary{font-size:.88rem;padding:.65rem 1rem}}.jaf-form{background:var(--dark-surface,#1a1a1e);border-radius:1.25rem;padding:2rem;max-width:680px;margin:0 auto;box-shadow:0 8px 32px rgba(0,0,0,.3)}@media (max-width:640px){.jaf-form{padding:1.25rem;border-radius:1rem}}.jaf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width:640px){.jaf-grid{grid-template-columns:1fr}}.jaf-field{display:flex;flex-direction:column;gap:.375rem}.jaf-field-full{grid-column:1/-1}.jaf-label{font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.85);font-family:var(--font-space-grotesk),sans-serif}.jaf-required{color:#f87171;margin-left:2px}.jaf-input,.jaf-textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:.625rem;padding:.625rem .875rem;font-size:.9rem;color:#fff;transition:border-color .15s,box-shadow .15s;outline:none;width:100%;font-family:inherit}.jaf-input::placeholder,.jaf-textarea::placeholder{color:rgba(255,255,255,.3)}.jaf-input:focus,.jaf-textarea:focus{border-color:var(--jaf-accent,var(--totem-accent,#e8553a));box-shadow:0 0 0 3px rgba(232,85,58,.15)}.jaf-textarea{resize:vertical;min-height:100px}.jaf-input-error{border-color:#f87171!important;box-shadow:0 0 0 3px rgba(248,113,113,.15)!important}.jaf-error{font-size:.75rem;color:#f87171;margin-top:.125rem}.jaf-checkbox-group{display:flex;flex-direction:column;gap:.5rem}.jaf-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:rgba(255,255,255,.85);cursor:pointer;padding:.375rem .625rem;border-radius:.5rem;transition:background .15s}.jaf-checkbox-label:hover{background:rgba(255,255,255,.04)}.jaf-checkbox{appearance:none;width:18px;height:18px;min-width:18px;border:2px solid rgba(255,255,255,.25);border-radius:4px;cursor:pointer;transition:all .15s;position:relative}.jaf-checkbox:checked{background:var(--jaf-accent,var(--totem-accent,#e8553a));border-color:var(--jaf-accent,var(--totem-accent,#e8553a))}.jaf-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.jaf-file-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:2px dashed rgba(255,255,255,.15);border-radius:.75rem;cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.jaf-file-zone:hover{background:rgba(255,255,255,.03)}.jaf-file-zone.jaf-file-zone-active,.jaf-file-zone:hover{border-color:var(--jaf-accent,var(--totem-accent,#e8553a))}.jaf-file-zone.jaf-file-zone-active{background:rgba(232,85,58,.06)}.jaf-file-icon{font-size:1.5rem;color:rgba(255,255,255,.4)}.jaf-file-text{font-size:.8125rem;color:rgba(255,255,255,.5)}.jaf-file-text strong{color:var(--jaf-accent,var(--totem-accent,#e8553a))}.jaf-file-info{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgba(255,255,255,.06);border-radius:.5rem;font-size:.8125rem;color:rgba(255,255,255,.7);width:100%}.jaf-file-info-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-weight:500}.jaf-file-remove{background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;font-size:1.125rem;padding:0;transition:color .15s}.jaf-file-remove:hover{color:#f87171}.jaf-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 2rem;border:none;border-radius:9999px;font-size:1rem;font-weight:700;font-family:var(--font-space-grotesk),sans-serif;color:#fff;cursor:pointer;transition:opacity .15s,transform .15s;margin-top:1rem}.jaf-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.jaf-submit:disabled{opacity:.6;cursor:not-allowed}.jaf-success{text-align:center;padding:2rem 1rem}.jaf-success-icon{font-size:3rem;margin-bottom:1rem;display:block}.jaf-success h3{font-family:var(--font-space-grotesk),sans-serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:.5rem}.jaf-success p{color:rgba(255,255,255,.6);font-size:.9rem}.jaf-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:1.25rem 0}.jaf-section-title{font-family:var(--font-space-grotesk),sans-serif;font-size:1rem;font-weight:700;color:#fff;margin-bottom:.75rem}.jaf-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:jaf-spin .6s linear infinite}@keyframes jaf-spin{to{transform:rotate(1turn)}}