#nprogress .bar{background:#29d;z-index:1031;height:2px}#nprogress .peg{box-shadow:0 0 10px #29d,0 0 5px #29d;-webkit-transform:rotate(3deg) translateY(-4px);-ms-transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#nprogress{pointer-events:none}#nprogress .bar{background:hsl(var(--primary));position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px hsl(var(--primary)),0 0 5px hsl(var(--primary));opacity:1;transform:rotate(3deg) translateY(-4px)}.brand-loader{z-index:10001;display:flex;align-items:center;justify-content:center;overflow:hidden;color:hsl(var(--fg));opacity:1;transition:opacity .42s ease,transform .42s ease}.brand-loader-fading{opacity:0;transform:scale(1.025);pointer-events:none}.brand-loader-rings{position:absolute;inset:0;pointer-events:none}.brand-loader-rings span{position:absolute;top:50%;left:50%;width:100px;height:100px;border-radius:999px;background:hsl(var(--accent-soft));transform:translate(-50%,-50%) scale(1);animation:brand-loader-expand 2.5s ease-out infinite backwards}.brand-loader-rings span:nth-child(2){animation-delay:.5s}.brand-loader-rings span:nth-child(3){animation-delay:1s}.brand-loader-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;text-align:center;animation:brand-loader-enter .3s ease-out both}.booking-client-loading .brand-loader-content{animation:none}.brand-loader-content strong{font-size:clamp(2.25rem,5vw,4rem);font-weight:900;line-height:1.05}.brand-loader-message{color:hsl(var(--fg-muted));font-size:1rem;font-weight:500}.brand-loader-dots{position:absolute;bottom:5rem;display:flex;gap:.75rem}.brand-loader-dots span{width:8px;height:8px;border-radius:999px;background:hsl(var(--primary));animation:brand-loader-pulse 1s ease-in-out infinite backwards}.brand-loader-dots span:nth-child(2){animation-delay:.2s}.brand-loader-dots span:nth-child(3){animation-delay:.4s}@keyframes brand-loader-expand{0%{transform:translate(-50%,-50%) scale(1);opacity:.5}to{transform:translate(-50%,-50%) scale(4);opacity:0}}@keyframes brand-loader-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.45}}@keyframes brand-loader-enter{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.brand-loader,.brand-loader-content{transition:none;animation:none}.brand-loader-rings span{display:none}.brand-loader-dots span{animation-duration:2s}}.squelette-differe{animation:squelette-apparition 1ms .4s both}.squelette-differe-paiement{animation-delay:.5s}@keyframes squelette-apparition{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.squelette-differe{animation-duration:1ms}}.theme-bg-main{background-color:hsl(var(--bg))}.theme-bg-header{background-color:hsl(var(--bg-header))}.theme-bg-footer{background-color:hsl(var(--bg-footer))}.theme-bg-dark{background-color:hsl(var(--bg-dark))}.theme-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:.5rem}.theme-text{color:hsl(var(--fg))}.theme-text-muted{color:hsl(var(--fg-muted))}.theme-text-dim{color:hsl(var(--fg-dim))}.theme-text-accent{color:hsl(var(--accent-text))}.theme-text-success{color:hsl(var(--success-text))}.theme-btn-primary{background:linear-gradient(to right,hsl(var(--primary)),hsl(var(--primary-hover)));color:hsl(var(--primary-foreground));padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;transition:all .3s;border:none;cursor:pointer}.theme-btn-primary:hover{transform:scale(1.02);box-shadow:0 4px 12px hsl(var(--primary)/.3)}.theme-btn-primary:active{transform:scale(.98)}.theme-border{border-color:hsl(var(--border))}