.toast-container[data-v-13a5544e]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast[data-v-13a5544e]{display:flex;align-items:center;gap:12px;min-width:300px;max-width:450px;padding:16px;border-radius:var(--radius-sm);background:var(--toast-bg);box-shadow:var(--shadow-lg);pointer-events:auto;cursor:pointer;transition:transform .2s ease}.toast[data-v-13a5544e]:hover{transform:translate(-4px)}.toast-icon[data-v-13a5544e]{flex-shrink:0;width:24px;height:24px}.toast-success[data-v-13a5544e]{border-left:4px solid var(--color-success)}.toast-success .toast-icon[data-v-13a5544e]{color:var(--color-success)}.toast-error[data-v-13a5544e]{border-left:4px solid var(--color-danger)}.toast-error .toast-icon[data-v-13a5544e]{color:var(--color-danger)}.toast-warning[data-v-13a5544e]{border-left:4px solid var(--color-warning)}.toast-warning .toast-icon[data-v-13a5544e]{color:var(--color-warning)}.toast-info[data-v-13a5544e]{border-left:4px solid var(--color-info)}.toast-info .toast-icon[data-v-13a5544e]{color:var(--color-info)}.toast-content[data-v-13a5544e]{flex:1}.toast-message[data-v-13a5544e]{margin:0;font-size:var(--font-size-sm);color:var(--toast-text);line-height:1.5}.toast-close[data-v-13a5544e]{flex-shrink:0;width:20px;height:20px;padding:0;border:none;background:none;color:var(--toast-close);cursor:pointer;transition:color .2s ease}.toast-close[data-v-13a5544e]:hover{color:var(--toast-close-hover)}.toast-enter-active[data-v-13a5544e]{animation:toast-in-13a5544e .3s ease}.toast-leave-active[data-v-13a5544e]{animation:toast-out-13a5544e .3s ease}@keyframes toast-in-13a5544e{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-out-13a5544e{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 640px){.toast-container[data-v-13a5544e]{top:10px;right:10px;left:10px}.toast[data-v-13a5544e]{min-width:auto;max-width:none}}.modal-overlay[data-v-fd0d4da8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--modal-overlay);padding:var(--spacing-md)}.modal-content[data-v-fd0d4da8]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:400px;overflow:hidden}.modal-header[data-v-fd0d4da8]{padding:var(--spacing-lg) var(--spacing-lg) 0}.modal-title[data-v-fd0d4da8]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-body[data-v-fd0d4da8]{padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md)}.modal-icon[data-v-fd0d4da8]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-icon svg[data-v-fd0d4da8]{width:28px;height:28px}.modal-icon--danger[data-v-fd0d4da8]{background:var(--color-danger-bg);color:var(--color-danger)}.modal-icon--warning[data-v-fd0d4da8]{background:var(--color-warning-bg);color:var(--color-warning)}.modal-icon--info[data-v-fd0d4da8]{background:var(--color-info-bg);color:var(--color-primary)}.modal-message[data-v-fd0d4da8]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.modal-footer[data-v-fd0d4da8]{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg)}.btn[data-v-fd0d4da8]{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;border:none;transition:all var(--transition-fast)}.btn-secondary[data-v-fd0d4da8]{background:var(--color-background-alt);color:var(--color-text-primary)}.btn-secondary[data-v-fd0d4da8]:hover{background:var(--color-border)}.btn-primary[data-v-fd0d4da8]{background:var(--color-primary);color:#fff}.btn-primary[data-v-fd0d4da8]:hover{background:var(--color-primary-dark)}.btn-danger[data-v-fd0d4da8]{background:var(--color-danger);color:#fff}.btn-danger[data-v-fd0d4da8]:hover{background:var(--red-dark)}.modal-enter-active[data-v-fd0d4da8],.modal-leave-active[data-v-fd0d4da8]{transition:opacity .2s ease}.modal-enter-active .modal-content[data-v-fd0d4da8],.modal-leave-active .modal-content[data-v-fd0d4da8]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-fd0d4da8],.modal-leave-to[data-v-fd0d4da8]{opacity:0}.modal-enter-from .modal-content[data-v-fd0d4da8],.modal-leave-to .modal-content[data-v-fd0d4da8]{transform:scale(.95);opacity:0}.modal-enter-to[data-v-fd0d4da8],.modal-leave-from[data-v-fd0d4da8]{opacity:1}.modal-enter-to .modal-content[data-v-fd0d4da8],.modal-leave-from .modal-content[data-v-fd0d4da8]{transform:scale(1);opacity:1}:root[data-theme=light] .modal-content[data-v-fd0d4da8]{background:var(--modal-bg);box-shadow:var(--shadow-modal)}:root[data-theme=light] .modal-icon--warning[data-v-fd0d4da8]{color:var(--amber-dark)}:root[data-theme=light] .btn-secondary[data-v-fd0d4da8]{background:var(--surface-3)}:root[data-theme=light] .btn-secondary[data-v-fd0d4da8]:hover{background:var(--bg-2)}.user-dropdown[data-v-7ee68b33]{position:relative}.avatar-button[data-v-7ee68b33]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;overflow:hidden;transition:box-shadow var(--transition-fast)}.avatar-button[data-v-7ee68b33]:hover{box-shadow:var(--shadow-focus-ring)}.avatar-button[data-v-7ee68b33]:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.avatar-image[data-v-7ee68b33]{width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;max-width:none;flex-shrink:0;border-radius:50%;object-fit:cover}.avatar-placeholder[data-v-7ee68b33]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--primary);color:var(--text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.dropdown-menu[data-v-7ee68b33]{position:absolute;top:calc(100% + .5rem);right:0;min-width:14rem;background:var(--card);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:var(--z-dropdown)}.dropdown-header[data-v-7ee68b33]{display:flex;flex-direction:column;gap:.125rem;padding:var(--spacing-md) var(--spacing-lg)}.dropdown-name[data-v-7ee68b33]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.dropdown-email[data-v-7ee68b33]{font-size:var(--font-size-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider[data-v-7ee68b33]{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0}.dropdown-item[data-v-7ee68b33]{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-lg);border:none;background:transparent;color:var(--text-2);font-size:var(--font-size-sm);font-family:inherit;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.dropdown-item[data-v-7ee68b33]:hover{background:var(--hover-overlay);color:var(--text)}.dropdown-item[data-v-7ee68b33]:focus-visible{outline:none;background:var(--hover-overlay);color:var(--text)}.dropdown-item--danger[data-v-7ee68b33]:hover{background:var(--color-danger-bg);color:var(--color-danger)}.dropdown-icon[data-v-7ee68b33]{font-size:var(--font-size-base);width:1.25rem;text-align:center}.dropdown-enter-active[data-v-7ee68b33],.dropdown-leave-active[data-v-7ee68b33]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.dropdown-enter-from[data-v-7ee68b33],.dropdown-leave-to[data-v-7ee68b33]{opacity:0;transform:translateY(-.5rem)}.dropdown-enter-to[data-v-7ee68b33],.dropdown-leave-from[data-v-7ee68b33]{opacity:1;transform:translateY(0)}:root[data-theme=light] .dropdown-menu[data-v-7ee68b33]{background:var(--surface-1);border-color:var(--color-border-light);box-shadow:var(--shadow-dropdown)}.theme-toggle[data-v-abaff44b]{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.theme-toggle[data-v-abaff44b]:hover{background:var(--color-surface-hover);color:var(--text)}.theme-toggle[data-v-abaff44b]:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.theme-toggle--sm[data-v-abaff44b]{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.theme-toggle--sm .theme-toggle-icon[data-v-abaff44b]{font-size:var(--font-size-sm)}.theme-toggle-icon[data-v-abaff44b]{font-size:var(--font-size-base);width:1.25rem;text-align:center}.theme-toggle-label[data-v-abaff44b]{font-weight:var(--font-weight-medium)}.language-selector[data-v-035df499]{position:relative}.language-button[data-v-035df499]{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.language-button[data-v-035df499]:hover{background:var(--hover-overlay);color:var(--text)}.language-button[data-v-035df499]:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.language-button--sm[data-v-035df499]{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.language-flag[data-v-035df499]{font-size:1.125rem;line-height:1}.language-button--sm .language-flag[data-v-035df499]{font-size:1rem}.language-label[data-v-035df499]{font-weight:var(--font-weight-medium)}.language-chevron[data-v-035df499]{width:1rem;height:1rem;transition:transform var(--transition-fast)}.language-chevron--open[data-v-035df499]{transform:rotate(180deg)}.language-menu[data-v-035df499]{position:absolute;top:calc(100% + .25rem);right:0;min-width:10rem;margin:0;padding:var(--spacing-xs) 0;list-style:none;background:var(--card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.language-option[data-v-035df499]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background var(--transition-fast)}.language-option[data-v-035df499]:hover{background:var(--hover-overlay)}.language-option--active[data-v-035df499]{color:var(--primary-light)}.language-name[data-v-035df499]{flex:1;font-size:var(--font-size-sm)}.language-check[data-v-035df499]{width:1rem;height:1rem;color:var(--color-success)}.dropdown-enter-active[data-v-035df499],.dropdown-leave-active[data-v-035df499]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.dropdown-enter-from[data-v-035df499],.dropdown-leave-to[data-v-035df499]{opacity:0;transform:translateY(-.25rem)}:root[data-theme=light] .language-menu[data-v-035df499]{background:var(--surface-1);border-color:var(--color-border-light);box-shadow:var(--shadow-dropdown)}.notification-item[data-v-1b1d1958]{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);position:relative}.notification-item[data-v-1b1d1958]:hover{background:var(--hover-overlay)}.notification-item[data-v-1b1d1958]:focus-visible{outline:none;background:var(--hover-overlay)}.notification-item--unread[data-v-1b1d1958]{background:var(--color-info-bg)}.notification-item--unread[data-v-1b1d1958]:hover{background:var(--color-info-bg);filter:brightness(1.1)}.notification-icon[data-v-1b1d1958]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;min-width:2rem;border-radius:50%;font-size:var(--font-size-sm)}.notification-icon--success[data-v-1b1d1958]{background:var(--color-success-bg)}.notification-icon--danger[data-v-1b1d1958]{background:var(--color-danger-bg)}.notification-icon--purple[data-v-1b1d1958]{background:var(--rarity-epic-bg)}.notification-icon--warning[data-v-1b1d1958]{background:var(--color-warning-bg)}.notification-icon--info[data-v-1b1d1958]{background:var(--color-info-bg)}.notification-content[data-v-1b1d1958]{flex:1;min-width:0}.notification-title[data-v-1b1d1958]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);line-height:1.3}.notification-message[data-v-1b1d1958]{font-size:var(--font-size-xs);color:var(--muted);line-height:1.4;margin-top:.125rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time[data-v-1b1d1958]{font-size:var(--font-size-xs);color:var(--muted);margin-top:.25rem}.notification-unread-dot[data-v-1b1d1958]{width:.5rem;height:.5rem;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:.375rem}.notification-dropdown[data-v-556dd836]{display:flex;flex-direction:column;max-height:24rem}.dropdown-header[data-v-556dd836]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.dropdown-title[data-v-556dd836]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.mark-all-read-btn[data-v-556dd836]{border:none;background:transparent;color:var(--primary);font-size:var(--font-size-xs);font-family:inherit;cursor:pointer;padding:0;transition:color var(--transition-fast)}.mark-all-read-btn[data-v-556dd836]:hover{color:var(--primary-hover)}.dropdown-divider[data-v-556dd836]{height:1px;background:var(--color-border)}.notification-list[data-v-556dd836]{flex:1;overflow-y:auto;overscroll-behavior:contain}.empty-state[data-v-556dd836]{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--muted);font-size:var(--font-size-sm)}.loading-indicator[data-v-556dd836]{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);color:var(--muted);font-size:var(--font-size-xs)}.notification-bell[data-v-9ad09f41]{position:relative}.bell-button[data-v-9ad09f41]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-2);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);position:relative}.bell-button[data-v-9ad09f41]:hover{color:var(--text);background:var(--hover-overlay)}.bell-button[data-v-9ad09f41]:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.bell-icon[data-v-9ad09f41]{width:1.25rem;height:1.25rem}.badge[data-v-9ad09f41]{position:absolute;top:0;right:0;min-width:1.125rem;height:1.125rem;padding:0 .25rem;border-radius:9999px;background:var(--color-danger);color:#fff;font-size:.625rem;font-weight:var(--font-weight-bold);line-height:1.125rem;text-align:center}.dropdown-menu[data-v-9ad09f41]{position:absolute;top:calc(100% + .5rem);right:0;width:20rem;background:var(--card);border:1px solid var(--color-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:var(--z-dropdown)}.dropdown-enter-active[data-v-9ad09f41],.dropdown-leave-active[data-v-9ad09f41]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.dropdown-enter-from[data-v-9ad09f41],.dropdown-leave-to[data-v-9ad09f41]{opacity:0;transform:translateY(-.5rem)}.dropdown-enter-to[data-v-9ad09f41],.dropdown-leave-from[data-v-9ad09f41]{opacity:1;transform:translateY(0)}.navbar[data-v-502a487e]{position:sticky;top:0;z-index:var(--z-sticky);background:var(--navbar-bg);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);border-bottom:1px solid var(--navbar-border)}.navbar-container[data-v-502a487e]{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-md) var(--spacing-lg)}.navbar-brand[data-v-502a487e]{font-size:1.25rem;font-weight:var(--font-weight-extrabold);color:var(--text);text-decoration:none;letter-spacing:var(--letter-spacing-wide);transition:color var(--transition-fast)}.navbar-brand[data-v-502a487e]:hover{color:var(--primary-light)}.navbar-actions[data-v-502a487e]{display:flex;align-items:center;gap:var(--spacing-sm)}.nav-link[data-v-502a487e]{color:var(--text-2);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--r-sm);border:none;background:none;cursor:pointer;font-family:inherit;transition:color var(--transition-fast),background var(--transition-fast)}.nav-link[data-v-502a487e]:hover{color:var(--text);background:var(--hover-overlay)}.nav-link.router-link-active[data-v-502a487e]{color:var(--text)}.nav-link--danger[data-v-502a487e]:hover{color:var(--color-danger);background:var(--color-danger-bg)}@media (min-width: 64rem){.navbar-container[data-v-502a487e]{padding:var(--spacing-md) var(--spacing-xl)}.navbar-brand[data-v-502a487e]{font-size:1.5rem}.nav-link[data-v-502a487e]{font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-lg)}.navbar-actions[data-v-502a487e]{gap:var(--spacing-md)}}.modal-enter-active[data-v-c8b22d72],.modal-leave-active[data-v-c8b22d72]{transition:opacity .2s ease}.modal-enter-active .modal[data-v-c8b22d72],.modal-leave-active .modal[data-v-c8b22d72]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-c8b22d72],.modal-leave-to[data-v-c8b22d72]{opacity:0}.modal-enter-from .modal[data-v-c8b22d72],.modal-leave-to .modal[data-v-c8b22d72]{opacity:0;transform:scale(.95) translateY(-10px)}.contact-form[data-v-0dd9c3c1]{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group[data-v-0dd9c3c1]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label[data-v-0dd9c3c1]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.required[data-v-0dd9c3c1]{color:var(--color-danger)}.form-group input[data-v-0dd9c3c1],.form-group textarea[data-v-0dd9c3c1]{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--surface-2, var(--color-background-alt));border:1px solid var(--border-soft, var(--color-border));border-radius:var(--r-sm, var(--border-radius));font-size:var(--font-size-base);font-family:inherit;color:var(--color-text-primary);transition:all var(--transition-fast);resize:vertical}.form-group input[data-v-0dd9c3c1]::placeholder,.form-group textarea[data-v-0dd9c3c1]::placeholder{color:var(--color-text-muted)}.form-group input[data-v-0dd9c3c1]:hover:not(:focus):not(:disabled),.form-group textarea[data-v-0dd9c3c1]:hover:not(:focus):not(:disabled){border-color:var(--color-border);background:var(--surface-3)}.form-group input[data-v-0dd9c3c1]:focus,.form-group textarea[data-v-0dd9c3c1]:focus{outline:none;background:var(--surface-2);border-color:var(--border-active, var(--color-primary));box-shadow:var(--shadow-focus-ring)}.form-group.has-error input[data-v-0dd9c3c1],.form-group.has-error textarea[data-v-0dd9c3c1]{border-color:var(--color-danger)}.form-group.has-error input[data-v-0dd9c3c1]:focus,.form-group.has-error textarea[data-v-0dd9c3c1]:focus{border-color:var(--color-danger);box-shadow:var(--shadow-focus-ring-danger)}.textarea-footer[data-v-0dd9c3c1]{display:flex;justify-content:flex-end}.field-error[data-v-0dd9c3c1]{font-size:var(--font-size-xs);color:var(--red-light);flex:1}.char-count[data-v-0dd9c3c1]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.contact-actions[data-v-0dd9c3c1]{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-soft, var(--color-border))}.btn[data-v-0dd9c3c1]{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--r-sm, var(--border-radius));font-weight:var(--font-weight-medium);font-size:var(--font-size-base);cursor:pointer;border:none;transition:all var(--transition-fast)}.btn[data-v-0dd9c3c1]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--border-active, var(--color-primary))}.btn[data-v-0dd9c3c1]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-0dd9c3c1]{background:var(--color-primary);color:#fff}.btn-primary[data-v-0dd9c3c1]:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary[data-v-0dd9c3c1]{background:var(--surface-2, var(--color-background-alt));border:1px solid var(--border-soft, var(--color-border));color:var(--color-text-primary)}.btn-secondary[data-v-0dd9c3c1]:hover:not(:disabled){background:var(--surface-3);border-color:var(--color-border)}@media (max-width: 480px){.contact-actions[data-v-0dd9c3c1]{flex-direction:column}}:root[data-theme=light] .btn[data-v-0dd9c3c1]:disabled{opacity:1;background:var(--color-border);color:var(--muted);border-color:var(--color-border)}.footer[data-v-dba74bb8]{background:var(--bg);border-top:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg)}.footer-container[data-v-dba74bb8]{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max-width);margin:0 auto;gap:var(--spacing-md)}.footer-brand[data-v-dba74bb8]{display:flex;align-items:center;gap:var(--spacing-xs)}.brand-name[data-v-dba74bb8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text);letter-spacing:var(--letter-spacing-wide)}.brand-separator[data-v-dba74bb8],.brand-year[data-v-dba74bb8]{font-size:var(--font-size-xs);color:var(--muted)}.footer-actions[data-v-dba74bb8]{display:flex;align-items:center;gap:var(--spacing-xs)}.action-separator[data-v-dba74bb8]{color:var(--muted);font-size:var(--font-size-sm)}.action-link[data-v-dba74bb8]{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.action-link[data-v-dba74bb8]:hover{background:var(--color-background-alt);color:var(--color-primary)}.action-link[data-v-dba74bb8]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.action-icon[data-v-dba74bb8]{font-size:var(--font-size-sm)}.donate-link[data-v-dba74bb8]{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--muted);font-size:var(--font-size-sm);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.donate-link[data-v-dba74bb8]:hover{background:var(--color-warning-bg);color:var(--amber-light)}.donate-link[data-v-dba74bb8]:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring-warning)}.donate-icon[data-v-dba74bb8]{font-size:var(--font-size-sm)}.email-link[data-v-dba74bb8]{font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs)}@media (max-width: 480px){.footer-container[data-v-dba74bb8]{flex-direction:column;gap:var(--spacing-sm)}.footer-actions[data-v-dba74bb8]{flex-wrap:wrap;justify-content:center}}:root{--bg: #0F172A;--bg-2: #111827;--card: #1E293B;--text: #F8FAFC;--text-2: #94A3B8;--muted: #64748B;--primary: #1D4ED8;--primary-light: #3B82F6;--primary-dark: #1E40AF;--accent: #16A34A;--accent-light: #22C55E;--color-primary: var(--primary);--color-primary-dark: var(--primary-dark);--color-primary-light: var(--primary-light);--color-secondary: var(--accent);--color-secondary-dark: #15803D;--color-success: var(--accent);--color-warning: #F59E0B;--color-danger: #EF4444;--color-info: var(--primary-light);--color-success-light: #4ade80;--color-success-bg: rgba(34, 197, 94, .1);--color-success-border: rgba(34, 197, 94, .3);--color-warning-light: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .1);--color-warning-border: rgba(251, 191, 36, .3);--color-danger-light: #f87171;--color-danger-bg: rgba(239, 68, 68, .1);--color-danger-border: rgba(239, 68, 68, .3);--color-info-bg: rgba(59, 130, 246, .1);--color-info-border: rgba(59, 130, 246, .3);--badge-draft-bg: #fef3c7;--badge-draft-text: #92400e;--badge-active-bg: #d1fae5;--badge-active-text: #065f46;--badge-finished-bg: #e0e7ff;--badge-finished-text: #3730a3;--badge-neutral-bg: rgba(100, 116, 139, .2);--badge-neutral-text: #94a3b8;--badge-global-bg: rgba(59, 130, 246, .12);--badge-global-text: #60a5fa;--badge-private-bg: rgba(156, 163, 175, .12);--badge-private-text: #9ca3af;--badge-free-bg: rgba(34, 197, 94, .12);--badge-free-text: #4ade80;--badge-paid-bg: rgba(251, 191, 36, .12);--badge-paid-text: #fbbf24;--rarity-epic-bg: rgba(168, 85, 247, .2);--rarity-epic-text: #c084fc;--medal-gold-gradient: linear-gradient(135deg, #ffd700 0%, #ffb700 100%);--medal-silver-gradient: linear-gradient(135deg, #c0c0c0 0%, #a8a8a8 100%);--medal-bronze-gradient: linear-gradient(135deg, #cd7f32 0%, #b87333 100%);--medal-text-dark: #1a1a1a;--medal-text-light: #ffffff;--disabled-bg: rgba(255, 255, 255, .1);--disabled-text: rgba(255, 255, 255, .4);--disabled-border: rgba(255, 255, 255, .1);--btn-disabled-bg: rgba(255, 255, 255, .1);--btn-disabled-text: rgba(255, 255, 255, .4);--btn-primary-disabled-bg: rgba(59, 130, 246, .4);--btn-primary-disabled-text: rgba(255, 255, 255, .7);--btn-danger-disabled-bg: rgba(239, 68, 68, .4);--btn-success-disabled-bg: rgba(34, 197, 94, .4);--blue-light: #93c5fd;--blue-medium: #60a5fa;--blue-dark: #2563eb;--green-light: #86efac;--green-medium: #4ade80;--green-dark: #16a34a;--red-light: #fca5a5;--red-medium: #f87171;--red-dark: #dc2626;--amber-light: #fde047;--amber-medium: #fbbf24;--amber-dark: #d97706;--purple-light: #c4b5fd;--purple-medium: #a78bfa;--purple-dark: #7c3aed;--slate-light: #cbd5e1;--slate-medium: #94a3b8;--slate-dark: #64748b;--color-text-primary: var(--text);--color-text-secondary: var(--text-2);--color-text-muted: var(--muted);--color-text-inverse: var(--bg);--color-background: var(--bg);--color-background-alt: var(--bg-2);--color-surface: var(--card);--color-surface-hover: #283548;--surface-1: #1E293B;--surface-2: #243044;--surface-3: #2C3A52;--color-border: #334155;--color-border-light: #1E293B;--color-border-dark: #475569;--border-soft: rgba(255, 255, 255, .06);--border-active: #2563EB;--navbar-bg: rgba(15, 23, 42, .85);--navbar-border: rgba(51, 65, 85, .5);--hover-overlay: rgba(255, 255, 255, .05);--hover-overlay-strong: rgba(255, 255, 255, .1);--toast-bg: #ffffff;--toast-text: #1f2937;--toast-close: #9ca3af;--toast-close-hover: #4b5563;--hero-gradient-end: #0a0f1a;--hero-glow-primary: rgba(29, 78, 216, .1);--hero-glow-accent: rgba(22, 163, 74, .06);--panel-bg: rgba(0, 0, 0, .2);--panel-bg-alt: rgba(255, 255, 255, .03);--panel-border: rgba(255, 255, 255, .05);--panel-header-bg: rgba(255, 255, 255, .02);--stat-card-bg: rgba(255, 255, 255, .03);--stat-card-border: rgba(255, 255, 255, .06);--stat-highlight-bg: rgba(234, 179, 8, .08);--stat-highlight-border: rgba(234, 179, 8, .15);--stat-highlight-text: #fde047;--stat-primary-bg: rgba(59, 130, 246, .08);--stat-primary-border: rgba(59, 130, 246, .15);--stat-primary-text: #93c5fd;--table-header-bg: rgba(255, 255, 255, .02);--table-row-hover: rgba(255, 255, 255, .02);--table-border: rgba(255, 255, 255, .06);--modal-overlay: rgba(0, 0, 0, .7);--modal-bg: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--tooltip-bg: #1e293b;--tooltip-text: #ffffff;--tooltip-border: rgba(255, 255, 255, .1);--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--r-sm: .625rem;--r-md: .875rem;--r-lg: 1.25rem;--border-radius-sm: .25rem;--border-radius: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 5rem;--spacing-5xl: 6rem;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(29, 78, 216, .3);--shadow-glow-hover: 0 0 30px rgba(37, 99, 235, .5), 0 6px 20px rgba(37, 99, 235, .4);--shadow-glow-accent: 0 0 20px rgba(22, 163, 74, .3);--shadow-glow-warning: 0 0 20px rgba(245, 158, 11, .3);--shadow-glow-danger: 0 0 20px rgba(239, 68, 68, .3);--gradient-primary: linear-gradient(135deg, var(--blue-medium), var(--blue-dark), #1d4ed8);--shadow-focus-ring: 0 0 0 3px rgba(37, 99, 235, .25);--shadow-focus-ring-success: 0 0 0 3px rgba(34, 197, 94, .25);--shadow-focus-ring-warning: 0 0 0 3px rgba(251, 191, 36, .25);--shadow-focus-ring-danger: 0 0 0 3px rgba(239, 68, 68, .25);--shadow-focus-ring-purple: 0 0 0 3px rgba(167, 139, 250, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .15);--shadow-modal: 0 25px 50px rgba(0, 0, 0, .25);--shadow-dropdown: 0 10px 40px rgba(0, 0, 0, .2);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--container-max-width: 75rem;--container-padding: var(--spacing-lg);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 40rem;--breakpoint-md: 48rem;--breakpoint-lg: 64rem;--breakpoint-xl: 80rem;--breakpoint-2xl: 96rem;--container-xs: 20rem;--container-sm: 26.25rem;--container-md: 40rem;--container-lg: 64rem;--container-xl: 80rem}.theme-light,[data-theme=light]{--bg: #f1f5f9;--bg-2: #e2e8f0;--card: #ffffff;--text: #0f172a;--text-2: #334155;--muted: #64748b;--color-background: var(--bg);--color-background-alt: var(--bg-2);--color-surface: var(--card);--color-surface-hover: #f8fafc;--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--color-text-primary: var(--text);--color-text-secondary: var(--text-2);--color-text-muted: var(--muted);--color-text-inverse: #ffffff;--color-border: #cbd5e1;--color-border-light: #e2e8f0;--color-border-dark: #94a3b8;--border-soft: rgba(0, 0, 0, .08);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .08);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 1px 2px -1px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .12), 0 2px 4px -2px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .12), 0 4px 6px -4px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 8px 10px -6px rgba(0, 0, 0, .08);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .06);--shadow-modal: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-dropdown: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 10px 20px -2px rgba(0, 0, 0, .08);--shadow-focus-ring: 0 0 0 3px rgba(59, 130, 246, .3);--shadow-focus-ring-success: 0 0 0 3px rgba(34, 197, 94, .3);--shadow-focus-ring-warning: 0 0 0 3px rgba(251, 191, 36, .3);--shadow-focus-ring-danger: 0 0 0 3px rgba(239, 68, 68, .3);--shadow-focus-ring-purple: 0 0 0 3px rgba(147, 51, 234, .3);--shadow-glow: 0 0 20px rgba(29, 78, 216, .2);--shadow-glow-hover: 0 0 25px rgba(37, 99, 235, .35), 0 4px 15px rgba(37, 99, 235, .25);--shadow-glow-accent: 0 0 20px rgba(22, 163, 74, .2);--shadow-glow-warning: 0 0 20px rgba(245, 158, 11, .25);--shadow-glow-danger: 0 0 20px rgba(239, 68, 68, .2);--gradient-primary: linear-gradient(135deg, var(--blue-medium), var(--blue-dark), #1d4ed8);--color-success-bg: rgba(34, 197, 94, .15);--color-success-border: rgba(34, 197, 94, .5);--color-warning-bg: rgba(251, 191, 36, .15);--color-warning-border: rgba(251, 191, 36, .5);--color-danger-bg: rgba(239, 68, 68, .15);--color-danger-border: rgba(239, 68, 68, .5);--color-info-bg: rgba(59, 130, 246, .15);--color-info-border: rgba(59, 130, 246, .5);--badge-neutral-bg: rgba(71, 85, 105, .12);--badge-neutral-text: #334155;--badge-draft-bg: #fef3c7;--badge-draft-text: #92400e;--badge-active-bg: #d1fae5;--badge-active-text: #065f46;--badge-finished-bg: #dbeafe;--badge-finished-text: #1e40af;--badge-global-bg: rgba(59, 130, 246, .1);--badge-global-text: #2563eb;--badge-private-bg: rgba(100, 116, 139, .1);--badge-private-text: #475569;--badge-free-bg: rgba(34, 197, 94, .1);--badge-free-text: #16a34a;--badge-paid-bg: rgba(202, 138, 4, .12);--badge-paid-text: #a16207;--rarity-epic-bg: rgba(168, 85, 247, .15);--rarity-epic-text: #9333ea;--medal-gold-gradient: linear-gradient(135deg, #ffd700 0%, #ffb700 100%);--medal-silver-gradient: linear-gradient(135deg, #c0c0c0 0%, #a8a8a8 100%);--medal-bronze-gradient: linear-gradient(135deg, #cd7f32 0%, #b87333 100%);--medal-text-dark: #1a1a1a;--medal-text-light: #ffffff;--purple-light: #a78bfa;--purple-medium: #8b5cf6;--purple-dark: #6d28d9;--navbar-bg: rgba(255, 255, 255, .95);--navbar-border: #cbd5e1;--hover-overlay: rgba(0, 0, 0, .05);--hover-overlay-strong: rgba(0, 0, 0, .1);--toast-bg: #ffffff;--toast-text: #0f172a;--toast-close: #64748b;--toast-close-hover: #334155;--hero-gradient-end: #cbd5e1;--hero-glow-primary: rgba(29, 78, 216, .1);--hero-glow-accent: rgba(22, 163, 74, .08);--panel-bg: #f8fafc;--panel-bg-alt: #f1f5f9;--panel-border: #e2e8f0;--panel-header-bg: #f1f5f9;--stat-card-bg: #ffffff;--stat-card-border: #e2e8f0;--stat-highlight-bg: rgba(251, 191, 36, .12);--stat-highlight-border: rgba(251, 191, 36, .4);--stat-highlight-text: #b45309;--stat-primary-bg: rgba(59, 130, 246, .12);--stat-primary-border: rgba(59, 130, 246, .4);--stat-primary-text: #1d4ed8;--modal-overlay: rgba(0, 0, 0, .4);--modal-bg: #ffffff;--table-header-bg: #f1f5f9;--table-row-hover: rgba(0, 0, 0, .02);--table-border: #e2e8f0;--tooltip-bg: #1e293b;--tooltip-text: #f8fafc;--tooltip-border: #334155;--disabled-bg: #e2e8f0;--disabled-text: #94a3b8;--disabled-border: #e2e8f0;--btn-disabled-bg: #e2e8f0;--btn-disabled-text: #94a3b8;--btn-primary-disabled-bg: #93c5fd;--btn-primary-disabled-text: #ffffff;--btn-danger-disabled-bg: #fca5a5;--btn-success-disabled-bg: #86efac;--blue-light: #60a5fa;--blue-medium: #3b82f6;--blue-dark: #1e40af;--green-light: #4ade80;--green-medium: #22c55e;--green-dark: #15803d;--red-light: #f87171;--red-medium: #ef4444;--red-dark: #b91c1c;--amber-light: #fbbf24;--amber-medium: #f59e0b;--amber-dark: #a16207;--slate-light: #94a3b8;--slate-medium: #64748b;--slate-dark: #475569}@media print{:root{--bg: #ffffff;--card: #ffffff;--text: #000000;--text-2: #374151;--color-border: #d1d5db}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;height:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100%;display:flex;flex-direction:column;overflow-x:hidden}#app{flex:1;display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background);overflow-x:hidden;width:100%}#app>main{flex:1;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;font-family:inherit}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}@media (min-width: 1600px){:root{--container-max-width: 1600px;--container-padding: 48px}}@media (min-width: 1920px){:root{--container-max-width: 1800px;--container-padding: 64px}}@media (min-width: 2560px){html{font-size:18px}:root{--container-max-width: 2200px;--container-padding: 80px}}@media (min-width: 3200px){html{font-size:20px}:root{--container-max-width: 2800px;--container-padding: 100px}}@media (min-width: 3840px){html{font-size:24px}:root{--container-max-width: 3200px;--container-padding: 120px}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.visible{visibility:visible}.invisible{visibility:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.btn:disabled,.btn.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--surface-2);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--color-border-dark)}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);box-shadow:var(--shadow-glow-accent)}.btn-success:focus-visible{box-shadow:var(--shadow-focus-ring-success)}.btn-warning{background:var(--color-warning);color:#000;border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:#d97706;border-color:#d97706;box-shadow:var(--shadow-glow-warning)}.btn-warning:focus-visible{box-shadow:var(--shadow-focus-ring-warning)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626;box-shadow:var(--shadow-glow-danger)}.btn-danger:focus-visible{box-shadow:var(--shadow-focus-ring-danger)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn-outline-secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-outline-secondary:hover:not(:disabled){background:var(--surface-2);color:var(--color-text-primary);border-color:var(--color-border-dark)}.btn-outline-success{background:transparent;color:var(--color-success);border-color:var(--color-success)}.btn-outline-success:hover:not(:disabled){background:var(--color-success);color:#fff}.btn-outline-warning{background:transparent;color:var(--color-warning);border-color:var(--color-warning)}.btn-outline-warning:hover:not(:disabled){background:var(--color-warning);color:#000}.btn-outline-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-outline-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--color-text-primary)}.btn-link{background:transparent;color:var(--color-primary);border-color:transparent;padding:0;text-decoration:underline;text-underline-offset:2px}.btn-link:hover:not(:disabled){color:var(--color-primary-dark)}.btn-xs{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.btn-xl{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-full{width:100%}.btn-auto{width:auto}.btn-icon{padding:var(--spacing-sm);aspect-ratio:1}.btn-icon.btn-xs{padding:var(--spacing-xs)}.btn-icon.btn-sm{padding:.375rem}.btn-icon.btn-lg{padding:var(--spacing-md)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-success.btn-loading:after,.btn-danger.btn-loading:after{border-color:#ffffff4d;border-right-color:#fff}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.btn-group .btn:not(:first-child){margin-left:-1px}.btn-badge{position:relative}.btn-badge:after{content:attr(data-badge);position:absolute;top:-.5rem;right:-.5rem;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.25rem;text-align:center;color:#fff;background:var(--color-danger);border-radius:var(--radius-full)}:root[data-theme=light] .btn:disabled,:root[data-theme=light] .btn.disabled{opacity:1;background:var(--btn-disabled-bg);color:var(--btn-disabled-text);border-color:var(--disabled-border)}:root[data-theme=light] .btn-primary:disabled,:root[data-theme=light] .btn-primary.disabled{background:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-text);border-color:var(--btn-primary-disabled-bg)}:root[data-theme=light] .btn-success:disabled,:root[data-theme=light] .btn-success.disabled{background:var(--btn-success-disabled-bg);color:var(--btn-primary-disabled-text);border-color:var(--btn-success-disabled-bg)}:root[data-theme=light] .btn-warning:disabled,:root[data-theme=light] .btn-warning.disabled{background:var(--amber-light);color:var(--amber-dark);border-color:var(--amber-light)}:root[data-theme=light] .btn-danger:disabled,:root[data-theme=light] .btn-danger.disabled{background:var(--btn-danger-disabled-bg);color:var(--btn-primary-disabled-text);border-color:var(--btn-danger-disabled-bg)}:root[data-theme=light] .btn-secondary:disabled,:root[data-theme=light] .btn-secondary.disabled{background:var(--surface-2);color:var(--disabled-text);border-color:var(--disabled-border)}:root[data-theme=light] .btn-outline:disabled,:root[data-theme=light] .btn-outline.disabled{background:transparent;color:var(--btn-primary-disabled-bg);border-color:var(--btn-primary-disabled-bg)}:root[data-theme=light] .btn-outline-secondary:disabled,:root[data-theme=light] .btn-outline-secondary.disabled{background:transparent;color:var(--slate-light);border-color:var(--disabled-border)}:root[data-theme=light] .btn-outline-success:disabled,:root[data-theme=light] .btn-outline-success.disabled{background:transparent;color:var(--btn-success-disabled-bg);border-color:var(--btn-success-disabled-bg)}:root[data-theme=light] .btn-outline-warning:disabled,:root[data-theme=light] .btn-outline-warning.disabled{background:transparent;color:var(--amber-light);border-color:var(--amber-light)}:root[data-theme=light] .btn-outline-danger:disabled,:root[data-theme=light] .btn-outline-danger.disabled{background:transparent;color:var(--btn-danger-disabled-bg);border-color:var(--btn-danger-disabled-bg)}:root[data-theme=light] .btn-ghost:disabled,:root[data-theme=light] .btn-ghost.disabled{background:transparent;color:var(--slate-light)}:root[data-theme=light] .btn-link:disabled,:root[data-theme=light] .btn-link.disabled{color:var(--btn-primary-disabled-bg)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-card);transition:all var(--transition-base)}.card-hover:hover{border-color:var(--color-border-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--color-primary)}.card-flat{box-shadow:none}.card-bordered{border-width:2px}.card-ghost{background:transparent;border-color:transparent;box-shadow:none}.card-sm{padding:var(--spacing-md);border-radius:var(--radius-md)}.card-lg{padding:var(--spacing-xl);border-radius:var(--radius-xl)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.card-header-stacked{flex-direction:column;align-items:flex-start}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.card-body{color:var(--color-text-secondary)}.card-body>*:last-child{margin-bottom:0}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.card-footer-between{justify-content:space-between}.card-image{margin:calc(var(--spacing-lg) * -1);margin-bottom:var(--spacing-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.card-image img{width:100%;height:auto;display:block}.card-sm .card-image{margin:calc(var(--spacing-md) * -1);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md) var(--radius-md) 0 0}.card-success{border-color:var(--color-success-border);background:var(--color-success-bg)}.card-warning{border-color:var(--color-warning-border);background:var(--color-warning-bg)}.card-danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.card-info{border-color:var(--color-info-border);background:var(--color-info-bg)}.card-accent{border-left-width:4px}.card-accent-primary{border-left-color:var(--color-primary)}.card-accent-success{border-left-color:var(--color-success)}.card-accent-warning{border-left-color:var(--color-warning)}.card-accent-danger{border-left-color:var(--color-danger)}.card-grid{display:grid;gap:var(--spacing-lg)}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}.card-grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width: 768px){.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}}.card-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.card-meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.card-meta-item{display:flex;align-items:center;gap:var(--spacing-xs)}.card-divider{margin:var(--spacing-md) calc(var(--spacing-lg) * -1);border:none;border-top:1px solid var(--color-border)}.card-sm .card-divider{margin:var(--spacing-sm) calc(var(--spacing-md) * -1)}.card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);min-height:200px}.card-empty-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.card-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.card-empty-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-lg);max-width:300px}.form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-inline{flex-direction:row;align-items:flex-end}.form-row{display:flex;gap:var(--spacing-md)}.form-row>*{flex:1}@media (max-width: 640px){.form-row{flex-direction:column}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group-horizontal{flex-direction:row;align-items:center;gap:var(--spacing-md)}.form-group-horizontal .form-label{margin-bottom:0;white-space:nowrap}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-label-required:after{content:" *";color:var(--color-danger)}.form-label-optional:after{content:" (opcional)";font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.form-input,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.form-input:hover:not(:disabled),.form-select:hover:not(:disabled),.form-textarea:hover:not(:disabled){border-color:var(--color-border-dark)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-ring)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-1)}.form-input-sm,.form-select-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.form-input-lg,.form-select-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.form-input-error,.form-select-error,.form-textarea-error{border-color:var(--color-danger)}.form-input-error:focus,.form-select-error:focus,.form-textarea-error:focus{box-shadow:var(--shadow-focus-ring-danger)}.form-input-success,.form-select-success,.form-textarea-success{border-color:var(--color-success)}.form-input-success:focus,.form-select-success:focus,.form-textarea-success:focus{box-shadow:var(--shadow-focus-ring-success)}.form-select{padding-right:var(--spacing-xl);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394A3B8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:1.25em;cursor:pointer}.form-textarea{min-height:100px;resize:vertical}.form-textarea-autosize{resize:none;overflow:hidden}.form-check{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer}.form-check-input{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:.125rem;background:var(--surface-2);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.form-check-input[type=checkbox]{border-radius:var(--radius-xs)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:checked{background:var(--color-primary);border-color:var(--color-primary)}.form-check-input:focus{box-shadow:var(--shadow-focus-ring)}.form-check-label{font-size:var(--font-size-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.form-switch{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-switch-input{position:relative;width:2.5rem;height:1.375rem;background:var(--color-border);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.form-switch-input:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;background:#fff;border-radius:50%;transition:transform var(--transition-fast)}.form-switch-input:checked{background:var(--color-primary)}.form-switch-input:checked:after{transform:translate(1.125rem)}.form-switch-input:focus{box-shadow:var(--shadow-focus-ring)}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input-icon{position:absolute;left:var(--spacing-md);color:var(--color-text-muted);pointer-events:none}.form-input-icon-right{left:auto;right:var(--spacing-md)}.form-input-with-icon{padding-left:2.5rem}.form-input-with-icon-right{padding-right:2.5rem}.form-input-group{display:flex}.form-input-group .form-input{border-radius:0}.form-input-group .form-input:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.form-input-group .form-input:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.form-input-group .form-input:not(:first-child){margin-left:-1px}.form-input-addon{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--surface-1);border:1px solid var(--color-border);white-space:nowrap}.form-input-addon:first-child{border-right:none;border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.form-input-addon:last-child{border-left:none;border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.form-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--spacing-xs)}.form-success{font-size:var(--font-size-xs);color:var(--color-success);margin-top:var(--spacing-xs)}.form-char-counter{display:flex;justify-content:flex-end;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.form-char-counter-warning{color:var(--color-warning)}.form-char-counter-error{color:var(--color-danger)}.form-stepper{display:inline-flex;align-items:center;gap:0}.form-stepper-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--surface-2);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.form-stepper-btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.form-stepper-btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.form-stepper-btn:hover:not(:disabled){background:var(--surface-3)}.form-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.form-stepper-input{width:3rem;height:2rem;padding:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-primary);background:var(--surface-1);border:1px solid var(--color-border);border-left:none;border-right:none;border-radius:0}.form-stepper-input:focus{outline:none}.form-stepper-input::-webkit-outer-spin-button,.form-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-stepper-input[type=number]{-moz-appearance:textfield}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md)}.form-actions-between{justify-content:space-between}.form-actions-start{justify-content:flex-start}.form-divider{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:modal-fade-in var(--transition-fast) ease-out}.modal-overlay-transparent{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:90vh;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);z-index:var(--z-modal);animation:modal-slide-in var(--transition-base) ease-out}@keyframes modal-slide-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-xs{max-width:var(--container-xs)}.modal-sm{max-width:var(--container-sm)}.modal-md{max-width:var(--container-md)}.modal-lg{max-width:var(--container-lg)}.modal-xl{max-width:var(--container-xl)}.modal-fullscreen{max-width:none;max-height:none;width:100%;height:100%;border-radius:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-header-center{justify-content:center;text-align:center}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;font-size:var(--font-size-xl);line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{color:var(--color-text-primary);background:var(--surface-2)}.modal-close:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.modal-body{flex:1;padding:var(--spacing-lg);overflow-y:auto}.modal-body-center{display:flex;flex-direction:column;align-items:center;text-align:center}.modal-body-scroll{overflow-y:auto;overscroll-behavior:contain}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border);flex-shrink:0}.modal-footer-between{justify-content:space-between}.modal-footer-center{justify-content:center}.modal-footer-stacked{flex-direction:column}.modal-footer-stacked .btn{width:100%}.modal-confirm{text-align:center}.modal-confirm-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin:0 auto var(--spacing-lg);font-size:2rem;border-radius:var(--radius-full)}.modal-confirm-icon-danger{color:var(--color-danger);background:var(--color-danger-bg)}.modal-confirm-icon-warning{color:var(--color-warning);background:var(--color-warning-bg)}.modal-confirm-icon-success{color:var(--color-success);background:var(--color-success-bg)}.modal-confirm-icon-info{color:var(--color-info);background:var(--color-info-bg)}.modal-confirm-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.modal-confirm-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl)}.modal-loading-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:modal-spin .8s linear infinite}@keyframes modal-spin{to{transform:rotate(360deg)}}.modal-loading-text{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal-steps{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.modal-step{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.modal-step-active{color:var(--color-primary);font-weight:var(--font-weight-medium)}.modal-step-completed{color:var(--color-success)}.modal-step-number{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--surface-2);border-radius:var(--radius-full)}.modal-step-active .modal-step-number{background:var(--color-primary);color:#fff}.modal-step-completed .modal-step-number{background:var(--color-success);color:#fff}.modal-step-divider{width:2rem;height:1px;background:var(--color-border)}.modal-drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;max-height:none;border-radius:0;animation:modal-drawer-slide-in var(--transition-base) ease-out}@keyframes modal-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-drawer-left{left:0;right:auto;animation-name:modal-drawer-slide-in-left}@keyframes modal-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (max-width: 640px){.modal{max-height:95vh;border-radius:var(--radius-lg)}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-md)}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.modal-drawer{max-width:none}}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.125rem var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.5;white-space:nowrap;border-radius:var(--radius-full)}.badge-draft{background:var(--badge-draft-bg);color:var(--badge-draft-text)}.badge-active{background:var(--badge-active-bg);color:var(--badge-active-text)}.badge-finished{background:var(--badge-finished-bg);color:var(--badge-finished-text)}.badge-primary{background:var(--color-primary);color:#fff}.badge-secondary{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-outline{background:transparent;border:1px solid currentColor}.badge-outline-primary{color:var(--color-primary);border-color:var(--color-primary)}.badge-outline-success{color:var(--color-success);border-color:var(--color-success)}.badge-outline-warning{color:var(--color-warning);border-color:var(--color-warning)}.badge-outline-danger{color:var(--color-danger);border-color:var(--color-danger)}.badge-sm{padding:0 var(--spacing-xs);font-size:.625rem}.badge-lg{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.badge-dot{padding-left:var(--spacing-xs)}.badge-dot:before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.badge-icon{padding:var(--spacing-xs);border-radius:var(--radius-sm)}.badge-count{min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center;line-height:1.25rem;border-radius:var(--radius-full)}.badge-removable{padding-right:var(--spacing-xs)}.badge-remove{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;margin-left:var(--spacing-xs);font-size:.875rem;line-height:1;color:inherit;background:transparent;border:none;border-radius:50%;cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.badge-remove:hover{opacity:1}.badge-group{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.badge-tooltip{position:fixed;z-index:9999;transform:translate(-50%) translateY(-100%);pointer-events:none}.badge-tooltip .tooltip-content{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px;min-width:240px;max-width:300px;box-shadow:0 25px 50px -12px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.badge-tooltip .tooltip-content:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#1e293b;border-right:1px solid #334155;border-bottom:1px solid #334155}.badge-tooltip .tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge-tooltip .tooltip-title{font-size:15px;font-weight:var(--font-weight-bold);color:#fff;margin:0}.badge-tooltip .tooltip-rarity{font-size:9px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:4px;flex-shrink:0}.badge-tooltip .tooltip-rarity--common{background:#9ca3af33;color:#9ca3af}.badge-tooltip .tooltip-rarity--rare{background:#3b82f633;color:#60a5fa}.badge-tooltip .tooltip-rarity--epic{background:#a855f733;color:#c084fc}.badge-tooltip .tooltip-rarity--legendary{background:#fbbf2433;color:#fbbf24}.badge-tooltip .tooltip-badge-preview{display:flex;justify-content:center;padding:var(--spacing-sm) 0 var(--spacing-md) 0}.badge-tooltip .tooltip-badge-icon{width:96px;height:96px;object-fit:contain}.badge-tooltip .tooltip-description{font-size:13px;color:#e2e8f0;line-height:1.4;margin:0 0 12px}.badge-tooltip .tooltip-requirement{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#22c55e14;border:1px solid rgba(34,197,94,.15);border-radius:8px;font-size:12px;color:#86efac}.badge-tooltip .requirement-icon{width:16px;height:16px;flex-shrink:0;color:#22c55e}[data-theme=light] .badge-tooltip .tooltip-content{background:#fff;border-color:#e2e8f0;box-shadow:0 25px 50px -12px #00000026}[data-theme=light] .badge-tooltip .tooltip-content:after{background:#fff;border-color:#e2e8f0}[data-theme=light] .badge-tooltip .tooltip-title{color:#1e293b}[data-theme=light] .badge-tooltip .tooltip-description{color:#475569}[data-theme=light] .badge-tooltip .tooltip-requirement{background:#22c55e1a;border-color:#22c55e33;color:#166534}[data-theme=light] .badge-tooltip .requirement-icon{color:#16a34a}.badge-tooltip .tooltip-requirement--pending{background:#f59e0b1a;border-color:#f59e0b33}.badge-tooltip .tooltip-requirement--pending .requirement-icon,.badge-tooltip .tooltip-requirement--pending span{color:#f59e0b}[data-theme=light] .badge-tooltip .tooltip-requirement--pending{background:#f59e0b1a;border-color:#f59e0b40}[data-theme=light] .badge-tooltip .tooltip-requirement--pending .requirement-icon{color:#d97706}[data-theme=light] .badge-tooltip .tooltip-requirement--pending span{color:#92400e}.badge-tooltip .tooltip-type-hint{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px;border-radius:6px;font-size:11px}.badge-tooltip .tooltip-type-hint svg{flex-shrink:0;margin-top:1px}.badge-tooltip .tooltip-type-hint--admin{background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}.badge-tooltip .tooltip-type-hint--admin svg{color:#f59e0b}.badge-tooltip .tooltip-type-hint--automatic{background:#3b82f626;border:1px solid rgba(59,130,246,.3)}.badge-tooltip .tooltip-type-hint--automatic svg{color:#60a5fa}.badge-tooltip .tooltip-type-info{display:flex;flex-direction:column;gap:2px}.badge-tooltip .tooltip-type-label{font-weight:600}.badge-tooltip .tooltip-type-hint--admin .tooltip-type-label{color:#fbbf24}.badge-tooltip .tooltip-type-hint--automatic .tooltip-type-label{color:#93c5fd}.badge-tooltip .tooltip-type-action{color:#cbd5e1}.badge-tooltip .tooltip-click-hint{margin-top:10px;padding:6px 10px;background:#f59e0b26;border-radius:6px;font-size:11px;color:#fbbf24;text-align:center}[data-theme=light] .badge-tooltip .tooltip-type-hint--admin{background:#f59e0b1a;border-color:#f59e0b40}[data-theme=light] .badge-tooltip .tooltip-type-hint--admin svg{color:#d97706}[data-theme=light] .badge-tooltip .tooltip-type-hint--admin .tooltip-type-label{color:#92400e}[data-theme=light] .badge-tooltip .tooltip-type-hint--automatic{background:#3b82f614;border-color:#3b82f633}[data-theme=light] .badge-tooltip .tooltip-type-hint--automatic svg{color:#2563eb}[data-theme=light] .badge-tooltip .tooltip-type-hint--automatic .tooltip-type-label{color:#1e40af}[data-theme=light] .badge-tooltip .tooltip-type-action{color:#475569}[data-theme=light] .badge-tooltip .tooltip-click-hint{background:#f59e0b1f;color:#92400e}.tooltip-fade-enter-active,.tooltip-fade-leave-active{transition:opacity .15s ease,transform .15s ease}.tooltip-fade-enter-from,.tooltip-fade-leave-to{opacity:0;transform:translate(-50%) translateY(-90%)}.badge-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.badge-modal{background:#1e293b;border:1px solid #334155;border-radius:16px;width:100%;max-width:400px;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.badge-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #334155}.badge-modal-header h3{font-size:18px;font-weight:600;color:#f1f5f9;margin:0}.badge-modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;transition:color .2s ease}.badge-modal-close:hover{color:#f1f5f9}.badge-modal-close svg{width:20px;height:20px}.badge-modal-content{padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.badge-modal-preview{width:80px;height:80px}.badge-modal-icon{width:100%;height:100%;object-fit:contain}.badge-modal-info{text-align:center}.badge-modal-name{font-size:18px;font-weight:700;color:#f1f5f9;margin-bottom:4px}.badge-modal-description{font-size:14px;color:#94a3b8;margin:0;line-height:1.4}.badge-modal-status{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#0f172a;border-radius:8px;width:100%;justify-content:center}.badge-modal-status-label{font-size:14px;color:#64748b}.badge-modal-status-value{font-size:14px;font-weight:600}.badge-modal-status-value.unlocked{color:#22c55e}.badge-modal-status-value.locked{color:#ef4444}.badge-modal-action-info{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;font-size:14px;color:#94a3b8;width:100%}.badge-modal-action-info svg{width:18px;height:18px;flex-shrink:0;color:#60a5fa}.badge-modal-warning{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);border-radius:8px;font-size:14px;color:#93c5fd;width:100%}.badge-modal-warning svg{flex-shrink:0;color:#60a5fa}.badge-modal-warning strong{color:#bfdbfe}.badge-modal-admin-info{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:8px;font-size:14px;color:#fcd34d;width:100%}.badge-modal-admin-info svg{flex-shrink:0;color:#f59e0b}.badge-modal-admin-info strong{color:#fde68a}.badge-modal-footer{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #334155;justify-content:flex-end}.badge-modal-footer .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.badge-modal-footer .btn-secondary{background:#0f172a;border:1px solid #334155;color:#94a3b8}.badge-modal-footer .btn-secondary:hover:not(:disabled){background:#1e293b;color:#f1f5f9}.badge-modal-footer .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.badge-modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6)}.badge-modal-footer .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff}.badge-modal-footer .btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444)}.badge-modal-footer .btn:disabled{opacity:.5;cursor:not-allowed}.badge-modal-rarity{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:4px;margin-bottom:8px}.badge-modal-rarity--common{background:#9ca3af33;color:#9ca3af}.badge-modal-rarity--rare{background:#3b82f633;color:#60a5fa}.badge-modal-rarity--epic{background:#a855f733;color:#c084fc}.badge-modal-rarity--legendary{background:#fbbf2433;color:#fbbf24}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .2s ease}.modal-fade-enter-active .badge-modal,.modal-fade-leave-active .badge-modal{transition:transform .2s ease,opacity .2s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-from .badge-modal,.modal-fade-leave-to .badge-modal{transform:scale(.95);opacity:0}[data-theme=light] .badge-modal-overlay{background:#0006}[data-theme=light] .badge-modal{background:#fff;border-color:#e2e8f0;box-shadow:0 25px 50px -12px #00000026}[data-theme=light] .badge-modal-header{border-bottom-color:#e2e8f0}[data-theme=light] .badge-modal-header h3{color:#1e293b}[data-theme=light] .badge-modal-close{color:#64748b}[data-theme=light] .badge-modal-close:hover,[data-theme=light] .badge-modal-name{color:#1e293b}[data-theme=light] .badge-modal-description{color:#475569}[data-theme=light] .badge-modal-status{background:#f1f5f9}[data-theme=light] .badge-modal-status-label{color:#64748b}[data-theme=light] .badge-modal-action-info{background:#3b82f614;border-color:#3b82f626;color:#475569}[data-theme=light] .badge-modal-warning{background:#3b82f614;border-color:#3b82f633;color:#1e40af}[data-theme=light] .badge-modal-warning strong{color:#1d4ed8}[data-theme=light] .badge-modal-admin-info{background:#f59e0b1a;border-color:#f59e0b33;color:#92400e}[data-theme=light] .badge-modal-admin-info strong{color:#b45309}[data-theme=light] .badge-modal-footer{border-top-color:#e2e8f0}[data-theme=light] .badge-modal-footer .btn-secondary{background:#f1f5f9;border-color:#e2e8f0;color:#475569}[data-theme=light] .badge-modal-footer .btn-secondary:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.alert{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal);border-radius:var(--radius-sm);border:1px solid transparent}.alert-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.alert-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.alert-neutral{background:var(--surface-2);border-color:var(--color-border);color:var(--color-text-secondary)}.alert-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.125rem}.alert-content{flex:1;min-width:0}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.alert-message{opacity:.9}.alert-message a{color:inherit;font-weight:var(--font-weight-medium);text-decoration:underline;text-underline-offset:2px}.alert-message a:hover{opacity:.8}.alert-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.alert-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;font-size:var(--font-size-lg);color:currentColor;background:transparent;border:none;border-radius:var(--radius-xs);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.alert-close:hover{opacity:1}.alert-sm{padding:var(--spacing-sm);font-size:var(--font-size-xs)}.alert-lg{padding:var(--spacing-lg);font-size:var(--font-size-base)}.alert-inline{display:inline-flex;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xs)}.alert-banner{border-radius:0;border-left:none;border-right:none}.alert-accent{border-left-width:4px}.alert-accent-success{border-left-color:var(--color-success)}.alert-accent-warning{border-left-color:var(--color-warning)}.alert-accent-danger{border-left-color:var(--color-danger)}.alert-accent-info{border-left-color:var(--color-info)}.quinielas-grouped{display:flex;flex-direction:column;gap:var(--spacing-xl)}.quiniela-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.group-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-soft)}.group-icon{font-size:1rem}.group-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:2px 8px;background:var(--surface-3);border-radius:10px;color:var(--color-text-muted)}.quiniela-list{display:flex;flex-direction:column;gap:12px}.quiniela-card{cursor:pointer;transition:all .2s}.quiniela-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.quiniela-card--draft{opacity:.85;border:1px dashed var(--border-soft)}.quiniela-card--finished{opacity:.7}.quiniela-card-body{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.quiniela-info{flex:1;min-width:0}.quiniela-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.quiniela-title-row h3{font-size:1.25rem;font-weight:600;margin:0}.quiniela-badges{display:flex;gap:8px;flex-wrap:wrap}.quiniela-desc{font-size:1rem;color:var(--color-text-secondary);margin-bottom:12px}.quiniela-meta{display:flex;gap:20px;font-size:.9375rem;color:var(--color-text-muted)}@media (max-width: 640px){.quiniela-meta{flex-wrap:wrap;gap:12px}}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:var(--color-background)}html::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:4px}html::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.loading{background:linear-gradient(90deg,var(--color-background-alt) 0%,var(--color-border-light) 50%,var(--color-background-alt) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--border-radius-sm);height:1em}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in var(--transition-base)}.slide-up{animation:slide-up var(--transition-base)}.slide-down{animation:slide-down var(--transition-base)}.router-fade-enter-active,.router-fade-leave-active{transition:opacity var(--transition-base)}.router-fade-enter-from,.router-fade-leave-to{opacity:0}html[data-theme] *{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:#fff}
