*,:after,:before{box-sizing:border-box}:root{--cv-muted-alpha:72%}.cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--cv-space-2);min-height:44px;padding:var(--cv-space-3) var(--cv-space-5);border:1px solid transparent;border-radius:var(--cv-radius-sm);font:600 var(--cv-font-size-base) /1 var(--cv-font-body);color:var(--cv-color-cocoa);cursor:pointer;transition:background-color var(--cv-motion-micro) var(--cv-motion-easing),border-color var(--cv-motion-micro) var(--cv-motion-easing)}.cv-btn:focus-visible{outline:3px solid var(--pw-fg,var(--cv-color-plum));outline-offset:2px}.cv-btn:disabled{opacity:.55;cursor:not-allowed}.cv-btn--primary{background-color:var(--cv-color-coral);background-image:var(--cv-gradient-brand)}.cv-btn--primary:hover:not(:disabled){filter:saturate(1.08) brightness(1.04)}.cv-btn--secondary{background:transparent;border-color:var(--cv-color-cocoa)}.cv-btn--secondary:hover:not(:disabled){background:var(--cv-color-mist)}.cv-btn--ghost{background:transparent}.cv-btn--ghost:hover:not(:disabled){background:var(--cv-color-mist)}.cv-btn--destructive{background:var(--cv-color-danger);color:var(--cv-color-white)}.cv-btn--destructive:hover:not(:disabled){filter:brightness(.92)}.cv-btn__spinner{width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:var(--cv-radius-full);animation:cv-spin .8s linear infinite}@keyframes cv-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.cv-btn{transition:none}.cv-btn__spinner{animation:none;border-right-color:currentcolor;opacity:.6}}.cv-field{display:flex;flex-direction:column;gap:var(--cv-space-1)}.cv-field__label{font:500 var(--cv-font-size-sm) /var(--cv-line-height-body) var(--cv-font-body)}.cv-field__label,.cv-input{color:var(--cv-color-cocoa)}.cv-input{padding:var(--cv-space-3) var(--cv-space-3);border:1px solid var(--cv-color-mist);border-radius:var(--cv-radius-sm);background:var(--cv-color-white);font:400 var(--cv-font-size-base) /var(--cv-line-height-body) var(--cv-font-body);min-height:44px}.cv-input:focus-visible{outline:3px solid var(--pw-fg,var(--cv-color-plum));outline-offset:2px;border-color:var(--pw-fg,var(--cv-color-plum))}.cv-input--error{border-color:var(--cv-color-danger)}.cv-field__error{margin:0;font:400 var(--cv-font-size-sm) /var(--cv-line-height-body) var(--cv-font-body);color:var(--cv-color-danger)}.cv-card{background:var(--cv-color-white);border:1px solid var(--cv-color-mist);border-radius:var(--cv-radius-md);box-shadow:var(--cv-shadow-card);padding:var(--cv-space-5)}.cv-card__title{margin:0 0 var(--cv-space-3);font:600 var(--cv-font-size-lg) /var(--cv-line-height-display) var(--cv-font-body)}.cv-badge,.cv-card__title{color:var(--cv-color-cocoa)}.cv-badge{display:inline-flex;align-items:center;gap:6px;padding:2px var(--cv-space-3);font:600 var(--cv-font-size-xs) /var(--cv-line-height-body) var(--cv-font-body);background:var(--cv-color-mist)}.cv-badge,.cv-badge__dot{border-radius:var(--cv-radius-full)}.cv-badge__dot{width:8px;height:8px;background:var(--cv-color-cocoa)}.cv-badge--success{background:var(--cv-color-success-tint)}.cv-badge--success .cv-badge__dot{background:var(--cv-color-success)}.cv-badge--warning{background:var(--cv-color-warning-tint)}.cv-badge--warning .cv-badge__dot{background:var(--cv-color-warning)}.cv-badge--danger{background:var(--cv-color-danger-tint)}.cv-badge--danger .cv-badge__dot{background:var(--cv-color-danger)}.cv-badge--info{background:var(--cv-color-info-tint)}.cv-badge--info .cv-badge__dot{background:var(--cv-color-info)}.cv-badge--accent{background:rgba(255,94,98,.14)}.cv-badge--accent .cv-badge__dot{background:var(--cv-color-orange)}.cv-money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cv-money__gst{font-size:.9em}.cv-alert.cv-alert--danger{background:var(--cv-color-danger-tint);border-left-color:var(--cv-color-danger)}.cv-alert.cv-alert--warning{background:var(--cv-color-warning-tint);border-left-color:var(--cv-color-warning)}.cv-alert.cv-alert--info{background:var(--cv-color-info-tint);border-left-color:var(--cv-color-info)}.cv-alert.cv-alert--success{background:var(--cv-color-success-tint);border-left-color:var(--cv-color-success)}