.skeleton{border-radius:var(--radius-card-sm);background:linear-gradient(100deg, var(--color-surface-sunken) 30%, var(--color-surface) 47%, var(--color-surface-sunken) 63%);background-size:400% 100%;animation:1.4s infinite skeleton-sweep;display:block}.skeleton-stack{gap:var(--space-2);flex-direction:column;display:flex}.skeleton--line{height:var(--text-body);border-radius:var(--radius-chip)}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}.spinner{border:2px solid var(--color-border-strong);border-radius:var(--radius-pill);border-top-color:currentColor;flex-shrink:0;animation:.7s linear infinite spinner-turn;display:inline-block}.spinner--sm{width:14px;height:14px}.spinner--md{border-width:2.5px;width:22px;height:22px}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--color-surface-sunken);animation:none}.spinner{animation:none}}.dialog{width:min(440px, calc(100vw - var(--space-6) * 2));color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card-lg);box-shadow:var(--shadow-card);margin:auto;padding:0}.dialog::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog__body{gap:var(--space-4);padding:var(--space-6);flex-direction:column;display:flex}.dialog__title{font-size:var(--text-screen-title);font-weight:var(--weight-title);line-height:var(--leading-title)}.dialog__description{font-size:var(--text-body-sm);line-height:var(--leading-body);color:var(--color-text-muted)}.dialog__form{gap:var(--space-4);flex-direction:column;display:flex}.dialog__footer{gap:var(--space-3);justify-content:flex-end;align-items:center;display:flex}@media (prefers-reduced-motion:no-preference){.dialog{opacity:0;transition:opacity var(--duration-swipe) var(--ease-out), transform var(--duration-swipe) var(--ease-out), overlay var(--duration-swipe) allow-discrete, display var(--duration-swipe) allow-discrete;transform:translateY(6px)}.dialog[open]{opacity:1;transform:translateY(0)}@starting-style{.dialog[open]{opacity:0;transform:translateY(6px)}}}.cards{gap:var(--space-3);flex-direction:column;display:flex}.cards__grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card-sm);max-height:62vh;box-shadow:var(--shadow-hairline);grid-template-columns:40px minmax(0,1.4fr) minmax(0,1.4fr) 96px minmax(0,1fr) 40px;display:grid;overflow:auto}.cards__head,.cards__row{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;display:grid}.cards__head{z-index:1;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);position:sticky;top:0}.cards__head .cards__cell{padding:var(--space-3) var(--space-3);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-text-faint)}.cards__row{border-bottom:1px solid var(--color-divider)}.cards__row:last-child{border-bottom:none}.cards__cell{min-width:0;padding:0 var(--space-2);align-items:center;display:flex}.cards__cell--index{padding-right:var(--space-3);font-size:var(--text-chip);color:var(--color-text-faint);justify-content:flex-end}.cards__cell--remove{justify-content:center;padding:0}.cards__input{width:100%;height:42px;padding:0 var(--space-2);font-size:var(--text-body-sm);color:var(--color-text);border-radius:var(--radius-chip);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000}.cards__input:hover:not(:disabled){background:var(--color-hover)}.cards__input:focus{background:var(--color-surface);border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.cards__input:disabled{color:var(--color-text-faint);cursor:not-allowed}.cards__input--error{border-color:var(--color-forgot-border);background:var(--color-forgot-glow)}.cards__input--warning{border-color:var(--color-accent-ring);background:var(--color-accent-soft)}.cards__row--error{background:color-mix(in srgb, var(--color-forgot) 5%, transparent)}.cards__row--warning{background:color-mix(in srgb, var(--color-accent) 4%, transparent)}.cards__note{padding:0 var(--space-2) var(--space-2);grid-column:2/-1}.cards__remove{width:28px;height:28px;color:var(--color-text-faint);border-radius:var(--radius-chip);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.cards__remove svg{width:15px;height:15px}.cards__row:hover .cards__remove,.cards__row:focus-within .cards__remove,.cards__remove:focus-visible{opacity:1}.cards__remove:hover:not(:disabled){color:var(--color-forgot);background:var(--color-forgot-glow)}.cards__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}@media (width<=640px){.cards__grid{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 36px;max-height:none}.cards__cell:nth-child(4),.cards__cell:nth-child(5){display:none}.cards__input{height:var(--touch-target)}.cards__remove{opacity:1}}
