/* Noise Background, adapted from https://ui.aceternity.com/components/noise-background.
   Local SVG grain and animated gradients decorate native buttons, without wrappers,
   canvas, remote images or changes to labels, input semantics and click handlers. */
:where(.ash-noise-relative){position:relative}
:where(.ash-noise-button){isolation:isolate;overflow:hidden}
.ash-noise-button>.ash-noise-surface{--noise-tint:.65;--noise-grain:.24;position:absolute;inset:0;z-index:-1;display:block;border-radius:inherit;overflow:hidden;pointer-events:none;font-size:0;line-height:0}
.ash-noise-surface::before{content:"";position:absolute;inset:-35%;opacity:var(--noise-tint);background:radial-gradient(ellipse at 20% 25%,#d0a46088,transparent 50%),radial-gradient(ellipse at 78% 80%,#a7753d88,transparent 52%),linear-gradient(115deg,#24282e,#53432c 48%,#2a2929);background-size:160% 160%;animation:ash-noise-drift 14s ease-in-out infinite alternate;animation-play-state:paused}
.ash-noise-surface::after{content:"";position:absolute;inset:0;opacity:var(--noise-grain);mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23noise)' d='M0 0h128v128H0z'/%3E%3C/svg%3E")}
.ash-noise-visible>.ash-noise-surface::before{animation-play-state:running}
.ash-noise-button:is(:hover,:focus-visible)>.ash-noise-surface{--noise-tint:.85;--noise-grain:.3}
.customer-app button.primary>.ash-noise-surface{--noise-tint:.16;--noise-grain:.26}
.customer-app button.app-cancel>.ash-noise-surface,.customer-app button.danger>.ash-noise-surface{--noise-tint:.3}
.ash-noise-button.google-login>.ash-noise-surface{--noise-tint:.025;--noise-grain:.12;mix-blend-mode:multiply}
.ash-noise-button:is(.service-tab,.auth-text-button,.reviews-pause,.password-toggle)>.ash-noise-surface{--noise-tint:.23;--noise-grain:.16}
.app-sidebar .ash-noise-button>.ash-noise-surface{--noise-tint:.25;--noise-grain:.16}
.service-tab>.ash-noise-surface{inset:3px 0;border-radius:7px;opacity:.25}
.service-tab:is([aria-selected=true],:hover,:focus-visible)>.ash-noise-surface{opacity:.8}
.auth-modes .ash-noise-button>.ash-noise-surface{--noise-tint:.25}
.auth-modes .ash-noise-button[aria-pressed=true]>.ash-noise-surface{--noise-tint:.6}
.ash-noise-button:is(.service-tab,.auth-text-button,.reviews-pause,.password-toggle):is(:hover,:focus-visible)>.ash-noise-surface{--noise-tint:.5}
.ash-noise-button:disabled>.ash-noise-surface{opacity:.45}
.ash-noise-button>.pearl-surface{display:none}
@keyframes ash-noise-drift{from{transform:translate3d(-4%,-3%,0);background-position:0% 20%}to{transform:translate3d(5%,4%,0);background-position:100% 80%}}
@media(prefers-reduced-motion:reduce){.ash-noise-surface::before{animation:none}}
@media(forced-colors:active){.ash-noise-button>.ash-noise-surface{display:none}}
