.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
:root{--bleu-fonce:var(--color-brand-blue);--bleu-turquoise:var(--color-brand-cyan);--bleu-clair:var(--color-brand-cyan);--blanc:var(--color-bg-secondary);--texte-principal:var(--color-text-primary);--texte-secondaire:var(--color-text-secondary);--fond-clair:var(--color-bg-elevated);--bordure-standard:var(--color-border);--ombre-legere:#0000000d;--ombre-moyenne:#00000014;--ombre-active:color-mix(in srgb, var(--color-brand-cyan) 65%, transparent);--ombre-active-forte:var(--color-brand-cyan);--couleur-succes:var(--color-brand-blue);--couleur-erreur:var(--color-danger);--couleur-now-background:color-mix(in srgb, var(--color-brand-cyan) 12%, var(--color-bg-elevated));--couleur-now-border:var(--color-brand-cyan);--police-principale:var(--font-body)}.calendar_container.calendar_embedded{width:100%;margin:0;padding:0}.calendar_container.calendar_admin{width:100%;max-width:40rem;margin:0 auto;padding:0}.calendar_container{width:100%;max-width:100%;height:auto;min-height:0;font-family:var(--police-principale);color:var(--texte-principal);flex-direction:column;justify-content:center;align-items:center;margin:2rem;display:flex}.calendar_container h3{color:var(--bleu-fonce);text-align:center;margin-bottom:2rem;font-size:1.5rem;font-weight:600}.steps_bar{-webkit-user-select:none;user-select:none;color:var(--texte-secondaire);text-align:center;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:2.5rem;font-size:.9rem;font-weight:600;display:flex}.steps_bar .step{cursor:default;flex-direction:column;align-items:center;gap:.7rem;transition:color .3s;display:flex}.steps_bar .step .step_number{background-color:var(--fond-clair);width:36px;height:36px;color:var(--bleu-fonce);box-shadow:none;border-radius:14px;justify-content:center;align-items:center;margin-bottom:.5rem;font-weight:700;transition:background-color .3s,color .3s;display:flex}.steps_bar .step.active{color:var(--bleu-fonce)}.steps_bar .step.active .step_number{background-color:var(--bleu-turquoise);color:#000;box-shadow:0 0 10px var(--ombre-active)}.steps_bar .step.completed{color:var(--couleur-succes)}.steps_bar .step.completed .step_number{background-color:var(--couleur-succes);color:var(--blanc);box-shadow:none}.react-calendar{font-family:var(--police-principale);background-color:var(--blanc);border:1px solid var(--bordure-standard);max-width:95%;box-shadow:0 3px 10px var(--ombre-legere);border-radius:15px;padding:1.5rem;line-height:1.2em}.react-calendar button{background-color:#2196f336;border:0;border-radius:10px;outline:none;margin:0;transition:background-color .2s,color .2s}.react-calendar button:enabled:hover{cursor:pointer;background-color:var(--fond-clair)}.react-calendar__navigation{justify-content:center;align-items:center;margin-bottom:1.2rem;display:flex}.react-calendar__navigation button{background-color:var(--bleu-clair);min-width:44px;height:44px;color:var(--couleur-succes);cursor:pointer;box-shadow:0 2px 4px var(--ombre-legere);border:none;margin:0 .3rem;padding:4px;transition:background-color .3s,color .3s}.react-calendar__navigation button:disabled{visibility:hidden;background-color:var(--fond-clair)}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:var(--bleu-turquoise);color:#0a0a0a;box-shadow:0 4px 8px var(--ombre-moyenne)}.react-calendar__navigation__label{pointer-events:none;background-color:var(--bleu-clair);color:var(--texte-secondaire);-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;width:180px;margin:0 auto;padding:.4rem 1.2rem;font-size:1rem;font-weight:500;display:flex}.react-calendar__month-view__weekdays,.react-calendar__month-view__days{grid-template-columns:repeat(7,minmax(0,1fr));justify-content:stretch;gap:.35rem;display:grid!important}.react-calendar__month-view__weekdays>*,.react-calendar__month-view__days>*{overflow:visible;flex:none!important;max-width:none!important;margin-inline-start:0!important}.react-calendar__month-view__weekdays{text-align:center;color:var(--bleu-fonce);text-transform:uppercase;background-color:#0000;border-radius:0;padding-bottom:.5rem;font-size:.85em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:0}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.react-calendar__tile{text-align:center;background-color:var(--fond-clair);cursor:pointer;color:var(--texte-principal);border:none;justify-content:center;align-items:center;min-height:48px;padding:10px;transition:background-color .3s,color .3s,transform .2s;display:flex;border-radius:15px!important}.react-calendar__tile:hover,.react-calendar__tile:focus{background-color:var(--bordure-standard);color:#0a0a0a;outline:none;transform:none}.react-calendar__tile--active{background-color:var(--bleu-clair);color:var(--texte-principal);box-shadow:0 0 8px var(--ombre-active);font-weight:700}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{color:var(--blanc);box-shadow:0 0 12px var(--ombre-active-forte);background-color:#0db0c6}.react-calendar__tile--now{border:2px solid var(--couleur-now-border);color:#e91e63;background-color:var(--couleur-now-background);box-shadow:none;font-weight:600;border-radius:15px!important}.react-calendar__tile--neighboringMonth{color:var(--texte-secondaire);cursor:default;opacity:.8;background-color:#0000}.react-calendar__tile:disabled{background-color:var(--fond-clair);color:var(--texte-secondaire);cursor:not-allowed;opacity:.7}.react-calendar .closed-day{opacity:.8;background-color:var(--couleur-erreur)!important;color:var(--blanc)!important;cursor:not-allowed!important;box-shadow:none!important}.time_selection_area{background:var(--blanc);width:100%;box-shadow:0 3px 15px var(--ombre-moyenne);border-radius:12px;flex-direction:column;align-items:center;gap:1.5rem;padding:1.8rem;display:flex}.time_grid{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;max-width:100%;display:flex}.time_bloc{display:flex}.btn_times{background-color:var(--fond-clair);color:var(--bleu-fonce);box-shadow:0 2px 5px var(--ombre-moyenne);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;justify-content:center;align-items:center;min-width:80px;padding:12px 16px;font-weight:600;transition:background-color .3s,color .3s,box-shadow .3s,transform .15s;display:flex;border:none!important;border-radius:8px!important}.btn_times:hover:not(:disabled),.btn_times:focus:not(:disabled){background-color:var(--bordure-standard);color:#0a0a0a;outline:none;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn_times:disabled{background-color:var(--fond-clair);color:var(--texte-secondaire);cursor:not-allowed;box-shadow:none;opacity:.6;pointer-events:none;transform:none}.btn_times.selected{background-color:var(--bleu-clair);color:var(--blanc);box-shadow:0 0 12px var(--ombre-active);font-weight:700;border:none!important;border-radius:8px!important}.btn_times.selected:hover,.btn_times.selected:focus{box-shadow:0 0 16px var(--ombre-active-forte);background-color:#0db0c6;transform:translateY(-2px)}.btn_times.start,.btn_times.end{border:2px solid var(--bleu-clair)!important}.btn_times.in-range{background-color:var(--bordure-standard);color:var(--bleu-clair)}.btn_times.available-for-end{background-color:var(--fond-clair);border:1px dashed var(--bleu-clair);color:var(--bleu-clair)}.summary{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);text-align:center;width:100%;color:var(--color-text-primary);padding:1.2rem 1.5rem;font-weight:600}.summary h4{color:var(--bleu-fonce);margin-bottom:.5rem;font-size:1.1rem}.summary .highlight{color:var(--texte-principal);font-size:1.15rem;font-weight:500;line-height:1.6}.summary .duration{color:var(--texte-secondaire);margin-top:.5rem;font-size:1rem}.helper-text{text-align:center;color:var(--texte-secondaire);margin:0;font-size:.95rem}.loading-message,.error-message{text-align:center;margin:0;font-weight:600}.loading-message{color:var(--bleu-fonce)}.error-message{color:var(--couleur-erreur)}.no-times-available{text-align:center;color:var(--texte-secondaire);padding:1rem 0}.no-times-available p{margin:.3rem 0}.action_buttons{flex-wrap:wrap;justify-content:center;gap:.9rem;width:100%;display:flex}.calendar_confirm_btn{min-width:11rem}.calendar_reset_btn{min-width:9rem}.slots_skeleton{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-bg-elevated) 0%, color-mix(in srgb, var(--color-border) 55%, var(--color-bg-elevated)) 50%, var(--color-bg-elevated) 100%);background-size:200% 100%;width:100%;height:9rem;animation:1.4s ease-in-out infinite calendar-shimmer}@keyframes calendar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.slots_skeleton{background:var(--color-bg-elevated);animation:none}}.btn_confirm,.btn_reset{cursor:pointer;border:none;border-radius:999px;padding:.85rem 1.2rem;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s}.btn_confirm{background:var(--color-accent);color:var(--color-accent-contrast);box-shadow:var(--shadow-card);letter-spacing:.02em;min-width:170px;padding:.95rem 1.5rem}.btn_confirm:hover:not(:disabled),.btn_confirm:focus:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.btn_confirm:focus-visible{outline:2px solid var(--color-brand-cyan);outline-offset:3px}.btn_confirm:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.btn_reset{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-card);min-width:140px}.btn_reset:hover:not(:disabled),.btn_reset:focus:not(:disabled){background:var(--color-bg-elevated);transform:translateY(-1px)}.btn_reset:focus-visible{outline:2px solid var(--color-brand-cyan);outline-offset:3px}.btn_times.booked{background-color:var(--fond-clair);color:var(--texte-secondaire);cursor:not-allowed;border:1px solid var(--bordure-standard);opacity:.8;text-decoration:line-through;position:relative}.btn_times .booked-indicator{color:var(--couleur-erreur);opacity:.7;font-size:1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.action_buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.8rem;display:flex}.action_buttons .btn_confirm,.action_buttons .btn_reset{cursor:pointer;border-radius:10px;min-width:140px;padding:.8rem 1.8rem;font-size:1.05rem;font-weight:600;transition:background-color .25s,box-shadow .25s,transform .15s,border-color .25s;box-shadow:0 2px 5px #0000001a}.action_buttons .btn_confirm{color:#071014;background:linear-gradient(135deg,#00d8cc 0%,#003580 100%)}.action_buttons .btn_confirm:hover:not(:disabled),.action_buttons .btn_confirm:focus:not(:disabled){background-color:var(--bleu-turquoise);transform:translateY(-2px);box-shadow:0 14px 34px #00388057}.action_buttons .btn_reset{color:var(--bleu-fonce);background-color:#fffffff2;border:1px solid #0030802e}.action_buttons .btn_reset:hover:not(:disabled),.action_buttons .btn_reset:focus:not(:disabled){border-color:var(--bleu-clair);background-color:#f8fbff;transform:translateY(-1px);box-shadow:0 6px 14px #0000001f}.action_buttons .btn_confirm:disabled,.action_buttons .btn_reset:disabled{background-color:var(--bordure-standard);color:#777;cursor:not-allowed;box-shadow:none;border-color:#0000;transform:none}.loading-message{text-align:center;color:var(--texte-secondaire);background-color:var(--fond-clair);border:1px solid var(--bordure-standard);border-radius:8px;margin-top:1.5rem;padding:1rem;font-style:italic}.error-message{text-align:center;color:var(--couleur-erreur);background-color:#db02021a;border:1px solid #db02024d;border-radius:8px;margin-top:1.5rem;padding:1rem;font-weight:700}@media (max-width:768px){.calendar_container{margin:1rem}.calendar_container.calendar_embedded{margin:0}.calendar_container h3{margin-bottom:1.5rem;font-size:1.3rem}.react-calendar{width:90%;max-width:100%;padding:1rem}.react-calendar__navigation{gap:.5rem}.react-calendar__navigation button{min-width:44px;height:44px;min-height:44px;margin:0 .2rem;padding:6px;font-size:1.1em}.react-calendar__navigation .react-calendar__navigation__label{width:160px;padding:.3rem .8rem;font-size:.95rem}.steps_bar{flex-flow:wrap;justify-content:center;gap:1rem;font-size:.85rem}.steps_bar .step{flex-direction:row;gap:.4rem}.steps_bar .step .step_number{border-radius:12px;width:30px;height:30px;margin-bottom:0;font-size:.9rem}.time_selection_area{box-sizing:border-box;gap:1.2rem;width:100%;padding:1.2rem}.time_grid{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;justify-content:flex-start;max-height:min(55vh,22rem);padding:.25rem .35rem .5rem;overflow:hidden auto}.btn_times{min-width:65px;padding:10px 12px;font-size:.9rem}.summary{padding:1rem 1.2rem;font-size:.95rem}.summary .highlight{font-size:1.05rem}.action_buttons{flex-direction:column;gap:1rem}.action_buttons .btn_confirm,.action_buttons .btn_reset{width:100%;padding:.7rem 0;font-size:1rem}}@media (max-width:414px){.calendar_container{margin:.8rem}.calendar_container.calendar_embedded{margin:0}.react-calendar{width:100%;max-width:100%;padding:.8rem;font-size:.8rem}.react-calendar__navigation button{min-width:44px;height:44px;min-height:44px;font-size:.9rem}.react-calendar__navigation__label{width:auto;padding:.25rem .6rem;font-size:.85rem}.react-calendar__month-view__days{gap:.3rem}.react-calendar__month-view__weekdays{padding-bottom:.3rem;font-size:.8em}.react-calendar__tile{min-height:44px;padding:6px;font-size:.8rem}.steps_bar{gap:.8rem;font-size:.75rem}.step .step_number{width:28px;height:28px;font-size:.75rem}.time_selection_area{gap:1rem;padding:1rem}.btn_times{min-width:65px;padding:9px 11px;font-size:.85rem}.summary{padding:1rem;font-size:.9rem}.summary .highlight{font-size:1rem}.summary .duration{font-size:.85rem}.action_buttons{flex-direction:column;gap:1rem}.action_buttons .btn_confirm,.action_buttons .btn_reset{width:100%;padding:.6rem 1rem;font-size:.95rem}}@media (max-width:360px){.calendar_container{margin:.5rem}.calendar_container.calendar_embedded{margin:0}.react-calendar{padding:.6rem;font-size:.75rem}.react-calendar__navigation button{min-width:44px;height:44px;min-height:44px;font-size:.8rem}.react-calendar__navigation__label{padding:.2rem .5rem;font-size:.8rem}.react-calendar__month-view__days{gap:.2rem}.react-calendar__tile{min-height:44px;padding:4px;font-size:.75rem}.steps_bar{gap:.6rem;font-size:.65rem}.step .step_number{width:26px;height:26px;font-size:.65rem}.time_selection_area{gap:.7rem;padding:.7rem}.time_grid{gap:.7rem}.btn_times{min-width:55px;padding:7px 9px;font-size:.75rem}.summary{padding:.7rem;font-size:.8rem}.summary .highlight{font-size:.9rem}.summary .duration{font-size:.75rem}.action_buttons{gap:.7rem}.action_buttons .btn_confirm,.action_buttons .btn_reset{padding:.4rem .7rem;font-size:.85rem}}
