.avatar[data-v-94ff343d]{border-radius:var(--radius-full);color:var(--color-on-primary);font-weight:var(--weight-semibold);letter-spacing:.02em;-webkit-user-select:none;user-select:none;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar__img[data-v-94ff343d]{object-fit:cover;width:100%;height:100%}.badge[data-v-adc22db8]{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.badge__dot[data-v-adc22db8]{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.badge--neutral[data-v-adc22db8]{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.badge--primary[data-v-adc22db8]{background:var(--color-primary-subtle);color:var(--color-primary-text)}.badge--success[data-v-adc22db8]{background:var(--color-success-subtle);color:var(--color-success-text)}.badge--warning[data-v-adc22db8]{background:var(--color-warning-subtle);color:var(--color-warning-text)}.badge--danger[data-v-adc22db8]{background:var(--color-danger-subtle);color:var(--color-danger-text)}.spinner[data-v-645fcc04]{flex:none;animation:.7s linear infinite spin-645fcc04}@keyframes spin-645fcc04{to{transform:rotate(360deg)}}.btn[data-v-5332b3c4]{--btn-h:var(--control-md);--btn-px:var(--space-4);--btn-bg:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--color-text);--btn-border:transparent;justify-content:center;align-items:center;gap:var(--space-2);height:var(--btn-h);padding:0 var(--btn-px);border:1px solid var(--btn-border);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn[data-v-5332b3c4]:hover{background:var(--btn-bg-hover);text-decoration:none}.btn[data-v-5332b3c4]:active:not(.btn--disabled){background:var(--btn-bg-active)}.btn[data-v-5332b3c4]:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);border-radius:var(--radius-md);outline:none}.btn--disabled[data-v-5332b3c4]{cursor:not-allowed;opacity:.5;pointer-events:none}.btn--loading[data-v-5332b3c4]{cursor:progress;opacity:.85}.btn__icon[data-v-5332b3c4]{flex:none}.btn__label[data-v-5332b3c4]{text-overflow:ellipsis;overflow:hidden}.btn--sm[data-v-5332b3c4]{--btn-h:var(--control-sm);--btn-px:var(--space-3);gap:var(--space-1);border-radius:var(--radius-sm)}.btn--lg[data-v-5332b3c4]{--btn-h:var(--control-lg);--btn-px:var(--space-6);font-size:var(--text-md)}.btn--icon-only[data-v-5332b3c4]{width:var(--btn-h);padding:0}.btn--block[data-v-5332b3c4]{width:100%;display:flex}.btn--primary[data-v-5332b3c4]{--btn-bg:var(--color-primary);--btn-bg-hover:var(--color-primary-hover);--btn-bg-active:var(--color-primary-active);--btn-fg:var(--color-on-primary);box-shadow:var(--shadow-xs)}.btn--secondary[data-v-5332b3c4]{--btn-bg:var(--color-primary-subtle);--btn-bg-hover:var(--color-primary-subtle-hover);--btn-bg-active:var(--color-primary-subtle-hover);--btn-fg:var(--color-primary-text)}.btn--outline[data-v-5332b3c4]{--btn-bg:var(--color-bg-elevated);--btn-bg-hover:var(--color-bg-hover);--btn-bg-active:var(--color-bg-active);--btn-border:var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn--ghost[data-v-5332b3c4]{--btn-bg-hover:var(--color-bg-hover);--btn-bg-active:var(--color-bg-active);--btn-fg:var(--color-text-secondary)}.btn--ghost[data-v-5332b3c4]:hover{color:var(--color-text)}.btn--danger[data-v-5332b3c4]{--btn-bg:var(--color-danger);--btn-bg-hover:var(--color-danger-hover);--btn-bg-active:var(--color-danger-hover);--btn-fg:var(--color-on-primary)}.btn--link[data-v-5332b3c4]{--btn-fg:var(--color-primary-text);--btn-px:0;height:auto;font-weight:var(--weight-medium)}.btn--link[data-v-5332b3c4]:hover{text-decoration:underline}.card[data-v-e6423610]{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);min-width:0}.card--p-sm[data-v-e6423610]{padding:var(--space-3)}.card--p-md[data-v-e6423610]{padding:var(--space-5)}.card--p-lg[data-v-e6423610]{padding:var(--space-8)}.card--interactive[data-v-e6423610]:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}@media (width<=640px){.card--p-md[data-v-e6423610]{padding:var(--space-4)}.card--p-lg[data-v-e6423610]{padding:var(--space-5)}}.check[data-v-1aae2629]{gap:var(--space-3);align-items:flex-start;display:flex}.check__box-wrap[data-v-1aae2629]{flex:none;width:20px;height:20px;margin-top:2px;position:relative}.check__input[data-v-1aae2629]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.check__box[data-v-1aae2629]{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:#0000;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.check__input:hover+.check__box[data-v-1aae2629]{border-color:var(--color-primary)}.check__input:checked+.check__box[data-v-1aae2629]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.check__input:focus-visible+.check__box[data-v-1aae2629]{box-shadow:0 0 0 3px var(--color-focus-ring)}.check__text[data-v-1aae2629]{gap:2px;display:grid}.check__label[data-v-1aae2629]{cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium)}.check__desc[data-v-1aae2629]{font-size:var(--text-sm);color:var(--color-text-muted)}.check__error[data-v-1aae2629]{font-size:var(--text-sm);color:var(--color-danger-text)}.check--disabled[data-v-1aae2629]{opacity:.5}.check--disabled .check__input[data-v-1aae2629],.check--disabled .check__label[data-v-1aae2629]{cursor:not-allowed}.empty[data-v-5f9f8fa3]{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.empty--compact[data-v-5f9f8fa3]{padding:var(--space-6) var(--space-4)}.empty__icon[data-v-5f9f8fa3]{width:48px;height:48px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:var(--color-bg-subtle);color:var(--color-text-muted);place-items:center;display:grid}.empty__title[data-v-5f9f8fa3]{font-size:var(--text-md);font-weight:var(--weight-semibold)}.empty__desc[data-v-5f9f8fa3]{max-width:40ch;color:var(--color-text-muted);font-size:var(--text-sm)}.empty__action[data-v-5f9f8fa3]{margin-top:var(--space-3)}.err[data-v-7937cd28]{align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);text-align:center;border-radius:var(--radius-lg);background:var(--color-danger-subtle);flex-direction:column;display:flex}.err__icon[data-v-7937cd28]{color:var(--color-danger-text)}.err__title[data-v-7937cd28]{font-size:var(--text-md);font-weight:var(--weight-semibold)}.err__msg[data-v-7937cd28]{max-width:44ch;margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.field[data-v-a4ab9ef9]{align-content:start;gap:var(--space-2);min-width:0;display:grid}.field__top[data-v-a4ab9ef9]{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.field__label[data-v-a4ab9ef9]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.field__required[data-v-a4ab9ef9]{color:var(--color-danger-text);margin-left:2px}.field__counter[data-v-a4ab9ef9]{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.field__counter--over[data-v-a4ab9ef9]{color:var(--color-danger-text)}.field__hint[data-v-a4ab9ef9],.field__error[data-v-a4ab9ef9]{font-size:var(--text-sm);line-height:1.4}.field__hint[data-v-a4ab9ef9]{color:var(--color-text-muted)}.field__error[data-v-a4ab9ef9]{color:var(--color-danger-text)}.control[data-v-1b96f029]{--control-h:var(--control-md);align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-xs);display:flex;position:relative}.control[data-v-1b96f029]:hover{border-color:var(--color-text-disabled)}.control[data-v-1b96f029]:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.control--sm[data-v-1b96f029]{--control-h:var(--control-sm);border-radius:var(--radius-sm)}.control--lg[data-v-1b96f029]{--control-h:var(--control-lg);padding:0 var(--space-4)}.control--error[data-v-1b96f029],.control--error[data-v-1b96f029]:hover{border-color:var(--color-danger)}.control--error[data-v-1b96f029]:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 25%, transparent)}.control--disabled[data-v-1b96f029]{background:var(--color-bg-subtle);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.control--disabled[data-v-1b96f029]:hover{border-color:var(--color-border-strong)}.control__native[data-v-1b96f029]{min-width:0;height:calc(var(--control-h) - 2px);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1;padding:0}.control--sm .control__native[data-v-1b96f029]{font-size:var(--text-sm)}.control__native[type=search][data-v-1b96f029]{appearance:none}.control__native[data-v-1b96f029]::-webkit-search-decoration{appearance:none}.control__native[data-v-1b96f029]::-webkit-search-cancel-button{appearance:none}.control__native[data-v-1b96f029]::placeholder{color:var(--color-text-disabled)}.control__native[data-v-1b96f029]:disabled{cursor:not-allowed}.control__icon[data-v-1b96f029]{color:var(--color-text-muted);flex:none}.control__action[data-v-1b96f029]{width:28px;height:28px;margin-right:calc(var(--space-1) * -1);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.control__action[data-v-1b96f029]:hover{background:var(--color-bg-hover);color:var(--color-text)}.control__action[data-v-1b96f029]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:0}.modal[data-v-d74d5a34]{z-index:var(--z-modal);padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}.modal__backdrop[data-v-d74d5a34]{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:absolute;inset:0}.modal__panel[data-v-d74d5a34]{width:100%;max-height:calc(100dvh - var(--space-8));background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;position:relative}.modal__panel--sm[data-v-d74d5a34]{max-width:400px}.modal__panel--md[data-v-d74d5a34]{max-width:520px}.modal__panel--lg[data-v-d74d5a34]{max-width:720px}.modal__header[data-v-d74d5a34]{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) 0;display:flex}.modal__title[data-v-d74d5a34]{font-size:var(--text-lg)}.modal__desc[data-v-d74d5a34]{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm)}.modal__body[data-v-d74d5a34]{padding:var(--space-5);overflow-y:auto}.modal__footer[data-v-d74d5a34]{justify-content:flex-end;gap:var(--space-2);padding:0 var(--space-5) var(--space-5);display:flex}@media (width<=640px){.modal[data-v-d74d5a34]{place-items:end stretch;padding:0}.modal__panel[data-v-d74d5a34]{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:none;padding-bottom:env(safe-area-inset-bottom)}.modal__footer[data-v-d74d5a34]{flex-direction:column-reverse}.modal__footer[data-v-d74d5a34] .btn{width:100%}}.ph[data-v-34991dc2]{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ph__text[data-v-34991dc2]{gap:var(--space-1);min-width:0;display:grid}.ph__desc[data-v-34991dc2]{color:var(--color-text-secondary)}.ph__actions[data-v-34991dc2]{gap:var(--space-2);flex-wrap:wrap;display:flex}.control[data-v-69fee80e]{--control-h:var(--control-md);align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-xs);display:flex;position:relative}.control[data-v-69fee80e]:hover{border-color:var(--color-text-disabled)}.control[data-v-69fee80e]:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.control--sm[data-v-69fee80e]{--control-h:var(--control-sm);border-radius:var(--radius-sm)}.control--lg[data-v-69fee80e]{--control-h:var(--control-lg);padding:0 var(--space-4)}.control--error[data-v-69fee80e],.control--error[data-v-69fee80e]:hover{border-color:var(--color-danger)}.control--error[data-v-69fee80e]:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 25%, transparent)}.control--disabled[data-v-69fee80e]{background:var(--color-bg-subtle);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.control--disabled[data-v-69fee80e]:hover{border-color:var(--color-border-strong)}.control__native[data-v-69fee80e]{min-width:0;height:calc(var(--control-h) - 2px);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1;padding:0}.control--sm .control__native[data-v-69fee80e]{font-size:var(--text-sm)}.control__native[type=search][data-v-69fee80e]{appearance:none}.control__native[data-v-69fee80e]::-webkit-search-decoration{appearance:none}.control__native[data-v-69fee80e]::-webkit-search-cancel-button{appearance:none}.control__native[data-v-69fee80e]::placeholder{color:var(--color-text-disabled)}.control__native[data-v-69fee80e]:disabled{cursor:not-allowed}.control__icon[data-v-69fee80e]{color:var(--color-text-muted);flex:none}.control__action[data-v-69fee80e]{width:28px;height:28px;margin-right:calc(var(--space-1) * -1);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.control__action[data-v-69fee80e]:hover{background:var(--color-bg-hover);color:var(--color-text)}.control__action[data-v-69fee80e]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:0}.select[data-v-69fee80e]{appearance:none;cursor:pointer;padding-right:var(--space-6)}.select--placeholder[data-v-69fee80e]{color:var(--color-text-disabled)}.chevron[data-v-69fee80e]{right:var(--space-3);pointer-events:none;position:absolute}.sk[data-v-83c90aae]{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-skeleton) 0%, var(--color-skeleton-shine) 50%, var(--color-skeleton) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer-83c90aae;display:block}.sk--circle[data-v-83c90aae]{border-radius:var(--radius-full);flex:none}.sk-lines[data-v-83c90aae]{gap:var(--space-2);width:100%;display:grid}@keyframes shimmer-83c90aae{0%{background-position:200% 0}to{background-position:-200% 0}}.switch[data-v-fbc7a206]{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.switch__text[data-v-fbc7a206]{gap:2px;display:grid}.switch__label[data-v-fbc7a206]{font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.switch__desc[data-v-fbc7a206]{font-size:var(--text-sm);color:var(--color-text-muted)}.switch__track-wrap[data-v-fbc7a206]{flex:none;width:40px;height:24px;position:relative}.switch__input[data-v-fbc7a206]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch__track[data-v-fbc7a206]{border-radius:var(--radius-full);background:var(--color-border-strong);pointer-events:none;width:100%;height:100%;display:block}.switch__thumb[data-v-fbc7a206]{border-radius:var(--radius-full);background:var(--color-on-primary);width:20px;height:20px;box-shadow:var(--shadow-sm);position:absolute;top:2px;left:2px}.switch__input:checked+.switch__track[data-v-fbc7a206]{background:var(--color-primary)}.switch__input:checked+.switch__track .switch__thumb[data-v-fbc7a206]{transform:translate(16px)}.switch__input:focus-visible+.switch__track[data-v-fbc7a206]{box-shadow:0 0 0 3px var(--color-focus-ring)}.switch--disabled[data-v-fbc7a206]{opacity:.5}.switch--disabled .switch__input[data-v-fbc7a206]{cursor:not-allowed}.control[data-v-62524eb3]{--control-h:var(--control-md);align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-xs);display:flex;position:relative}.control[data-v-62524eb3]:hover{border-color:var(--color-text-disabled)}.control[data-v-62524eb3]:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.control--sm[data-v-62524eb3]{--control-h:var(--control-sm);border-radius:var(--radius-sm)}.control--lg[data-v-62524eb3]{--control-h:var(--control-lg);padding:0 var(--space-4)}.control--error[data-v-62524eb3],.control--error[data-v-62524eb3]:hover{border-color:var(--color-danger)}.control--error[data-v-62524eb3]:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 25%, transparent)}.control--disabled[data-v-62524eb3]{background:var(--color-bg-subtle);color:var(--color-text-disabled);cursor:not-allowed;box-shadow:none}.control--disabled[data-v-62524eb3]:hover{border-color:var(--color-border-strong)}.control__native[data-v-62524eb3]{min-width:0;height:calc(var(--control-h) - 2px);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1;padding:0}.control--sm .control__native[data-v-62524eb3]{font-size:var(--text-sm)}.control__native[type=search][data-v-62524eb3]{appearance:none}.control__native[data-v-62524eb3]::-webkit-search-decoration{appearance:none}.control__native[data-v-62524eb3]::-webkit-search-cancel-button{appearance:none}.control__native[data-v-62524eb3]::placeholder{color:var(--color-text-disabled)}.control__native[data-v-62524eb3]:disabled{cursor:not-allowed}.control__icon[data-v-62524eb3]{color:var(--color-text-muted);flex:none}.control__action[data-v-62524eb3]{width:28px;height:28px;margin-right:calc(var(--space-1) * -1);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.control__action[data-v-62524eb3]:hover{background:var(--color-bg-hover);color:var(--color-text)}.control__action[data-v-62524eb3]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:0}.control--multiline[data-v-62524eb3]{padding:var(--space-2) var(--space-3);align-items:stretch}.control--multiline .control__native[data-v-62524eb3]{resize:none;height:auto;line-height:var(--leading-normal)}.toaster[data-v-a6055cd8]{z-index:var(--z-toast);right:var(--space-4);bottom:var(--space-4);gap:var(--space-2);width:min(380px, calc(100vw - var(--space-8)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast[data-v-a6055cd8]{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;display:flex}.toast__icon[data-v-a6055cd8]{flex:none;margin-top:1px}.toast--info .toast__icon[data-v-a6055cd8]{color:var(--color-primary)}.toast--success .toast__icon[data-v-a6055cd8]{color:var(--color-success)}.toast--error .toast__icon[data-v-a6055cd8]{color:var(--color-danger)}.toast--warning .toast__icon[data-v-a6055cd8]{color:var(--color-warning)}.toast__text[data-v-a6055cd8]{flex:1;min-width:0}.toast__title[data-v-a6055cd8]{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.toast__desc[data-v-a6055cd8]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.toast__close[data-v-a6055cd8]{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.toast__close[data-v-a6055cd8]:hover{background:var(--color-bg-hover);color:var(--color-text)}@media (width<=640px){.toaster[data-v-a6055cd8]{left:var(--space-4);right:var(--space-4);width:auto;bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}}
