@charset "UTF-8";.picker-content[data-v-a15dd9e9]{display:flex;flex-direction:column;min-height:400px;max-height:60vh;overflow:hidden}.modal-overlay[data-v-a15dd9e9]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-a15dd9e9]{background:var(--color-background);border-radius:var(--border-radius-lg);width:90%;max-width:500px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-a15dd9e9]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m);border-bottom:1px solid var(--color-border)}.modal-header h3[data-v-a15dd9e9]{margin:0;color:var(--color-text)}.close-btn[data-v-a15dd9e9]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-base);transition:all .2s ease}.close-btn[data-v-a15dd9e9]:hover{background:var(--color-background-hover)}.loading-state[data-v-a15dd9e9],.empty-state[data-v-a15dd9e9]{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.spinner[data-v-a15dd9e9]{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-a15dd9e9 .8s linear infinite;margin:0 auto var(--spacing-m)}@keyframes spin-a15dd9e9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state svg[data-v-a15dd9e9]{color:var(--color-text-muted);margin-bottom:var(--spacing-m)}.items-container[data-v-a15dd9e9]{flex:1;overflow-y:auto;padding:var(--spacing-s) 0}.item-button[data-v-a15dd9e9]{display:flex;align-items:flex-start;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-m);background:none;border:none;width:100%;cursor:pointer;transition:background .2s ease;text-align:left}.item-button[data-v-a15dd9e9]:hover{background:var(--color-background-hover)}.item-icon[data-v-a15dd9e9]{width:40px;height:40px;border-radius:var(--border-radius-base);display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-info[data-v-a15dd9e9]{flex:1;min-width:0}.item-title[data-v-a15dd9e9]{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-3xs)}.item-preview[data-v-a15dd9e9]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3xs);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.item-meta[data-v-a15dd9e9]{display:flex;gap:var(--spacing-xs);align-items:center;font-size:var(--font-size-xs)}.item-meta[data-v-a15dd9e9] span{color:var(--color-text-muted)}.item-meta[data-v-a15dd9e9] .status-active{background:var(--color-success);color:#fff;padding:2px 6px;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium)}.item-meta[data-v-a15dd9e9] .status-upcoming{background:var(--color-info);color:#fff;padding:2px 6px;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium)}.item-meta[data-v-a15dd9e9] .status-ended{background:var(--color-text-muted);color:#fff;padding:2px 6px;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium)}.select-icon[data-v-a15dd9e9]{color:var(--color-text-secondary);margin-top:var(--spacing-xs)}[data-v-4d056229] .photo-count{color:var(--color-text-secondary)}[data-v-4d056229] .album-date{color:var(--color-text-muted);margin-left:var(--spacing-xs)}.gallery-embed-card[data-v-6922f482]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:8px;cursor:default;-webkit-user-select:none;user-select:none;transition:border-color .15s ease}.gallery-embed-card.is-selected[data-v-6922f482]{border-color:var(--color-primary)}.gallery-embed-icon[data-v-6922f482]{font-size:20px;flex-shrink:0}.gallery-embed-info[data-v-6922f482]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.gallery-embed-title[data-v-6922f482]{font-weight:600;color:var(--color-text-base);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-embed-meta[data-v-6922f482]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.gallery-embed-actions[data-v-6922f482]{display:flex;gap:4px;flex-shrink:0}.gallery-embed-btn[data-v-6922f482]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text-secondary);cursor:pointer;font-size:13px;transition:all .15s ease}.gallery-embed-btn[data-v-6922f482]:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.gallery-embed-btn-delete[data-v-6922f482]:hover{border-color:var(--color-danger);color:var(--color-danger)}.gallery-embed-overlay[data-v-6922f482]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.gallery-embed-picker-container[data-v-6922f482]{background:var(--color-background-dark);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.gallery-embed-picker-header[data-v-6922f482]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border);flex-shrink:0}.gallery-embed-picker-header h3[data-v-6922f482]{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.gallery-embed-close[data-v-6922f482]{background:transparent;border:none;color:var(--color-text-secondary);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.gallery-embed-close[data-v-6922f482]:hover{background:var(--color-hover-bg)}.gallery-display-card[data-v-c58699ae]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;margin:8px 0;transition:all .18s ease;text-decoration:none}.gallery-display-card[data-v-c58699ae]:hover,.gallery-display-card[data-v-c58699ae]:focus-visible{border-color:var(--color-primary);background:#6b21ef0f;outline:none}.gallery-display-icon[data-v-c58699ae]{font-size:22px;flex-shrink:0}.gallery-display-info[data-v-c58699ae]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.gallery-display-title[data-v-c58699ae]{font-weight:600;color:var(--color-text-base);font-size:var(--font-size-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-display-meta[data-v-c58699ae]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.gallery-display-cta[data-v-c58699ae]{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;flex-shrink:0}.cookie-banner[data-v-ff2868b8]{position:fixed;bottom:0;left:0;right:0;z-index:8500;padding:1rem}.cookie-banner-content[data-v-ff2868b8]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem;max-width:720px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;box-shadow:0 -2px 24px #0003}@media(max-width:640px){.cookie-banner-content[data-v-ff2868b8]{flex-direction:column;align-items:flex-start;gap:1rem}}.cookie-banner-text[data-v-ff2868b8]{flex:1}.cookie-banner-text strong[data-v-ff2868b8]{display:block;font-size:.95rem;font-weight:600;color:var(--color-text-base);margin-bottom:.25rem}.cookie-banner-text p[data-v-ff2868b8]{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.5}.cookie-banner-actions[data-v-ff2868b8]{display:flex;align-items:center;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.cookie-btn-accept[data-v-ff2868b8]{background:var(--color-primary);color:var(--color-btn-text, #fff);border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.cookie-btn-accept[data-v-ff2868b8]:hover{opacity:.88}.cookie-btn-decline[data-v-ff2868b8]{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;cursor:pointer;white-space:nowrap;transition:border-color .15s}.cookie-btn-decline[data-v-ff2868b8]:hover{border-color:var(--color-text-muted)}.cookie-privacy-link[data-v-ff2868b8]{font-size:.8rem;color:var(--color-text-muted);text-decoration:underline;white-space:nowrap}.banner-slide-enter-active[data-v-ff2868b8],.banner-slide-leave-active[data-v-ff2868b8]{transition:transform .25s ease,opacity .25s ease}.banner-slide-enter-from[data-v-ff2868b8],.banner-slide-leave-to[data-v-ff2868b8]{transform:translateY(100%);opacity:0}.perm-onboarding-overlay[data-v-3507edea]{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:9999;padding-bottom:env(safe-area-inset-bottom)}@media(min-width:600px){.perm-onboarding-overlay[data-v-3507edea]{align-items:center}}.perm-sheet[data-v-3507edea]{background:var(--surface-color, #1e1e2e);border-radius:20px 20px 0 0;padding:2rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom));max-width:480px;width:100%}@media(min-width:600px){.perm-sheet[data-v-3507edea]{border-radius:20px;padding-bottom:1.5rem}}.perm-icon-wrap[data-v-3507edea]{display:flex;justify-content:center;margin-bottom:1.25rem}.perm-icon[data-v-3507edea]{width:56px;height:56px;color:var(--primary-color, #7c3aed)}.perm-title[data-v-3507edea]{font-size:1.3rem;font-weight:700;color:var(--text-primary, #fff);margin:0 0 .75rem;text-align:center}.perm-body[data-v-3507edea]{color:var(--text-secondary, #aaa);font-size:.95rem;margin:0 0 1rem;line-height:1.5}.perm-list[data-v-3507edea]{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.6rem}.perm-list li[data-v-3507edea]{display:flex;align-items:flex-start;gap:.5rem;color:var(--text-primary, #fff);font-size:.9rem}.perm-check[data-v-3507edea]{flex-shrink:0;width:18px;height:18px;margin-top:2px;color:var(--primary-color, #7c3aed)}.perm-steps[data-v-3507edea]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.perm-step[data-v-3507edea]{display:flex;align-items:center;gap:.75rem;color:var(--text-primary, #fff);font-size:.9rem}.step-num[data-v-3507edea]{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--primary-color, #7c3aed);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}.perm-notice[data-v-3507edea]{display:flex;gap:.5rem;background:var(--surface-hover, rgba(255, 255, 255, .06));border-radius:10px;padding:.75rem;margin-bottom:1.25rem}.notice-icon[data-v-3507edea]{flex-shrink:0;width:18px;height:18px;margin-top:2px;color:var(--primary-color, #7c3aed)}.perm-notice p[data-v-3507edea]{margin:0;font-size:.82rem;color:var(--text-secondary, #aaa);line-height:1.4}.perm-instruction[data-v-3507edea]{font-size:.88rem;color:var(--text-secondary, #aaa);margin:0 0 1.25rem;text-align:center}.perm-actions[data-v-3507edea]{display:flex;flex-direction:column;gap:.6rem}.btn-primary[data-v-3507edea]{width:100%;padding:.85rem;border:none;border-radius:12px;background:var(--primary-color, #7c3aed);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary[data-v-3507edea]:hover{opacity:.9}.btn-secondary[data-v-3507edea]{width:100%;padding:.75rem;border:none;border-radius:12px;background:transparent;color:var(--text-secondary, #aaa);font-size:.95rem;cursor:pointer}.btn-secondary[data-v-3507edea]:hover{color:var(--text-primary, #fff)}.tf-toast-progress[data-v-81f5a227]{height:var(--tf-toast-progress-height);width:100%;border-radius:0 0 var(--tf-toast-progress-border-radius) var(--tf-toast-progress-border-radius);background:var(--tf-toast-progress-bg)}.tf-toast-progress-bar[data-v-81f5a227]{height:100%;background:var(--tf-toast-progress-bar-bg);animation-name:tf-toast-progress-rtl-81f5a227;animation-duration:var(--tf-toast-progress-duration, 5s);animation-timing-function:linear;animation-fill-mode:forwards}.tf-toast-progress[data-align=left-to-right] .tf-toast-progress-bar[data-v-81f5a227]{width:0;animation-name:tf-toast-progress-ltr-81f5a227}@keyframes tf-toast-progress-rtl-81f5a227{0%{width:100%}to{width:0}}@keyframes tf-toast-progress-ltr-81f5a227{0%{width:0}to{width:100%}}.tf-toast-wrapper[data-v-a7af361a]{pointer-events:auto;width:100%}.tf-toast[data-v-a7af361a]{cursor:pointer;position:relative;width:100%;--tf-toast-button-color: var(--tf-toast-color);--tf-toast-button-border-color: var(--tf-toast-border-color);--tf-toast-button-border-width: var(--tf-toast-border-width);--tf-toast-button-bg: var(--tf-toast-bg);--tf-toast-close-color: var(--tf-toast-color);--tf-toast-close-border-color: var(--tf-toast-border-color);--tf-toast-close-bg: var(--tf-toast-bg);--tf-toast-close-ring-color: var(--tf-toast-close-border-color);--tf-toast-created-at-color: var(--tf-toast-description-color);--tf-toast-created-at-border-color: var(--tf-toast-border-color);--tf-toast-created-at-bg: var(--tf-toast-bg)}.tf-toast--swipe-enabled[data-v-a7af361a]{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}.tf-toast--swipe-enabled[data-v-a7af361a]:active{cursor:grabbing}.tf-toast[data-align=right] .tf-toast-main-content[data-v-a7af361a]{flex-direction:row-reverse}.tf-toast[data-align=right] .tf-toast-text[data-v-a7af361a]{text-align:right}.tf-toast-accent--default[data-v-a7af361a]{--tf-toast-color: var(--tf-toast-normal-color-default);--tf-toast-bg: var(--tf-toast-normal-bg-default);--tf-toast-border-color: var(--tf-toast-normal-border-default);--tf-toast-title-color: var(--tf-toast-normal-title-color-default);--tf-toast-description-color: var( --tf-toast-normal-description-color-default );--tf-toast-progress-bg: var(--tf-toast-normal-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-normal-progress-bar-bg-default)}.tf-toast-accent--loading[data-v-a7af361a]{--tf-toast-color: var(--tf-toast-loading-color-default);--tf-toast-bg: var(--tf-toast-loading-bg-default);--tf-toast-border-color: var(--tf-toast-loading-border-default);--tf-toast-title-color: var(--tf-toast-loading-title-color-default);--tf-toast-description-color: var( --tf-toast-loading-description-color-default );--tf-toast-progress-bg: var(--tf-toast-loading-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-loading-progress-bar-bg-default)}.tf-toast-accent--success[data-v-a7af361a]{--tf-toast-color: var(--tf-toast-success-color-default);--tf-toast-bg: var(--tf-toast-success-bg-default);--tf-toast-border-color: var(--tf-toast-success-border-default);--tf-toast-title-color: var(--tf-toast-success-title-color-default);--tf-toast-description-color: var( --tf-toast-success-description-color-default );--tf-toast-progress-bg: var(--tf-toast-success-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-success-progress-bar-bg-default)}.tf-toast-accent--error[data-v-a7af361a]{--tf-toast-color: var(--tf-toast-error-color-default);--tf-toast-bg: var(--tf-toast-error-bg-default);--tf-toast-border-color: var(--tf-toast-error-border-default);--tf-toast-title-color: var(--tf-toast-error-title-color-default);--tf-toast-description-color: var(--tf-toast-error-description-color-default);--tf-toast-progress-bg: var(--tf-toast-error-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-error-progress-bar-bg-default)}.tf-toast-accent--warning[data-v-a7af361a]{--tf-toast-color: var(--tf-toast-warning-color-default);--tf-toast-bg: var(--tf-toast-warning-bg-default);--tf-toast-border-color: var(--tf-toast-warning-border-default);--tf-toast-title-color: var(--tf-toast-warning-title-color-default);--tf-toast-description-color: var( --tf-toast-warning-description-color-default );--tf-toast-progress-bg: var(--tf-toast-warning-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-warning-progress-bar-bg-default)}.tf-toast-accent--info[data-v-a7af361a]{--tf-toast-color: var(--tf-toast-info-color-default);--tf-toast-bg: var(--tf-toast-info-bg-default);--tf-toast-border-color: var(--tf-toast-info-border-default);--tf-toast-title-color: var(--tf-toast-info-title-color-default);--tf-toast-description-color: var(--tf-toast-info-description-color-default);--tf-toast-progress-bg: var(--tf-toast-info-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-info-progress-bar-bg-default)}.tf-toast-surface[data-v-a7af361a]{position:relative;display:block;min-width:0;padding:var(--tf-toast-padding);border-radius:var(--tf-toast-border-radius);background-color:var(--tf-toast-bg);color:var(--tf-toast-color);border:var(--tf-toast-border-width) solid var(--tf-toast-border-color);font-family:var(--tf-toast-font-family),sans-serif;overflow:hidden}.tf-toast-main[data-v-a7af361a]{display:flex;align-items:stretch;gap:var(--tf-toast-buttons-content-gap);width:100%}.tf-toast-main--full>.tf-toast-main-content[data-v-a7af361a]{width:100%;min-width:0;flex:1 1 100%}.tf-toast-main--content-end>.tf-toast-main-content[data-v-a7af361a]{margin-left:auto;max-width:100%;flex:0 1 auto}.tf-toast-main--content-end>.tf-toast-main-content>.tf-toast-body[data-v-a7af361a]{flex:0 1 auto;min-width:0}.tf-toast-main-content[data-v-a7af361a]{display:flex;align-items:center;gap:var(--tf-toast-gap);min-width:0;flex:1 1 auto}.tf-toast-meta[data-v-a7af361a]{display:flex;flex-direction:column;gap:calc(var(--tf-toast-gap) / 2);min-width:0;flex-shrink:0}.tf-toast-meta--left[data-v-a7af361a]{align-items:flex-start}.tf-toast-meta--right[data-v-a7af361a]{align-items:flex-end}.tf-toast-meta-row[data-v-a7af361a]{display:flex;min-width:0}.tf-toast-meta-row--top[data-v-a7af361a]{margin-bottom:var(--tf-toast-buttons-content-gap)}.tf-toast-meta-row--bottom[data-v-a7af361a]{margin-top:var(--tf-toast-buttons-content-gap)}.tf-toast-meta-row[data-v-a7af361a] .tf-toast-actions--start{margin-right:auto}.tf-toast-meta-row[data-v-a7af361a] .tf-toast-actions--end{margin-left:auto}[data-v-a7af361a] .tf-toast-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--tf-toast-buttons-gap)}[data-v-a7af361a] .tf-toast-buttons--center{margin-top:auto;margin-bottom:auto}[data-v-a7af361a] .tf-toast-buttons--bottom{margin-top:auto}[data-v-a7af361a] .tf-toast-actions--start{justify-content:flex-start}[data-v-a7af361a] .tf-toast-actions--end{justify-content:flex-end}[data-v-a7af361a] .tf-toast-button{appearance:none;border:var(--tf-toast-button-border-width) solid var(--tf-toast-button-border-color);background:var(--tf-toast-button-bg);color:var(--tf-toast-button-color);border-radius:var(--tf-toast-button-border-radius);font-size:var(--tf-toast-button-font-size);line-height:var(--tf-toast-button-line-height);padding:var(--tf-toast-button-padding-y) var(--tf-toast-button-padding-x);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit}.tf-toast-icon-spin[data-v-a7af361a]{display:inline-block;animation:tf-toast-spin-a7af361a .8s linear infinite;transform-origin:center}@keyframes tf-toast-spin-a7af361a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tf-toast-icon-svg[data-v-a7af361a]{width:var(--tf-toast-icon-size);height:var(--tf-toast-icon-size)}.tf-toast-icon--loading .tf-toast-icon-svg[data-v-a7af361a]{color:var(--tf-toast-icon-loading)}.tf-toast-icon--default .tf-toast-icon-svg[data-v-a7af361a]{color:var(--tf-toast-icon-default)}.tf-toast-icon--success .tf-toast-icon-svg[data-v-a7af361a]{color:var(--tf-toast-icon-success)}.tf-toast-icon--error .tf-toast-icon-svg[data-v-a7af361a]{color:var(--tf-toast-icon-error)}.tf-toast-icon--warning .tf-toast-icon-svg[data-v-a7af361a]{color:var(--tf-toast-icon-warning)}.tf-toast-icon--info .tf-toast-icon-svg[data-v-a7af361a]{color:var(--tf-toast-icon-info)}.tf-toast-body[data-v-a7af361a]{position:relative;z-index:1;min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.tf-toast-body--has-created-at[data-v-a7af361a]{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:calc(var(--tf-toast-gap) / 2);grid-auto-flow:row}.tf-toast-body--has-created-at[data-v-a7af361a]>:not(.tf-toast-created-at){grid-column:1}.tf-toast-text[data-v-a7af361a]{min-width:0}.tf-toast-created-at[data-v-a7af361a]{color:var(--tf-toast-created-at-color);font-size:var(--tf-toast-created-at-font-size);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:end;justify-self:end;grid-column:2;grid-row:1}.tf-toast[data-align=right] .tf-toast-created-at[data-v-a7af361a]{text-align:right;width:100%;display:flex;justify-content:flex-end}.tf-toast[data-align=right] .tf-toast-body--has-created-at[data-v-a7af361a]{grid-template-columns:auto minmax(0,1fr)}.tf-toast[data-align=right] .tf-toast-body--has-created-at>.tf-toast-created-at[data-v-a7af361a]{grid-column:1;justify-self:start}.tf-toast[data-align=right] .tf-toast-body--has-created-at[data-v-a7af361a]>:not(.tf-toast-created-at){grid-column:2}.tf-toast-floating-bar[data-v-a7af361a]{position:absolute;top:0;right:0;transform:translate(calc(var(--tf-toast-close-size) * var(--tf-toast-float-x)),calc(var(--tf-toast-close-size) * var(--tf-toast-float-y)));display:inline-flex;align-items:center;gap:var(--tf-toast-created-at-offset);height:var(--tf-toast-close-size);pointer-events:auto;z-index:2}.tf-toast-created-at-float[data-v-a7af361a]{display:inline-flex;align-items:center;height:var(--tf-toast-close-size);padding:0 var(--tf-toast-created-at-padding-x);border-radius:var(--tf-toast-created-at-border-radius);border:var(--tf-toast-close-border-width) solid var(--tf-toast-created-at-border-color);background:var(--tf-toast-created-at-bg);color:var(--tf-toast-created-at-color);font-size:var(--tf-toast-created-at-font-size);font-style:italic;white-space:nowrap;pointer-events:none}.tf-toast-title[data-v-a7af361a]{margin:0;font-size:var(--tf-toast-title-font-size);font-weight:var(--tf-toast-title-font-weight);line-height:var(--tf-toast-title-line-height);color:var(--tf-toast-title-color);word-wrap:break-word}.tf-toast-description[data-v-a7af361a]{margin:0;font-size:var(--tf-toast-description-font-size);line-height:var(--tf-toast-description-line-height);color:var(--tf-toast-description-color);word-wrap:break-word}.tf-toast-close[data-v-a7af361a]{position:relative;height:var(--tf-toast-close-size);width:var(--tf-toast-close-size);border-radius:var(--tf-toast-close-border-radius);border:var(--tf-toast-close-border-width) solid var(--tf-toast-close-border-color);background:var(--tf-toast-close-bg);color:var(--tf-toast-close-color);font-size:var(--tf-toast-close-font-size);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0;pointer-events:auto;z-index:2}.tf-toast-close-icon[data-v-a7af361a]{width:var(--tf-toast-close-icon-size);height:var(--tf-toast-close-icon-size)}.tf-toast-close[data-v-a7af361a]:focus-visible{outline:2px solid var(--tf-toast-close-ring-color);outline-offset:2px}.tf-toast-progress-wrapper[data-v-a7af361a]{position:absolute;left:0;right:0;bottom:0;margin:0}.tf-toast-root[data-v-1a3edcd4]{pointer-events:none;position:fixed;inset:0}.tf-toast-stack[data-v-1a3edcd4]{position:absolute;height:100%;display:flex;align-items:flex-start}.tf-toast-stack-inner[data-v-1a3edcd4]{display:flex;flex-direction:column;position:relative;width:100%;box-sizing:border-box}.tf-toast-stack-inner--scroll[data-v-1a3edcd4]{max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-top:var(--tf-toast-stack-padding-top);padding-right:var(--tf-toast-stack-padding-right);padding-bottom:var(--tf-toast-stack-padding-bottom);padding-left:var(--tf-toast-stack-padding-left);scroll-padding:var(--tf-toast-stack-padding-top) var(--tf-toast-stack-padding-right) var(--tf-toast-stack-padding-bottom) var(--tf-toast-stack-padding-left)}.tf-toast-stack-inner--bottom[data-v-1a3edcd4]{min-height:100%;justify-content:flex-end}.tf-toast-stack--left[data-v-1a3edcd4]{justify-content:flex-start}.tf-toast-stack--center[data-v-1a3edcd4]{justify-content:center}.tf-toast-stack--right[data-v-1a3edcd4]{justify-content:flex-end}.tf-toast-item[data-v-1a3edcd4]{pointer-events:auto;width:100%}.tooltip[data-v-226933a8]{animation:fade-in .2s ease forwards}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-content{background:var(--color-background-base);border-radius:var(--border-radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-content--glass{background:color-mix(in srgb,var(--color-background-base) 70%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.modal-header{padding:var(--spacing-m) var(--spacing-l);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-l)}.modal-footer{padding:var(--spacing-m) var(--spacing-l);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-s);justify-content:flex-end}.modal-enter-active,.modal-leave-active{transition:opacity .3s ease}.modal-enter-from,.modal-leave-to{opacity:0}.bounce-banner[data-v-f544d3c1]{display:flex;align-items:center;gap:.6rem;padding:.625rem 1rem;background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-warning, #f59e0b) 30%,transparent);font-size:.875rem;color:var(--color-text-primary);flex-shrink:0}.bounce-banner__icon[data-v-f544d3c1]{color:var(--color-warning, #f59e0b);flex-shrink:0}.bounce-banner__text[data-v-f544d3c1]{flex:1;min-width:0}.bounce-banner__link[data-v-f544d3c1]{flex-shrink:0;background:none;border:none;padding:0;font-size:.875rem;font-weight:600;color:var(--color-primary);cursor:pointer;font-family:inherit;text-decoration:underline;white-space:nowrap}.bounce-banner__dismiss[data-v-f544d3c1]{flex-shrink:0;background:none;border:none;padding:.125rem;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;border-radius:4px}.bounce-banner__dismiss[data-v-f544d3c1]:hover{color:var(--color-text-secondary)}.avatar-display[data-v-393c7b56]{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--gradient-primary);color:#fff;font-weight:600;-webkit-user-select:none;user-select:none;flex-shrink:0}.avatar-display.clickable[data-v-393c7b56]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.avatar-display.clickable[data-v-393c7b56]:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.avatar-small[data-v-393c7b56]{width:32px;height:32px;font-size:13px}.avatar-medium[data-v-393c7b56]{width:48px;height:48px;font-size:18px}.avatar-large[data-v-393c7b56]{width:80px;height:80px;font-size:32px}.avatar-xlarge[data-v-393c7b56]{width:120px;height:120px;font-size:48px}.avatar-image[data-v-393c7b56]{width:100%;height:100%;object-fit:cover}.avatar-initials[data-v-393c7b56]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-transform:uppercase;letter-spacing:.5px}.avatar-status[data-v-393c7b56]{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:50%;border:2px solid var(--bg-primary)}.status-online[data-v-393c7b56]{background:#10b981}.status-offline[data-v-393c7b56]{background:#6b7280}.status-away[data-v-393c7b56]{background:#f59e0b}.status-busy[data-v-393c7b56]{background:#ef4444}.avatar-badge[data-v-393c7b56]{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary)}.avatar-small .avatar-status[data-v-393c7b56]{width:8px;height:8px;border-width:1px}.avatar-small .avatar-badge[data-v-393c7b56]{min-width:16px;height:16px;font-size:10px;padding:0 4px;top:-2px;right:-2px}.avatar-large .avatar-status[data-v-393c7b56],.avatar-xlarge .avatar-status[data-v-393c7b56]{width:20%;height:20%;min-width:12px;min-height:12px;border-width:3px}.avatar-large .avatar-badge[data-v-393c7b56],.avatar-xlarge .avatar-badge[data-v-393c7b56]{min-width:24px;height:24px;font-size:12px;padding:0 8px;top:-6px;right:-6px}@keyframes pulse-393c7b56{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.status-online[data-v-393c7b56]{animation:pulse-393c7b56 2s infinite}@media(prefers-color-scheme:dark){.avatar-status[data-v-393c7b56],.avatar-badge[data-v-393c7b56]{border-color:var(--bg-primary)}}.notification-center[data-v-f7c78c31]{position:relative;z-index:var(--z-index-dropdown)}.notification-bell[data-v-f7c78c31]{background:none;border:none;color:var(--color-text-base);cursor:pointer;padding:var(--spacing-xs);border-radius:50%;position:relative;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.notification-bell[data-v-f7c78c31]:hover{background:var(--color-overlay-light)}.notification-bell.has-unread[data-v-f7c78c31]{animation:pulse-f7c78c31 2s infinite}@keyframes pulse-f7c78c31{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.notification-badge[data-v-f7c78c31]{position:absolute;top:4px;right:4px;background:var(--color-danger);color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:var(--font-weight-bold);min-width:16px;text-align:center}.notification-dropdown[data-v-f7c78c31]{position:absolute;top:calc(100% + 8px);right:0;width:400px;max-width:calc(100vw - 32px);transform:translate(0);background:var(--color-background-xlight);border:1px solid var(--color-border);border-radius:calc(var(--border-radius-base) * 2);box-shadow:0 20px 40px #0006,0 8px 16px #0003;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);max-height:500px;overflow-y:auto}:root.theme-light .notification-dropdown[data-v-f7c78c31]{background:var(--color-background-base)}.notification-overlay[data-v-f7c78c31]{position:fixed;inset:0;z-index:calc(var(--z-index-dropdown) - 1)}.notification-header[data-v-f7c78c31]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-m);border-bottom:1px solid var(--color-border)}.notification-header h3[data-v-f7c78c31]{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.notification-actions[data-v-f7c78c31]{display:flex;align-items:center;gap:var(--spacing-s)}.mark-all-read-btn[data-v-f7c78c31]{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-2xs) var(--spacing-xs);border-radius:8px;transition:background-color .2s ease}.mark-all-read-btn[data-v-f7c78c31]:hover{background:var(--color-overlay-medium)}.close-btn[data-v-f7c78c31]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn[data-v-f7c78c31]:hover{background:var(--color-overlay-medium);color:var(--color-text-secondary)}.notification-loading[data-v-f7c78c31]{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.spinner[data-v-f7c78c31]{width:24px;height:24px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin-f7c78c31 1s linear infinite;margin:0 auto var(--spacing-s)}@keyframes spin-f7c78c31{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notifications-list[data-v-f7c78c31]{max-height:400px;overflow-y:auto}.notification-item[data-v-f7c78c31]{display:flex;align-items:flex-start;gap:var(--spacing-s);padding:var(--spacing-m);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .2s ease;position:relative}.notification-item[data-v-f7c78c31]:hover{background:var(--color-overlay-light)}.notification-item.unread[data-v-f7c78c31]{background:#3b82f60d;border-left:3px solid var(--color-primary)}.notification-item.group-invitation[data-v-f7c78c31]{border-left:3px solid #f59e0b}.notification-item.developer-invitation[data-v-f7c78c31]{border-left:3px solid #3b82f6;background:#3b82f60d}.notification-item.family-invite[data-v-f7c78c31]{border-left:3px solid #10b981;background:#10b9810d}.notification-item.family-invite-cancelled[data-v-f7c78c31]{border-left:3px solid var(--color-text-secondary);opacity:.85}.notification-item.priority-info[data-v-f7c78c31]{border-left:3px solid #3b82f6;background:#3b82f608}.notification-item.priority-warning[data-v-f7c78c31]{border-left:3px solid #f59e0b;background:#f59e0b0d}.notification-item.priority-urgent[data-v-f7c78c31]{border-left:3px solid #ef4444;background:#ef444414}.notification-icon[data-v-f7c78c31]{font-size:20px;flex-shrink:0;margin-top:2px}.notification-content[data-v-f7c78c31]{flex:1;min-width:0}.notification-title[data-v-f7c78c31]{margin:0 0 var(--spacing-2xs) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.notification-message[data-v-f7c78c31]{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.4}.notification-item.unread .notification-title[data-v-f7c78c31]{font-weight:var(--font-weight-bold);color:#fff}.notification-item.unread .notification-message[data-v-f7c78c31]{font-weight:var(--font-weight-medium);color:#e5e7eb}.notification-item.unread .notification-type-icon[data-v-f7c78c31]{color:#fff}:root.theme-light .notification-item.unread .notification-title[data-v-f7c78c31]{color:#111827}:root.theme-light .notification-item.unread .notification-message[data-v-f7c78c31]{color:#1f2937}:root.theme-light .notification-item.unread .notification-type-icon[data-v-f7c78c31]{color:#111827}.notification-meta[data-v-f7c78c31]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-xs)}.notification-time[data-v-f7c78c31]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.invitation-actions[data-v-f7c78c31]{display:flex;gap:var(--spacing-xs)}.invitation-status[data-v-f7c78c31]{display:flex;align-items:center}.status-accepted[data-v-f7c78c31]{color:var(--color-success);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status-declined[data-v-f7c78c31]{color:var(--color-danger);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status-expired[data-v-f7c78c31]{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);opacity:.8;display:flex;align-items:center;gap:var(--spacing-2xs)}.status-icon[data-v-f7c78c31]{width:12px;height:12px}.accept-btn[data-v-f7c78c31],.decline-btn[data-v-f7c78c31]{padding:var(--spacing-2xs) var(--spacing-xs);border-radius:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:all .2s ease}.accept-btn[data-v-f7c78c31]{background:var(--color-success);color:#fff}.accept-btn[data-v-f7c78c31]:hover:not(:disabled){background:#059669}.decline-btn[data-v-f7c78c31]{background:var(--color-danger);color:#fff}.decline-btn[data-v-f7c78c31]:hover:not(:disabled){background:#dc2626}.accept-btn[data-v-f7c78c31]:disabled,.decline-btn[data-v-f7c78c31]:disabled{opacity:.6;cursor:not-allowed}.developer-accept[data-v-f7c78c31]{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.developer-accept[data-v-f7c78c31]:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb)}.view-family-btn[data-v-f7c78c31]{padding:var(--spacing-2xs) var(--spacing-xs);border-radius:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.view-family-btn[data-v-f7c78c31]:hover{background:var(--color-hover-bg);color:var(--color-text-base)}.unread-indicator[data-v-f7c78c31]{width:8px;height:8px;background:var(--color-primary);border-radius:50%;flex-shrink:0;margin-top:6px}.notifications-empty[data-v-f7c78c31]{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.empty-icon[data-v-f7c78c31]{font-size:3rem;margin-bottom:var(--spacing-s);opacity:.5}.notification-footer[data-v-f7c78c31]{padding:var(--spacing-s);border-top:1px solid var(--color-border);text-align:center}.view-all-btn[data-v-f7c78c31]{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:var(--spacing-xs);border-radius:8px;transition:background-color .2s ease;width:100%}.view-all-btn[data-v-f7c78c31]:hover{background:var(--color-overlay-medium)}@media(max-width:768px){.notification-dropdown[data-v-f7c78c31]{width:350px;transform:translate(0);max-width:calc(100vw - 16px)}.notification-item[data-v-f7c78c31]{padding:var(--spacing-s)}.notification-meta[data-v-f7c78c31]{flex-direction:column;align-items:flex-start}}@media(max-width:600px){.notification-dropdown[data-v-f7c78c31]{right:16px;width:calc(100vw - 32px)}}@media(max-width:480px){.notification-dropdown[data-v-f7c78c31]{width:calc(100vw - 16px);right:8px;max-width:none}}.navbar[data-v-19a2355f]{position:fixed;top:0;left:0;right:0;height:calc(56px + env(safe-area-inset-top));background:var(--color-background-dark);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);z-index:var(--z-index-nav);display:flex;align-items:flex-end;justify-content:flex-start;padding:0 var(--spacing-m) 8px var(--spacing-m);padding-top:calc(12px + env(safe-area-inset-top));transition:transform .3s ease}.navbar-hidden[data-v-19a2355f]{transform:translateY(-100%)}.hamburger[data-v-19a2355f]{background:none;border:none;color:var(--color-text-primary);font-size:20px;cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;width:40px;height:40px}.logo[data-v-19a2355f]{position:fixed;left:50vw;transform:translate(-50%);bottom:12px;display:flex;align-items:center;justify-content:center}.navbar-logo[data-v-19a2355f]{width:32px;height:32px;object-fit:contain}.nav-left-group[data-v-19a2355f],.nav-right-group[data-v-19a2355f]{position:fixed;top:calc(90px + env(safe-area-inset-top));background:var(--color-background-dark);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:0 0 var(--border-radius-base) var(--border-radius-base);box-shadow:0 8px 25px var(--color-shadow)}.nav-left-group[data-v-19a2355f]{left:0;right:50%}.nav-right-group[data-v-19a2355f]{left:50%;right:0}.nav-menu-left[data-v-19a2355f],.nav-menu-right[data-v-19a2355f]{max-height:0;overflow:hidden;transition:max-height .3s ease;list-style:none;margin:0;padding:0}.nav-menu-left.active[data-v-19a2355f],.nav-menu-right.active[data-v-19a2355f]{max-height:100vh;overflow-y:auto}.nav-spacer[data-v-19a2355f]{flex:1;border-bottom:none}.notification-item[data-v-19a2355f]{display:flex;align-items:center;border-bottom:none}.nav-item[data-v-19a2355f]{border-bottom:1px solid var(--color-border)}.nav-link[data-v-19a2355f]{display:block;padding:var(--spacing-s) var(--spacing-m);color:var(--color-text-primary);text-decoration:none;font-weight:700;transition:color .3s ease}.nav-link[data-v-19a2355f]:hover{color:var(--color-text-hover)}.admin-link[data-v-19a2355f]{background:linear-gradient(135deg,#dc2626,#ef4444)!important;color:#fff!important;margin:var(--spacing-xs);border-radius:12px;font-weight:var(--font-weight-medium);text-align:center}.admin-link[data-v-19a2355f]:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)!important;color:#fff!important}.admin-icon[data-v-19a2355f]{width:16px;height:16px;margin-right:.25rem}.developer-link[data-v-19a2355f]{background:linear-gradient(135deg,#2563eb,#3b82f6)!important;color:#fff!important;margin:var(--spacing-xs);border-radius:12px;font-weight:var(--font-weight-medium);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.developer-icon[data-v-19a2355f]{width:16px;height:16px}.developer-link[data-v-19a2355f]:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb)!important;color:#fff!important}@media(min-width:768px){.navbar[data-v-19a2355f]{height:48px;padding:0 var(--spacing-m);align-items:center;display:flex;justify-content:space-between}.navbar-hidden[data-v-19a2355f]{transform:none}.hamburger[data-v-19a2355f]{display:none}.logo[data-v-19a2355f]{position:static;transform:none}.nav-left-group[data-v-19a2355f],.nav-right-group[data-v-19a2355f]{position:static;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.nav-left-group[data-v-19a2355f]{left:auto;right:auto}.nav-right-group[data-v-19a2355f]{left:auto;right:auto;margin-left:auto;margin-right:var(--spacing-m)}.nav-menu-left[data-v-19a2355f],.nav-menu-right[data-v-19a2355f]{position:static;display:flex;align-items:center;background:none;border:none;max-height:none;overflow:visible}.nav-item[data-v-19a2355f]{border:none}.nav-link[data-v-19a2355f]{padding:var(--spacing-xs) var(--spacing-s)}.has-dropdown .dropdown[data-v-19a2355f]{min-width:200px;left:auto;right:0}}.user-profile-item .profile-link[data-v-19a2355f]{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)}.user-profile-item .profile-link .chevron[data-v-19a2355f]{color:var(--color-text-base)}.navbar-avatar[data-v-19a2355f]{width:32px;height:32px;border:2px solid rgba(255,255,255,.2)}.profile-dropdown[data-v-19a2355f]{min-width:210px;padding:var(--spacing-xs) 0}.profile-dropdown .dropdown-item[data-v-19a2355f]{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-s) var(--spacing-m);color:var(--color-text-primary);transition:all .2s ease}.profile-dropdown .dropdown-item[data-v-19a2355f]:hover{background:var(--color-overlay-medium);color:var(--color-primary)}.profile-dropdown .dropdown-icon[data-v-19a2355f]{font-size:var(--font-size-sm);width:16px;flex-shrink:0}.profile-dropdown .logout-item[data-v-19a2355f]{color:var(--color-danger)}.mobile-only[data-v-19a2355f]{display:none}@media(max-width:768px){.mobile-only[data-v-19a2355f]{display:block}}.admin-badge[data-v-19a2355f]{background:linear-gradient(135deg,#ef44441a,#dc26261a);border-left:3px solid var(--color-danger)}.admin-badge[data-v-19a2355f]:hover{background:linear-gradient(135deg,#ef444433,#dc262633)}.developer-badge[data-v-19a2355f]{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-left:3px solid var(--color-primary)}.developer-badge[data-v-19a2355f]:hover{background:linear-gradient(135deg,#3b82f633,#2563eb33)}.profile-dropdown .logout-item[data-v-19a2355f]:hover{background:#ef44441a;color:var(--color-danger)}.dropdown-divider[data-v-19a2355f]{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0;list-style:none}.user-profile-item .profile-dropdown.show[data-v-19a2355f]{opacity:1;visibility:visible;transform:translateY(0)}.theme-section-header[data-v-19a2355f]{padding:var(--spacing-s) var(--spacing-m);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-base);text-transform:uppercase;letter-spacing:.05em;list-style:none;border-bottom:none}.theme-item[data-v-19a2355f]{padding-left:calc(var(--spacing-m) + var(--spacing-s))!important}.dropdown-icon-spacer[data-v-19a2355f]{display:inline-block;width:16px;flex-shrink:0}.flyout-item[data-v-19a2355f]{position:relative}.flyout-trigger[data-v-19a2355f]{justify-content:space-between!important}.flyout-caret[data-v-19a2355f]{margin-left:auto;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .15s}.flyout-item:hover .flyout-caret[data-v-19a2355f]{color:var(--color-primary)}.flyout-menu[data-v-19a2355f]{position:absolute;right:calc(100% + 6px);top:-4px;min-width:200px;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 28px #0000002e;padding:4px 0;list-style:none;margin:0;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:calc(var(--z-index-nav) + 1)}.flyout-item:hover .flyout-menu[data-v-19a2355f]{opacity:1;visibility:visible}.flyout-menu .dropdown-item[data-v-19a2355f]{white-space:nowrap}.language-flyout-outer[data-v-19a2355f]{overflow:hidden;padding:0!important}.language-list[data-v-19a2355f]{max-height:272px;overflow-y:auto;list-style:none;margin:0;padding:4px 0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.language-item[data-v-19a2355f]{font-size:.875rem;white-space:nowrap}.lang-scroll-hint[data-v-19a2355f]{display:flex;align-items:center;justify-content:center;height:30px;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--color-background-secondary) 85%,transparent) 100%);border-top:1px solid var(--color-border);color:var(--color-text-tertiary);pointer-events:none;flex-shrink:0}.force-update-screen[data-v-026b10c0]{position:fixed;inset:0;z-index:9999;background:#0a0a0a;display:flex;align-items:center;justify-content:center;padding:40px 24px}.force-update-content[data-v-026b10c0]{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:300px;text-align:center}.app-logo[data-v-026b10c0]{width:100px;height:100px;border-radius:22px;margin-bottom:8px}.title[data-v-026b10c0]{font-size:24px;font-weight:700;color:#fff;margin:0}.message[data-v-026b10c0]{font-size:15px;line-height:1.55;color:#aaa;margin:0}.version-hint[data-v-026b10c0]{font-size:13px;color:#666;margin:0}.update-btn[data-v-026b10c0]{margin-top:8px;padding:15px 0;width:100%;background:linear-gradient(135deg,#ee4f27,#ff6b47);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.update-btn[data-v-026b10c0]:active{opacity:.85}:root{--tf-toast-border-radius: var(--border-radius-base, 12px);--tf-toast-font-family: inherit}.app[data-v-a3c7d950]{min-height:100vh;display:flex;flex-direction:column;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}@media(max-width:768px){.app[data-v-a3c7d950]{width:100%;min-height:100vh}}.mobile-drawer[data-v-a3c7d950]{position:fixed;top:0;left:-280px;width:280px;height:100vh;background:radial-gradient(circle at center,rgba(238,79,39,.08) 0%,rgba(255,155,38,.04) 30%,transparent 60%),var(--color-background-xlight);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.mobile-drawer.open[data-v-a3c7d950]{transform:translate(280px)}:root.theme-light .mobile-drawer[data-v-a3c7d950]{background:radial-gradient(circle at center,rgba(238,79,39,.06) 0%,rgba(255,155,38,.03) 30%,transparent 60%),var(--color-background-base)}.mobile-drawer-overlay[data-v-a3c7d950]{position:fixed;inset:0;background:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:999}.mobile-drawer-overlay.active[data-v-a3c7d950]{opacity:1;visibility:visible}.drawer-header[data-v-a3c7d950]{padding:var(--spacing-m);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.drawer-logo[data-v-a3c7d950]{display:flex;align-items:center;gap:var(--spacing-xs)}.drawer-logo-img[data-v-a3c7d950]{width:28px;height:28px;object-fit:contain}.drawer-logo-text[data-v-a3c7d950]{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-base)}.drawer-close[data-v-a3c7d950]{background:none;border:none;color:var(--color-text-secondary);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.drawer-close[data-v-a3c7d950]:hover{background:var(--color-overlay-light)}.drawer-nav[data-v-a3c7d950]{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-s) 0 120px 0;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;max-height:calc(100vh - 80px);min-height:0;scroll-padding-top:var(--spacing-m);scroll-padding-bottom:120px}.drawer-link[data-v-a3c7d950]{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-m);color:var(--color-text-base);text-decoration:none;font-weight:700;transition:background .2s}.drawer-link[data-v-a3c7d950]:hover{background:var(--color-overlay-light)}.drawer-link.admin-badge[data-v-a3c7d950]{background:linear-gradient(135deg,#ef444426,#dc26261a);border-left:4px solid var(--color-danger);color:var(--color-danger);font-weight:700}.drawer-link.admin-badge[data-v-a3c7d950]:hover{background:linear-gradient(135deg,#ef444440,#dc262633)}.drawer-link.developer-badge[data-v-a3c7d950]{background:linear-gradient(135deg,#3b82f626,#2563eb1a);border-left:4px solid var(--color-primary);color:var(--color-primary);font-weight:700}.drawer-link.developer-badge[data-v-a3c7d950]:hover{background:linear-gradient(135deg,#3b82f640,#2563eb33)}.drawer-link.admin[data-v-a3c7d950],.drawer-link.logout[data-v-a3c7d950]{color:var(--color-text-base)}.drawer-icon[data-v-a3c7d950]{width:20px;height:20px;flex-shrink:0}.drawer-notification-badge[data-v-a3c7d950]{background:var(--color-danger);color:#fff;border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:600;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-left:auto}.drawer-link.has-unread[data-v-a3c7d950]{position:relative}.drawer-divider[data-v-a3c7d950]{height:1px;background:var(--color-border);margin:var(--spacing-m) var(--spacing-s)}.drawer-section[data-v-a3c7d950]{margin-top:var(--spacing-m);padding-top:var(--spacing-m)}.drawer-section-title[data-v-a3c7d950]{padding:var(--spacing-xs) var(--spacing-m);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.drawer-icon-spacer[data-v-a3c7d950]{display:inline-block;width:20px;flex-shrink:0}.drawer-accordion-trigger[data-v-a3c7d950]{width:100%;display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-m);background:none;border:none;color:var(--color-text-base);font-family:inherit;font-weight:700;font-size:inherit;cursor:pointer;text-align:left;transition:background .2s}.drawer-accordion-trigger[data-v-a3c7d950]:hover{background:var(--color-overlay-light)}.drawer-accordion-caret[data-v-a3c7d950]{margin-left:auto;color:var(--color-text-secondary);flex-shrink:0;transition:transform .2s ease}.drawer-accordion-body[data-v-a3c7d950]{border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-background) 30%,transparent)}.drawer-sub-link[data-v-a3c7d950]{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-m);padding-left:calc(var(--spacing-m) + var(--spacing-s));color:var(--color-text-base);text-decoration:none;font-size:.9375rem;font-weight:500;transition:background .2s;border:none;background:none;width:100%;cursor:pointer;font-family:inherit;text-align:left}.drawer-sub-link[data-v-a3c7d950]:hover{background:var(--color-overlay-light)}.drawer-sub-link--active[data-v-a3c7d950]{color:var(--color-text-base)}.drawer-link.theme-link[data-v-a3c7d950]{padding-left:calc(var(--spacing-m) + var(--spacing-s))}.drawer-bottom[data-v-a3c7d950]{margin-top:auto;padding-top:var(--spacing-m);border-top:1px solid var(--color-border)}.edge-swipe-zone[data-v-a3c7d950]{position:fixed;left:0;top:70px;top:calc(70px + env(safe-area-inset-top));width:20px;height:calc(100vh - 70px - env(safe-area-inset-top));z-index:998;touch-action:pan-x;display:flex;align-items:center;justify-content:flex-start;padding-left:2px}.swipe-hint[data-v-a3c7d950]{display:none}@media(max-width:768px){.content[data-v-a3c7d950]{margin-top:0!important;padding:0!important}}:root{--color-primary: #6b21ef;--color-secondary: #077ac7;--color-accent-primary: #ff9b26;--color-accent-secondary: #ee4f27;--color-accent-blue: #077ac7;--color-accent-violet: #6b21ef;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-primary-dark: color-mix(in srgb, var(--color-primary) 80%, black);--color-primary-light: color-mix(in srgb, var(--color-primary) 70%, white)}:root,:root.theme-dark{--color-background: #050505;--color-background-base: #050505;--color-background-xdark: #0a0a0a;--color-background-dark: #111111;--color-background-light: #181818;--color-background-xlight: #202020;--color-background-card: rgba(255, 255, 255, .05);--color-background-secondary: #111111;--color-text: #eeeaf8;--color-text-base: #eeeaf8;--color-text-primary: #eeeaf8;--color-text-light: #f8f6fd;--color-text-xlight: #ffffff;--color-text-dark: #ccc6de;--color-text-xdark: #b8b2cc;--color-text-secondary: #6f87a0;--color-text-tertiary: #6f87a0;--color-text-hover: #ffffff;--color-text-muted: #9ca3af;--color-text-disabled: #6b7280;--color-shadow: rgba(0, 0, 0, .3);--color-border: rgba(255, 255, 255, .1);--color-input-bg: rgba(255, 255, 255, .05);--color-hover-bg: rgba(255, 255, 255, .08);--color-overlay-light: rgba(255, 255, 255, .02);--color-overlay-medium: rgba(255, 255, 255, .05);--color-overlay-strong: rgba(255, 255, 255, .1);--color-overlay-stronger: rgba(255, 255, 255, .15);--color-overlay-backdrop: rgba(0, 0, 0, .85);--color-border-light: rgba(255, 255, 255, .05);--color-border-medium: rgba(255, 255, 255, .2);--color-border-strong: rgba(255, 255, 255, .3);--calendar-picker-filter: invert(1);--input-color-scheme: dark}:root.theme-light{--color-background: #ffffff;--color-background-base: #ffffff;--color-background-xlight: #f8f9fa;--color-background-light: #f1f3f5;--color-background-dark: #e9ecef;--color-background-xdark: #dee2e6;--color-background-card: rgba(0, 0, 0, .05);--color-background-secondary: #ffffff;--color-text: #343a40;--color-text-base: #343a40;--color-text-primary: #343a40;--color-text-light: #6c757d;--color-text-xlight: #868e96;--color-text-dark: #2b3139;--color-text-xdark: #212529;--color-text-secondary: #6c757d;--color-text-tertiary: #6c757d;--color-text-hover: #000000;--color-text-muted: #6b7280;--color-text-disabled: #9ca3af;--color-shadow: rgba(0, 0, 0, .1);--color-border: rgba(0, 0, 0, .1);--color-input-bg: rgba(0, 0, 0, .03);--color-hover-bg: rgba(0, 0, 0, .05);--color-overlay-light: rgba(0, 0, 0, .02);--color-overlay-medium: rgba(0, 0, 0, .05);--color-overlay-strong: rgba(0, 0, 0, .1);--color-overlay-stronger: rgba(0, 0, 0, .15);--color-overlay-backdrop: rgba(0, 0, 0, .5);--color-border-light: rgba(0, 0, 0, .05);--color-border-medium: rgba(0, 0, 0, .2);--color-border-strong: rgba(0, 0, 0, .3);--calendar-picker-filter: none;--input-color-scheme: light}:root.theme-system{color:inherit}:root{--group-sidebar-icon-width: 58px;--group-sidebar-expanded-width: 240px;--group-footer-height: 50px}@media(min-width:769px){.has-group-nav{padding-left:var(--group-sidebar-icon-width)}.has-group-nav.sidebar-pinned{padding-left:var(--group-sidebar-expanded-width)}.has-group-nav.sidebar-pinned .map-back-button{left:calc(var(--group-sidebar-expanded-width) + var(--spacing-m))}}@media(max-width:768px){.has-group-nav-footer{padding-bottom:calc(var(--group-footer-height) + env(safe-area-inset-bottom))}}:root{--header-background: var(--color-background-base)}:root.has-group-background{--header-background: transparent}:root.high-contrast{--color-text-light: #ffffff;--color-text-base: #ffffff;--color-border: rgba(255, 255, 255, .3)}:root.theme-light.high-contrast{--color-text-light: #000000;--color-text-base: #000000;--color-border: rgba(0, 0, 0, .3)}:root.reduced-motion *,:root.reduced-motion *:before,:root.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root{--gradient-cta: linear-gradient(135deg, #ff9b26 0%, #ee4f27 100%);--gradient-primary: linear-gradient(135deg, #077ac7 0%, #6b21ef 100%);--gradient-accent: linear-gradient(135deg, #ffaa40 0%, #ff6b42 100%);--gradient-hover: linear-gradient(135deg, #077ac7 0%, #6b21ef 100%);--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-size-base: 16px;--font-size-3xs: 8px;--font-size-2xs: 10px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-thin: 100;--font-weight-extra-light: 200;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 600;--font-weight-extra-bold: 700;--font-weight-black: 800;--spacing-3xs: 2px;--spacing-2xs: 4px;--spacing-xs: 8px;--spacing-s: 16px;--spacing-m: 24px;--spacing-l: 32px;--spacing-xl: 48px;--spacing-2xl: 64px;--spacing-3xl: 96px;--spacing-4xl: 128px;--border-radius-sm: 8px;--border-radius-base: 20px;--border-radius-m: 24px;--border-radius-lg: 32px;--border-radius-xl: 48px;--border-radius-full: 9999px;--border-width-thin: 1px;--border-width-base: 2px;--border-width-thick: 4px;--box-shadow-base: 0 4px 6px var(--color-shadow);--box-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--box-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--box-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--box-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--box-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--box-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--z-index-base: 1;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-fixed: 500;--z-index-overlay: 800;--z-index-nav: 900;--z-index-modal: 1000;--z-index-tooltip: 1100;--z-index-notification: 1200;--z-index-popover: 1300;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-slower: .5s ease;--transition-slowest: 1s ease}:root,:root.theme-dark{--gradient-background: #050505;--gradient-card-radial: var(--color-background-card)}:root.theme-light{--gradient-background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 50%, #e9ecef 100%);--gradient-card-radial: var(--color-background-card)}:root{--border-base: 1px solid var(--color-border)}html{overflow-x:hidden;width:100%;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);background:var(--gradient-background);color:var(--color-text-base);margin:0;padding:0;overflow-x:hidden;width:100%;max-width:100vw;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media(max-width:768px){html,body{max-width:100vw!important;overflow-x:hidden!important;width:100%;min-height:100%}*{max-width:100vw;box-sizing:border-box}*{touch-action:manipulation}input,textarea,select{touch-action:manipulation;-webkit-user-select:text;user-select:text}}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-100%;left:var(--spacing-s);z-index:9999;padding:var(--spacing-s) var(--spacing-m);background:var(--color-primary);color:#fff;font-weight:600;border-radius:0 0 var(--border-radius-base) var(--border-radius-base);text-decoration:none;transition:top .15s}.skip-link:focus{top:0}.navbar{position:fixed;top:0;left:0;width:100%;background:var(--color-background-dark);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-m);z-index:var(--z-index-nav)}.nav-menu{display:flex;list-style:none;margin:0;padding:0}.nav-item{position:relative;margin:0 var(--spacing-xs)}.nav-link{display:flex;align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-xs);color:var(--color-text-light);text-decoration:none;font-weight:300;transition:color .2s ease}.nav-link:hover{color:var(--color-text-hover)}.chevron{font-size:20px;font-weight:400;line-height:1;transform:translateY(-5px) scaleX(1.5);transition:color .2s ease;color:var(--color-text-secondary)}.nav-item.has-dropdown:hover .chevron{color:var(--color-text-hover)}.dropdown{position:absolute;top:100%;left:0;background:var(--color-background-xlight);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--border-radius-base);box-shadow:0 8px 32px var(--color-shadow),0 2px 8px var(--color-shadow);min-width:200px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;list-style:none;padding:var(--spacing-2xs);margin:0;z-index:calc(var(--z-index-nav) + 100)}.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;padding:var(--spacing-xs) var(--spacing-s);color:var(--color-text-light);text-decoration:none;border-radius:calc(var(--border-radius-base) - 2px);margin:2px;transition:background .2s ease,color .2s ease}.dropdown-item:hover{background:var(--color-hover-bg);color:var(--color-text-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hamburger{display:none;background:none;border:none;color:var(--color-text-base);font-size:24px;cursor:pointer}@media(max-width:768px){.nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--gradient-card-radial);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:0 0 16px 16px;box-shadow:0 8px 32px var(--color-shadow);padding:var(--spacing-s);margin:0 var(--spacing-xs);max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:0}.nav-menu.active{display:flex;max-height:500px;opacity:1}.nav-item{margin:var(--spacing-2xs) 0;padding:var(--spacing-xs);border-radius:8px;transition:background .2s ease}.nav-item:hover{background:var(--color-hover-bg)}.dropdown{position:static;transform:none;opacity:1;visibility:visible;display:none;background:var(--color-input-bg);box-shadow:none;border:1px solid var(--color-border);border-radius:8px;margin-top:var(--spacing-xs)}.nav-item:hover .dropdown{display:block}.hamburger{display:block;padding:var(--spacing-xs);border-radius:8px;background:var(--color-input-bg);border:1px solid var(--color-border);transition:all .2s ease;color:var(--color-text-light)}.hamburger:hover{background:var(--color-hover-bg);transform:scale(1.05)}}.gradient-button{position:relative;background:linear-gradient(to right,var(--color-accent-blue),var(--color-accent-violet)),linear-gradient(to right,#077ac7e6,#6b21efe6);color:#fff!important;padding:var(--spacing-s) var(--spacing-m);border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease;overflow:hidden;box-shadow:inset 0 1px 1px #fff3,0 1px 2px #08080833,0 4px 4px #08080814,inset 0 6px 12px #ffffff1f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gradient-button:hover{transform:translateY(-3px);box-shadow:inset 0 1px 1px #ffffff4d,0 2px 4px #0808084d,0 8px 16px #08080826,0 16px 32px #077ac733,inset 0 6px 12px #ffffff2e;border-color:#fff6}.gradient-button.success{background:var(--gradient-primary);border-color:#ff9b264d}.gradient-button.success:hover{transform:translateY(-3px);box-shadow:inset 0 1px 1px #ffffff4d,0 2px 4px #0808084d,0 8px 16px #08080826,0 16px 32px #ee4f2740,inset 0 6px 12px #ffffff2e;border-color:#ff9b2699}@keyframes gradient-rotate{0%{--gradient-angle: 0deg}to{--gradient-angle: 360deg}}@keyframes pulse-glow{0%{box-shadow:0 0 0 2px var(--color-primary),0 0 10px #ff6e4280}50%{box-shadow:0 0 0 3px var(--color-primary),0 0 15px #ff6e42b3}to{box-shadow:0 0 0 2px var(--color-primary),0 0 10px #ff6e4280}}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;font-size:24px;font-weight:var(--font-weight-bold);display:inline-block}.navbar-logo,.drawer-logo-img,.home-logo,.login-logo,.reset-logo,.group-logo,.hero-logo,.footer-logo-img{border-radius:8px}:root.theme-light .navbar-logo,:root.theme-light .drawer-logo-img,:root.theme-light .home-logo,:root.theme-light .login-logo,:root.theme-light .reset-logo,:root.theme-light .group-logo,:root.theme-light .hero-logo,:root.theme-light .footer-logo-img{filter:invert(1)}.animated-background{background:var(--gradient-background)}.sidebar{position:fixed;top:48px;left:0;width:250px;height:calc(100% - 48px);background:var(--color-background-xlight);border-right:var(--border-base);padding:var(--spacing-s);transition:transform .3s ease;z-index:calc(var(--z-index-nav) - 1)}.sidebar.hidden{transform:translate(-100%)!important}.sidebar-nav-item{display:flex;align-items:center;padding:var(--spacing-xs);margin:var(--spacing-2xs) 0;border-radius:var(--border-radius-base);color:var(--color-text-base);cursor:pointer;transition:background .2s ease}.sidebar-nav-item:hover{background:var(--gradient-accent);color:var(--color-text-light)}.sidebar-toggle{position:fixed;top:80px;left:0;background:transparent;color:var(--color-text-light);border:1px solid rgba(255,255,255,.3);border-left:none;border-radius:0 var(--border-radius-base) var(--border-radius-base) 0;padding:var(--spacing-2xs) var(--spacing-xs);cursor:pointer;z-index:calc(var(--z-index-nav) + 10);transition:left .3s ease,border-color .2s ease}.sidebar-toggle:hover{border-color:#fff9}.sidebar-toggle.sidebar-open{left:218px}.secondary-button{position:relative;background:var(--color-overlay-light);color:var(--color-text-light);padding:var(--spacing-s) var(--spacing-m);border:2px solid var(--color-border-medium);border-radius:12px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.secondary-button:hover{background:var(--color-overlay-medium);border-color:var(--color-secondary);color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 2px 4px #08080833,0 4px 8px #ff9b261a}.secondary-button:active{transform:translateY(0)}.secondary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}:root:not(.theme-light) .secondary-button{border-color:#fff6}.modal-backdrop{backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}:root.theme-dark .modal-backdrop{background:#0e0918d9!important}:root.theme-light .modal-backdrop{background:#ffffffd9!important}.modal-content{background:var(--color-background-base)!important;border:1px solid var(--color-border);border-radius:calc(var(--border-radius-base) * 2);padding:var(--spacing-m);max-width:90vw;max-height:90vh;min-width:min(400px,90vw);width:auto;box-shadow:0 20px 40px var(--color-shadow),0 8px 16px var(--color-shadow);color:var(--color-text-light);animation:modal-scale .3s ease forwards;position:relative;z-index:1001;overflow-y:auto;overflow-x:hidden}@media(max-width:768px){.modal-backdrop{padding:1rem .5rem .5rem!important;align-items:flex-start!important}.modal-content{max-width:100%!important;max-height:calc(100vh - 2rem)!important;width:calc(100vw - 1rem)!important;min-width:unset!important;margin:0!important;border-radius:16px!important;padding:var(--spacing-s)!important;overflow-y:auto!important;overflow-x:hidden!important}}@media(max-width:480px){.modal-backdrop{padding:.5rem .25rem .25rem!important}.modal-content{max-height:calc(100vh - 1rem)!important;width:calc(100vw - .5rem)!important;border-radius:12px!important;padding:var(--spacing-xs)!important}}:root.theme-dark .modal-content{background:var(--color-background-base)!important}:root.theme-light .modal-content{background:var(--color-background-base)!important}@keyframes modal-scale{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-title{margin:0 0 var(--spacing-s) 0;font-size:1.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-light)}.modal-message{margin:0 0 var(--spacing-m) 0;line-height:1.5;color:var(--color-text-base)}.modal-content.success{border:1px solid rgba(16,185,129,.3);box-shadow:0 20px 40px #0006,0 8px 16px #0003,0 0 20px #10b9811a}.modal-content.success:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(16,185,129,.1) 0%,rgba(52,211,153,.05) 30%,transparent 70%);border-radius:calc(var(--border-radius-base) * 2);pointer-events:none}.tooltip{position:absolute;background:var(--color-background-xlight);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--color-border);color:var(--color-text-light);padding:var(--spacing-xs) var(--spacing-s);border-radius:var(--border-radius-base);font-size:var(--font-size-xs);font-weight:300;z-index:var(--z-index-tooltip);max-width:200px;text-align:center;box-shadow:0 8px 20px var(--color-shadow)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes scale{0%{transform:scale(.8)}to{transform:scale(1)}}.card{background:var(--gradient-card-radial);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:var(--spacing-s);box-shadow:inset -1px -1px #fff3,inset 1px 1px #ffffff4d,0 4px 12px #00000026,0 8px 32px #0000001a;transition:transform .3s ease,box-shadow .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card:hover{transform:translateY(-6px);box-shadow:inset -1px -1px #ffffff4d,inset 1px 1px #fff6,0 8px 25px #2752ee33,0 16px 48px #00000026}.content{margin-top:70px;padding:var(--spacing-s)}@media(min-width:768px){.content{margin-top:48px;padding:0}}.typography-demo{max-width:800px}.typography-demo h1{font-weight:var(--font-weight-bold);font-size:2.5rem;margin:1.5rem 0 1rem;color:var(--color-text-light)}.typography-demo h2{font-weight:var(--font-weight-medium);font-size:2rem;margin:1.25rem 0 .75rem;color:var(--color-text-light)}.typography-demo h3{font-weight:var(--font-weight-medium);font-size:1.5rem;margin:1rem 0 .5rem;color:var(--color-text-light)}.typography-demo h4{font-weight:var(--font-weight-regular);font-size:1.25rem;margin:.75rem 0 .5rem;color:var(--color-text-base)}.typography-demo p{font-weight:var(--font-weight-regular);line-height:1.6;margin:.75rem 0;color:var(--color-text-base)}.text-thin{font-weight:100!important;color:var(--color-text-secondary)}.text-extra-light{font-weight:200!important;color:var(--color-text-secondary)}.text-light{font-weight:300!important;color:var(--color-text-secondary)}.text-medium{font-weight:400!important}.text-bold{font-weight:600!important;color:var(--color-text-light)}.text-italic{font-style:italic}.text-3xs{font-size:var(--font-size-3xs)!important}.text-2xs{font-size:var(--font-size-2xs)!important}.text-xs{font-size:var(--font-size-xs)!important}.text-sm{font-size:var(--font-size-sm)!important}.text-md{font-size:var(--font-size-md)!important}.text-lg{font-size:var(--font-size-lg)!important}.text-xl{font-size:var(--font-size-xl)!important}.text-2xl{font-size:var(--font-size-2xl)!important}.font-matrix{margin:var(--spacing-m) 0}.font-matrix h4{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;font-weight:var(--font-weight-medium);margin:var(--spacing-m) 0 var(--spacing-xs) 0;border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-2xs);display:inline-block}.font-matrix p{margin:var(--spacing-2xs) 0;padding:var(--spacing-2xs) var(--spacing-xs);background:#ffffff05;border-radius:calc(var(--border-radius-base) / 2);border-left:2px solid var(--color-secondary)}.button-group{display:flex;gap:var(--spacing-s);margin:var(--spacing-s) 0}.tooltip-demo{display:inline-block;margin:var(--spacing-s) 0;padding:var(--spacing-xs) var(--spacing-s);cursor:pointer}.demo-list{margin:var(--spacing-s) 0;padding-left:var(--spacing-m)}.demo-list li{margin:var(--spacing-xs) 0;line-height:1.5}.demo-quote{font-style:italic;font-weight:300;padding:var(--spacing-s);margin:var(--spacing-s) 0;border-left:4px solid var(--color-primary);background:#ee4f271a;border-radius:0 var(--border-radius-base) var(--border-radius-base) 0}.tabs-container{display:flex;flex-direction:column;gap:var(--spacing-m)}.tabs-nav{display:flex;justify-content:center;background:var(--color-overlay-medium);border-radius:12px;padding:4px;border:1px solid var(--color-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-nav::-webkit-scrollbar{display:none}.tab-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2xs);padding:var(--spacing-xs) var(--spacing-s);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:8px;cursor:pointer;transition:all .3s ease;white-space:nowrap;position:relative;min-width:fit-content}.tab-button:hover{color:var(--color-text-light);background:var(--color-hover-bg)}.tab-button.active{color:var(--color-text-light);background:var(--color-overlay-stronger);box-shadow:0 2px 8px var(--color-shadow);border:1px solid var(--color-border-medium)}.tab-button.active:before{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:40%;height:2px;background:var(--gradient-primary);border-radius:1px}.tab-content{background:var(--color-overlay-light);border:1px solid var(--color-border);border-radius:12px;padding:var(--spacing-m);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tab-panel{display:none;animation:fadeIn .3s ease}.tab-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tabs-nav.tabs-pills{background:transparent;border:none;padding:0;gap:var(--spacing-2xs)}.tabs-pills .tab-button{border-radius:20px;background:var(--color-overlay-medium);border:1px solid var(--color-border)}.tabs-pills .tab-button.active{background:var(--gradient-primary);color:#fff;border-color:transparent}.tabs-pills .tab-button.active:before{display:none}.tabs-nav.tabs-underline{background:transparent;border:none;border-bottom:1px solid var(--color-border);border-radius:0;padding:0}.tabs-underline .tab-button{border-radius:0;border-bottom:2px solid transparent;padding-bottom:var(--spacing-s)}.tabs-underline .tab-button.active{background:transparent;border-bottom-color:var(--color-primary);box-shadow:none;border:none;border-bottom:2px solid var(--color-primary)}.tabs-underline .tab-button.active:before{display:none}@media(max-width:768px){.tab-button{font-size:var(--font-size-xs);padding:var(--spacing-2xs) var(--spacing-xs)}.tab-content{padding:var(--spacing-s)}.gradient-button{padding:var(--spacing-xs) var(--spacing-s);font-size:var(--font-size-xs)}.gradient-text{font-size:20px}.sidebar{width:200px}}.gradient-button.cancel{background:#9ca3af!important;color:#fff!important;border:1px solid #6b7280!important}.gradient-button.cancel:hover{background:#6b7280!important;border-color:#4b5563!important}@media(max-width:768px){.page-header{margin:0!important;width:100%!important;max-width:100vw!important}.login-page,.public-landing,.password-reset-page,.group-landing{padding-top:env(safe-area-inset-top)}}.scroll-sentinel{height:1px}[dir=rtl]{direction:rtl}[dir=rtl] .group-nav-sidebar{left:auto;right:0;border-right:none;border-left:1px solid var(--color-border)}@media(min-width:769px){[dir=rtl] .has-group-nav{padding-left:0;padding-inline-start:var(--group-sidebar-icon-width)}[dir=rtl] .has-group-nav.sidebar-pinned{padding-left:0;padding-inline-start:var(--group-sidebar-expanded-width)}[dir=rtl] .has-group-nav.sidebar-pinned .map-back-button{left:auto;right:calc(var(--group-sidebar-expanded-width) + var(--spacing-m))}}[dir=rtl] .sidebar-item{text-align:right}[dir=rtl] .sidebar-subitem{padding-left:0;padding-right:28px}[dir=rtl] .chat-caret{margin-left:0;margin-right:auto}[dir=rtl] .sidebar{left:auto;right:0;border-right:none;border-left:var(--border-base)}[dir=rtl] .sidebar.hidden{transform:translate(100%)!important}[dir=rtl] .sidebar-toggle{left:auto;right:0;border-left:1px solid rgba(255,255,255,.3);border-right:none;border-radius:var(--border-radius-base) 0 0 var(--border-radius-base)}[dir=rtl] .sidebar-toggle.sidebar-open{right:218px;left:auto}[dir=rtl] .font-matrix p{border-left:none;border-right:2px solid var(--color-secondary)}[dir=rtl] .demo-quote{border-left:none;border-right:4px solid var(--color-primary);border-radius:var(--border-radius-base) 0 0 var(--border-radius-base)}[dir=rtl] .demo-list{padding-left:0;padding-right:var(--spacing-m)}:root{--card-border-radius: 12px;--card-padding: 1rem;--card-padding-compact: .75rem;--card-padding-full: 1.5rem;--card-gap: .75rem;--card-max-width: 100%;--card-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--card-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--card-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--card-shadow-hover: 0 8px 12px rgba(0, 0, 0, .15);--card-bg: rgba(255, 255, 255, .6);--card-bg-hover: rgba(255, 255, 255, .8);--card-bg-alt: rgba(0, 0, 0, .03);--card-border-color: rgba(0, 0, 0, .1);--card-title-size: 1.125rem;--card-title-weight: 600;--card-title-line-height: 1.4;--card-text-primary: #111827;--card-subtitle-size: .875rem;--card-subtitle-color: #6b7280;--card-body-size: .9375rem;--card-body-line-height: 1.6;--card-meta-size: .8125rem;--card-meta-color: #9ca3af;--card-transition: all .2s ease;--card-hover-lift: translateY(-2px);--badge-padding: .25rem .5rem;--badge-border-radius: 6px;--badge-font-size: .75rem;--badge-font-weight: 500;--badge-line-height: 1.2;--badge-green-bg: #d1fae5;--badge-green-text: #065f46;--badge-green-border: #6ee7b7;--badge-yellow-bg: #fef3c7;--badge-yellow-text: #92400e;--badge-yellow-border: #fcd34d;--badge-red-bg: #fee2e2;--badge-red-text: #991b1b;--badge-red-border: #fca5a5;--badge-blue-bg: #dbeafe;--badge-blue-text: #1e40af;--badge-blue-border: #93c5fd;--badge-purple-bg: #e9d5ff;--badge-purple-text: #6b21a8;--badge-purple-border: #c084fc;--badge-teal-bg: #ccfbf1;--badge-teal-text: #115e59;--badge-teal-border: #5eead4;--badge-orange-bg: #fed7aa;--badge-orange-text: #9a3412;--badge-orange-border: #fdba74;--badge-gray-bg: #f3f4f6;--badge-gray-text: #374151;--badge-gray-border: #d1d5db;--badge-pink-bg: #fce7f3;--badge-pink-text: #9f1239;--badge-pink-border: #f9a8d4;--badge-gold-bg: #fef3c7;--badge-gold-text: #78350f;--badge-gold-border: #fbbf24;--carousel-control-size: 2.5rem;--carousel-control-bg: rgba(255, 255, 255, .9);--carousel-control-shadow: 0 2px 8px rgba(0, 0, 0, .15);--carousel-indicator-size: 8px;--carousel-indicator-active-size: 8px;--card-focus-ring: 0 0 0 3px rgba(59, 130, 246, .5);--card-active-scale: scale(.98)}@media(prefers-color-scheme:dark){:root{--card-bg: rgba(255, 255, 255, .05);--card-bg-hover: rgba(255, 255, 255, .08);--card-bg-alt: rgba(0, 0, 0, .2);--card-border-color: rgba(255, 255, 255, .1);--card-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--card-shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--card-shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--card-shadow-hover: 0 8px 12px rgba(0, 0, 0, .4);--card-text-primary: #f9fafb;--card-subtitle-color: #9ca3af;--card-meta-color: #6b7280;--carousel-control-bg: rgba(255, 255, 255, .1);--badge-green-bg: #065f46;--badge-green-text: #d1fae5;--badge-yellow-bg: #92400e;--badge-yellow-text: #fef3c7;--badge-red-bg: #991b1b;--badge-red-text: #fee2e2;--badge-blue-bg: #1e40af;--badge-blue-text: #dbeafe;--badge-purple-bg: #6b21a8;--badge-purple-text: #e9d5ff;--badge-teal-bg: #115e59;--badge-teal-text: #ccfbf1;--badge-orange-bg: #9a3412;--badge-orange-text: #fed7aa;--badge-gray-bg: #374151;--badge-gray-text: #f3f4f6;--badge-pink-bg: #9f1239;--badge-pink-text: #fce7f3;--badge-gold-bg: #78350f;--badge-gold-text: #fef3c7}}.theme-light{--card-bg: rgba(255, 255, 255, .6);--card-bg-hover: rgba(255, 255, 255, .8);--card-bg-alt: rgba(0, 0, 0, .03);--card-border-color: rgba(0, 0, 0, .1);--card-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--card-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--card-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--card-shadow-hover: 0 8px 12px rgba(0, 0, 0, .15);--carousel-control-bg: rgba(255, 255, 255, .9)}.theme-dark{--card-bg: rgba(255, 255, 255, .05);--card-bg-hover: rgba(255, 255, 255, .08);--card-bg-alt: rgba(0, 0, 0, .2);--card-border-color: rgba(255, 255, 255, .1);--card-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--card-shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--card-shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--card-shadow-hover: 0 8px 12px rgba(0, 0, 0, .4);--card-text-primary: #f9fafb;--card-subtitle-color: #9ca3af;--card-meta-color: #6b7280;--carousel-control-bg: rgba(255, 255, 255, .1);--badge-green-bg: #065f46;--badge-green-text: #d1fae5;--badge-yellow-bg: #92400e;--badge-yellow-text: #fef3c7;--badge-red-bg: #991b1b;--badge-red-text: #fee2e2;--badge-blue-bg: #1e40af;--badge-blue-text: #dbeafe;--badge-purple-bg: #6b21a8;--badge-purple-text: #e9d5ff;--badge-teal-bg: #115e59;--badge-teal-text: #ccfbf1;--badge-orange-bg: #9a3412;--badge-orange-text: #fed7aa;--badge-gray-bg: #374151;--badge-gray-text: #f3f4f6;--badge-pink-bg: #9f1239;--badge-pink-text: #fce7f3;--badge-gold-bg: #78350f;--badge-gold-text: #fef3c7}.card-base{background:var(--surface-color, var(--color-surface-base));border:1px solid var(--border-color, var(--color-border));border-radius:var(--card-border-radius);padding:var(--card-padding);box-shadow:var(--card-shadow-sm);transition:all .2s ease}.card-base:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001a;border-color:var(--border-hover, var(--color-primary-light))}.card-base.clickable{cursor:pointer}.card-base.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001a;border-color:var(--border-hover, var(--color-primary-light))}.card-base.clickable:active{transform:var(--card-active-scale)}.card-base.clickable:focus-visible{outline:none;box-shadow:var(--card-focus-ring)}.card-compact{padding:var(--card-padding-compact)}.card-full{padding:var(--card-padding-full)}.card-title{font-size:var(--card-title-size);font-weight:var(--card-title-weight);line-height:var(--card-title-line-height);margin:0 0 .5rem;color:var(--color-text-primary)}.card-subtitle{font-size:var(--card-subtitle-size);color:var(--card-subtitle-color);margin:0 0 .5rem}.card-body{font-size:var(--card-body-size);line-height:var(--card-body-line-height);color:var(--color-text-secondary)}.card-meta{font-size:var(--card-meta-size);color:var(--card-meta-color)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:var(--badge-padding);border-radius:var(--badge-border-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:var(--badge-line-height);white-space:nowrap}.badge-green{background:var(--badge-green-bg);color:var(--badge-green-text);border:1px solid var(--badge-green-border)}.badge-yellow{background:var(--badge-yellow-bg);color:var(--badge-yellow-text);border:1px solid var(--badge-yellow-border)}.badge-red{background:var(--badge-red-bg);color:var(--badge-red-text);border:1px solid var(--badge-red-border)}.badge-blue{background:var(--badge-blue-bg);color:var(--badge-blue-text);border:1px solid var(--badge-blue-border)}.badge-purple{background:var(--badge-purple-bg);color:var(--badge-purple-text);border:1px solid var(--badge-purple-border)}.badge-teal{background:var(--badge-teal-bg);color:var(--badge-teal-text);border:1px solid var(--badge-teal-border)}.badge-orange{background:var(--badge-orange-bg);color:var(--badge-orange-text);border:1px solid var(--badge-orange-border)}.badge-gray{background:var(--badge-gray-bg);color:var(--badge-gray-text);border:1px solid var(--badge-gray-border)}.badge-pink{background:var(--badge-pink-bg);color:var(--badge-pink-text);border:1px solid var(--badge-pink-border)}.badge-gold{background:var(--badge-gold-bg);color:var(--badge-gold-text);border:1px solid var(--badge-gold-border)}.badge.gradient{background:linear-gradient(135deg,var(--badge-bg-start, currentColor),var(--badge-bg-end, currentColor));border:none}.badge.pulse{animation:badge-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.carousel-container{position:relative;overflow:hidden;border-radius:var(--card-border-radius)}.carousel-track{display:flex;transition:transform .3s ease-in-out}.carousel-slide{flex:0 0 100%;width:100%}.carousel-controls{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 .5rem;pointer-events:none}.carousel-control-btn{width:var(--carousel-control-size);height:var(--carousel-control-size);display:flex;align-items:center;justify-content:center;background:var(--carousel-control-bg);border:1px solid var(--card-border-color);border-radius:50%;box-shadow:var(--carousel-control-shadow);cursor:pointer;pointer-events:auto;transition:var(--card-transition)}.carousel-control-btn:hover{transform:scale(1.1);box-shadow:var(--card-shadow-md)}.carousel-control-btn:active{transform:scale(.95)}.carousel-control-btn:disabled{opacity:.4;cursor:not-allowed}.carousel-indicators{display:flex;justify-content:center;gap:.5rem;padding:1rem 0}.carousel-indicator{width:var(--carousel-indicator-size);height:var(--carousel-indicator-size);border-radius:50%;background:var(--badge-gray-bg);border:1px solid var(--badge-gray-border);cursor:pointer;transition:var(--card-transition);opacity:.5}.carousel-indicator.active{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);opacity:1;transform:scale(1.25)}.carousel-indicator:hover{transform:scale(1.2)}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-list{display:flex;flex-direction:column;gap:.75rem}.card-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--card-border-color)}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--card-border-color)}@media(max-width:640px){.card-grid{grid-template-columns:1fr}.card-padding{padding:var(--card-padding-compact)}.card-title{font-size:1rem}}:root{--tf-toast-font-family: inherit, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tf-toast-border-radius: 12px;--tf-toast-border-width: 1px;--tf-toast-padding: 16px;--tf-toast-bg: var(--tf-toast-normal-bg-default);--tf-toast-color: var(--tf-toast-normal-text-default);--tf-toast-border-color: var(--tf-toast-normal-border-default);--tf-toast-gap: 10px;--tf-toast-buttons-gap: calc(var(--tf-toast-gap) / 2);--tf-toast-buttons-content-gap: calc(var(--tf-toast-gap) / 2);--tf-toast-stack-padding-top: 8px;--tf-toast-stack-padding-right: 8px;--tf-toast-stack-padding-bottom: 18px;--tf-toast-stack-padding-left: 0;--tf-toast-title-font-size: 14px;--tf-toast-title-font-weight: 600;--tf-toast-title-line-height: 1.25;--tf-toast-title-color: var(--tf-toast-color);--tf-toast-description-font-size: 13px;--tf-toast-description-line-height: 1.4;--tf-toast-description-color: var(--tf-toast-color);--tf-toast-float-x: .4;--tf-toast-float-y: -.4;--tf-toast-created-at-font-size: 11px;--tf-toast-created-at-offset: 0;--tf-toast-created-at-padding-x: 8px;--tf-toast-created-at-border-radius: 999px;--tf-toast-created-at-bg: var(--tf-toast-close-bg);--tf-toast-created-at-border-color: var(--tf-toast-close-border-color);--tf-toast-created-at-color: var(--tf-toast-close-color);--tf-toast-close-size: 18px;--tf-toast-close-icon-size: 12px;--tf-toast-close-border-width: var(--tf-toast-border-width);--tf-toast-close-border-radius: var(--tf-toast-border-radius);--tf-toast-close-border-color: var(--tf-toast-border-color);--tf-toast-close-color: var(--tf-toast-color);--tf-toast-close-bg: var(--tf-toast-bg);--tf-toast-close-ring-color: var(--tf-toast-close-border-color);--tf-toast-close-font-size: 11px;--tf-toast-close-offset: 40%;--tf-toast-button-font-size: 12px;--tf-toast-button-line-height: 1;--tf-toast-button-padding-y: 7px;--tf-toast-button-padding-x: 9px;--tf-toast-button-border-radius: 10px;--tf-toast-button-border-width: var(--tf-toast-border-width);--tf-toast-button-bg: var(--tf-toast-bg);--tf-toast-button-color: var(--tf-toast-color);--tf-toast-button-border-color: var(--tf-toast-border-color);--tf-toast-icon-size: 24px;--tf-toast-icon-loading: var(--tf-toast-loading-text-default);--tf-toast-icon-default: var(--tf-toast-normal-text-default);--tf-toast-icon-success: var(--tf-toast-success-text-default);--tf-toast-icon-error: var(--tf-toast-error-text-default);--tf-toast-icon-warning: var(--tf-toast-warning-text-default);--tf-toast-icon-info: var(--tf-toast-info-text-default);--tf-toast-progress-height: 4px;--tf-toast-progress-bg: color-mix( in srgb, var(--tf-toast-color) 20%, transparent );--tf-toast-progress-border-radius: var(--tf-toast-border-radius);--tf-toast-progress-bar-bg: var(--tf-toast-color);--tf-toast-progress-duration: 5s;--tf-toast-normal-bg-default: #fff;--tf-toast-normal-border-default: #e6e8eb;--tf-toast-normal-text-default: #11181c;--tf-toast-normal-progress-bar-bg-default: var( --tf-toast-normal-text-default );--tf-toast-normal-progress-bg-default: color-mix( in srgb, var(--tf-toast-normal-text-default) 20%, transparent );--tf-toast-normal-color-default: var(--tf-toast-normal-text-default);--tf-toast-normal-title-color-default: var(--tf-toast-normal-text-default);--tf-toast-normal-description-color-default: var( --tf-toast-normal-text-default );--tf-toast-normal-close-bg-default: var(--tf-toast-normal-bg-default);--tf-toast-normal-close-border-default: var(--tf-toast-normal-border-default);--tf-toast-normal-close-ring-default: var(--tf-toast-normal-border-default);--tf-toast-normal-close-color-default: var(--tf-toast-normal-text-default);--tf-toast-normal-button-color-default: var(--tf-toast-normal-text-default);--tf-toast-normal-button-border-default: var( --tf-toast-normal-border-default );--tf-toast-normal-button-bg-default: transparent;--tf-toast-normal-created-at-bg-default: var(--tf-toast-normal-bg-default);--tf-toast-normal-created-at-border-default: var( --tf-toast-normal-border-default );--tf-toast-normal-created-at-color-default: var(--tf-toast-description-color);--tf-toast-loading-bg-default: hsl(48, 100%, 96%);--tf-toast-loading-border-default: hsl(46, 100%, 88%);--tf-toast-loading-text-default: hsl(40, 100%, 32%);--tf-toast-loading-progress-bar-bg-default: var( --tf-toast-loading-text-default );--tf-toast-loading-progress-bg-default: color-mix( in srgb, var(--tf-toast-loading-text-default) 20%, transparent );--tf-toast-loading-color-default: var(--tf-toast-loading-text-default);--tf-toast-loading-title-color-default: var(--tf-toast-loading-text-default);--tf-toast-loading-description-color-default: var( --tf-toast-loading-text-default );--tf-toast-loading-close-bg-default: var(--tf-toast-loading-bg-default);--tf-toast-loading-close-border-default: var( --tf-toast-loading-border-default );--tf-toast-loading-close-ring-default: var(--tf-toast-loading-border-default);--tf-toast-loading-close-color-default: var(--tf-toast-loading-text-default);--tf-toast-loading-button-color-default: var(--tf-toast-loading-text-default);--tf-toast-loading-button-border-default: var( --tf-toast-loading-border-default );--tf-toast-loading-button-bg-default: transparent;--tf-toast-loading-created-at-bg-default: var(--tf-toast-loading-bg-default);--tf-toast-loading-created-at-border-default: var( --tf-toast-loading-border-default );--tf-toast-loading-created-at-color-default: var( --tf-toast-loading-text-default );--tf-toast-success-bg-default: hsl(143, 85%, 96%);--tf-toast-success-border-default: hsl(145, 92%, 87%);--tf-toast-success-text-default: hsl(140, 100%, 27%);--tf-toast-success-progress-bar-bg-default: var( --tf-toast-success-text-default );--tf-toast-success-progress-bg-default: color-mix( in srgb, var(--tf-toast-success-text-default) 20%, transparent );--tf-toast-success-color-default: var(--tf-toast-success-text-default);--tf-toast-success-title-color-default: var(--tf-toast-success-text-default);--tf-toast-success-description-color-default: var( --tf-toast-success-text-default );--tf-toast-success-close-bg-default: var(--tf-toast-success-bg-default);--tf-toast-success-close-border-default: var( --tf-toast-success-border-default );--tf-toast-success-close-ring-default: var(--tf-toast-success-border-default);--tf-toast-success-close-color-default: var(--tf-toast-success-text-default);--tf-toast-success-button-color-default: var(--tf-toast-success-text-default);--tf-toast-success-button-border-default: var( --tf-toast-success-border-default );--tf-toast-success-button-bg-default: transparent;--tf-toast-success-created-at-bg-default: var(--tf-toast-success-bg-default);--tf-toast-success-created-at-border-default: var( --tf-toast-success-border-default );--tf-toast-success-created-at-color-default: var( --tf-toast-success-text-default );--tf-toast-info-bg-default: hsl(208, 100%, 97%);--tf-toast-info-border-default: hsl(221, 91%, 93%);--tf-toast-info-text-default: hsl(210, 92%, 45%);--tf-toast-info-progress-bar-bg-default: var(--tf-toast-info-text-default);--tf-toast-info-progress-bg-default: color-mix( in srgb, var(--tf-toast-info-text-default) 20%, transparent );--tf-toast-info-color-default: var(--tf-toast-info-text-default);--tf-toast-info-title-color-default: var(--tf-toast-info-text-default);--tf-toast-info-description-color-default: var(--tf-toast-info-text-default);--tf-toast-info-close-bg-default: var(--tf-toast-info-bg-default);--tf-toast-info-close-border-default: var(--tf-toast-info-border-default);--tf-toast-info-close-ring-default: var(--tf-toast-info-border-default);--tf-toast-info-close-color-default: var(--tf-toast-info-text-default);--tf-toast-info-button-color-default: var(--tf-toast-info-text-default);--tf-toast-info-button-border-default: var(--tf-toast-info-border-default);--tf-toast-info-button-bg-default: transparent;--tf-toast-info-created-at-bg-default: var(--tf-toast-info-bg-default);--tf-toast-info-created-at-border-default: var( --tf-toast-info-border-default );--tf-toast-info-created-at-color-default: var(--tf-toast-info-text-default);--tf-toast-warning-bg-default: hsl(49, 100%, 97%);--tf-toast-warning-border-default: hsl(49, 91%, 84%);--tf-toast-warning-text-default: hsl(31, 92%, 45%);--tf-toast-warning-progress-bar-bg-default: var( --tf-toast-warning-text-default );--tf-toast-warning-progress-bg-default: color-mix( in srgb, var(--tf-toast-warning-text-default) 20%, transparent );--tf-toast-warning-color-default: var(--tf-toast-warning-text-default);--tf-toast-warning-title-color-default: var(--tf-toast-warning-text-default);--tf-toast-warning-description-color-default: var( --tf-toast-warning-text-default );--tf-toast-warning-close-bg-default: var(--tf-toast-warning-bg-default);--tf-toast-warning-close-border-default: var( --tf-toast-warning-border-default );--tf-toast-warning-close-ring-default: var(--tf-toast-warning-border-default);--tf-toast-warning-close-color-default: var(--tf-toast-warning-text-default);--tf-toast-warning-button-color-default: var(--tf-toast-warning-text-default);--tf-toast-warning-button-border-default: var( --tf-toast-warning-border-default );--tf-toast-warning-button-bg-default: transparent;--tf-toast-warning-created-at-bg-default: var(--tf-toast-warning-bg-default);--tf-toast-warning-created-at-border-default: var( --tf-toast-warning-border-default );--tf-toast-warning-created-at-color-default: var( --tf-toast-warning-text-default );--tf-toast-error-bg-default: hsl(359, 100%, 97%);--tf-toast-error-border-default: hsl(359, 100%, 94%);--tf-toast-error-text-default: hsl(360, 100%, 45%);--tf-toast-error-progress-bar-bg-default: var(--tf-toast-error-text-default);--tf-toast-error-progress-bg-default: color-mix( in srgb, var(--tf-toast-error-text-default) 20%, transparent );--tf-toast-error-color-default: var(--tf-toast-error-text-default);--tf-toast-error-title-color-default: var(--tf-toast-error-text-default);--tf-toast-error-description-color-default: var( --tf-toast-error-text-default );--tf-toast-error-close-bg-default: var(--tf-toast-error-bg-default);--tf-toast-error-close-border-default: var(--tf-toast-error-border-default);--tf-toast-error-close-ring-default: var(--tf-toast-error-border-default);--tf-toast-error-close-color-default: var(--tf-toast-error-text-default);--tf-toast-error-button-color-default: var(--tf-toast-error-text-default);--tf-toast-error-button-border-default: var(--tf-toast-error-border-default);--tf-toast-error-button-bg-default: transparent;--tf-toast-error-created-at-bg-default: var(--tf-toast-error-bg-default);--tf-toast-error-created-at-border-default: var( --tf-toast-error-border-default );--tf-toast-error-created-at-color-default: var(--tf-toast-error-text-default);--tf-toast-motion-offset: 10px;--tf-toast-animation-in-duration: .26s;--tf-toast-animation-out-duration: .22s}.tf-toast--paused .tf-toast-progress-bar{animation-play-state:paused}.tf-toast-item[data-position^=top-]{--tf-toast-motion-offset: -10px}.tf-toast-item[data-position^=bottom-]{--tf-toast-motion-offset: 10px}.tf-toast-motion{width:100%;will-change:transform,opacity;transform-origin:center}.Toastflow__animation-move{transition:transform var(--tf-toast-animation-in-duration) cubic-bezier(.5,1,.25,1);will-change:transform}.Toastflow__animation-enter-from>.tf-toast-motion,.Toastflow__animation-appear-from>.tf-toast-motion{opacity:0;transform:translate3d(0,var(--tf-toast-motion-offset),0) scale(.96)}.Toastflow__animation-enter-active>.tf-toast-motion,.Toastflow__animation-appear-active>.tf-toast-motion{transition:opacity var(--tf-toast-animation-in-duration) cubic-bezier(.5,1,.25,1),transform var(--tf-toast-animation-in-duration) cubic-bezier(.5,1,.25,1)}.Toastflow__animation-enter-to>.tf-toast-motion,.Toastflow__animation-appear-to>.tf-toast-motion{opacity:1;transform:translateZ(0) scale(1)}.Toastflow__animation-leave-from>.tf-toast-motion{opacity:1;transform:translateZ(0) scale(1)}.Toastflow__animation-leave-active>.tf-toast-motion{transition:opacity var(--tf-toast-animation-out-duration) ease,transform var(--tf-toast-animation-out-duration) ease}.Toastflow__animation-leave-to>.tf-toast-motion{opacity:0;transform:translate3d(0,var(--tf-toast-motion-offset),0) scale(.96)}.Toastflow__animation-clearAll .tf-toast-motion{animation:Toastflow__clearAll-kf var(--tf-toast-animation-in-duration) cubic-bezier(.22,1,.36,1) both}.Toastflow__animation-bump{animation:Toastflow__bump-kf var(--tf-toast-animation-in-duration) ease-out}.Toastflow__animation-update{animation:Toastflow__update-kf var(--tf-toast-animation-in-duration) cubic-bezier(.33,1,.68,1)}@keyframes Toastflow__clearAll-kf{0%{opacity:1}to{opacity:0}}@keyframes Toastflow__bump-kf{0%{transform:none}40%{transform:scale(1.01)}to{transform:none}}@keyframes Toastflow__update-kf{0%{transform:none}40%{transform:scale(1.01)}to{transform:none}}@media(prefers-reduced-motion:reduce){.Toastflow__animation-move,.Toastflow__animation-enter-active .tf-toast-motion,.Toastflow__animation-leave-active .tf-toast-motion{transition:none}.Toastflow__animation-clearAll .tf-toast-motion{animation:none}}.tf-toast-progress[data-v-4403b948]{height:var(--tf-toast-progress-height);width:100%;border-radius:0 0 var(--tf-toast-progress-border-radius) var(--tf-toast-progress-border-radius);background:var(--tf-toast-progress-bg)}.tf-toast-progress-bar[data-v-4403b948]{height:100%;background:var(--tf-toast-progress-bar-bg);animation-name:tf-toast-progress-rtl-4403b948;animation-duration:var(--tf-toast-progress-duration, 5s);animation-timing-function:linear;animation-fill-mode:forwards}.tf-toast-progress[data-align=left-to-right] .tf-toast-progress-bar[data-v-4403b948]{width:0;animation-name:tf-toast-progress-ltr-4403b948}@keyframes tf-toast-progress-rtl-4403b948{0%{width:100%}to{width:0}}@keyframes tf-toast-progress-ltr-4403b948{0%{width:0}to{width:100%}}.tf-toast-wrapper[data-v-e9961bae]{pointer-events:auto;width:100%}.tf-toast[data-v-e9961bae]{cursor:pointer;position:relative;width:100%;--tf-toast-button-color: var(--tf-toast-color);--tf-toast-button-border-color: var(--tf-toast-border-color);--tf-toast-button-border-width: var(--tf-toast-border-width);--tf-toast-button-bg: var(--tf-toast-bg);--tf-toast-close-color: var(--tf-toast-color);--tf-toast-close-border-color: var(--tf-toast-border-color);--tf-toast-close-bg: var(--tf-toast-bg);--tf-toast-close-ring-color: var(--tf-toast-close-border-color);--tf-toast-created-at-color: var(--tf-toast-description-color);--tf-toast-created-at-border-color: var(--tf-toast-border-color);--tf-toast-created-at-bg: var(--tf-toast-bg)}.tf-toast--swipe-enabled[data-v-e9961bae]{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}.tf-toast--swipe-enabled[data-v-e9961bae]:active{cursor:grabbing}.tf-toast[data-align=right] .tf-toast-main-content[data-v-e9961bae]{flex-direction:row-reverse}.tf-toast[data-align=right] .tf-toast-text[data-v-e9961bae]{text-align:right}.tf-toast-accent--default[data-v-e9961bae]{--tf-toast-color: var(--tf-toast-normal-color-default);--tf-toast-bg: var(--tf-toast-normal-bg-default);--tf-toast-border-color: var(--tf-toast-normal-border-default);--tf-toast-title-color: var(--tf-toast-normal-title-color-default);--tf-toast-description-color: var( --tf-toast-normal-description-color-default );--tf-toast-progress-bg: var(--tf-toast-normal-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-normal-progress-bar-bg-default)}.tf-toast-accent--loading[data-v-e9961bae]{--tf-toast-color: var(--tf-toast-loading-color-default);--tf-toast-bg: var(--tf-toast-loading-bg-default);--tf-toast-border-color: var(--tf-toast-loading-border-default);--tf-toast-title-color: var(--tf-toast-loading-title-color-default);--tf-toast-description-color: var( --tf-toast-loading-description-color-default );--tf-toast-progress-bg: var(--tf-toast-loading-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-loading-progress-bar-bg-default)}.tf-toast-accent--success[data-v-e9961bae]{--tf-toast-color: var(--tf-toast-success-color-default);--tf-toast-bg: var(--tf-toast-success-bg-default);--tf-toast-border-color: var(--tf-toast-success-border-default);--tf-toast-title-color: var(--tf-toast-success-title-color-default);--tf-toast-description-color: var( --tf-toast-success-description-color-default );--tf-toast-progress-bg: var(--tf-toast-success-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-success-progress-bar-bg-default)}.tf-toast-accent--error[data-v-e9961bae]{--tf-toast-color: var(--tf-toast-error-color-default);--tf-toast-bg: var(--tf-toast-error-bg-default);--tf-toast-border-color: var(--tf-toast-error-border-default);--tf-toast-title-color: var(--tf-toast-error-title-color-default);--tf-toast-description-color: var(--tf-toast-error-description-color-default);--tf-toast-progress-bg: var(--tf-toast-error-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-error-progress-bar-bg-default)}.tf-toast-accent--warning[data-v-e9961bae]{--tf-toast-color: var(--tf-toast-warning-color-default);--tf-toast-bg: var(--tf-toast-warning-bg-default);--tf-toast-border-color: var(--tf-toast-warning-border-default);--tf-toast-title-color: var(--tf-toast-warning-title-color-default);--tf-toast-description-color: var( --tf-toast-warning-description-color-default );--tf-toast-progress-bg: var(--tf-toast-warning-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-warning-progress-bar-bg-default)}.tf-toast-accent--info[data-v-e9961bae]{--tf-toast-color: var(--tf-toast-info-color-default);--tf-toast-bg: var(--tf-toast-info-bg-default);--tf-toast-border-color: var(--tf-toast-info-border-default);--tf-toast-title-color: var(--tf-toast-info-title-color-default);--tf-toast-description-color: var(--tf-toast-info-description-color-default);--tf-toast-progress-bg: var(--tf-toast-info-progress-bg-default);--tf-toast-progress-bar-bg: var(--tf-toast-info-progress-bar-bg-default)}.tf-toast-surface[data-v-e9961bae]{position:relative;display:block;min-width:0;padding:var(--tf-toast-padding);border-radius:var(--tf-toast-border-radius);background-color:var(--tf-toast-bg);color:var(--tf-toast-color);border:var(--tf-toast-border-width) solid var(--tf-toast-border-color);font-family:var(--tf-toast-font-family),sans-serif;overflow:hidden}.tf-toast-main[data-v-e9961bae]{display:flex;align-items:stretch;gap:var(--tf-toast-buttons-content-gap);width:100%}.tf-toast-main--full>.tf-toast-main-content[data-v-e9961bae]{width:100%;min-width:0;flex:1 1 100%}.tf-toast-main--content-end>.tf-toast-main-content[data-v-e9961bae]{margin-left:auto;max-width:100%;flex:0 1 auto}.tf-toast-main--content-end>.tf-toast-main-content>.tf-toast-body[data-v-e9961bae]{flex:0 1 auto;min-width:0}.tf-toast-main-content[data-v-e9961bae]{display:flex;align-items:center;gap:var(--tf-toast-gap);min-width:0;flex:1 1 auto}.tf-toast-meta[data-v-e9961bae]{display:flex;flex-direction:column;gap:calc(var(--tf-toast-gap) / 2);min-width:0;flex-shrink:0}.tf-toast-meta--left[data-v-e9961bae]{align-items:flex-start}.tf-toast-meta--right[data-v-e9961bae]{align-items:flex-end}.tf-toast-meta-row[data-v-e9961bae]{display:flex;min-width:0}.tf-toast-meta-row--top[data-v-e9961bae]{margin-bottom:var(--tf-toast-buttons-content-gap)}.tf-toast-meta-row--bottom[data-v-e9961bae]{margin-top:var(--tf-toast-buttons-content-gap)}.tf-toast-meta-row[data-v-e9961bae] .tf-toast-actions--start{margin-right:auto}.tf-toast-meta-row[data-v-e9961bae] .tf-toast-actions--end{margin-left:auto}[data-v-e9961bae] .tf-toast-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--tf-toast-buttons-gap)}[data-v-e9961bae] .tf-toast-buttons--center{margin-top:auto;margin-bottom:auto}[data-v-e9961bae] .tf-toast-buttons--bottom{margin-top:auto}[data-v-e9961bae] .tf-toast-actions--start{justify-content:flex-start}[data-v-e9961bae] .tf-toast-actions--end{justify-content:flex-end}[data-v-e9961bae] .tf-toast-button{appearance:none;border:var(--tf-toast-button-border-width) solid var(--tf-toast-button-border-color);background:var(--tf-toast-button-bg);color:var(--tf-toast-button-color);border-radius:var(--tf-toast-button-border-radius);font-size:var(--tf-toast-button-font-size);line-height:var(--tf-toast-button-line-height);padding:var(--tf-toast-button-padding-y) var(--tf-toast-button-padding-x);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit}.tf-toast-icon-spin[data-v-e9961bae]{display:inline-block;animation:tf-toast-spin-e9961bae .8s linear infinite;transform-origin:center}@keyframes tf-toast-spin-e9961bae{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tf-toast-icon-svg[data-v-e9961bae]{width:var(--tf-toast-icon-size);height:var(--tf-toast-icon-size)}.tf-toast-icon--loading .tf-toast-icon-svg[data-v-e9961bae]{color:var(--tf-toast-icon-loading)}.tf-toast-icon--default .tf-toast-icon-svg[data-v-e9961bae]{color:var(--tf-toast-icon-default)}.tf-toast-icon--success .tf-toast-icon-svg[data-v-e9961bae]{color:var(--tf-toast-icon-success)}.tf-toast-icon--error .tf-toast-icon-svg[data-v-e9961bae]{color:var(--tf-toast-icon-error)}.tf-toast-icon--warning .tf-toast-icon-svg[data-v-e9961bae]{color:var(--tf-toast-icon-warning)}.tf-toast-icon--info .tf-toast-icon-svg[data-v-e9961bae]{color:var(--tf-toast-icon-info)}.tf-toast-body[data-v-e9961bae]{position:relative;z-index:1;min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.tf-toast-body--has-created-at[data-v-e9961bae]{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:calc(var(--tf-toast-gap) / 2);grid-auto-flow:row}.tf-toast-body--has-created-at[data-v-e9961bae]>:not(.tf-toast-created-at){grid-column:1}.tf-toast-text[data-v-e9961bae]{min-width:0}.tf-toast-created-at[data-v-e9961bae]{color:var(--tf-toast-created-at-color);font-size:var(--tf-toast-created-at-font-size);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:end;justify-self:end;grid-column:2;grid-row:1}.tf-toast[data-align=right] .tf-toast-created-at[data-v-e9961bae]{text-align:right;width:100%;display:flex;justify-content:flex-end}.tf-toast[data-align=right] .tf-toast-body--has-created-at[data-v-e9961bae]{grid-template-columns:auto minmax(0,1fr)}.tf-toast[data-align=right] .tf-toast-body--has-created-at>.tf-toast-created-at[data-v-e9961bae]{grid-column:1;justify-self:start}.tf-toast[data-align=right] .tf-toast-body--has-created-at[data-v-e9961bae]>:not(.tf-toast-created-at){grid-column:2}.tf-toast-floating-bar[data-v-e9961bae]{position:absolute;top:0;right:0;transform:translate(calc(var(--tf-toast-close-size) * var(--tf-toast-float-x)),calc(var(--tf-toast-close-size) * var(--tf-toast-float-y)));display:inline-flex;align-items:center;gap:var(--tf-toast-created-at-offset);height:var(--tf-toast-close-size);pointer-events:auto;z-index:2}.tf-toast-created-at-float[data-v-e9961bae]{display:inline-flex;align-items:center;height:var(--tf-toast-close-size);padding:0 var(--tf-toast-created-at-padding-x);border-radius:var(--tf-toast-created-at-border-radius);border:var(--tf-toast-close-border-width) solid var(--tf-toast-created-at-border-color);background:var(--tf-toast-created-at-bg);color:var(--tf-toast-created-at-color);font-size:var(--tf-toast-created-at-font-size);font-style:italic;white-space:nowrap;pointer-events:none}.tf-toast-title[data-v-e9961bae]{margin:0;font-size:var(--tf-toast-title-font-size);font-weight:var(--tf-toast-title-font-weight);line-height:var(--tf-toast-title-line-height);color:var(--tf-toast-title-color);word-wrap:break-word}.tf-toast-description[data-v-e9961bae]{margin:0;font-size:var(--tf-toast-description-font-size);line-height:var(--tf-toast-description-line-height);color:var(--tf-toast-description-color);word-wrap:break-word}.tf-toast-close[data-v-e9961bae]{position:relative;height:var(--tf-toast-close-size);width:var(--tf-toast-close-size);border-radius:var(--tf-toast-close-border-radius);border:var(--tf-toast-close-border-width) solid var(--tf-toast-close-border-color);background:var(--tf-toast-close-bg);color:var(--tf-toast-close-color);font-size:var(--tf-toast-close-font-size);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0;pointer-events:auto;z-index:2}.tf-toast-close-icon[data-v-e9961bae]{width:var(--tf-toast-close-icon-size);height:var(--tf-toast-close-icon-size)}.tf-toast-close[data-v-e9961bae]:focus-visible{outline:2px solid var(--tf-toast-close-ring-color);outline-offset:2px}.tf-toast-progress-wrapper[data-v-e9961bae]{position:absolute;left:0;right:0;bottom:0;margin:0}.tf-toast-root[data-v-59902e47]{pointer-events:none;position:fixed;inset:0}.tf-toast-stack[data-v-59902e47]{position:absolute;height:100%;display:flex;align-items:flex-start}.tf-toast-stack-inner[data-v-59902e47]{display:flex;flex-direction:column;position:relative;width:100%;box-sizing:border-box}.tf-toast-stack-inner--scroll[data-v-59902e47]{max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-top:var(--tf-toast-stack-padding-top);padding-right:var(--tf-toast-stack-padding-right);padding-bottom:var(--tf-toast-stack-padding-bottom);padding-left:var(--tf-toast-stack-padding-left);scroll-padding:var(--tf-toast-stack-padding-top) var(--tf-toast-stack-padding-right) var(--tf-toast-stack-padding-bottom) var(--tf-toast-stack-padding-left)}.tf-toast-stack-inner--bottom[data-v-59902e47]{min-height:100%;justify-content:flex-end}.tf-toast-stack--left[data-v-59902e47]{justify-content:flex-start}.tf-toast-stack--center[data-v-59902e47]{justify-content:center}.tf-toast-stack--right[data-v-59902e47]{justify-content:flex-end}.tf-toast-item[data-v-59902e47]{pointer-events:auto;width:100%}.gradient-button[data-v-16e50f87]{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.gradient-button[data-v-16e50f87]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ee4f274d}.gradient-button[data-v-16e50f87]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.gradient-button.success[data-v-16e50f87]{background:linear-gradient(135deg,#10b981,#059669)}.gradient-button.success[data-v-16e50f87]:hover{box-shadow:0 4px 8px #10b9814d}.gradient-button.success[data-v-16e50f87]:focus-visible{outline-color:#10b981}.gradient-button[data-v-16e50f87]:disabled{opacity:.5;cursor:not-allowed;transform:none}.page-header[data-v-b1c26fa1]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-s);padding:var(--spacing-xs);background:transparent;border-bottom:1px solid var(--color-border);flex-shrink:0;position:sticky;top:0;z-index:100;max-width:1000px;margin:0 auto;width:100%}@media(max-width:768px){.page-header[data-v-b1c26fa1]{padding:0;position:sticky;top:0;left:0;right:0;width:100%;z-index:100;margin:0;max-width:none}}.page-title[data-v-b1c26fa1]{flex:1;margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center}.header-actions[data-v-b1c26fa1]{display:flex;align-items:center;gap:var(--spacing-s);flex-shrink:0}@media(max-width:768px){.header-actions[data-v-b1c26fa1]{gap:0}}.header-actions[data-v-b1c26fa1] button,.header-actions[data-v-b1c26fa1] .icon-button{background:transparent!important;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--color-text-base)}.header-actions[data-v-b1c26fa1] button:hover,.header-actions[data-v-b1c26fa1] .icon-button:hover{background:var(--color-overlay-light)!important;transform:scale(1.05)}.icon-button[data-v-b1c26fa1]{background:transparent!important;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--color-text-base)}.icon-button[data-v-b1c26fa1]:hover{background:var(--color-overlay-light);transform:scale(1.05)}.header-left[data-v-b1c26fa1]{display:flex;align-items:center;flex-shrink:0}.header-left[data-v-b1c26fa1] button,.header-left[data-v-b1c26fa1] .icon-button{background:transparent!important;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--color-text-base)}.header-left[data-v-b1c26fa1] button:hover,.header-left[data-v-b1c26fa1] .icon-button:hover{background:var(--color-overlay-light)!important;transform:scale(1.05)}.back-btn[data-v-b1c26fa1]{flex-shrink:0;justify-self:start}.header-spacer[data-v-b1c26fa1]{width:40px;flex-shrink:0}@media(max-width:768px){.page-title[data-v-b1c26fa1]{font-size:var(--font-size-base)}}.page-state-manager[data-v-c6cbd544]{position:relative;width:100%}.state-container[data-v-c6cbd544]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;min-height:inherit}.state-content[data-v-c6cbd544]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-m);max-width:500px}.loading-spinner[data-v-c6cbd544]{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-c6cbd544 1s linear infinite}@keyframes spin-c6cbd544{to{transform:rotate(360deg)}}.state-icon[data-v-c6cbd544]{color:var(--color-text-secondary);flex-shrink:0}.error-icon[data-v-c6cbd544]{color:var(--color-danger)}.empty-icon[data-v-c6cbd544]{color:var(--color-text-xlight)}.state-title[data-v-c6cbd544]{color:var(--color-text-secondary);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);margin:0}.state-message[data-v-c6cbd544]{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0;line-height:1.5}.state-description[data-v-c6cbd544]{color:var(--color-text-xlight);font-size:var(--font-size-sm);margin:0;line-height:1.5}.retry-button[data-v-c6cbd544],.empty-action-button[data-v-c6cbd544]{padding:var(--spacing-s) var(--spacing-l);font-size:var(--font-size-md);border-radius:var(--border-radius-base);transition:all .2s ease;cursor:pointer}.retry-button[data-v-c6cbd544]:hover,.empty-action-button[data-v-c6cbd544]:hover{transform:translateY(-2px);box-shadow:var(--box-shadow-base)}.content-state[data-v-c6cbd544]{width:100%}.transitions-enabled .fade-enter-active[data-v-c6cbd544],.transitions-enabled .fade-leave-active[data-v-c6cbd544]{transition:opacity .3s ease,transform .3s ease}.transitions-enabled .fade-enter-from[data-v-c6cbd544]{opacity:0;transform:translateY(10px)}.transitions-enabled .fade-leave-to[data-v-c6cbd544]{opacity:0;transform:translateY(-10px)}@media(max-width:768px){.state-container[data-v-c6cbd544]{padding:var(--spacing-l)}.state-content[data-v-c6cbd544]{gap:var(--spacing-s)}.state-icon[data-v-c6cbd544],.loading-spinner[data-v-c6cbd544]{width:40px;height:40px}.state-title[data-v-c6cbd544]{font-size:var(--font-size-lg)}.state-message[data-v-c6cbd544]{font-size:var(--font-size-sm)}}@media(prefers-reduced-motion:reduce){.loading-spinner[data-v-c6cbd544]{animation:none;border-top-color:var(--color-primary);border-right-color:var(--color-primary)}.fade-enter-active[data-v-c6cbd544],.fade-leave-active[data-v-c6cbd544]{transition:none}}
