.select{align-items:center;gap:var(--space-2);width:100%;height:var(--control-h);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);box-shadow:var(--shadow-hairline);color:var(--color-text);font-size:var(--text-body-sm);text-align:start;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);display:flex}.select:hover:not(:disabled){border-color:var(--color-text-faint)}.select:focus-visible,.select[aria-expanded=true]{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.select:disabled{opacity:.5;cursor:not-allowed}.select--invalid,.select--invalid:hover:not(:disabled){border-color:var(--color-forgot-border)}.select--invalid:focus-visible,.select--invalid[aria-expanded=true]{border-color:var(--color-forgot);box-shadow:0 0 0 3px var(--color-forgot-glow)}.select__value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select__value--placeholder{color:var(--color-text-faint)}.select__chevron{width:16px;height:16px;color:var(--color-text-faint);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0;display:block}.select[aria-expanded=true] .select__chevron{transform:rotate(180deg)}.select__popup{z-index:80;max-width:calc(100vw - var(--space-4));border:1px solid var(--color-border);border-radius:var(--radius-card-sm);background:var(--color-surface);box-shadow:var(--shadow-card-sm);animation:select-in var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:fixed;overflow:hidden}@keyframes select-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.select__popup{animation:none}}.select__search{padding:var(--space-2);border-bottom:1px solid var(--color-divider);flex-shrink:0}.select__search-input{width:100%;height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-body-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.select__search-input::placeholder{color:var(--color-text-faint)}.select__search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.select__list{min-height:0;padding:var(--space-1);overscroll-behavior:contain;flex:1;margin:0;list-style:none;overflow-y:auto}.select__option{align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-text);font-size:var(--text-body-sm);line-height:var(--leading-body);cursor:pointer;display:flex}.select__option--active{background:var(--color-hover)}.select__option--selected{color:var(--color-accent);font-weight:var(--weight-medium)}.select__option--disabled{opacity:.45;cursor:not-allowed}.select__option--disabled.select__option--active{background:0 0}.select__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select__hint{color:var(--color-text-muted);font-size:var(--text-meta);flex-shrink:0}.select__option--selected .select__hint{color:var(--color-accent)}.select__adornment{border:1px solid var(--color-border);border-radius:var(--radius-chip);background:var(--color-surface-sunken);min-width:2.5em;color:var(--color-text-muted);font-size:var(--text-chip);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;padding:1px 6px;display:inline-flex}.select__option--selected .select__adornment{border-color:var(--color-accent-ring);background:var(--color-accent-soft);color:var(--color-accent)}.select__check{width:14px;height:14px;color:var(--color-accent);flex-shrink:0;display:block}.select__empty{padding:var(--space-3);color:var(--color-text-faint);font-size:var(--text-body-sm);text-align:center}.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}}
