.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}}