.button{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);line-height:1;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button--sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-size-xs)}.button--lg{height:var(--control-height-lg);padding:0 var(--space-5);font-size:var(--font-size-md)}.button--full{width:100%}.button--primary{background:var(--color-accent);color:var(--color-accent-fg)}.button--primary:hover:not(:disabled){filter:brightness(1.08)}.button--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-fg)}.button--secondary:hover:not(:disabled){background:var(--color-surface-2)}.button--ghost{color:var(--color-muted);background:0 0}.button--ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-fg)}.button--danger{background:var(--color-neg-soft);border-color:var(--color-neg);color:var(--color-neg)}.button--danger:hover:not(:disabled){background:var(--color-neg);color:var(--color-accent-fg)}.button__spinner{width:var(--icon-sm);height:var(--icon-sm);animation:.8s linear infinite button-spin}@media (width<=639px){.button{min-height:var(--tap-min)}}@keyframes button-spin{to{transform:rotate(360deg)}}.card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-1)}.card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0;display:flex}@media (width<=639px){.card__header{padding:var(--space-3) var(--space-4) 0}}.card__heading{flex:auto;min-width:0}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.card__toggle{align-items:center;gap:var(--space-2);min-height:var(--control-height-sm);max-width:100%;margin-left:calc(-1 * var(--space-1));padding:0 var(--space-1);border-radius:var(--radius-sm);color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;display:inline-flex}.card__toggle:hover{color:var(--color-accent)}.card__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=639px){.card__toggle{min-height:var(--tap-min)}}.card__title-text{min-width:0}.card__chevron{width:var(--icon-sm);height:var(--icon-sm);color:var(--color-muted);transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}@media (prefers-reduced-motion:reduce){.card__chevron{transition:none}}.card--collapsed .card__chevron{transform:rotate(-90deg)}.card--collapsible .card__subtitle{padding-left:calc(var(--icon-sm) + var(--space-2))}.card--collapsed .card__header{padding-bottom:var(--space-4)}@media (width<=639px){.card--collapsed .card__header{padding-bottom:var(--space-3)}}.card__subtitle{margin-top:var(--space-1);color:var(--color-muted);font-size:var(--font-size-sm)}.card__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.card__body{padding:var(--space-4) var(--space-5) var(--space-5)}@media (width<=639px){.card__body{padding:var(--space-3) var(--space-4) var(--space-4)}}.card__body[hidden]{display:none}.card__body--flush{padding:0}
