.async-state{width:100%;border:1px solid var(--border,#d7ddd6);background:var(--surface,#fbfcf9);min-block-size:clamp(14rem,30vw,21rem);color:var(--text,#171a18);text-align:center;border-radius:14px;place-content:center;justify-items:center;gap:16px;padding:clamp(28px,5vw,64px);display:grid}.async-state--compact{background:var(--surface-soft,#eef2ec);min-block-size:10rem;padding:24px}.async-state__icon{background:color-mix(in srgb, var(--accent,#547b18) 11%, transparent);width:52px;height:52px;color:var(--accent,#547b18);border-radius:14px;place-items:center;display:grid}.async-state__copy{max-width:540px}.async-state__copy h2,.async-state__copy p,.async-state__eyebrow{margin:0}.async-state__copy h2{letter-spacing:-.02em;font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.25}.async-state__copy>p:last-child{color:var(--muted-strong,#4c574e);margin-top:8px;font-size:1rem;line-height:1.65}.async-state__eyebrow{color:var(--accent,#547b18);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:780;line-height:1.3}.async-state__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.async-state__button{border:1px solid var(--border-strong,#c5cec5);background:var(--surface-raised,#fdfefb);min-height:42px;color:var(--text,#171a18);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-weight:720;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-flex}.async-state__button:hover{border-color:var(--accent,#547b18);color:var(--accent,#547b18);transform:translateY(-1px)}.async-state__button--primary{border-color:var(--accent,#547b18);background:var(--accent,#547b18);color:var(--accent-ink,#fbfcf9)}.async-state__button--primary:hover{background:var(--accent-hover,#466b11);color:var(--accent-ink,#fbfcf9)}.async-state__spinner{animation:.9s linear infinite async-state-spin}@keyframes async-state-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.async-state__button{transition:none}.async-state__spinner{animation-duration:1.8s}}@media (width<=520px){.async-state{min-block-size:12rem;padding:24px 18px}.async-state__copy>p:last-child{font-size:.96rem}}
