.app-icon[data-v-9ad56161]{vertical-align:middle;flex-shrink:0;display:inline-block}.cast-button[data-v-dec793f8]{background:var(--color-dark-button-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-dark-button-border);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:relative}.cast-button[data-v-dec793f8]:hover{border-color:var(--color-dark-button-hover-border);transform:scale(1.1)}.cast-button[data-v-dec793f8]:active{transform:scale(.95)}.cast-button--small[data-v-dec793f8]{border-radius:50%;width:32px;height:32px;padding:0;font-size:12px}.cast-button--medium[data-v-dec793f8]{border-radius:20px;padding:8px 12px;font-size:14px}.cast-button--large[data-v-dec793f8]{border-radius:24px;padding:10px 16px;font-size:16px}.cast-button--casting[data-v-dec793f8]{background:var(--color-dark-button-selected-bg);border-color:var(--color-dark-button-selected-border);box-shadow:0 4px 12px var(--color-dark-button-selected-shadow)}.cast-wave[data-v-dec793f8]{transform-origin:2px 20px;animation:1.8s ease-in-out infinite wave-pulse-dec793f8}.cast-wave--delay[data-v-dec793f8]{animation-delay:.35s}@keyframes wave-pulse-dec793f8{0%,to{opacity:1}50%{opacity:.25}}.cast-icon[data-v-dec793f8]{filter:none;width:18px;height:18px}.cast-tooltip[data-v-dec793f8]{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#000c;border-radius:4px;margin-bottom:8px;padding:4px 8px;font-size:12px;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.cast-button:hover .cast-tooltip[data-v-dec793f8]{opacity:1}.user-header[data-v-9da7ff3e]{background-color:var(--color-primary);height:32px;color:var(--color-on-primary);box-shadow:var(--shadow-sm);z-index:1001;align-items:center;display:flex;position:relative}.header-content[data-v-9da7ff3e]{justify-content:space-between;align-items:center;width:100%;padding:0 15px;display:flex}.app-title[data-v-9da7ff3e]{cursor:pointer;align-items:center;gap:8px;display:flex}.logo[data-v-9da7ff3e]{font-size:1.1rem}.title-text[data-v-9da7ff3e]{font-size:1rem;font-weight:700}.user-info[data-v-9da7ff3e]{align-items:center;gap:4px;display:flex}.welcome[data-v-9da7ff3e]{padding:0 8px;font-size:.9rem}.header-btn[data-v-9da7ff3e]{color:var(--color-on-primary);cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.header-btn[data-v-9da7ff3e]:hover{background:var(--color-on-primary-hover);opacity:1}.header-btn.active[data-v-9da7ff3e]{background:var(--color-on-primary-active);opacity:1}.cast-wave[data-v-9da7ff3e]{animation:1.8s ease-in-out infinite wave-pulse-9da7ff3e}.cast-wave--delay[data-v-9da7ff3e]{animation-delay:.35s}@keyframes wave-pulse-9da7ff3e{0%,to{opacity:1}50%{opacity:.2}}.account-link[data-v-9da7ff3e]{color:var(--color-on-primary);border-bottom:1px dashed var(--color-on-primary-muted);text-decoration:none;transition:border-bottom-color .2s}.account-link[data-v-9da7ff3e]:hover{border-bottom-color:var(--color-on-primary)}@media (width<=600px){.welcome[data-v-9da7ff3e]{display:none}}.app-layout[data-v-37b86990]{flex-direction:column;width:100vw;height:100dvh;display:flex;overflow:hidden}.main-content[data-v-37b86990]{flex:1;min-height:0;overflow:hidden}.guest-share-banner[data-v-37b86990]{background:var(--color-dark-surface-800);color:var(--color-dark-text);border-bottom:1px solid var(--color-dark-border);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.guest-share-icon[data-v-37b86990]{font-size:14px}.guest-share-text[data-v-37b86990]{font-weight:600}.guest-share-meta[data-v-37b86990]{color:var(--color-dark-text-muted);margin-left:auto}.guest-download-all-btn[data-v-37b86990]{border:1px solid var(--color-info);background:var(--color-info);color:var(--color-dark-text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background-color .2s;display:inline-flex}.guest-download-all-btn[data-v-37b86990]:hover:not(:disabled){background:var(--color-info-hover)}.guest-download-all-btn[data-v-37b86990]:disabled{opacity:.6;cursor:default}.guest-upload-banner-btn[data-v-37b86990]{border:1px solid var(--color-success);background:var(--color-success);color:var(--color-dark-text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.guest-upload-banner-btn[data-v-37b86990]:hover{background:color-mix(in srgb, var(--color-success) 85%, black)}.guest-download-message[data-v-37b86990]{border-bottom:1px solid var(--color-dark-border);align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.guest-download-message.error[data-v-37b86990]{background:var(--color-danger);color:#fff}.guest-download-message.warning[data-v-37b86990]{background:var(--color-warning);color:#1a1a1a}.guest-download-message-close[data-v-37b86990]{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;margin-left:auto;font-size:18px;line-height:1}.guest-download-message-close[data-v-37b86990]:hover{opacity:1}.app-loader-circular[data-v-7eb17557]{width:var(--loader-size);height:var(--loader-size);border:3px solid color-mix(in srgb, var(--color-info) 10%, transparent);border-top-color:var(--color-info);border-radius:50%;flex:none;animation:1s linear infinite app-loader-spin-7eb17557;display:inline-block}.app-loader-linear[data-v-7eb17557]{z-index:20;background:var(--color-dark-overlay-10);opacity:0;pointer-events:none;width:100%;height:2px;transition:opacity .3s;display:block;position:absolute;bottom:0;left:0;overflow:hidden}.app-loader-linear[data-v-7eb17557]:after{content:"";background:var(--color-info);width:30%;height:100%;animation:1.5s ease-in-out infinite app-loader-line-7eb17557;position:absolute;top:0;left:-30%}.app-loader-linear.is-active[data-v-7eb17557]{opacity:1}@keyframes app-loader-spin-7eb17557{to{transform:rotate(360deg)}}@keyframes app-loader-line-7eb17557{0%{width:30%;left:-30%}50%{width:70%;left:30%}to{width:30%;left:100%}}.person-selector[data-v-0a9005ef]{z-index:10050;background:var(--color-dark-surface-750);border:1px solid var(--color-dark-border);width:220px;box-shadow:0 8px 24px var(--color-dark-backdrop-20);border-radius:8px;flex-direction:column;max-height:300px;margin-bottom:12px;display:flex;position:absolute;bottom:100%;left:50%;overflow:hidden;transform:translate(-50%)}.person-selector[data-v-0a9005ef]:after{content:"";top:100%;left:var(--arrow-offset,50%);border:8px solid #0000;border-top-color:var(--color-dark-surface-750);position:absolute;transform:translate(-50%)}.person-selector-anchor-marker[data-v-0a9005ef]{pointer-events:none;width:0;height:0;position:absolute}.person-selector.position-left[data-v-0a9005ef]{left:0;right:auto;transform:none}.person-selector.position-left[data-v-0a9005ef]:after{left:20px;right:auto}.person-selector.position-right[data-v-0a9005ef]{left:auto;right:0;transform:none}.person-selector.position-right[data-v-0a9005ef]:after{left:auto;right:20px}.person-selector.position-center[data-v-0a9005ef],.person-selector.position-center[data-v-0a9005ef]:after{left:50%;transform:translate(-50%)}.selector-footer[data-v-0a9005ef]{border-top:1px solid var(--color-dark-border);background:var(--color-dark-surface-750)}.selector-header[data-v-0a9005ef]{padding:8px}.selector-header input[data-v-0a9005ef]{box-sizing:border-box;background:var(--color-dark-surface-900);border:1px solid var(--color-dark-border-strong);color:#fff;border-radius:4px;width:100%;padding:6px 10px;font-size:13px}.selector-list[data-v-0a9005ef]{flex:1;overflow-y:auto}.selector-item[data-v-0a9005ef]{cursor:pointer;color:var(--color-dark-text);text-align:left;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:background-color .2s;display:flex}.selector-item.selected[data-v-0a9005ef]{background-color:var(--color-dark-surface-700);color:#fff}.selector-item.is-current[data-v-0a9005ef]{background-color:color-mix(in srgb, var(--color-info) 15%, transparent);border-left:3px solid var(--color-info)}.selector-item.is-suggested[data-v-0a9005ef]{background-color:color-mix(in srgb, var(--color-warning) 10%, transparent);border-left:3px solid var(--color-warning)}.selector-item img[data-v-0a9005ef]{object-fit:cover;border-radius:50%;flex-shrink:0;width:30px;height:30px}.avatar-initials[data-v-0a9005ef]{background:linear-gradient(135deg, var(--color-accent-indigo-start) 0%, var(--color-accent-indigo-end) 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.selector-loader[data-v-0a9005ef]{background:color-mix(in srgb, var(--color-dark-surface-750) 80%, transparent);z-index:100;color:var(--color-info);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex;position:absolute;inset:0}.new-person[data-v-0a9005ef]{color:var(--color-info);font-weight:700}.new-person .plus[data-v-0a9005ef]{margin-right:4px;font-size:18px}.selector-divider[data-v-0a9005ef]{background:var(--color-dark-border);height:1px;margin:4px 0}.unassign-action[data-v-0a9005ef],.unassign-action.selected[data-v-0a9005ef]{border-left:3px solid var(--color-warning)}.delete-action[data-v-0a9005ef],.delete-action.selected[data-v-0a9005ef]{border-left:3px solid var(--color-danger)}.person-name-item[data-v-0a9005ef]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.current-badge[data-v-0a9005ef]{color:var(--color-success);font-weight:700}.suggested-badge[data-v-0a9005ef]{color:var(--color-warning);font-size:14px;font-weight:700}.selector-actions[data-v-0a9005ef]{padding-bottom:4px}.app-btn[data-v-d7143fa8]{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,opacity .2s;display:inline-flex}.app-btn .btn-icon[data-v-d7143fa8]{align-self:center}.app-btn[data-v-d7143fa8]:disabled{opacity:.6;cursor:not-allowed}.btn-size-xs[data-v-d7143fa8]{min-height:28px;padding:4px 8px;font-size:12px}.btn-size-sm[data-v-d7143fa8]{min-height:32px;padding:6px 10px;font-size:12px}.btn-size-md[data-v-d7143fa8]{min-height:36px;padding:8px 14px;font-size:13px}.btn-size-lg[data-v-d7143fa8]{min-height:40px;padding:10px 18px;font-size:14px}.icon-only.btn-size-xs[data-v-d7143fa8],.icon-only.btn-size-sm[data-v-d7143fa8],.icon-only.btn-size-md[data-v-d7143fa8],.icon-only.btn-size-lg[data-v-d7143fa8]{width:32px;padding-left:0;padding-right:0}.icon-only.btn-size-xs[data-v-d7143fa8]{width:28px}.icon-only.btn-size-lg[data-v-d7143fa8]{width:40px}.btn-variant-neutral[data-v-d7143fa8]{background:var(--color-gallery-sidebar-bg);border-color:color-mix(in srgb, var(--color-border) 85%, var(--color-text-primary));color:color-mix(in srgb, var(--color-text-primary) 85%, var(--color-ink-900))}.btn-variant-neutral[data-v-d7143fa8]:hover:not(:disabled){background:color-mix(in srgb, var(--color-surface) 88%, var(--color-text-primary))}.btn-variant-info[data-v-d7143fa8]{background:var(--color-info-soft);border-color:color-mix(in srgb, var(--color-info-soft) 75%, white);color:color-mix(in srgb, var(--color-info) 65%, var(--color-indigo-deep))}.btn-variant-info[data-v-d7143fa8]:hover:not(:disabled){background:color-mix(in srgb, var(--color-info-soft) 85%, white)}.btn-variant-success[data-v-d7143fa8]{background:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success-soft) 75%, white);color:color-mix(in srgb, var(--color-success) 70%, black)}.btn-variant-success[data-v-d7143fa8]:hover:not(:disabled){background:color-mix(in srgb, var(--color-success-soft) 82%, white)}.btn-variant-warning[data-v-d7143fa8]{background:color-mix(in srgb, var(--color-warning-soft) 72%, white);border-color:color-mix(in srgb, var(--color-warning-soft) 55%, white);color:color-mix(in srgb, var(--color-warning) 55%, black)}.btn-variant-warning[data-v-d7143fa8]:hover:not(:disabled){background:color-mix(in srgb, var(--color-warning-soft) 62%, white)}.btn-variant-error[data-v-d7143fa8]{background:color-mix(in srgb, var(--color-danger) 12%, white);border-color:color-mix(in srgb, var(--color-danger) 22%, white);color:color-mix(in srgb, var(--color-danger) 72%, black)}.btn-variant-error[data-v-d7143fa8]:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 18%, white)}.tag-chip[data-v-b83930ab]{color:#fff;align-items:center;display:inline-flex;box-shadow:0 1px 3px #0000004d}.tag-chip--pill[data-v-b83930ab]{border-radius:10px;gap:3px;padding:2px 6px}.tag-chip--normal.tag-chip--pill[data-v-b83930ab]{font-size:11px;font-weight:500}.tag-chip--compact.tag-chip--pill[data-v-b83930ab]{font-size:10px;font-weight:500}.tag-chip-label[data-v-b83930ab]{text-overflow:ellipsis;white-space:nowrap;max-width:78px;overflow:hidden}.tag-chip-remove[data-v-b83930ab]{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}.tag-chip-remove[data-v-b83930ab]:hover{opacity:1}.tag-chip--dot[data-v-b83930ab]{cursor:default;opacity:.85;border-radius:50%;justify-content:center;padding:0;transition:opacity .2s,transform .2s;position:relative}.tag-chip--normal.tag-chip--dot[data-v-b83930ab]{width:22px;min-width:22px;height:22px;min-height:22px}.tag-chip--compact.tag-chip--dot[data-v-b83930ab]{width:16px;min-width:16px;height:16px;min-height:16px}.tag-chip--dot[data-v-b83930ab]:hover{opacity:1;z-index:20;transform:scale(1.3)}.tag-chip-initial[data-v-b83930ab]{text-shadow:0 0 3px #000c,0 1px 2px #0009;font-size:11px;font-weight:700}.tag-chip--compact .tag-chip-initial[data-v-b83930ab]{font-size:10px}.tag-chip-tooltip[data-v-b83930ab]{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#000c;border-radius:4px;padding:4px 8px;font-size:11px;transition:opacity .2s;position:absolute}.tag-chip-tooltip--left[data-v-b83930ab]{top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.tag-chip-tooltip--right[data-v-b83930ab]{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.tag-chip-tooltip--top[data-v-b83930ab]{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tag-chip--dot:hover .tag-chip-tooltip[data-v-b83930ab]{opacity:1}.add-tag-container[data-v-fe8be2a1]{position:relative}.btn-add-tag[data-v-fe8be2a1]{border:1px dashed var(--color-gallery-neutral);width:22px;height:22px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:all .2s;display:flex}.btn-add-tag[data-v-fe8be2a1]:hover{border-color:var(--color-info);color:var(--color-info);background-color:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft))}.tag-selector-dropdown[data-v-fe8be2a1]{border:1px solid var(--color-border);z-index:100;background:#fff;border-radius:6px;flex-direction:column;min-width:220px;display:flex;position:fixed;overflow:hidden;box-shadow:0 4px 12px #00000026}.tag-selector-dropdown.dark[data-v-fe8be2a1]{background:#2e2e2e;border-color:#454545;box-shadow:0 8px 24px #000000d9}.tag-selector-dropdown.dark .tag-selector-search[data-v-fe8be2a1]{border-bottom-color:#4d4d4d}.tag-selector-dropdown.dark .tag-selector-search-input[data-v-fe8be2a1]{background:var(--color-gallery-fullscreen-bg);color:#fff;border-color:#545454}.tag-selector-dropdown.dark .tag-option[data-v-fe8be2a1]{color:#fff}.tag-selector-dropdown.dark .tag-option[data-v-fe8be2a1]:hover,.tag-selector-dropdown.dark .tag-option.highlighted[data-v-fe8be2a1]{background-color:color-mix(in srgb, var(--color-info) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-info) 45%, transparent)}.tag-selector-dropdown.dark .tag-option.selected[data-v-fe8be2a1]{background-color:color-mix(in srgb, var(--color-info) 24%, transparent);color:#fff}.tag-selector-dropdown.dark .create-new-tag-option[data-v-fe8be2a1]{border-top-color:#4d4d4d}.tag-selector-dropdown.dark .no-tags-hint[data-v-fe8be2a1]{color:#ffffffb8}.tag-selector-search[data-v-fe8be2a1]{border-bottom:1px solid var(--color-border);padding:8px 10px}.tag-selector-search-input[data-v-fe8be2a1]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:4px;width:100%;padding:8px 10px;font-size:13px;transition:all .2s}.tag-selector-search-input[data-v-fe8be2a1]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 10%, transparent);outline:none}.tag-selector-list[data-v-fe8be2a1]{flex:auto;min-height:0;padding:8px 0;overflow-y:auto}.tag-selector-dropdown.opens-up .tag-selector-search[data-v-fe8be2a1]{border-bottom:none;border-top:1px solid var(--color-border);order:2}.tag-selector-dropdown.opens-up .tag-selector-list[data-v-fe8be2a1]{order:1}.tag-option[data-v-fe8be2a1]{cursor:pointer;color:var(--color-text-primary);text-align:left;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background-color .2s,box-shadow .2s;display:flex}.tag-option[data-v-fe8be2a1]:hover,.tag-option.highlighted[data-v-fe8be2a1]{background-color:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-info) 85%, white)}.tag-option.selected[data-v-fe8be2a1]{background-color:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));color:var(--color-info)}.tag-option.selected.highlighted[data-v-fe8be2a1]{background-color:color-mix(in srgb, var(--color-info-soft) 85%, white);color:color-mix(in srgb, var(--color-info) 70%, black);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-info) 70%, black)}.tag-dot[data-v-fe8be2a1]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tag-option-label[data-v-fe8be2a1]{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.current-badge[data-v-fe8be2a1]{color:var(--color-success);font-weight:600}.partial-badge[data-v-fe8be2a1]{color:var(--color-warning);font-size:12px;font-weight:700;line-height:1}.create-new-tag-option[data-v-fe8be2a1]{border-top:1px solid var(--color-border);color:var(--color-info);padding:12px}.create-tag-icon[data-v-fe8be2a1]{align-items:center;margin-left:auto;display:flex}.no-tags-hint[data-v-fe8be2a1]{text-align:center;color:var(--color-text-secondary);padding:16px 12px;font-size:12px}.photo-rating-control[data-v-086c925b]{--prc-bg:white;--prc-border:var(--color-border);--prc-hover-bg:color-mix(in srgb, var(--color-info-soft) 50%, white);--prc-hover-border:var(--color-info);--prc-star:color-mix(in srgb, var(--color-text-secondary) 80%, white);--prc-star-selected:color-mix(in srgb, var(--color-gallery-gold) 88%, black);--prc-mixed-star:color-mix(in srgb, var(--color-gallery-gold) 72%, var(--color-text-secondary));--prc-clear:var(--color-danger);align-items:center;gap:4px;display:flex;position:relative}.photo-rating-control.dark[data-v-086c925b]{--prc-bg:#000000b3;--prc-border:#ffffff38;--prc-hover-bg:#ffffff1a;--prc-hover-border:color-mix(in srgb, var(--color-info) 40%, white);--prc-star:#ffffff94;--prc-star-selected:color-mix(in srgb, var(--color-gallery-gold) 90%, white);--prc-mixed-star:color-mix(in srgb, var(--color-gallery-gold) 74%, white);--prc-clear:color-mix(in srgb, var(--color-danger) 85%, white);--prc-menu-bg:#000000d6}.rating-btn[data-v-086c925b]{width:24px;height:24px;color:var(--prc-star);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .18s;display:flex}.rating-btn[data-v-086c925b]:hover:not(:disabled){color:color-mix(in srgb, var(--prc-star-selected) 70%, var(--prc-star));background:0 0;border-color:#0000;transform:scale(1.04)}.rating-btn[data-v-086c925b]:disabled{opacity:.5;cursor:not-allowed}.rating-btn.filled[data-v-086c925b],.zero-rating.zero-filled[data-v-086c925b]{color:var(--prc-star-selected)}.rating-btn.mixed-filled[data-v-086c925b],.zero-rating.zero-mixed[data-v-086c925b]{color:var(--prc-mixed-star)}.clear-rating[data-v-086c925b]{color:var(--prc-clear)}.hidden-rating[data-v-086c925b]{opacity:.28}.photo-rating-control[data-v-086c925b]:not(.is-compact){-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:4px;box-shadow:inset 0 1px #ffffff0d}.photo-rating-control.light[data-v-086c925b]:not(.is-compact){border:1px solid color-mix(in srgb, var(--color-border) 80%, white);background:color-mix(in srgb, white 88%, var(--color-surface));--prc-star:color-mix(in srgb, var(--color-text-secondary) 84%, white);--prc-star-selected:color-mix(in srgb, var(--color-gallery-gold) 90%, black);--prc-hover-bg:color-mix(in srgb, var(--color-info-soft) 48%, white);--prc-hover-border:color-mix(in srgb, var(--color-info) 65%, white)}.photo-rating-control.dark[data-v-086c925b]:not(.is-compact){border:1px solid var(--color-dark-button-border);background:var(--color-dark-button-bg);--prc-hover-bg:color-mix(in srgb, var(--color-dark-button-selected-bg) 55%, transparent);--prc-hover-border:var(--color-dark-button-selected-border)}.photo-rating-control:not(.is-compact) .rating-btn.mixed-filled[data-v-086c925b],.photo-rating-control:not(.is-compact) .zero-rating.zero-mixed[data-v-086c925b]{color:var(--prc-mixed-star)}.photo-rating-control:not(.is-compact) .clear-rating[data-v-086c925b]:hover:not(:disabled){color:color-mix(in srgb, var(--color-danger) 85%, white);background:0 0;border-color:#0000}.photo-rating-control:not(.is-compact) .zero-rating[data-v-086c925b]{position:relative}.photo-rating-control:not(.is-compact) .zero-rating[data-v-086c925b]:after{content:"0";opacity:.72;color:currentColor;pointer-events:none;font-size:8px;font-weight:700;line-height:1;position:absolute;bottom:1px;right:2px}.photo-rating-control:not(.is-compact) .zero-rating.zero-filled[data-v-086c925b]:after,.photo-rating-control:not(.is-compact) .zero-rating.zero-mixed[data-v-086c925b]:after,.photo-rating-control:not(.is-compact) .zero-rating[data-v-086c925b]:hover:after{opacity:1}.photo-rating-control.is-compact[data-v-086c925b]{gap:0}.rating-compact-trigger[data-v-086c925b]{border:1px solid var(--color-dark-button-border);background:var(--color-dark-button-bg);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;gap:0;width:32px;height:32px;padding:0;line-height:1;transition:all .2s;display:flex;position:relative}.rating-compact-trigger[data-v-086c925b]:hover:not(:disabled),.photo-rating-control.menu-open .rating-compact-trigger[data-v-086c925b]{border-color:var(--color-dark-button-hover-border);transform:scale(1.1)}.rating-compact-trigger.active[data-v-086c925b]{background:var(--color-dark-button-selected-bg);border-color:var(--color-dark-button-selected-border);box-shadow:0 4px 12px var(--color-dark-button-selected-shadow)}.rating-compact-trigger[data-v-086c925b]:disabled{opacity:.5;cursor:not-allowed}.rating-compact-badge[data-v-086c925b]{border:1px solid var(--color-dark-button-selected-border);background:color-mix(in srgb, var(--color-gallery-gold) 85%, black);color:#000;pointer-events:none;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:14px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px}.rating-compact-menu[data-v-086c925b]{border:1px solid var(--color-dark-overlay-20);background:var(--prc-menu-bg,color-mix(in srgb, var(--prc-bg) 92%, black));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:16;transform-origin:100% 100%;border-radius:10px;flex-direction:column;gap:3px;min-width:120px;padding:6px;animation:.14s cubic-bezier(.2,.9,.2,1) prc-menu-enter-086c925b;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 24px #0000008c}.rating-menu-btn[data-v-086c925b]{color:var(--prc-star-selected);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:flex-start;align-items:center;gap:6px;min-height:24px;padding:0 8px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.rating-menu-btn[data-v-086c925b]:hover:not(:disabled){border-color:var(--prc-hover-border);background:var(--prc-hover-bg)}.rating-menu-btn.active[data-v-086c925b]{border-color:var(--color-dark-button-selected-border);background:var(--color-dark-button-selected-bg);box-shadow:inset 0 0 0 1px #ffffff1a}.rating-menu-btn[data-v-086c925b]:disabled{opacity:.5;cursor:not-allowed}.rating-menu-btn-danger[data-v-086c925b]{color:var(--prc-clear)}@keyframes prc-menu-enter-086c925b{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.limit-dropdown[data-v-c69cec31]{background:var(--color-surface);border:1px solid var(--color-border);z-index:3000;border-radius:8px;flex-direction:column;width:280px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #00000024}.limit-mode-switch[data-v-c69cec31]{order:2;gap:6px;margin-bottom:8px;display:flex}.limit-mode-btn[data-v-c69cec31]{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-text-primary));cursor:pointer;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.limit-mode-btn.active[data-v-c69cec31]{border-color:var(--color-info);background:var(--color-info-soft);color:color-mix(in srgb, var(--color-info) 70%, black)}.limit-input-row[data-v-c69cec31]{order:1;margin-bottom:8px}.limit-input-wrapper[data-v-c69cec31]{position:relative}.limit-input[data-v-c69cec31]{border:1px solid var(--color-border);box-sizing:border-box;text-align:right;border-radius:6px;width:100%;padding:8px 40px 8px 10px;font-size:13px}.limit-input-unit[data-v-c69cec31]{color:color-mix(in srgb, var(--color-text-secondary) 80%, var(--color-ink-900));pointer-events:none;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.limit-input[data-v-c69cec31]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 12%, transparent);outline:none}.limit-options[data-v-c69cec31]{border:1px solid var(--color-gallery-item-hover);border-radius:6px;flex-direction:column;order:3;gap:4px;max-height:180px;padding:4px;display:flex;overflow-y:auto}.limit-option[data-v-c69cec31]{text-align:right;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:flex-end;align-items:center;padding:8px;font-size:13px;display:flex}.limit-option-value[data-v-c69cec31]{text-align:right}.limit-option[data-v-c69cec31]:hover{background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft))}.limit-option.highlighted[data-v-c69cec31]{background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-info) 85%, white)}.limit-option-unit[data-v-c69cec31]{color:color-mix(in srgb, var(--color-text-secondary) 75%, color-mix(in srgb, var(--color-ink-900) 70%, white));text-align:left;min-width:18px;margin-left:8px;font-size:11px}.limit-actions-row[data-v-c69cec31]{order:4;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.limit-dropdown.opens-up .limit-input-row[data-v-c69cec31]{order:4;margin-top:8px;margin-bottom:0}.limit-dropdown.opens-up .limit-actions-row[data-v-c69cec31]{order:3}.limit-cancel-btn[data-v-c69cec31],.limit-apply-btn[data-v-c69cec31]{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px}.limit-apply-btn[data-v-c69cec31]{border-color:var(--color-info);color:color-mix(in srgb, var(--color-info) 70%, black);background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft))}.qr-modal-overlay[data-v-f241755c]{background:var(--color-dark-backdrop-50);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-modal[data-v-f241755c]{background:#fff;border-radius:12px;width:90%;max-width:400px;max-height:90vh;overflow-y:auto}.qr-modal-header[data-v-f241755c]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.qr-modal-header h2[data-v-f241755c]{margin:0;font-size:18px}.qr-close-btn[data-v-f241755c]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:24px;line-height:1;display:flex}.qr-close-btn[data-v-f241755c]:hover{color:var(--color-text-primary)}.qr-modal-content[data-v-f241755c]{padding:20px}.qr-code-container[data-v-f241755c]{text-align:center}.qr-code-image[data-v-f241755c]{max-width:256px;margin-bottom:16px}.qr-share-url[data-v-f241755c]{gap:8px;margin-bottom:12px;display:flex}.qr-share-url-input[data-v-f241755c]{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));border-radius:6px;flex:1;padding:8px 12px;font-size:12px}.qr-copy-url-btn[data-v-f241755c]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;transition:all .2s;display:flex}.qr-copy-url-btn[data-v-f241755c]:hover{background:var(--color-gallery-muted-bg);border-color:var(--color-success)}.qr-share-actions[data-v-f241755c]{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 12px;display:flex}.qr-share-action[data-v-f241755c]{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-primary);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:7px 10px;text-decoration:none;display:inline-flex}.qr-share-native[data-v-f241755c]{border-color:var(--color-info);background:var(--color-info);color:#fff}.qr-share-status[data-v-f241755c]{color:var(--color-text-secondary);margin:-4px 0 12px;font-size:12px}.qr-loading[data-v-f241755c]{text-align:center;color:var(--color-text-secondary);padding:20px}.duration-input-wrapper[data-v-d0fb0b3f]{flex-direction:column;gap:4px;display:flex}.duration-input[data-v-d0fb0b3f]{text-align:center;border:2px solid var(--color-border);background:var(--color-surface);width:100%;max-width:200px;color:var(--color-text-primary);border-radius:4px;padding:8px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.duration-input[data-v-d0fb0b3f]:focus{border-color:var(--color-info);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-info) 15%, transparent);outline:none}.duration-input-error[data-v-d0fb0b3f]{border-color:var(--color-error)}.duration-input-error[data-v-d0fb0b3f]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 15%, transparent)}.duration-error[data-v-d0fb0b3f]{color:var(--color-error);font-size:.85rem;font-weight:500}@media (width<=768px){.duration-input[data-v-d0fb0b3f]{max-width:160px;padding:6px 10px;font-size:.95rem}}.expiry-dropdown[data-v-1d2d64e3]{background:var(--color-surface);border:1px solid var(--color-border);z-index:3000;border-radius:8px;flex-direction:column;width:280px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #00000024}.expiry-mode-switch[data-v-1d2d64e3]{gap:6px;margin-bottom:8px;display:flex}.expiry-mode-btn[data-v-1d2d64e3]{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;flex:1;padding:6px 8px;font-size:12px;transition:all .2s}.expiry-mode-btn[data-v-1d2d64e3]:hover{border-color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary))}.expiry-mode-btn.active[data-v-1d2d64e3]{border-color:var(--color-info);color:color-mix(in srgb, var(--color-info) 70%, black);background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft))}.expiry-input-row[data-v-1d2d64e3]{flex-direction:column;gap:8px;display:flex}.expiry-input-label[data-v-1d2d64e3]{color:color-mix(in srgb, var(--color-text-secondary) 80%, color-mix(in srgb, var(--color-ink-900) 70%, white));font-size:12px;font-weight:600}.expiry-input-container[data-v-1d2d64e3]{align-items:center;gap:8px;display:flex;position:relative}.expiry-input[data-v-1d2d64e3]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background-color .2s}.expiry-input[data-v-1d2d64e3]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 12%, transparent);outline:none}.expiry-input-invalid[data-v-1d2d64e3]{border-color:color-mix(in srgb, var(--color-danger) 80%, black);background-color:color-mix(in srgb, var(--color-danger) 6%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-danger) 10%, transparent);border-width:2px}.expiry-input-invalid[data-v-1d2d64e3]:focus{border-color:color-mix(in srgb, var(--color-danger) 80%, black);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-danger) 15%, transparent)}.expiry-error-icon[data-v-1d2d64e3]{color:color-mix(in srgb, var(--color-danger) 80%, black);flex-shrink:0;justify-content:center;align-items:center;animation:2s ease-in-out infinite error-pulse-1d2d64e3;display:flex}@keyframes error-pulse-1d2d64e3{0%,to{opacity:1}50%{opacity:.6}}.expiry-input-container[data-v-1d2d64e3] .duration-input-wrapper{width:100%}.expiry-input-container[data-v-1d2d64e3] .duration-input{text-align:left;width:100%;max-width:100%}.expiry-input-container[data-v-1d2d64e3] .duration-error{font-size:12px}.expiry-actions-row[data-v-1d2d64e3]{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.expiry-cancel-btn[data-v-1d2d64e3],.expiry-apply-btn[data-v-1d2d64e3]{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .2s}.expiry-cancel-btn[data-v-1d2d64e3]:hover{border-color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary))}.expiry-apply-btn[data-v-1d2d64e3]{border-color:var(--color-info);color:color-mix(in srgb, var(--color-info) 70%, black);background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft))}.expiry-apply-btn[data-v-1d2d64e3]:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-info) 70%, black);background:var(--color-info-soft);color:color-mix(in srgb, var(--color-info) 65%, var(--color-indigo-deep))}.expiry-apply-btn[data-v-1d2d64e3]:disabled{border-color:var(--color-gallery-neutral);color:var(--color-text-secondary);background:var(--color-gallery-muted-bg);cursor:not-allowed;opacity:.6}.expiry-dropdown[data-v-70bea296]{background:var(--color-surface);border:1px solid var(--color-border);z-index:3000;border-radius:8px;flex-direction:column;width:280px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #00000024}.expiry-mode-switch[data-v-70bea296]{gap:6px;margin-bottom:8px;display:flex}.expiry-mode-btn[data-v-70bea296]{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;flex:1;padding:6px 8px;font-size:12px;transition:all .2s}.expiry-mode-btn[data-v-70bea296]:hover{border-color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary))}.expiry-mode-btn.active[data-v-70bea296]{border-color:var(--color-info);color:color-mix(in srgb, var(--color-info) 70%, black);background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft))}.expiry-input-row[data-v-70bea296]{flex-direction:column;gap:8px;display:flex}.expiry-input-label[data-v-70bea296]{color:color-mix(in srgb, var(--color-text-secondary) 80%, color-mix(in srgb, var(--color-ink-900) 70%, white));font-size:12px;font-weight:600}.expiry-input-container[data-v-70bea296]{align-items:center;gap:8px;display:flex;position:relative}.expiry-input[data-v-70bea296]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background-color .2s}.expiry-input[data-v-70bea296]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 12%, transparent);outline:none}.expiry-input-invalid[data-v-70bea296]{border-color:color-mix(in srgb, var(--color-danger) 80%, black);background-color:color-mix(in srgb, var(--color-danger) 6%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-danger) 10%, transparent);border-width:2px}.expiry-error-icon[data-v-70bea296]{color:color-mix(in srgb, var(--color-danger) 80%, black);flex-shrink:0;justify-content:center;align-items:center;animation:2s ease-in-out infinite error-pulse-70bea296;display:flex}@keyframes error-pulse-70bea296{0%,to{opacity:1}50%{opacity:.6}}.expiry-actions-row[data-v-70bea296]{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.expiry-cancel-btn[data-v-70bea296]{border:1px solid var(--color-border);background:0 0;border-radius:6px;padding:6px 10px}.expiry-apply-btn[data-v-70bea296]{background:var(--color-info);color:#fff;border:none;border-radius:6px;padding:6px 10px}.message-overlay[data-v-86c2e987]{z-index:5000;pointer-events:none;justify-content:center;padding:0 12px;display:flex;position:fixed;top:6px;left:0;right:0}.message-overlay.message-overlay-blocking[data-v-86c2e987]{pointer-events:auto;background:color-mix(in srgb, var(--color-ink-950) 8%, transparent);align-items:flex-start;padding:6px 12px 0;top:0;bottom:0}.message-card[data-v-86c2e987]{pointer-events:none;border:1px solid #0000;border-radius:10px;width:min(760px,100%);padding:10px 14px 12px;position:relative;overflow:hidden;box-shadow:0 8px 22px #00000038}.message-change-flash[data-v-86c2e987]{pointer-events:none;background:linear-gradient(100deg,#0000 10%,#ffffff61 45%,#0000 80%);animation:.42s ease-out message-change-flash-86c2e987;position:absolute;inset:0}@keyframes message-change-flash-86c2e987{0%{opacity:0;transform:translate(-16px)}30%{opacity:1}to{opacity:0;transform:translate(16px)}}.message-card.is-interactive[data-v-86c2e987]{pointer-events:auto}.message-head[data-v-86c2e987]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.message-title-wrap[data-v-86c2e987]{min-width:0}.message-kind[data-v-86c2e987]{border-radius:999px;align-items:center;margin-bottom:6px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.message-title[data-v-86c2e987]{margin:0;font-size:.95rem}.message-content[data-v-86c2e987]{white-space:pre-wrap;margin:6px 0 0;line-height:1.35}.message-actions[data-v-86c2e987]{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.icon-btn[data-v-86c2e987],.action-btn[data-v-86c2e987]{cursor:pointer;border:1px solid #0000;border-radius:8px;font-weight:600}.icon-btn[data-v-86c2e987]{width:28px;height:28px;color:inherit;background:0 0;font-size:1.2rem;line-height:1}.action-btn[data-v-86c2e987]{padding:6px 12px}.action-btn.secondary[data-v-86c2e987]{background:0 0}.action-btn.primary[data-v-86c2e987]{color:var(--color-dark-text)}.icon-btn[data-v-86c2e987]:disabled,.action-btn[data-v-86c2e987]:disabled{opacity:.45;cursor:not-allowed}.kind-question[data-v-86c2e987]{border-style:dashed}.severity-info[data-v-86c2e987]{background:color-mix(in srgb, var(--color-info-soft) 78%, white);border-color:color-mix(in srgb, var(--color-info) 50%, white);color:color-mix(in srgb, var(--color-info) 72%, var(--color-ink-950))}.severity-info .message-kind[data-v-86c2e987]{background:color-mix(in srgb, var(--color-info-soft) 62%, white)}.severity-info .action-btn.secondary[data-v-86c2e987],.severity-info .icon-btn[data-v-86c2e987]{border-color:color-mix(in srgb, var(--color-info) 50%, white);color:color-mix(in srgb, var(--color-info) 72%, var(--color-ink-950))}.severity-info .action-btn.primary[data-v-86c2e987]{background:color-mix(in srgb, var(--color-info) 78%, var(--color-ink-950))}.severity-success[data-v-86c2e987]{background:color-mix(in srgb, var(--color-success-soft) 80%, white);border-color:color-mix(in srgb, var(--color-success) 55%, white);color:color-mix(in srgb, var(--color-success) 72%, black)}.severity-success .message-kind[data-v-86c2e987]{background:color-mix(in srgb, var(--color-success-soft) 65%, white)}.severity-success .action-btn.secondary[data-v-86c2e987],.severity-success .icon-btn[data-v-86c2e987]{border-color:color-mix(in srgb, var(--color-success) 55%, white);color:color-mix(in srgb, var(--color-success) 72%, black)}.severity-success .action-btn.primary[data-v-86c2e987]{background:color-mix(in srgb, var(--color-success) 82%, var(--color-success-deep))}.severity-warning[data-v-86c2e987]{background:color-mix(in srgb, var(--color-warning-soft) 80%, white);border-color:color-mix(in srgb, var(--color-warning) 55%, white);color:color-mix(in srgb, var(--color-warning) 62%, black)}.severity-warning .message-kind[data-v-86c2e987]{background:color-mix(in srgb, var(--color-warning-soft) 58%, white)}.severity-warning .action-btn.secondary[data-v-86c2e987],.severity-warning .icon-btn[data-v-86c2e987]{border-color:color-mix(in srgb, var(--color-warning) 55%, white);color:color-mix(in srgb, var(--color-warning) 62%, black)}.severity-warning .action-btn.primary[data-v-86c2e987]{background:color-mix(in srgb, var(--color-warning) 82%, var(--color-warning-deep))}.severity-error[data-v-86c2e987]{background:color-mix(in srgb, var(--color-danger) 12%, white);border-color:color-mix(in srgb, var(--color-danger) 55%, white);color:color-mix(in srgb, var(--color-danger) 72%, black)}.severity-error .message-kind[data-v-86c2e987]{background:color-mix(in srgb, var(--color-danger) 32%, white)}.severity-error .action-btn.secondary[data-v-86c2e987],.severity-error .icon-btn[data-v-86c2e987]{border-color:color-mix(in srgb, var(--color-danger) 55%, white);color:color-mix(in srgb, var(--color-danger) 72%, black)}.severity-error .action-btn.primary[data-v-86c2e987]{background:color-mix(in srgb, var(--color-danger) 82%, var(--color-danger-deep))}.auto-dismiss-progress[data-v-86c2e987]{width:100%;height:3px;animation:progress-countdown-86c2e987 var(--dismiss-duration) linear forwards;transform-origin:0;border-radius:10px 10px 0 0;position:absolute;top:0;left:0}.severity-info .auto-dismiss-progress[data-v-86c2e987]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-info) 78%, var(--color-ink-950)), color-mix(in srgb, var(--color-info) 50%, white))}.severity-success .auto-dismiss-progress[data-v-86c2e987]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-success) 82%, var(--color-success-deep)), color-mix(in srgb, var(--color-success) 55%, white))}.severity-warning .auto-dismiss-progress[data-v-86c2e987]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-warning) 82%, var(--color-warning-deep)), color-mix(in srgb, var(--color-warning) 55%, white))}.severity-error .auto-dismiss-progress[data-v-86c2e987]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-danger) 82%, var(--color-danger-deep)), color-mix(in srgb, var(--color-danger) 55%, white))}@keyframes progress-countdown-86c2e987{0%{opacity:1;width:100%}to{opacity:0;width:0%}}.message-fade-enter-active[data-v-86c2e987],.message-fade-leave-active[data-v-86c2e987]{transition:opacity .18s,transform .18s}.message-fade-enter-from[data-v-86c2e987],.message-fade-leave-to[data-v-86c2e987]{opacity:0;transform:translateY(-6px)}@media (width<=640px){.message-overlay[data-v-86c2e987]{padding:0 8px;top:2px}.message-card[data-v-86c2e987]{border-radius:8px}.message-actions[data-v-86c2e987]{justify-content:stretch}.action-btn[data-v-86c2e987]{flex:1}}.hss-layout[data-v-837c85ab]{align-items:center;gap:0;width:100%;min-width:0;display:flex}.hss-side[data-v-837c85ab]{flex:0 0 0;justify-content:center;align-items:center;width:0;transition:width .12s,flex-basis .12s;display:flex;overflow:hidden}.hss-side--visible[data-v-837c85ab]{flex-basis:24px;width:24px}.hss-window[data-v-837c85ab]{flex:1;min-width:0;overflow:hidden}.hss-window--overflow[data-v-837c85ab]{clip-path:inset(-420px 0);overflow:visible}.hss-track[data-v-837c85ab]{will-change:transform;flex-wrap:nowrap;align-items:center;gap:6px;width:max-content;transition:transform .12s ease-out;display:flex}.hss-arrow[data-v-837c85ab]{border:1px solid var(--color-dark-overlay-25);background:var(--color-dark-backdrop-65);width:22px;height:22px;color:var(--color-dark-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.hss-arrow[data-v-837c85ab]:hover{background:var(--color-dark-backdrop-85);border-color:var(--color-dark-overlay-45)}.photo-viewer[data-v-949697a7]{z-index:1000;background:#000;flex-direction:row;width:100vw;height:100dvh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.viewer-main-content[data-v-949697a7]{background:#000;flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow:hidden}.fullscreen-image-container[data-v-949697a7]{touch-action:pan-y;background:#000;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;margin:0;transition:all .3s;display:flex;position:relative;overflow:visible}.similarity-crop-layer[data-v-949697a7]{z-index:5;cursor:crosshair;touch-action:none;background:#00000047;position:absolute;inset:0}.similarity-crop-box[data-v-949697a7]{pointer-events:none;background:#ffffff1f;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000047}.similarity-crop-help[data-v-949697a7]{color:#fff;pointer-events:none;background:#000000a6;border-radius:999px;padding:7px 12px;font-size:13px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.fullscreen-image-container.is-zoomed[data-v-949697a7]{touch-action:none;cursor:grab}.fullscreen-image-container.is-zoomed[data-v-949697a7]:active{cursor:grabbing}.fullscreen-image[data-v-949697a7]{object-fit:contain;max-width:100%;max-height:100%}.thumbnail-layer[data-v-949697a7]{object-fit:contain;z-index:0;width:100%;height:100%;transition:filter .3s;position:relative}.thumbnail-layer.loading[data-v-949697a7]{filter:brightness(.35)saturate(.8)}.full-layer[data-v-949697a7]{object-fit:contain;z-index:1;width:100%;height:100%;transition:opacity .3s,filter .3s;position:absolute;top:0;left:0}.full-layer.hidden[data-v-949697a7]{opacity:0}.fullscreen-video[data-v-949697a7]{max-width:100%;max-height:100%}.error-overlay[data-v-949697a7]{background:color-mix(in srgb, var(--color-danger) 90%, transparent);color:#fff;z-index:10;border-radius:8px;align-items:center;gap:10px;padding:8px 15px;font-size:13px;display:flex;position:absolute;bottom:20px;right:20px;box-shadow:0 4px 12px #0000004d}.nav-button[data-v-949697a7],.close-button[data-v-949697a7]{color:var(--color-dark-overlay-30);background:var(--color-dark-backdrop-20);cursor:pointer;border:none;border-radius:50%;padding:8px 12px;font-size:32px;line-height:1;transition:all .2s;position:absolute}.nav-button[data-v-949697a7]{z-index:1002;top:50%;transform:translateY(-50%)}.nav-prev[data-v-949697a7]{left:20px}.nav-next[data-v-949697a7]{right:20px}.close-button[data-v-949697a7]{z-index:1200;top:20px;right:20px}.nav-button[data-v-949697a7]:hover,.close-button[data-v-949697a7]:hover{color:#fff;background:var(--color-dark-backdrop-50)}.photo-info-expanded-content[data-v-949697a7]{border-top:1px solid var(--color-dark-overlay-20);flex-direction:column;gap:15px;width:100%;margin-top:15px;padding-top:15px;display:flex;overflow:visible}.info-section[data-v-949697a7]{text-align:left;background:var(--color-dark-overlay-05);border-radius:4px;padding:10px;overflow:visible}.info-section h4[data-v-949697a7]{color:var(--color-border);border-bottom:1px solid var(--color-dark-overlay-10);margin:0 0 10px;padding-bottom:5px;font-size:14px}.metadata-grid[data-v-949697a7]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 15px;display:grid}.metadata-grid p[data-v-949697a7]{color:var(--color-text-secondary);gap:8px;margin:0;font-size:13px;display:flex}.metadata-grid p span[data-v-949697a7]:first-child{color:color-mix(in srgb, var(--color-text-secondary) 80%, white);flex-shrink:0;font-weight:500}.metadata-grid h5[data-v-949697a7]{color:var(--color-gallery-gold);text-transform:uppercase;border-top:1px dashed var(--color-dark-overlay-10);grid-column:1/-1;margin:10px 0 5px;padding-top:8px;font-size:12px}.tag-management-area[data-v-949697a7]{flex-direction:column;gap:10px;display:flex}.current-photo-tags[data-v-949697a7]{background:var(--color-dark-backdrop-20);border-radius:4px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:30px;padding:5px;display:flex}.photo-tag-chip[data-v-949697a7]{color:#fff;border-radius:15px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.add-tag-container[data-v-949697a7]{position:relative}.photo-tags-display-compact[data-v-949697a7] .btn-add-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-dark-overlay-20);color:#fff;background:#0009;width:32px;height:32px}.photo-tags-display-compact[data-v-949697a7] .btn-add-tag:hover{border-color:color-mix(in srgb, var(--color-on-primary) 40%, transparent);background:#000c}.add-tag-quick-btn[data-v-949697a7]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-dark-overlay-20);color:#fff;cursor:pointer;background:#0009;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:all .2s;display:flex}.add-tag-quick-btn[data-v-949697a7]:hover{border-color:color-mix(in srgb, var(--color-on-primary) 40%, transparent);background:#000c;transform:scale(1.1)}.tag-selector[data-v-949697a7]{z-index:99999;background:#2e2e2e;border:1px solid #454545;border-radius:8px;flex-direction:column;width:220px;max-height:300px;margin-bottom:12px;display:flex;position:fixed;bottom:100px;right:10px;box-shadow:0 8px 24px #000000e6}.tag-selector[data-v-949697a7]:after{content:"";border:8px solid #0000;border-top-color:#2e2e2e;position:absolute;top:100%;right:115px}.tag-selector-footer[data-v-949697a7]{background:#2e2e2e;border-top:1px solid #454545;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.tag-selector-header[data-v-949697a7]{padding:8px}.tag-selector-header input[data-v-949697a7]{box-sizing:border-box;background:var(--color-gallery-fullscreen-bg);color:#fff;border:1px solid #545454;border-radius:4px;width:100%;padding:6px 10px;font-size:13px}.tag-selector-list[data-v-949697a7]{flex:1;overflow-y:auto}.tag-selector-item[data-v-949697a7]{cursor:pointer;color:#fff;text-align:left;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:background-color .2s;display:flex}.tag-selector-item.selected[data-v-949697a7]{background-color:var(--color-dark-selected);color:#fff}.tag-selector-item.on-photo[data-v-949697a7]{background-color:color-mix(in srgb, var(--color-info) 15%, transparent);border-left:3px solid var(--color-info)}.tag-name-item[data-v-949697a7]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tag-selector-item[data-v-949697a7] .tag-chip--dot{opacity:1;box-shadow:none}.tag-selector-item[data-v-949697a7] .tag-chip--dot:hover{opacity:1;transform:none}.current-badge[data-v-949697a7]{color:var(--color-success);font-weight:700}.tag-selector-empty[data-v-949697a7]{text-align:center;color:var(--color-text-secondary);padding:12px;font-size:13px}.create-new-tag[data-v-949697a7]{background:color-mix(in srgb, var(--color-info) 10%, transparent);border-top:1px solid #454545}.create-new-tag[data-v-949697a7]:hover{background:color-mix(in srgb, var(--color-info) 20%, transparent)}.create-tag-icon[data-v-949697a7]{color:var(--color-success);font-size:16px;font-weight:700}.faces-grid[data-v-949697a7]{background:var(--color-dark-backdrop-20);border-radius:4px;flex-wrap:wrap;justify-content:center;gap:10px;padding:5px;display:flex;overflow:visible}.face-item[data-v-949697a7]{background:var(--color-dark-overlay-05);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:5px;padding:5px;transition:background .2s;display:flex}.face-item[data-v-949697a7]:hover{background:var(--color-dark-overlay-10);border-color:var(--color-gallery-person)}.face-thumbnail[data-v-949697a7]{object-fit:cover;border:2px solid #545454;border-radius:50%;width:60px;height:60px}.face-thumbnail.is-deleted[data-v-949697a7]{filter:grayscale()}.manual-face-placeholder[data-v-949697a7]{background:var(--color-text-primary);color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:24px;display:flex}.add-face-placeholder[data-v-949697a7]{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success);border-style:dashed;border-color:var(--color-success);justify-content:center;align-items:center;font-size:30px;display:flex}.add-face-btn:hover .add-face-placeholder[data-v-949697a7]{background:color-mix(in srgb, var(--color-success) 40%, transparent);color:#fff;border-color:#fff}.add-face-disabled[data-v-949697a7]{opacity:.35;cursor:not-allowed}.add-face-disabled .add-face-placeholder[data-v-949697a7]{background:color-mix(in srgb, var(--color-text-secondary) 15%, transparent);color:var(--color-text-secondary);border-color:var(--color-text-secondary)}.face-detection-status-badge[data-v-949697a7]{border-radius:10px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.face-detection-done[data-v-949697a7]{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success)}.face-detection-pending[data-v-949697a7]{background:color-mix(in srgb, var(--color-warning) 20%, transparent);color:var(--color-warning)}.face-info[data-v-949697a7]{color:var(--color-gallery-neutral);text-align:center;flex-direction:column;font-size:10px;display:flex}.face-name[data-v-949697a7]{color:var(--color-info);font-weight:700}.face-name.user[data-v-949697a7]{color:var(--color-on-primary)}.face-name.friend-mapped[data-v-949697a7]{color:var(--color-warning)}.face-name.friend-shared[data-v-949697a7]{color:color-mix(in srgb, var(--color-warning) 65%, black)}.face-name.deleted[data-v-949697a7]{color:var(--color-text-secondary);text-decoration:line-through}.clickable-name[data-v-949697a7]{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.clickable-name[data-v-949697a7]:hover{color:var(--color-on-primary);text-decoration:underline}.unvalidated-tag[data-v-949697a7]{color:color-mix(in srgb, var(--color-text-secondary) 70%, white);font-size:8px;font-style:italic}.face-item-container[data-v-949697a7]{position:relative}.face-item.highlighted[data-v-949697a7]{border-color:var(--color-info);background:color-mix(in srgb, var(--color-info) 20%, transparent)}.faces-panel .face-item.suggested[data-v-949697a7]{border-color:var(--color-cyan);background:color-mix(in srgb, var(--color-cyan) 15%, transparent)}.person-selector[data-v-949697a7]{z-index:99999;background:#2e2e2e;border:1px solid #454545;border-radius:8px;flex-direction:column;width:220px;max-height:300px;margin-bottom:12px;display:flex;position:absolute;bottom:100%;box-shadow:0 8px 24px #000000e6}.person-selector[data-v-949697a7]:after{content:"";border:8px solid #0000;border-top-color:#2e2e2e;position:absolute;top:100%}.selector-footer[data-v-949697a7]{background:#2e2e2e;border-top:1px solid #454545;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.selector-header[data-v-949697a7]{padding:8px}.selector-header input[data-v-949697a7]{box-sizing:border-box;background:var(--color-gallery-fullscreen-bg);color:#fff;border:1px solid #545454;border-radius:4px;width:100%;padding:6px 10px;font-size:13px}.selector-list[data-v-949697a7]{flex:1;overflow-y:auto}.selector-item[data-v-949697a7]{cursor:pointer;color:var(--color-text-secondary);text-align:left;align-items:center;gap:10px;padding:8px 12px;font-size:13px;transition:background-color .2s;display:flex}.selector-item.selected[data-v-949697a7]{color:#fff;background-color:#3d3d3d}.selector-item img[data-v-949697a7]{object-fit:cover;border-radius:50%;width:30px;height:30px}.selector-loader[data-v-949697a7]{z-index:100;color:var(--color-info);background:#333;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex;position:absolute;inset:0}.new-person[data-v-949697a7]{color:var(--color-info);border-bottom:1px solid #454545;font-weight:700}.new-person .plus[data-v-949697a7]{margin-right:4px;font-size:18px}.selector-divider[data-v-949697a7]{background:#454545;height:1px;margin:4px 0}.unassign-action[data-v-949697a7]{color:var(--color-warning)}.delete-action[data-v-949697a7]{color:var(--color-danger)}.person-name-item[data-v-949697a7]{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.selector-overlay[data-v-949697a7],.tag-dropdown-overlay[data-v-949697a7]{z-index:9998;background:0 0;position:fixed;inset:0}.modal-overlay[data-v-949697a7]{background:var(--color-dark-backdrop-50);z-index:3000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-949697a7]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.qr-modal[data-v-949697a7]{max-width:400px}.modal-header[data-v-949697a7]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2[data-v-949697a7]{margin:0;font-size:18px}.close-btn[data-v-949697a7]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:24px;line-height:1;display:flex}.close-btn[data-v-949697a7]:hover{color:var(--color-text-primary)}.modal-content[data-v-949697a7]{padding:20px}.qr-hint[data-v-949697a7]{color:var(--color-text-secondary);margin:0;font-size:12px}.loading[data-v-949697a7]{text-align:center;color:var(--color-text-secondary)}.face-hover-overlay[data-v-949697a7]{pointer-events:none;z-index:100;border:3px solid var(--color-info);box-shadow:0 0 0 9999px var(--color-dark-backdrop-50), 0 0 15px #000000e6;opacity:0;border-radius:50%;transition:opacity .3s ease-out,transform .3s ease-out}.face-hover-overlay.visible[data-v-949697a7]{opacity:1}.fullscreen-gallery-sidebar[data-v-949697a7]{z-index:1100;background:#000;flex-shrink:0;width:0;height:100%;transition:width .3s;position:relative;overflow:visible}.fullscreen-gallery-sidebar-open[data-v-949697a7]{width:200px}.fullscreen-gallery-toggle[data-v-949697a7]{background:var(--color-dark-backdrop-20);width:30px;height:60px;color:var(--color-dark-overlay-30);cursor:pointer;z-index:1101;border:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex;position:absolute;top:20px;right:-30px}.fullscreen-gallery-toggle[data-v-949697a7]:hover{color:#fff;background:var(--color-dark-backdrop-50)}.fullscreen-gallery-content[data-v-949697a7]{border-right:1px solid var(--color-dark-overlay-10);flex-direction:column;width:200px;height:100%;display:flex}.fullscreen-gallery-header[data-v-949697a7]{background:var(--color-dark-backdrop-50);color:#fff;border-bottom:1px solid var(--color-dark-overlay-10);justify-content:space-between;align-items:center;padding:10px 15px;font-size:14px;display:flex}.mini-refresh-btn[data-v-949697a7]{background:var(--color-dark-overlay-10);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;line-height:1;transition:background .2s;display:flex}.mini-refresh-btn[data-v-949697a7]:hover{background:color-mix(in srgb, var(--color-info) 30%, transparent)}.fullscreen-gallery-grid[data-v-949697a7]{flex-direction:column;flex:1;padding:20px 10px;display:flex;overflow:hidden auto}.fullscreen-gallery-item[data-v-949697a7]{aspect-ratio:4/3;cursor:pointer;border:2px solid var(--color-dark-overlay-20);width:100%;min-height:120px;box-shadow:0 -4px 10px var(--color-dark-backdrop-50);background:#000;border-radius:4px;margin-top:-30%;transition:all .3s;position:relative;overflow:hidden}.fullscreen-gallery-item[data-v-949697a7]:first-child{margin-top:0}.fullscreen-gallery-item[data-v-949697a7]:hover{z-index:10;border-color:#fff;transform:translateY(-10px)scale(1.05)}.fullscreen-gallery-item-active[data-v-949697a7]{border-color:var(--color-info);z-index:5;transform:scale(1.02)}.fullscreen-gallery-item img[data-v-949697a7]{object-fit:cover;width:100%;height:100%}.fullscreen-gallery-item-index[data-v-949697a7]{color:#fff;background:#0009;border-radius:3px;padding:2px 5px;font-size:10px;position:absolute;bottom:5px;right:5px}.rating-container[data-v-949697a7]{justify-content:center;align-items:center;gap:8px;display:flex}.rating-label[data-v-949697a7]{color:var(--color-gallery-gold);font-size:14px;font-weight:500}.star-rating[data-v-949697a7]{align-items:center;gap:1px;display:flex}.star[data-v-949697a7]{color:#545454;cursor:pointer;font-size:20px;transition:color .2s}.star.filled[data-v-949697a7]{color:var(--color-gallery-gold)}.zero-rating[data-v-949697a7]{color:#545454;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:4px;padding:0;font-size:20px;line-height:1;display:flex}.zero-rating.zero-filled[data-v-949697a7]{color:var(--color-gallery-gold)}.clear-rating[data-v-949697a7]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;margin-left:10px;padding:0;font-size:18px;line-height:1}.clear-rating[data-v-949697a7]:hover{color:var(--color-danger)}.mini-load-more-trigger[data-v-949697a7]{justify-content:center;align-items:center;height:40px;margin-top:10px;display:flex}.mini-spinner-loading[data-v-949697a7]{border:2px solid var(--color-dark-overlay-30);border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}.sources-multi-container[data-v-949697a7]{align-items:center;display:inline-flex;position:relative}.multiple-sources-btn-minimal[data-v-949697a7]{color:color-mix(in srgb, var(--color-text-secondary) 70%, white);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:2px 8px;transition:all .2s;display:flex}.multiple-sources-btn-minimal[data-v-949697a7]:hover{color:#fff;background:var(--color-dark-overlay-10)}.multiple-sources-btn-minimal.active-filter[data-v-949697a7]{background:var(--color-info);color:#fff;box-shadow:0 0 8px color-mix(in srgb, var(--color-info) 50%, transparent);font-weight:700}.multiple-sources-btn-minimal .sources-count[data-v-949697a7]{font-size:12px}.multiple-sources-btn-minimal .chevron-icon[data-v-949697a7]{opacity:.7}.sources-dropdown[data-v-949697a7]{z-index:2000;background:#2e2e2e;border:1px solid #454545;border-radius:8px;flex-direction:column;width:max-content;min-width:320px;max-width:80vw;max-height:400px;margin-bottom:12px;display:flex;position:absolute;bottom:100%;left:-300px;box-shadow:0 8px 24px #000000e6}.sources-dropdown-list[data-v-949697a7]>*{white-space:nowrap}.sources-dropdown[data-v-949697a7]:after{content:"";border:8px solid #0000;border-top-color:#2e2e2e;position:absolute;top:100%;left:350px}.sources-dropdown-header[data-v-949697a7]{color:var(--color-border);border-bottom:1px solid #454545;padding:10px 15px;font-size:14px;font-weight:500}.sources-dropdown-list[data-v-949697a7]{padding:5px 0;overflow-y:auto}.source-dropdown-item[data-v-949697a7]{border-bottom:1px solid var(--color-dark-overlay-05);padding:10px 15px}.source-dropdown-item[data-v-949697a7]:last-child{border-bottom:none}.source-item-top[data-v-949697a7]{align-items:center;gap:10px;margin-bottom:5px;display:flex}.source-dropdown-item .source-badge-compact[data-v-949697a7]{background:var(--color-gallery-source)}.source-filename[data-v-949697a7]{color:var(--color-border);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:12px;font-weight:500;overflow:hidden}.floating-actions[data-v-949697a7]{z-index:1100;gap:8px;display:flex;position:absolute;top:20px;right:80px}.floating-action-btn[data-v-949697a7],.panel-action-btn[data-v-949697a7]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.floating-action-btn[data-v-949697a7]{border:1px solid var(--color-dark-overlay-20);background:#0009;width:40px;height:40px}.floating-action-btn[data-v-949697a7]:hover,.panel-action-btn[data-v-949697a7]:hover{transform:scale(1.1)}.floating-action-btn[data-v-949697a7]:hover{border-color:color-mix(in srgb, var(--color-on-primary) 40%, transparent);background:#000c}.floating-action-btn.active[data-v-949697a7]{background:var(--color-info);border-color:color-mix(in srgb, var(--color-info) 80%, white);box-shadow:0 4px 12px color-mix(in srgb, var(--color-info) 50%, transparent)}.floating-action-btn .icon[data-v-949697a7]{font-size:18px}.cast-action-btn-floating[data-v-949697a7]{background:var(--color-dark-button-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-dark-button-border);border-radius:50%;width:40px;height:40px}.panel-actions[data-v-949697a7]{z-index:101;flex-shrink:0;align-items:center;gap:6px;padding:0 8px;display:flex}.panel-action-btn[data-v-949697a7]{background:var(--color-dark-button-bg);border:1px solid var(--color-dark-button-border);width:32px;height:32px}.panel-action-btn[data-v-949697a7]:hover{border-color:var(--color-dark-button-hover-border)}.panel-action-btn.active[data-v-949697a7]{background:var(--color-dark-button-selected-bg);border-color:var(--color-dark-button-selected-border);box-shadow:0 4px 12px var(--color-dark-button-selected-shadow)}.panel-action-btn .icon[data-v-949697a7]{font-size:16px}.panel-date-pill[data-v-949697a7]{border:1px solid var(--color-dark-overlay-20);cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;position:relative;background:#0009!important}.panel-date-pill[data-v-949697a7]:hover{border-color:color-mix(in srgb, var(--color-on-primary) 40%, transparent);transform:scale(1.03);background:#000c!important}.panel-date-pill[data-v-949697a7]:active{transform:scale(.98)}.panel-date-pill[data-v-949697a7]:disabled,.panel-date-pill[disabled][data-v-949697a7]{cursor:not-allowed;opacity:.6;filter:grayscale();box-shadow:none}.panel-date-pill .btn-icon[data-v-949697a7]{margin-left:0}.panel-date-pill.is-active[data-v-949697a7]{color:#fff;background:var(--color-dark-button-selected-bg)!important;border-color:var(--color-dark-button-selected-border)!important;box-shadow:0 4px 12px var(--color-dark-button-selected-shadow)!important}.panel-date-pill.is-active .btn-icon[data-v-949697a7]{filter:none}.panel-btn-tooltip[data-v-949697a7]{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border:1px solid color-mix(in srgb, var(--color-on-primary) 15%, transparent);z-index:10002;background:#000000d9;border-radius:4px;padding:4px 8px;font-size:12px;transition:opacity .2s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.panel-action-btn:hover .panel-btn-tooltip[data-v-949697a7]{opacity:1}.panel-btn-tooltip--left[data-v-949697a7]{left:-10px;transform:none}.edit-date-group[data-v-949697a7]{align-items:center;gap:8px;display:inline-flex}.cast-action-btn-panel[data-v-949697a7]{border-radius:50%;flex-shrink:0;width:32px;height:32px}.share-action-btn-panel[data-v-949697a7]{flex-shrink:0}.share-action-btn-panel[data-v-949697a7] .share-link-button{border-radius:50%;width:32px;height:32px;padding:0}.mobile-actions-menu-container[data-v-949697a7]{margin-left:auto;position:relative}.mobile-actions-dropdown[data-v-949697a7]{border:1px solid color-mix(in srgb, var(--color-on-primary) 15%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10005;background:#000000e0;border-radius:10px;flex-direction:column;gap:4px;width:auto;max-width:330px;max-height:60vh;margin-left:auto;padding:8px;display:flex;position:fixed;bottom:calc(100% + 10px);left:8px;right:8px;overflow:hidden auto;box-shadow:0 10px 30px #000000d9}.mobile-actions-item[data-v-949697a7]{border:1px solid var(--color-dark-overlay-10);width:100%;color:var(--color-on-primary);text-align:left;cursor:pointer;background:#000000a6;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.2;display:flex}.mobile-actions-item[data-v-949697a7]:hover{border-color:var(--color-dark-overlay-30);background:#00000080}.mobile-actions-item.active[data-v-949697a7]{border-color:var(--color-dark-button-selected-border);background:var(--color-dark-button-selected-bg);box-shadow:0 4px 12px var(--color-dark-button-selected-shadow)}.mobile-actions-item[data-v-949697a7]:disabled{opacity:.6;cursor:not-allowed}.mobile-actions-item .mobile-badge[data-v-949697a7]{margin-left:auto}.mobile-sources-dropdown[data-v-949697a7]{width:100%;min-width:0;max-width:100%;max-height:260px;margin:0;position:static;inset:auto}.mobile-sources-dropdown[data-v-949697a7]:after{display:none}.mobile-sources-dropdown .sources-dropdown-list[data-v-949697a7]{overflow-x:hidden}.mobile-sources-dropdown .breadcrumb-compact[data-v-949697a7]{color:var(--color-dark-text-muted);white-space:nowrap;align-items:center;max-width:100%;font-size:12px;display:flex;overflow-x:auto}.mobile-sources-dropdown .source-label-simple[data-v-949697a7]{color:var(--color-dark-text);white-space:nowrap;padding:2px 0;font-size:12px;font-weight:700}.mobile-sources-dropdown .source-label-simple.clickable[data-v-949697a7]{cursor:pointer}.mobile-sources-dropdown .source-label-simple.clickable[data-v-949697a7]:hover,.mobile-sources-dropdown .source-label-simple.clickable.force-hover[data-v-949697a7]{color:var(--color-info);background-color:var(--color-dark-button-selected-bg);border-radius:3px}.mobile-sources-dropdown .breadcrumb-item-compact[data-v-949697a7]{cursor:pointer;color:var(--color-dark-text);border-radius:4px;padding:2px 6px;transition:color .2s,background-color .2s}.mobile-sources-dropdown .breadcrumb-item-compact[data-v-949697a7]:hover,.mobile-sources-dropdown .breadcrumb-item-compact.force-hover[data-v-949697a7]{color:var(--color-info);background-color:var(--color-dark-button-selected-bg)}.mobile-sources-dropdown .source-badge-compact.active-filter[data-v-949697a7]{background:var(--color-info);color:#fff;box-shadow:0 0 8px color-mix(in srgb, var(--color-info) 50%, transparent)}.mobile-sources-dropdown .breadcrumb-item-compact.active-filter[data-v-949697a7]{background:var(--color-info);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:0;max-width:150px;margin:0;padding-left:4px;padding-right:0;font-weight:700;overflow:hidden}.mobile-sources-dropdown .breadcrumb-item-compact.active-filter[data-v-949697a7]:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px;padding-left:6px}.mobile-sources-dropdown .breadcrumb-item-compact.active-filter[data-v-949697a7]:last-of-type{box-shadow:4px 0 8px color-mix(in srgb, var(--color-info) 50%, transparent);border-top-right-radius:4px;border-bottom-right-radius:4px;padding-right:6px}.mobile-sources-dropdown .breadcrumb-item-compact.active-filter .breadcrumb-separator-compact[data-v-949697a7]{color:color-mix(in srgb, var(--color-on-primary) 50%, transparent);margin:0 4px}.mobile-sources-dropdown .source-filename[data-v-949697a7]{color:var(--color-border)}.mobile-actions-cast-row[data-v-949697a7]{color:var(--color-on-primary);align-items:center;gap:8px;padding:4px 2px 2px;font-size:13px;line-height:1.2;display:flex}.mobile-actions-cast-row span[data-v-949697a7]{font-size:inherit}@media (width<=768px){.panel-actions[data-v-949697a7]{margin-left:auto;padding:0 4px}.mobile-actions-dropdown[data-v-949697a7]{left:8px;right:8px;bottom:calc(56px + env(safe-area-inset-bottom,0px) + 8px);width:auto;max-width:none;margin-left:0}.panel-action-btn[data-v-949697a7]:hover{transform:none}.panel-btn-tooltip[data-v-949697a7]{display:none}}.sharing-panel-header[data-v-949697a7],.metadata-panel-header[data-v-949697a7],.faces-panel .details-panel-header[data-v-949697a7],.edit-panel-header[data-v-949697a7]{z-index:2;border-bottom:none;flex-shrink:0;align-items:center;gap:8px;padding:0;display:flex;position:relative}.photo-info[data-v-949697a7]{width:100%;height:calc(56px + env(safe-area-inset-bottom,0px));min-height:calc(56px + env(safe-area-inset-bottom,0px));max-height:calc(56px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)) 8px;border-top:1px solid var(--color-dark-overlay-20);box-sizing:border-box;z-index:100;background:#000000d9;flex-shrink:0;align-items:center;gap:8px;display:flex;overflow:visible}.info-row-compact[data-v-949697a7]{scrollbar-width:none;-ms-overflow-style:none;z-index:1;flex-wrap:nowrap;flex:1;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex;position:relative;overflow:visible}.info-row-compact[data-v-949697a7]::-webkit-scrollbar{display:none}.info-left-section[data-v-949697a7]{flex-shrink:0;align-items:center;gap:8px;min-width:fit-content;display:flex}.info-center-section[data-v-949697a7]{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;overflow:hidden}.info-right-section[data-v-949697a7]{flex-shrink:0;align-items:center;gap:6px;min-width:fit-content;max-width:250px;display:flex;overflow:visible}.info-row-compact .nav-counter[data-v-949697a7]{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 15%, transparent);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:700}.info-row-compact .filename-compact[data-v-949697a7]{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:200px;margin:0 0 0 4px;font-size:12px;font-weight:700;overflow:hidden}.info-row-compact .date-compact[data-v-949697a7]{color:var(--color-gallery-gold);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:500}.info-row-compact .source-badge-compact[data-v-949697a7]{background:var(--color-gallery-source);color:#fff;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:12px;font-weight:700}.info-row-compact .source-badge-compact.clickable[data-v-949697a7]{cursor:pointer}.info-row-compact .source-label-simple[data-v-949697a7]{color:var(--color-dark-text);white-space:nowrap;flex-shrink:0;padding:2px 0;font-size:12px;font-weight:700}.info-row-compact .source-label-simple.clickable[data-v-949697a7]{cursor:pointer}.info-row-compact .source-label-simple.clickable[data-v-949697a7]:hover,.info-row-compact .source-label-simple.clickable.force-hover[data-v-949697a7]{color:var(--color-info);background-color:var(--color-dark-button-selected-bg);border-radius:3px}.info-row-compact .breadcrumb-compact[data-v-949697a7]{color:var(--color-dark-text-muted);white-space:nowrap;flex-shrink:1;align-items:center;min-width:0;margin:0 4px;font-size:12px;display:flex}.breadcrumb-separator-compact[data-v-949697a7]{color:var(--color-dark-text-soft);margin:0 6px;transition:color .2s}.breadcrumb-separator-compact.force-hover[data-v-949697a7]{color:var(--color-info)}.info-row-compact .breadcrumb-item-compact[data-v-949697a7]{cursor:pointer;color:var(--color-dark-text);border-radius:4px;padding:2px 6px;transition:color .2s,background-color .2s}.info-row-compact .breadcrumb-item-compact[data-v-949697a7]:hover,.info-row-compact .breadcrumb-item-compact.force-hover[data-v-949697a7]{color:var(--color-info);background-color:var(--color-dark-button-selected-bg)}.info-row-compact .source-badge-compact.active-filter[data-v-949697a7]{background:var(--color-info);color:#fff;box-shadow:0 0 8px color-mix(in srgb, var(--color-info) 50%, transparent)}.info-row-compact .breadcrumb-item-compact.active-filter[data-v-949697a7]{background:var(--color-info);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:0;max-width:150px;margin:0;padding-left:4px;padding-right:0;font-weight:700;overflow:hidden}.info-row-compact .breadcrumb-item-compact.active-filter[data-v-949697a7]:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px;padding-left:6px}.info-row-compact .breadcrumb-item-compact.active-filter[data-v-949697a7]:last-of-type{box-shadow:4px 0 8px color-mix(in srgb, var(--color-info) 50%, transparent);border-top-right-radius:4px;border-bottom-right-radius:4px;padding-right:6px}.info-row-compact .breadcrumb-item-compact.active-filter .breadcrumb-separator-compact[data-v-949697a7]{color:color-mix(in srgb, var(--color-on-primary) 50%, transparent);margin:0 4px}.source-prefix-breadcrumb[data-v-949697a7]{font-weight:700}.info-row-compact .rating-compact[data-v-949697a7]{flex-shrink:0}.info-row-compact .star-rating-compact[data-v-949697a7]{align-items:center;gap:1px;display:flex}.info-row-compact .star-compact[data-v-949697a7]{color:var(--color-dark-text-soft);cursor:pointer;font-size:14px;transition:color .2s}.info-row-compact .star-compact.filled[data-v-949697a7]{color:var(--color-gallery-gold)}.info-row-compact .zero-rating-compact[data-v-949697a7]{color:var(--color-dark-text-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:2px;padding:0;font-size:14px;line-height:1;display:flex}.info-row-compact .zero-rating-compact.zero-filled[data-v-949697a7]{color:var(--color-gallery-gold)}.info-row-compact .clear-rating-compact[data-v-949697a7]{color:var(--color-dark-text-muted);cursor:pointer;visibility:visible;background:0 0;border:none;margin-left:4px;padding:0;font-size:14px;line-height:1}.info-row-compact .clear-rating-compact.hidden-rating[data-v-949697a7]{visibility:hidden}.info-row-compact .clear-rating-compact[data-v-949697a7]:hover{color:var(--color-danger)}.info-row-compact .photo-tags-display-compact[data-v-949697a7]{flex-shrink:0;align-items:center;gap:4px;display:flex}.info-row-compact .add-tag-quick-btn[data-v-949697a7]{width:24px;height:24px}.mobile-filename-only[data-v-949697a7]{max-width:42vw}.mobile-filename-only .filename-compact[data-v-949697a7]{max-width:100%;margin-left:0}@media (width<=768px){.photo-info[data-v-949697a7]{z-index:1301;gap:4px;padding-left:6px;padding-right:6px;position:relative}.info-row-compact[data-v-949697a7]{gap:4px}.info-left-section[data-v-949697a7]{flex:1;gap:6px;min-width:0}.info-right-section[data-v-949697a7]{max-width:none;margin-left:auto}.info-row-compact .date-compact[data-v-949697a7]{font-variant-numeric:tabular-nums}.info-row-compact .photo-tags-display-compact[data-v-949697a7]{gap:0}}.details-panel[data-v-949697a7]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid color-mix(in srgb, var(--color-on-primary) 15%, transparent);z-index:100;background:#000000f2;flex-direction:column;flex-shrink:0;animation:.3s slideUp-949697a7;display:flex;position:absolute;bottom:0;left:0;right:0}@keyframes slideUp-949697a7{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.details-panel-header[data-v-949697a7]{border-bottom:1px solid var(--color-dark-overlay-10);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.details-panel-header h4[data-v-949697a7]{color:var(--color-dark-text);margin:0;font-size:14px;font-weight:600}.close-panel-btn[data-v-949697a7]{background:var(--color-dark-overlay-10);color:var(--color-dark-text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .2s;display:flex}.close-panel-btn[data-v-949697a7]:hover{background:var(--color-dark-overlay-20);color:#fff}.details-panel-content[data-v-949697a7]{flex:1;padding:15px 15px 70px;overflow-y:auto}.metadata-panel-content[data-v-949697a7]{flex:1;align-items:center;min-width:0;padding:0;display:flex;position:relative;overflow:hidden}.details-panel .metadata-grid[data-v-949697a7]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.details-panel .metadata-grid p[data-v-949697a7]{color:var(--color-dark-text-muted);gap:8px;margin:0;font-size:13px;display:flex}.details-panel .metadata-grid p span[data-v-949697a7]:first-child{color:var(--color-dark-text-soft);flex-shrink:0;font-weight:500}.details-panel .metadata-grid h5[data-v-949697a7]{color:var(--color-gallery-gold);text-transform:uppercase;border-top:1px dashed var(--color-dark-overlay-10);grid-column:1/-1;margin:10px 0 5px;padding-top:10px;font-size:12px}.metadata-chips-group[data-v-949697a7]{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.metadata-chip[data-v-949697a7]{background:var(--color-dark-button-bg);border:1px solid var(--color-dark-button-border);color:var(--color-dark-text);white-space:nowrap;cursor:default;border-radius:16px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:all .2s;display:inline-flex}.metadata-chip[data-v-949697a7]:hover{border-color:var(--color-dark-overlay-30);color:var(--color-dark-text);background:#00000085}.metadata-chip .chip-label[data-v-949697a7]{color:var(--color-dark-text-soft);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.metadata-chip .chip-value[data-v-949697a7]{color:var(--color-dark-text);font-weight:500}.metadata-chip:hover .chip-value[data-v-949697a7]{color:var(--color-dark-text)}.faces-panel .details-panel-header h4[data-v-949697a7]{display:none}.faces-panel .close-panel-btn[data-v-949697a7]{width:32px;height:32px}.faces-panel .details-panel-content[data-v-949697a7]{flex:1;min-width:0;padding:0;position:relative;overflow:visible}.faces-panel .face-item-container[data-v-949697a7]{flex:none}.face-item-tooltip[data-v-949697a7]{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border:1px solid color-mix(in srgb, var(--color-on-primary) 15%, transparent);z-index:10002;background:#000000d9;border-radius:4px;padding:4px 8px;font-size:12px;transition:opacity .2s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.faces-panel .face-item-container:first-child>.face-item-tooltip[data-v-949697a7]{left:0;transform:none}.face-item-container:hover .face-item-tooltip[data-v-949697a7]{opacity:1}.faces-panel .face-item[data-v-949697a7]{background:color-mix(in srgb, var(--color-on-primary) 6%, transparent);cursor:pointer;border:2px solid #0000;border-radius:999px;flex-direction:row;align-items:center;gap:6px;padding:1px 8px 1px 3px;transition:background-color .2s,border-color .2s;display:flex;overflow:visible}.faces-panel .face-item[data-v-949697a7]:hover{background:color-mix(in srgb, var(--color-on-primary) 12%, transparent);border-color:var(--color-info);transform:none}.faces-panel .face-item.no-label[data-v-949697a7]{border-radius:50%;padding:0}.faces-panel .face-item.no-label .face-thumbnail[data-v-949697a7]{margin:0}.face-unlinked-badge[data-v-949697a7]{width:14px;height:14px;color:color-mix(in srgb, var(--color-on-primary) 75%, transparent);text-align:center;pointer-events:none;z-index:1;background:#737373;border-radius:50%;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:-3px;right:-3px}.face-unlinked-badge.suggested[data-v-949697a7]{background:color-mix(in srgb, var(--color-cyan) 85%, transparent);color:#fff}.faces-panel .face-thumbnail[data-v-949697a7]{width:40px;height:40px;margin:-2px -3px}.faces-panel .face-info[data-v-949697a7]{min-width:0;font-size:11px}.faces-panel .face-name[data-v-949697a7]{white-space:nowrap;text-overflow:ellipsis;max-width:120px;display:inline-block;overflow:hidden}.faces-panel .loading-faces[data-v-949697a7]{color:color-mix(in srgb, var(--color-text-secondary) 70%, white);white-space:nowrap;padding:0;font-size:12px}.faces-panel .no-faces[data-v-949697a7]{color:var(--color-text-secondary);white-space:nowrap;padding:0;font-size:12px}.quick-assoc-empty[data-v-949697a7]{color:color-mix(in srgb, var(--color-text-secondary) 70%, white);white-space:nowrap;padding:8px 4px;font-size:12px}.faces-panel .face-item.quick-assoc-face[data-v-949697a7]{cursor:pointer;white-space:nowrap;border-radius:999px;padding-right:6px}.quick-assoc-face .face-name .quick-assoc-suggested[data-v-949697a7]{color:var(--color-cyan)}.faces-panel .face-item.quick-assoc-face.validate-all-preview[data-v-949697a7]{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 20%, transparent)}.quick-assoc-actions[data-v-949697a7]{flex-shrink:0;align-items:center;gap:2px;margin-left:4px;display:flex}.quick-assoc-actions .panel-action-btn[data-v-949697a7]{width:22px;height:22px}.quick-assoc-actions .panel-action-btn .icon[data-v-949697a7],.quick-assoc-actions .panel-action-btn svg[data-v-949697a7]{width:14px;height:14px}.panel-action-btn.success[data-v-949697a7]:not(:disabled){color:var(--color-success)}.panel-action-btn.success[data-v-949697a7]:not(:disabled):hover{background:color-mix(in srgb, var(--color-success) 25%, transparent);border-color:var(--color-success)}.panel-action-btn.warning[data-v-949697a7]:not(:disabled){color:var(--color-warning)}.panel-action-btn.warning[data-v-949697a7]:not(:disabled):hover{background:color-mix(in srgb, var(--color-warning) 25%, transparent);border-color:var(--color-warning)}.panel-action-btn.danger[data-v-949697a7]:not(:disabled){color:var(--color-danger)}.panel-action-btn.danger[data-v-949697a7]:not(:disabled):hover{background:color-mix(in srgb, var(--color-danger) 25%, transparent);border-color:var(--color-danger)}.panel-action-btn[data-v-949697a7]:disabled{opacity:.35;cursor:default}.details-panel.metadata-panel[data-v-949697a7],.faces-panel.details-panel[data-v-949697a7]{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--color-dark-overlay-10);box-sizing:border-box;background:#000000d9;flex-direction:row;align-items:center;gap:8px;width:100%;height:56px;min-height:56px;max-height:56px;padding:6px 8px;animation:none;display:flex;position:relative;bottom:auto;left:auto;right:auto;overflow:visible}.sharing-panel[data-v-949697a7],.edit-panel[data-v-949697a7]{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;border-top:1px solid var(--color-dark-overlay-10)!important;box-sizing:border-box!important;background:#000000d9!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:100%!important;height:56px!important;min-height:56px!important;max-height:56px!important;padding:6px 8px!important;animation:none!important;display:flex!important;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;overflow:visible!important}@media (width<=768px){.floating-actions[data-v-949697a7]{gap:6px;right:60px}.floating-action-btn[data-v-949697a7]{width:36px;height:36px}.floating-action-btn .icon[data-v-949697a7]{font-size:16px}.info-row-compact[data-v-949697a7]{gap:8px}.info-row-compact .filename-compact[data-v-949697a7]{max-width:120px}.details-panel[data-v-949697a7]{max-height:50vh}}.sharing-panel-header h4[data-v-949697a7]{display:none}.sharing-header-actions[data-v-949697a7]{flex:1;justify-content:space-between;align-items:center;gap:6px;display:flex}.create-share-btn[data-v-949697a7]{background:color-mix(in srgb, var(--color-success) 20%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 40%, transparent);color:var(--color-success);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.create-share-btn[data-v-949697a7]:hover:not(:disabled){background:color-mix(in srgb, var(--color-success) 30%, transparent);border-color:color-mix(in srgb, var(--color-success) 60%, transparent)}.create-share-btn[data-v-949697a7]:disabled{opacity:.5;cursor:not-allowed}.sharing-panel-content[data-v-949697a7]{flex:1;align-items:center;min-width:0;padding:0;display:flex;position:relative;overflow:hidden}.share-link-card[data-v-949697a7]{background:var(--color-dark-overlay-05);border:1px solid var(--color-dark-overlay-10);box-sizing:border-box;border-radius:6px;align-items:center;gap:6px;width:100%;min-width:0;height:100%;padding:4px 8px;display:flex}.share-link-card.inactive[data-v-949697a7]{opacity:.6}.share-link-card.inactive .share-link-info[data-v-949697a7],.share-link-card.inactive .detail-value[data-v-949697a7]{color:var(--color-text-secondary)}.share-link-info[data-v-949697a7]{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.share-link-header[data-v-949697a7]{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:0;display:flex}.share-link-selector-wrapper[data-v-949697a7]{flex:1;min-width:0;position:relative}.share-link-name-button[data-v-949697a7]{width:100%;font:inherit;color:var(--color-on-primary);text-align:left;cursor:text;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:4px;min-height:24px;margin:0;padding:4px 8px;font-size:11px;font-weight:600;transition:all .2s;display:block}.share-link-name-button[data-v-949697a7]:hover{background:var(--color-dark-overlay-10);border-color:var(--color-dark-overlay-20)}.link-name-text[data-v-949697a7]{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.share-link-name-input[data-v-949697a7]{border:1px solid var(--color-dark-overlay-30);width:100%;font:inherit;color:var(--color-on-primary);background:var(--color-dark-backdrop-20);box-sizing:border-box;border-radius:4px;min-height:24px;margin:0;padding:4px 8px;font-size:11px;font-weight:600;line-height:1.2;display:block}.share-link-name-input[data-v-949697a7]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 20%, transparent);outline:none}.share-link-header h5[data-v-949697a7]{color:var(--color-on-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;font-weight:600;overflow:hidden}.share-link-status[data-v-949697a7]{white-space:nowrap;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px}.share-link-status.active[data-v-949697a7]{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success)}.share-link-status.expired[data-v-949697a7]{background:color-mix(in srgb, var(--color-danger) 20%, transparent);color:var(--color-danger)}.share-link-actions[data-v-949697a7]{flex-shrink:0;align-items:center;gap:4px;display:flex}.share-link-actions[data-v-949697a7] .app-btn{border-radius:4px;min-height:24px;padding:2px 6px;font-size:10px}.share-link-actions[data-v-949697a7] .btn-size-xs{min-height:24px;padding:2px 6px}.share-link-actions[data-v-949697a7] .btn-variant-neutral{background:var(--color-dark-overlay-10);border-color:color-mix(in srgb, var(--color-on-primary) 15%, transparent);color:color-mix(in srgb, var(--color-text-secondary) 70%, white)}.share-link-actions[data-v-949697a7] .btn-variant-neutral:hover:not(:disabled){background:var(--color-dark-overlay-20);border-color:var(--color-dark-overlay-30);color:var(--color-on-primary)}.share-link-actions[data-v-949697a7] .btn-variant-error{background:color-mix(in srgb, var(--color-danger) 15%, transparent);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent);color:color-mix(in srgb, var(--color-danger) 85%, white)}.share-link-actions[data-v-949697a7] .btn-variant-error:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 25%, transparent);border-color:color-mix(in srgb, var(--color-danger) 50%, transparent);color:color-mix(in srgb, var(--color-danger) 65%, white)}.share-link-actions[data-v-949697a7] .btn-variant-success{background:color-mix(in srgb, var(--color-success) 15%, transparent);border-color:color-mix(in srgb, var(--color-success) 30%, transparent);color:color-mix(in srgb, var(--color-success) 60%, white)}.share-link-actions[data-v-949697a7] .btn-variant-success:hover:not(:disabled){background:color-mix(in srgb, var(--color-success) 25%, transparent);border-color:color-mix(in srgb, var(--color-success) 50%, transparent);color:color-mix(in srgb, var(--color-success) 55%, white)}.shares-dropdown[data-v-949697a7]{z-index:1001;background:#2e2e2e;border:1px solid #454545;border-left:none;border-right:none;border-radius:0;width:90vw;max-height:350px;overflow-y:auto;box-shadow:0 4px 16px #000c}.shares-dropdown.opens-up[data-v-949697a7]{box-shadow:0 -4px 16px #000c}.share-dropdown-item[data-v-949697a7]{border-bottom:1px solid var(--color-dark-overlay-05);cursor:pointer;color:var(--color-text-secondary);justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;transition:background-color .2s;display:flex}.share-dropdown-item.inactive[data-v-949697a7]{opacity:.6}.share-dropdown-item[data-v-949697a7]:hover{background:color-mix(in srgb, var(--color-info) 15%, transparent);color:var(--color-on-primary)}.share-dropdown-item.selected[data-v-949697a7]{background:color-mix(in srgb, var(--color-info) 25%, transparent);color:var(--color-info);font-weight:600}.share-dropdown-item[data-v-949697a7]:last-child{border-bottom:none}.share-dropdown-separator[data-v-949697a7]{background:var(--color-dark-overlay-10);height:1px;margin:4px 0}.share-dropdown-create[data-v-949697a7]{align-items:center;gap:8px;display:flex;background:color-mix(in srgb, var(--color-success) 10%, transparent)!important;color:var(--color-success)!important}.share-dropdown-create[data-v-949697a7]:hover{background:color-mix(in srgb, var(--color-success) 20%, transparent)!important;color:color-mix(in srgb, var(--color-success) 75%, white)!important}.share-item-name[data-v-949697a7]{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.share-item-details[data-v-949697a7]{flex-shrink:0;align-items:center;gap:16px;display:flex}.share-item-status[data-v-949697a7]{border-radius:3px;padding:2px 6px;font-size:11px}.share-item-status.active[data-v-949697a7]{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success)}.share-item-status.inactive[data-v-949697a7]{background:color-mix(in srgb, var(--color-danger) 20%, transparent);color:var(--color-danger)}.share-item-downloads[data-v-949697a7]{color:var(--color-text-secondary);flex-shrink:0;font-size:11px}.share-item-expiry[data-v-949697a7]{color:color-mix(in srgb, var(--color-text-secondary) 70%, white);text-align:right;flex-shrink:0;min-width:80px;font-size:11px}.loading-shares[data-v-949697a7]{text-align:center;color:var(--color-text-secondary);padding:12px;font-size:12px}.shares-badge[data-v-949697a7]{background:var(--color-info);color:#fff;width:18px;height:18px;box-shadow:0 2px 6px color-mix(in srgb, var(--color-info) 40%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;top:-2px;right:-2px}@media (width<=480px){.floating-actions[data-v-949697a7]{gap:4px;right:50px}.floating-action-btn[data-v-949697a7]{width:32px;height:32px}.info-row-compact[data-v-949697a7]{gap:6px;font-size:10px}.info-row-compact .filename-compact[data-v-949697a7]{max-width:80px;font-size:11px}.info-row-compact .nav-counter[data-v-949697a7]{font-size:10px}.info-row-compact .date-compact[data-v-949697a7]{display:inline}.info-row-compact .breadcrumb-compact[data-v-949697a7]{display:none}}.edit-panel-header[data-v-949697a7]{justify-content:flex-start}.edit-panel-header h4[data-v-949697a7]{margin:0;font-size:14px;font-weight:600}.edit-panel-actions[data-v-949697a7]{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.icon-mirror-x[data-v-949697a7]{display:inline-flex;transform:scaleX(-1)}.edit-rotation-badge[data-v-949697a7]{min-width:44px;height:24px;color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-dark-overlay-10) 60%, transparent);border:1px solid color-mix(in srgb, var(--color-dark-overlay-20) 65%, transparent);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.edit-rotation-badge.is-active[data-v-949697a7]{color:var(--color-info);border-color:color-mix(in srgb, var(--color-info) 45%, transparent);background:color-mix(in srgb, var(--color-info) 15%, transparent)}.dir-tree-list[data-v-2a904994]{margin:0;padding:0;list-style:none}.dir-tree-item[data-v-2a904994]{margin:0}.dir-tree-row[data-v-2a904994]{border-radius:5px;align-items:center;gap:2px;transition:background-color .12s;display:flex}.dir-tree-row[data-v-2a904994]:hover{background-color:color-mix(in srgb, var(--color-info) 8%, transparent)}.dir-tree-active[data-v-2a904994]{background-color:color-mix(in srgb, var(--color-info) 16%, transparent)}.dir-tree-active[data-v-2a904994]:hover{background-color:color-mix(in srgb, var(--color-info) 20%, transparent)}.dir-tree-drag-over[data-v-2a904994]{background-color:color-mix(in srgb, var(--color-gallery-source,var(--color-info)) 24%, transparent);outline:2px dashed var(--color-gallery-source,var(--color-info));outline-offset:-2px}.dir-tree-toggle[data-v-2a904994]{width:18px;height:22px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dir-tree-toggle.is-leaf[data-v-2a904994]{cursor:default}.dir-tree-chevron[data-v-2a904994]{transition:transform .15s}.dir-tree-chevron-open[data-v-2a904994]{transform:rotate(90deg)}.dir-tree-spinner[data-v-2a904994]{animation:.9s linear infinite dir-tree-spin-2a904994}@keyframes dir-tree-spin-2a904994{to{transform:rotate(360deg)}}.dir-tree-label[data-v-2a904994]{min-width:0;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:4px 6px 4px 2px;font-size:12px;display:flex}.dir-tree-active .dir-tree-label[data-v-2a904994]{color:var(--color-info);font-weight:600}.dir-tree-folder-icon[data-v-2a904994]{color:var(--color-text-secondary);flex-shrink:0}.dir-tree-active .dir-tree-folder-icon[data-v-2a904994]{color:var(--color-info)}.dir-tree-new[data-v-2a904994]{color:var(--color-info);background:color-mix(in srgb, var(--color-info) 8%, transparent);font-style:italic;font-weight:700}.dir-tree-name[data-v-2a904994]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-uploader[data-v-8d87e8e4]{display:contents}.upload-input[data-v-8d87e8e4]{display:none}.upload-panel[data-v-8d87e8e4]{z-index:4000;border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;width:320px;max-width:calc(100vw - 32px);position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 8px 28px #0000002e}.upload-panel-header[data-v-8d87e8e4]{background:var(--color-gallery-sidebar-bg,#f8f9fa);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:8px 12px;display:flex}.upload-panel-icon[data-v-8d87e8e4]{color:var(--color-gallery-source,var(--color-info));flex-shrink:0}.upload-panel-title[data-v-8d87e8e4]{color:var(--color-text-primary);flex:1;font-size:.8rem;font-weight:600}.upload-cancel-all[data-v-8d87e8e4]{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.74rem;font-weight:600}.upload-cancel-all[data-v-8d87e8e4]:hover{text-decoration:underline}.upload-panel-close[data-v-8d87e8e4]{width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.upload-panel-close[data-v-8d87e8e4]:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.upload-list[data-v-8d87e8e4]{flex-direction:column;gap:8px;max-height:220px;margin:0;padding:6px 8px;list-style:none;display:flex;overflow-y:auto}.upload-item[data-v-8d87e8e4]{flex-direction:column;gap:4px;display:flex}.upload-item-top[data-v-8d87e8e4]{align-items:center;gap:6px;display:flex}.upload-item-icon[data-v-8d87e8e4]{color:var(--color-text-secondary);flex-shrink:0}.upload-item-name[data-v-8d87e8e4]{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.76rem;overflow:hidden}.upload-item-status[data-v-8d87e8e4]{color:var(--color-text-secondary);text-align:right;flex-shrink:0;min-width:34px;font-size:.72rem}.upload-item.is-done .upload-item-status[data-v-8d87e8e4]{color:var(--color-success)}.upload-item.is-error .upload-item-status[data-v-8d87e8e4]{color:var(--color-danger)}.upload-item-cancel[data-v-8d87e8e4]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;display:inline-flex}.upload-item-cancel[data-v-8d87e8e4]:hover{color:var(--color-danger)}.upload-item-retry[data-v-8d87e8e4]{color:var(--color-info);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;display:inline-flex}.upload-item-retry[data-v-8d87e8e4]:hover{color:var(--color-info-dark,var(--color-info))}.upload-item-bar[data-v-8d87e8e4]{background:color-mix(in srgb, var(--color-border) 60%, transparent);border-radius:4px;height:4px;overflow:hidden}.upload-item-bar-fill[data-v-8d87e8e4]{background:var(--color-gallery-source);height:100%;transition:width .2s}.upload-item.is-done .upload-item-bar-fill[data-v-8d87e8e4]{background:var(--color-success)}.upload-item.is-error .upload-item-bar-fill[data-v-8d87e8e4],.upload-item.is-canceled .upload-item-bar-fill[data-v-8d87e8e4]{background:var(--color-danger)}.gshare-overlay[data-v-efb5da7d]{z-index:2000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gshare-modal[data-v-efb5da7d]{background:var(--color-dark-surface-900);color:var(--color-dark-text);border:1px solid var(--color-text-primary);border-radius:12px;width:min(460px,92vw);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000080}.gshare-header[data-v-efb5da7d]{border-bottom:1px solid var(--color-text-primary);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.gshare-header h2[data-v-efb5da7d]{color:var(--color-dark-text);margin:0;font-size:18px}.close-btn[data-v-efb5da7d]{color:var(--color-dark-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.close-btn[data-v-efb5da7d]:hover{color:var(--color-dark-text)}.gshare-content[data-v-efb5da7d]{padding:20px}.gshare-intro[data-v-efb5da7d]{color:var(--color-dark-text-muted);margin:0 0 14px;font-size:13px}.gshare-note[data-v-efb5da7d]{background:color-mix(in srgb, var(--color-info) 18%, var(--color-dark-surface-800));color:var(--color-dark-text);border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:12px;display:flex}.form-group[data-v-efb5da7d]{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label[data-v-efb5da7d]{color:var(--color-dark-text-soft);font-size:13px;font-weight:500}.form-input[data-v-efb5da7d]{border:1px solid var(--color-dark-border);background:var(--color-dark-surface-900);color:var(--color-dark-text);box-sizing:border-box;border-radius:6px;padding:10px 12px;font-size:14px}.form-input[data-v-efb5da7d]:focus{border-color:var(--color-info);outline:none}.gshare-upload-tree[data-v-efb5da7d]{border:1px solid var(--color-dark-border);background:var(--color-dark-surface-900);border-radius:6px;max-height:180px;padding:6px;overflow-y:auto}.gshare-upload-tree[data-v-efb5da7d] .dir-tree-label{color:var(--color-dark-text);font-size:12px}.gshare-upload-tree[data-v-efb5da7d] .dir-tree-folder-icon,.gshare-upload-tree[data-v-efb5da7d] .dir-tree-toggle{color:var(--color-dark-text-muted)}.gshare-upload-tree[data-v-efb5da7d] .dir-tree-row:hover,.gshare-upload-tree[data-v-efb5da7d] .dir-tree-active{background-color:color-mix(in srgb, var(--color-info) 18%, transparent)}.gshare-upload-tree[data-v-efb5da7d] .dir-tree-active .dir-tree-label,.gshare-upload-tree[data-v-efb5da7d] .dir-tree-active .dir-tree-folder-icon{color:var(--color-info)}.gshare-upload-options select.form-input[data-v-efb5da7d]{height:36px;padding:7px 10px;font-size:13px}.gshare-upload-target[data-v-efb5da7d],.gshare-upload-options .form-input[data-v-efb5da7d]{box-sizing:border-box;width:100%}.gshare-upload-target option.gshare-upload-source-outside[data-v-efb5da7d]{color:var(--color-dark-text-muted)}.gshare-upload-select-group[data-v-efb5da7d]{width:100%;margin-bottom:8px}.gshare-upload-options .checkbox-group[data-v-efb5da7d]{margin:8px 0 0;font-size:12px;display:block}.gshare-upload-enable[data-v-efb5da7d]{cursor:pointer}.gshare-upload-label[data-v-efb5da7d],.gshare-upload-options>label[data-v-efb5da7d]{color:var(--color-dark-text-soft);font-size:12px}.gshare-upload-select-group>label[data-v-efb5da7d],.gshare-upload-options .checkbox-group[data-v-efb5da7d]{color:var(--color-dark-text-soft)}.gshare-upload-options .checkbox-group input[data-v-efb5da7d]{margin-right:7px}.gshare-tree-root[data-v-efb5da7d]{border:1px solid var(--color-dark-border);width:100%;color:var(--color-dark-text);text-align:left;cursor:pointer;background:0 0;border-radius:5px;padding:6px 8px}.gshare-tree-empty[data-v-efb5da7d],.gshare-upload-hint[data-v-efb5da7d]{color:var(--color-dark-text-muted);font-size:11px}.gshare-upload-hint[data-v-efb5da7d]{margin-top:4px;display:block}.gshare-upload-visibility[data-v-efb5da7d]{border:1px solid var(--color-dark-border);background:var(--color-dark-surface-800);border-left-width:3px;border-radius:7px;margin:0 0 14px;padding:10px 12px;font-size:12px}.gshare-upload-visibility--ok[data-v-efb5da7d]{border-left-color:var(--color-success)}.gshare-upload-visibility--warning[data-v-efb5da7d]{border-left-color:var(--color-warning,#e6a700)}.gshare-upload-visibility--blocked[data-v-efb5da7d]{border-left-color:var(--color-danger)}.gshare-upload-visibility-title[data-v-efb5da7d]{align-items:center;gap:6px;margin-bottom:7px;display:flex}.gshare-upload-visibility p[data-v-efb5da7d]{color:var(--color-dark-text-soft);margin:4px 0}.gshare-upload-tags[data-v-efb5da7d]{flex-direction:column;gap:5px;margin:14px 0;display:flex}.gshare-upload-tags>small[data-v-efb5da7d]{color:var(--color-dark-text-muted);font-size:11px}.gshare-upload-tags-list[data-v-efb5da7d]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.form-input[data-v-efb5da7d]::placeholder{color:var(--color-text-secondary)}.checkbox-group label[data-v-efb5da7d]{color:var(--color-dark-text);flex-direction:row;align-items:center;gap:8px;font-weight:400}.limit-trigger-btn[data-v-efb5da7d]{border:1px solid var(--color-dark-border);background:var(--color-dark-surface-900);color:var(--color-dark-text);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;transition:border-color .2s;display:flex}.limit-trigger-btn[data-v-efb5da7d]:hover{border-color:var(--color-info)}.gshare-error[data-v-efb5da7d]{color:var(--color-danger);margin:8px 0;font-size:13px}.gshare-actions[data-v-efb5da7d]{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.cancel-btn[data-v-efb5da7d],.create-btn[data-v-efb5da7d]{cursor:pointer;border:none;border-radius:6px;align-items:center;padding:10px 16px;font-size:14px;display:inline-flex}.cancel-btn[data-v-efb5da7d]{background:var(--color-dark-surface-800);color:var(--color-dark-text)}.create-btn[data-v-efb5da7d]{background:var(--color-info);color:#fff}.create-btn[data-v-efb5da7d]:hover:not(:disabled){background:var(--color-info-hover)}.create-btn[data-v-efb5da7d]:disabled{background:var(--color-dark-border-strong);cursor:not-allowed}.pss-overlay[data-v-e50eed05]{background:var(--color-dark-backdrop-50);z-index:1100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pss-modal[data-v-e50eed05]{background:#fff;border-radius:12px;flex-direction:column;width:92%;max-width:420px;max-height:90vh;display:flex;overflow-y:auto}.pss-header[data-v-e50eed05]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.pss-header h2[data-v-e50eed05]{margin:0;font-size:18px}.pss-close-btn[data-v-e50eed05]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;align-items:center;padding:0;display:flex}.pss-close-btn[data-v-e50eed05]:hover{color:var(--color-text-primary)}.pss-content[data-v-e50eed05]{padding:20px}.pss-hidden-input[data-v-e50eed05]{display:none}.pss-hint[data-v-e50eed05]{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px}.pss-options[data-v-e50eed05]{flex-direction:column;gap:12px;display:flex}.pss-option[data-v-e50eed05]{border:1px solid var(--color-border);background:var(--color-surface,#f8f8f8);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;transition:border-color .15s,background .15s;display:flex}.pss-option[data-v-e50eed05]:hover{border-color:var(--color-primary,#4f46e5);background:var(--color-surface-hover,#f0f0ff)}.pss-option-label[data-v-e50eed05]{font-size:15px;font-weight:600}.pss-option-sub[data-v-e50eed05]{color:var(--color-text-secondary);font-size:12px}.pss-camera[data-v-e50eed05]{flex-direction:column;align-items:center;gap:8px;display:flex}.pss-video[data-v-e50eed05]{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:60vh}.pss-camera-actions[data-v-e50eed05]{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.pss-capture-btn[data-v-e50eed05]{background:var(--color-primary,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.pss-capture-btn[data-v-e50eed05]:disabled{opacity:.5;cursor:default}.pss-preview[data-v-e50eed05]{justify-content:center;display:flex}.pss-preview-img[data-v-e50eed05]{border-radius:10px;max-width:100%;max-height:60vh}.pss-preview-actions[data-v-e50eed05],.pss-preview-actions[data-v-e50eed05]{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.pss-primary-btn[data-v-e50eed05]{background:var(--color-primary,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-weight:600;display:inline-flex}.pss-secondary-btn[data-v-e50eed05]{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:10px 16px;display:inline-flex}.pss-secondary-btn[data-v-e50eed05]:hover{background:var(--color-surface-hover,#f2f2f2)}.pss-error[data-v-e50eed05]{color:var(--color-danger,#d33);margin:14px 0 0;font-size:13px}.gallery-container[data-v-5eb71d1a]{background:var(--color-gallery-bg);height:100%;display:flex;position:relative;overflow:hidden}.backup-filter-active[data-v-5eb71d1a]{height:calc(100% - var(--backup-banner-h,60px))}.backup-filter-banner[data-v-5eb71d1a]{z-index:1200;min-height:var(--backup-banner-h,60px);box-sizing:border-box;background:var(--color-surface,#1f2937);color:var(--color-text-on-surface,#fff);border-top:2px solid var(--color-info,#2563eb);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000040}.backup-filter-banner-text[data-v-5eb71d1a]{align-items:center;gap:8px;font-size:14px;display:flex}.backup-filter-banner-actions[data-v-5eb71d1a]{align-items:center;gap:8px;display:flex}.gallery-main-pushed[data-v-5eb71d1a]{margin-left:200px}.filters-sidebar[data-v-5eb71d1a]{background:var(--color-gallery-sidebar-bg);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:250px;height:100%;display:flex}.filters-close-btn[data-v-5eb71d1a],.filters-backdrop[data-v-5eb71d1a],.filters-fab[data-v-5eb71d1a]{display:none}.sidebar-scroll-content[data-v-5eb71d1a]{flex-direction:column;flex:1;padding:0 8px 15px;display:flex;overflow-y:auto}.filters-sidebar h3[data-v-5eb71d1a]{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:13px;font-weight:600}.filter-section[data-v-5eb71d1a]{background:0 0;border:1px solid #0000;border-radius:8px;margin-bottom:10px;padding:6px;transition:all .2s}.filter-section.active[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-text-primary) 3%, transparent);border-color:color-mix(in srgb, var(--color-text-primary) 5%, transparent)}.media-type-list[data-v-5eb71d1a]{flex-direction:column;gap:6px;display:flex}.filter-item[data-v-5eb71d1a]{cursor:pointer;border:1px solid var(--color-border);color:var(--color-text-primary);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;transition:all .2s;display:flex}.filter-item[data-v-5eb71d1a]:hover{background:var(--color-gallery-item-hover)}.filter-item.selected[data-v-5eb71d1a]{background:var(--color-info-soft);border-color:var(--color-info)}.filter-item.selected.media-photo[data-v-5eb71d1a]{background:var(--color-success-soft);border-color:var(--color-success)}.filter-item.selected.media-video[data-v-5eb71d1a]{background:var(--color-warning-soft);border-color:var(--color-warning)}.filter-item .check-mark[data-v-5eb71d1a]{color:currentColor;font-weight:700}.rating-filter-container[data-v-5eb71d1a]{flex-direction:column;align-items:center;gap:8px;display:flex}.rating-range-row[data-v-5eb71d1a]{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;width:100%;display:grid}.rating-bound-label[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:12px}.rating-bound-input[data-v-5eb71d1a]{border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:6px;width:100%;padding:6px 8px;font-size:12px}.unrated-filter-btn[data-v-5eb71d1a]{border:1px solid var(--color-border);cursor:pointer;width:100%;color:var(--color-text-secondary);background:#fff;border-radius:4px;padding:6px;font-size:12px;transition:all .2s}.unrated-filter-btn[data-v-5eb71d1a]:hover{background:var(--color-gallery-muted-bg)}.unrated-filter-btn.active[data-v-5eb71d1a]{background:var(--color-info-soft);border-color:var(--color-info);color:var(--color-info);font-weight:700}.rating-helper-text[data-v-5eb71d1a]{width:100%;color:var(--color-text-secondary);font-size:11px;line-height:1.3}.date-range-compact[data-v-5eb71d1a]{align-items:center;gap:4px;margin-top:8px;display:flex}.date-input-mini[data-v-5eb71d1a]{border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:4px;flex:1;width:0;padding:5px;font-size:11px}.range-sep[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:12px}.date-components-grid[data-v-5eb71d1a]{flex-direction:column;gap:8px;margin-top:5px;display:flex}.component-row[data-v-5eb71d1a]{align-items:center;gap:8px;display:flex}.component-label[data-v-5eb71d1a]{color:var(--color-text-secondary);flex-shrink:0;width:32px;font-size:11px}.component-inputs[data-v-5eb71d1a]{flex:1;align-items:center;gap:4px;display:flex}.component-select[data-v-5eb71d1a],.component-input[data-v-5eb71d1a]{border:1px solid var(--color-border);color:var(--color-text-primary);background:#fff;border-radius:4px;flex:1;width:0;min-width:0;padding:3px;font-size:11px}.clear-component-btn[data-v-5eb71d1a]{cursor:pointer;width:16px;height:16px;color:var(--color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;font-size:16px;display:flex}.clear-component-btn[data-v-5eb71d1a]:hover{color:var(--color-danger)}.clear-mini-btn[data-v-5eb71d1a]{background:var(--color-border);cursor:pointer;width:20px;height:20px;color:var(--color-text-secondary);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.clear-mini-btn[data-v-5eb71d1a]:hover{background:var(--color-danger);color:#fff}.section-header-compact[data-v-5eb71d1a]{align-items:center;gap:8px;min-height:24px;margin-bottom:10px;display:flex}.sidebar-search-container[data-v-5eb71d1a]{align-items:stretch;gap:6px;margin-bottom:10px;padding:0 4px;display:flex}.sidebar-search-field[data-v-5eb71d1a]{flex:1;min-width:0;position:relative}.sidebar-search-input[data-v-5eb71d1a]{box-sizing:border-box;border:1px solid var(--color-border);background:#fff;border-radius:4px;width:100%;padding:6px 48px 6px 8px;font-size:12px}.sidebar-search-input[data-v-5eb71d1a]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 10%, transparent);outline:none}.clear-search-btn[data-v-5eb71d1a]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.clear-search-btn[data-v-5eb71d1a]:hover{color:var(--color-text-secondary)}.search-apply-btn[data-v-5eb71d1a]{color:var(--color-info);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search-apply-btn[data-v-5eb71d1a]:hover{color:var(--color-info-hover)}.reference-hash-indicator[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-info) 10%, transparent);border:1px solid var(--color-info);color:var(--color-info);border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.image-search-thumb[data-v-5eb71d1a]{object-fit:cover;border-radius:4px;flex-shrink:0;width:28px;height:28px}.photo-action-btn[data-v-5eb71d1a]{background:var(--color-surface,transparent);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:7px 10px;font-size:12px;transition:border-color .15s,color .15s;display:flex}.photo-action-btn[data-v-5eb71d1a]:hover:not(:disabled){border-color:var(--color-info);color:var(--color-info)}.photo-action-btn[data-v-5eb71d1a]:disabled{opacity:.6;cursor:default}.photo-search-btn[data-v-5eb71d1a]{background:var(--color-surface,transparent);border:1px solid var(--color-border);width:32px;color:var(--color-text-primary);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:flex}.photo-search-btn[data-v-5eb71d1a]:hover{border-color:var(--color-info);color:var(--color-info)}.clear-reference-btn[data-v-5eb71d1a]{color:var(--color-info);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.clear-reference-btn[data-v-5eb71d1a]:hover{color:var(--color-danger)}.combine-toggle[data-v-5eb71d1a]{background:var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);border-radius:12px;width:44px;padding:2px;font-size:9px;font-weight:700;display:flex}.toggle-option[data-v-5eb71d1a]{text-align:center;border-radius:10px;flex:1;padding:2px 4px;transition:all .2s}.toggle-option.active[data-v-5eb71d1a]{color:var(--color-text-primary);background:#fff;box-shadow:0 1px 3px #0000001a}.combine-toggle.et .toggle-option.active[data-v-5eb71d1a]{color:var(--color-info)}.mini-config-link[data-v-5eb71d1a]{color:var(--color-text-secondary);margin-left:auto;font-size:14px;text-decoration:none}.mini-config-link[data-v-5eb71d1a]:hover{color:var(--color-text-secondary)}.tag-filter-selector-row[data-v-5eb71d1a]{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:2px;display:flex}.tag-filter-selector-row[data-v-5eb71d1a] .add-tag-container{flex:none}.tag-filter-selected-list[data-v-5eb71d1a]{flex-wrap:wrap;flex:1 1 0;gap:6px;min-width:0;display:flex}.tag-filter-selected-list[data-v-5eb71d1a] .tag-chip--dot{cursor:pointer}.sidebar-header[data-v-5eb71d1a]{border-bottom:1px solid var(--color-border);background:var(--color-gallery-sidebar-bg);flex-shrink:0;align-items:center;gap:8px;min-width:0;padding:10px 8px;display:flex}.sidebar-search-area[data-v-5eb71d1a]{background:var(--color-gallery-sidebar-bg);border-bottom:1px solid var(--color-border);padding:10px 8px}.search-input-wrapper[data-v-5eb71d1a]{align-items:center;display:flex;position:relative}.search-icon[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:12px;position:absolute;left:8px}.sidebar-main-search[data-v-5eb71d1a]{box-sizing:border-box;border:1px solid var(--color-border);background:#fff;border-radius:4px;width:100%;padding:6px 28px 6px 26px;font-size:13px;transition:all .2s}.sidebar-main-search[data-v-5eb71d1a]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 10%, transparent);outline:none}.clear-search-main[data-v-5eb71d1a]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;position:absolute;right:8px}.clear-search-main[data-v-5eb71d1a]:hover{color:var(--color-text-secondary)}.gallery-settings-menu[data-v-5eb71d1a]{position:relative}.gallery-settings-btn[data-v-5eb71d1a]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px;font-size:20px;text-decoration:none;transition:background .2s,color .2s;display:flex}.gallery-settings-btn[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-text-primary) 5%, transparent);color:var(--color-info)}.gallery-settings-popover[data-v-5eb71d1a]{border:1px solid var(--color-border);background:var(--color-surface,white);z-index:80;border-radius:8px;width:260px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 26px #00000029}.gallery-settings-row[data-v-5eb71d1a]{align-items:center;gap:8px;display:flex}.gallery-settings-row+.gallery-settings-row[data-v-5eb71d1a]{margin-top:10px}.gallery-settings-row-slider[data-v-5eb71d1a]{flex-direction:column;align-items:stretch}.gallery-settings-label-row[data-v-5eb71d1a]{justify-content:space-between;align-items:center;gap:8px;display:flex}.gallery-settings-label[data-v-5eb71d1a]{color:var(--color-text-primary);font-size:12px;font-weight:600}.gallery-settings-value[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:12px}.gallery-settings-slider[data-v-5eb71d1a]{width:100%}.gallery-settings-row-toggle[data-v-5eb71d1a]{justify-content:space-between}.gallery-settings-checkbox[data-v-5eb71d1a]{width:16px;height:16px}.header-actions[data-v-5eb71d1a]{flex:1;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.header-actions-left[data-v-5eb71d1a],.header-actions-right[data-v-5eb71d1a]{flex-shrink:0;align-items:center;gap:3px;display:flex}.photo-count-chip[data-v-5eb71d1a]{width:6ch;height:28px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 4px;font-size:14px;font-weight:600;display:inline-flex}.photo-count-loading[data-v-5eb71d1a]{justify-content:center;align-items:flex-end;gap:3px;height:12px;display:inline-flex}.photo-count-loading span[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-info) 85%, var(--color-text-secondary));border-radius:50%;width:4px;height:4px;animation:.9s ease-in-out infinite photo-count-dot-wave-5eb71d1a}.photo-count-loading span[data-v-5eb71d1a]:nth-child(2){animation-delay:.12s}.photo-count-loading span[data-v-5eb71d1a]:nth-child(3){animation-delay:.24s}@keyframes photo-count-dot-wave-5eb71d1a{0%,80%,to{opacity:.35;transform:translateY(0)scale(.72)}40%{opacity:1;transform:translateY(-4px)scale(1)}}.sidebar-refresh-btn[data-v-5eb71d1a]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;font-size:18px;line-height:1;transition:all .2s;display:flex}.sidebar-refresh-btn[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-text-primary) 5%, transparent);color:var(--color-info)}.sidebar-refresh-btn.active[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-info) 14%, transparent);color:var(--color-info)}.sidebar-refresh-btn[data-v-5eb71d1a]:disabled{cursor:not-allowed;opacity:.5;color:var(--color-gallery-neutral)}.reset-all-btn[data-v-5eb71d1a]{cursor:pointer;width:28px;height:28px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.reset-all-btn[data-v-5eb71d1a]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.reset-all-btn.is-hidden[data-v-5eb71d1a]{visibility:hidden;pointer-events:none}.reset-icon[data-v-5eb71d1a]{font-size:16px}.active-filters-badge[data-v-5eb71d1a]{background:var(--color-danger);color:#fff;text-align:center;border-radius:8px;min-width:12px;height:12px;padding:0 4px;font-size:10px;font-weight:700;line-height:12px;position:absolute;top:-2px;right:-2px}@media (width<=880px){.sidebar-header[data-v-5eb71d1a]{gap:6px;padding:8px 6px}.header-actions[data-v-5eb71d1a],.header-actions-left[data-v-5eb71d1a],.header-actions-right[data-v-5eb71d1a]{gap:2px}.sidebar-refresh-btn[data-v-5eb71d1a],.reset-all-btn[data-v-5eb71d1a],.gallery-settings-btn[data-v-5eb71d1a]{padding:4px 6px}.photo-count-chip[data-v-5eb71d1a]{width:5ch;height:26px;padding:0 4px;font-size:12px}.reset-all-btn[data-v-5eb71d1a]{width:26px;height:26px}}.settings-link[data-v-5eb71d1a],.duplicates-link[data-v-5eb71d1a]{font-size:20px;text-decoration:none;transition:transform .2s}.settings-link[data-v-5eb71d1a]:hover,.duplicates-link[data-v-5eb71d1a]:hover{transform:scale(1.2)}.source-filter-list[data-v-5eb71d1a]{flex-direction:column;gap:6px;max-height:200px;margin-top:8px;display:flex;overflow-y:auto}.source-filter-item[data-v-5eb71d1a]{cursor:pointer;border:1px solid var(--color-border);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;transition:all .2s;display:flex}.source-filter-item[data-v-5eb71d1a]:hover{background:var(--color-gallery-item-hover)}.source-filter-item.source-filter-selected[data-v-5eb71d1a]{background:var(--color-gallery-source-soft);border-color:var(--color-gallery-source)}.source-path-combined-group[data-v-5eb71d1a]{border:2px solid var(--color-gallery-source);background:var(--color-gallery-source-surface);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.source-path-combined-group .source-filter-item[data-v-5eb71d1a]{border:none;border-bottom:1px dashed color-mix(in srgb, var(--color-gallery-source) 30%, transparent);border-radius:0;margin-bottom:0}.path-filter-breadcrumb[data-v-5eb71d1a]{flex-wrap:wrap;align-items:center;gap:2px;max-width:100%;padding:8px;display:flex;overflow:hidden}.source-upload-btn[data-v-5eb71d1a]{border:1px solid var(--color-gallery-source);background:var(--color-gallery-source-soft,color-mix(in srgb, var(--color-gallery-source) 12%, transparent));color:var(--color-gallery-source-deep,var(--color-gallery-source));cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.source-upload-btn[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-gallery-source) 22%, transparent)}.source-upload-btn[data-v-5eb71d1a]:active{transform:translateY(1px)}.upload-drop-overlay[data-v-5eb71d1a]{z-index:3500;pointer-events:none;background:color-mix(in srgb, var(--color-gallery-source,var(--color-info)) 14%, transparent);border:3px dashed var(--color-gallery-source,var(--color-info));border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.guest-upload-btn[data-v-5eb71d1a]{z-index:1200;border:1px solid var(--color-info);background:var(--color-info);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:9px 13px;display:inline-flex;position:fixed;top:auto;bottom:20px;right:16px;box-shadow:0 4px 14px #00000038}.guest-upload-btn[data-v-5eb71d1a]:hover{background:var(--color-info-hover,color-mix(in srgb, var(--color-info) 86%, black))}@media (width<=600px){.guest-upload-btn[data-v-5eb71d1a]{bottom:12px;right:12px}}.guest-upload-overlay[data-v-5eb71d1a]{z-index:3000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.guest-upload-modal[data-v-5eb71d1a]{border:1px solid var(--color-dark-border);background:var(--color-dark-surface-900);width:min(420px,100vw - 32px);color:var(--color-dark-text);border-radius:12px;padding:22px;box-shadow:0 12px 40px #00000080}.guest-upload-modal h2[data-v-5eb71d1a]{margin:0 0 8px}.guest-upload-path[data-v-5eb71d1a]{box-sizing:border-box;border:1px solid var(--color-dark-border);background:var(--color-dark-surface-800);width:100%;color:var(--color-dark-text);border-radius:6px;padding:10px}.guest-upload-path[data-v-5eb71d1a]::placeholder{color:var(--color-dark-text-muted)}.guest-upload-actions[data-v-5eb71d1a]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.guest-upload-actions button[data-v-5eb71d1a]{border:1px solid var(--color-dark-border);background:var(--color-dark-surface-800);color:var(--color-dark-text);cursor:pointer;border-radius:6px;padding:8px 12px}.guest-upload-actions button[data-v-5eb71d1a]:last-child{border-color:var(--color-info);background:var(--color-info);color:#fff}.upload-drop-overlay.is-chooser[data-v-5eb71d1a]{pointer-events:auto}.upload-drop-overlay-inner[data-v-5eb71d1a]{background:var(--color-surface);color:var(--color-gallery-source-deep,var(--color-gallery-source,var(--color-info)));border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:28px 36px;display:flex;box-shadow:0 10px 30px #0000002e}.upload-drop-overlay-inner.is-ambiguous[data-v-5eb71d1a]{color:var(--color-warning,#b7791f);text-align:center;max-width:420px}.upload-source-chooser[data-v-5eb71d1a]{flex-direction:column;align-items:center;gap:18px;width:min(1080px,100% - 32px);max-height:calc(100% - 32px);display:flex;overflow:auto}.upload-source-tiles[data-v-5eb71d1a]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;width:100%;display:grid}.upload-source-tile[data-v-5eb71d1a]{background:var(--color-surface);color:var(--color-text-primary);border-radius:14px;padding:16px;box-shadow:0 10px 30px #0000002e}.upload-source-tile-title[data-v-5eb71d1a]{align-items:center;gap:8px;margin-bottom:12px;font-weight:700;display:flex}.upload-source-tile-zones[data-v-5eb71d1a]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.upload-source-zone[data-v-5eb71d1a]{border:2px dashed var(--color-gallery-source,var(--color-info));text-align:center;cursor:copy;min-height:112px;color:var(--color-gallery-source-deep,var(--color-info));border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:12px 8px;transition:background-color .15s,transform .1s;display:flex}.upload-source-zone span[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:.75rem}.upload-source-zone[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-gallery-source,var(--color-info)) 14%, transparent);transform:translateY(-1px)}.upload-source-zone.is-drag-over[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-gallery-source,var(--color-info)) 30%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-gallery-source,var(--color-info)) 22%, transparent);border-style:solid;border-width:3px;transform:scale(1.02)}.upload-source-zone-folder[data-v-5eb71d1a]{border-color:var(--color-info)}.destination-explorer-overlay[data-v-5eb71d1a]{z-index:4000;background:#00000061;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.destination-explorer-modal[data-v-5eb71d1a]{background:var(--color-surface);border-radius:14px;flex-direction:column;width:min(680px,100%);height:min(680px,100vh - 40px);min-height:min(520px,100vh - 40px);display:flex;overflow:hidden;box-shadow:0 18px 55px #0000004d}.destination-explorer-header[data-v-5eb71d1a],.destination-explorer-footer[data-v-5eb71d1a]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.destination-explorer-header h2[data-v-5eb71d1a]{margin:0;font-size:1rem}.destination-explorer-header p[data-v-5eb71d1a]{color:var(--color-text-secondary);margin:4px 0 0;font-size:.8rem}.destination-explorer-close[data-v-5eb71d1a],.destination-cancel-btn[data-v-5eb71d1a]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.destination-explorer-body[data-v-5eb71d1a]{flex-direction:column;flex:1;min-height:0;padding:14px 18px;display:flex;overflow:auto}.destination-root-option[data-v-5eb71d1a]{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:8px;display:flex}.destination-root-option.active[data-v-5eb71d1a]{border-color:var(--color-info);background:color-mix(in srgb, var(--color-info) 10%, transparent);color:var(--color-info)}.destination-explorer-tree[data-v-5eb71d1a]{border:1px solid var(--color-border);border-radius:7px;flex:1;min-height:0;margin:14px 0 0;padding:6px;overflow:auto}.destination-new-tree-node[data-v-5eb71d1a]{min-height:26px;color:var(--color-info);background:color-mix(in srgb, var(--color-info) 7%, transparent);border-radius:4px;align-items:center;gap:6px;font-size:12px;font-style:italic;display:flex}.destination-new-tree-node em[data-v-5eb71d1a]{color:var(--color-text-secondary);margin-left:auto;padding-right:8px;font-size:11px}.destination-new-path[data-v-5eb71d1a]{flex-direction:column;gap:6px;margin-top:14px;font-size:.82rem;font-weight:600;display:flex}.destination-new-path input[data-v-5eb71d1a]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:6px;padding:9px 10px}.destination-new-path small[data-v-5eb71d1a]{color:var(--color-text-secondary);font-weight:400}.destination-new-path .destination-path-error[data-v-5eb71d1a]{color:var(--color-danger,#c53030)}.destination-explorer-footer[data-v-5eb71d1a]{border-top:1px solid var(--color-border);border-bottom:none;justify-content:flex-end}.destination-explorer-footer>div[data-v-5eb71d1a]{flex-shrink:0;align-items:center;gap:8px;display:flex}.destination-confirm-btn[data-v-5eb71d1a]{border:1px solid var(--color-info);background:var(--color-info);color:#fff;cursor:pointer;border-radius:7px;padding:8px 12px}.destination-confirm-btn[data-v-5eb71d1a]:disabled{opacity:.5;cursor:not-allowed}.upload-drop-title[data-v-5eb71d1a]{margin:0;font-size:1.05rem;font-weight:700}.upload-drop-sub[data-v-5eb71d1a]{color:var(--color-text-secondary);margin:0;font-size:.82rem}.path-filter-seg[data-v-5eb71d1a]{cursor:pointer;color:var(--color-gallery-source-deep);border-radius:2px;align-items:center;max-width:100%;font-size:11px;transition:background .2s;display:flex}.path-filter-seg[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-gallery-source) 10%, transparent);text-decoration:underline}.path-filter-seg-active[data-v-5eb71d1a]{color:var(--color-gallery-source-deepest);font-weight:700}.path-filter-seg-label[data-v-5eb71d1a]{white-space:nowrap;text-overflow:ellipsis;max-width:110px;padding:2px 4px;overflow:hidden}.path-filter-sep[data-v-5eb71d1a]{color:var(--color-gallery-source);margin:0 2px;font-weight:400}.path-filter-remove[data-v-5eb71d1a]{color:var(--color-gallery-source);margin-left:4px;padding:0 4px;font-size:14px;font-weight:700;line-height:1}.path-filter-remove[data-v-5eb71d1a]:hover{color:var(--color-danger)}.source-filter-count[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:11px}.source-filter-name[data-v-5eb71d1a]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.source-explore-btn[data-v-5eb71d1a]{width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.source-explore-btn[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-gallery-source) 18%, transparent);color:var(--color-gallery-source-deep)}.source-explore-btn.is-active[data-v-5eb71d1a]{background:var(--color-gallery-source);color:#fff}.source-filter-item.source-filter-exploring[data-v-5eb71d1a]{border-color:var(--color-gallery-source)}.dir-tree-panel[data-v-5eb71d1a]{border:1px solid var(--color-border);background:#fff;border-radius:6px;margin-top:8px;overflow:hidden}.dir-tree-panel-header[data-v-5eb71d1a]{background:var(--color-gallery-source-soft);border-bottom:1px solid color-mix(in srgb, var(--color-gallery-source) 25%, transparent);align-items:center;gap:6px;padding:7px 8px;display:flex}.dir-tree-panel-icon[data-v-5eb71d1a]{color:var(--color-gallery-source-deep);flex-shrink:0}.dir-tree-panel-title[data-v-5eb71d1a]{min-width:0;color:var(--color-gallery-source-deep);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.dir-tree-root-upload[data-v-5eb71d1a]{width:22px;height:22px;color:var(--color-gallery-source-deep);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dir-tree-root-upload[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-gallery-source) 18%, transparent)}.dir-tree-panel-close[data-v-5eb71d1a]{width:22px;height:22px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dir-tree-panel-close[data-v-5eb71d1a]:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.dir-tree-state[data-v-5eb71d1a]{color:var(--color-text-secondary);text-align:center;padding:12px 10px;font-size:12px}.dir-tree-scroll[data-v-5eb71d1a]{max-height:320px;padding:4px;overflow-y:auto}.person-filter-section[data-v-5eb71d1a]{margin-top:20px}.section-header[data-v-5eb71d1a]{justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:8px;display:flex}.section-header h3[data-v-5eb71d1a]{color:var(--color-text-primary);margin:0;font-size:16px}.manage-link[data-v-5eb71d1a]{color:var(--color-gallery-person);font-size:16px;font-weight:700;text-decoration:none}.manage-link[data-v-5eb71d1a]:hover{text-decoration:underline}.loading-persons[data-v-5eb71d1a],.no-persons-message[data-v-5eb71d1a]{color:var(--color-text-secondary);text-align:center;padding:10px 0;font-size:12px;font-style:italic}.preassoc-toggle-btn[data-v-5eb71d1a]{background:var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);border:none;border-radius:12px;justify-content:center;align-items:center;padding:2px 8px;font-size:13px;font-weight:700;line-height:1;transition:all .2s;display:flex}.preassoc-toggle-btn.active[data-v-5eb71d1a]{color:var(--color-info);background:#fff;box-shadow:0 1px 3px #0000001a}.person-filter-list[data-v-5eb71d1a]{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.person-filter-item[data-v-5eb71d1a]{cursor:pointer;border:1px solid var(--color-border);background:#fff;border-radius:4px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;transition:all .2s;display:flex}.person-filter-item[data-v-5eb71d1a]:hover{background:var(--color-gallery-item-hover)}.person-filter-item.person-filter-selected[data-v-5eb71d1a]{background:var(--color-gallery-person-soft);border-color:var(--color-gallery-person)}.person-thumbnail[data-v-5eb71d1a]{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.person-thumbnail-placeholder[data-v-5eb71d1a]{background:var(--color-gallery-neutral);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.person-info[data-v-5eb71d1a]{flex-direction:column;gap:2px;display:flex;overflow:hidden}.person-name[data-v-5eb71d1a]{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.person-face-count[data-v-5eb71d1a]{color:var(--color-text-secondary);font-size:11px}.clear-person-filter-btn[data-v-5eb71d1a]{background:var(--color-gallery-person);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:15px;padding:10px;font-size:13px;font-weight:500;transition:background .2s}.clear-person-filter-btn[data-v-5eb71d1a]:hover{background:var(--color-gallery-person-hover)}.gallery-main[data-v-5eb71d1a]{flex:1;min-width:0;height:100%;padding:5px 5px 0;position:relative;overflow-y:auto}.gallery-content-hidden[data-v-5eb71d1a]{visibility:hidden;pointer-events:none}.gallery-bulk-actions[data-v-5eb71d1a]{border-top:1px solid color-mix(in srgb, var(--color-info) 25%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 94%, white);z-index:30;align-items:center;gap:14px;margin-top:0;padding:10px 12px;display:flex;position:sticky;bottom:0}.bulk-actions-summary[data-v-5eb71d1a]{color:var(--color-text-primary);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.bulk-actions-group[data-v-5eb71d1a]{align-items:center;gap:8px;display:flex}.bulk-actions-label[data-v-5eb71d1a]{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.bulk-actions-spacer[data-v-5eb71d1a]{flex:1}.bulk-clear-btn[data-v-5eb71d1a]{flex-shrink:0}.bulk-clear-btn[data-v-5eb71d1a]:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.bulk-clear-btn[data-v-5eb71d1a]:disabled{opacity:.5;cursor:not-allowed}.drag-selection-box[data-v-5eb71d1a]{border:1px solid color-mix(in srgb, var(--color-info) 70%, white 10%);background:color-mix(in srgb, var(--color-info) 20%, transparent);pointer-events:none;z-index:40;position:absolute;box-shadow:inset 0 0 0 1px #ffffff40}.gallery-masonry[data-v-5eb71d1a]{grid-template-columns:repeat(auto-fill, minmax(var(--gallery-thumb-size,250px), 1fr));grid-auto-rows:var(--gallery-thumb-size,250px);grid-auto-flow:dense;gap:4px;margin-top:20px;display:grid;position:relative}.gallery-virtual-sizer[data-v-5eb71d1a]{width:100%;position:relative}.gallery-masonry-virtual[data-v-5eb71d1a]{margin-top:0}.gallery-page-block[data-v-5eb71d1a]{position:absolute;left:0;right:0}.photo-skeleton[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-text-primary) 6%, transparent);box-shadow:none;border-radius:2px;animation:1.2s ease-in-out infinite photo-skeleton-pulse-5eb71d1a}@keyframes photo-skeleton-pulse-5eb71d1a{0%,to{opacity:.5}50%{opacity:.85}}.gallery-loading-bar[data-v-5eb71d1a]{background:color-mix(in srgb, var(--color-info) 20%, transparent);z-index:10;height:3px;margin-bottom:10px;position:sticky;top:0;left:0;right:0;overflow:hidden}.loading-bar-progress[data-v-5eb71d1a]{background:var(--color-info);height:100%;animation:1.5s ease-in-out infinite loading-progress-5eb71d1a}@keyframes loading-progress-5eb71d1a{0%{width:0%;margin-left:0%}50%{width:50%;margin-left:25%}to{width:0%;margin-left:100%}}.photo-item[data-v-5eb71d1a]{text-align:center;box-shadow:0 2px 4px var(--color-dark-backdrop-20);position:relative;overflow:hidden}.photo-item.photo-item-selected[data-v-5eb71d1a]{box-shadow:0 0 0 2px var(--color-info), 0 6px 14px color-mix(in srgb, var(--color-info) 35%, transparent)}.photo-item.photo-item-selected .thumbnail-container[data-v-5eb71d1a]:before{content:"";border:2px solid color-mix(in srgb, var(--color-info) 80%, white 20%);pointer-events:none;z-index:3;border-radius:2px;position:absolute;inset:0}.selection-indicator[data-v-5eb71d1a]{background:var(--color-info);z-index:11;pointer-events:none;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:8px;left:8px}.photo-item img[data-v-5eb71d1a]{object-fit:cover;border-radius:2px;width:100%;height:100%;transition:box-shadow .25s,transform .25s;display:block;box-shadow:0 4px 12px #0006}.photo-item img.clickable[data-v-5eb71d1a]{cursor:pointer}.photo-item img.clickable[data-v-5eb71d1a]:hover{transform:scale(1.02);box-shadow:0 2px 4px #0006}.thumbnail-container[data-v-5eb71d1a]{width:100%;height:100%;position:relative}.video-indicator[data-v-5eb71d1a]{background:var(--color-dark-backdrop-50);pointer-events:none;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-duration-badge[data-v-5eb71d1a]{color:#fff;pointer-events:none;letter-spacing:.01em;font-variant-numeric:tabular-nums;background:#000000c7;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1.2;position:absolute;bottom:8px;right:8px}.similarity-badge[data-v-5eb71d1a]{color:#fff;pointer-events:none;letter-spacing:.01em;font-variant-numeric:tabular-nums;z-index:4;background:#000000b8;border-radius:5px;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.2;position:absolute;bottom:8px;left:8px}.play-icon[data-v-5eb71d1a]{color:#fff;margin-left:4px;font-size:24px}.photo-item.size-md[data-v-5eb71d1a]{grid-column:span 2}.photo-item.size-lg[data-v-5eb71d1a]{grid-area:span 2/span 2}.photo-item p[data-v-5eb71d1a],.photo-item .location-id[data-v-5eb71d1a],.photo-item .signature[data-v-5eb71d1a]{display:none}.photo-item .thumbnail-tags[data-v-5eb71d1a]{z-index:10;flex-direction:column-reverse;gap:4px;display:flex;position:absolute;top:8px;right:8px}.load-more-trigger[data-v-5eb71d1a]{text-align:center;padding:20px}.load-more-btn[data-v-5eb71d1a]{background:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 2px 4px #0000001a}.load-more-btn[data-v-5eb71d1a]:hover{background:var(--color-info-hover);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.load-more-btn[data-v-5eb71d1a]:active{transform:translateY(0)}.gallery-empty-state[data-v-5eb71d1a]{text-align:center;height:100%;min-height:400px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.no-results[data-v-5eb71d1a],.error-message[data-v-5eb71d1a],.loading-spinner-container[data-v-5eb71d1a]{flex-direction:column;align-items:center;gap:16px;max-width:400px;padding:40px;display:flex}.no-results h3[data-v-5eb71d1a]{color:var(--color-text-primary);margin:0;font-size:20px}.no-results p[data-v-5eb71d1a]{margin:0;font-size:14px;line-height:1.5}.no-results[data-v-5eb71d1a] svg,.error-message[data-v-5eb71d1a] svg{color:var(--color-gallery-neutral)}.reset-link-btn[data-v-5eb71d1a],.retry-btn[data-v-5eb71d1a]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:8px;padding:10px 20px;font-weight:500;transition:background-color .2s}.reset-link-btn[data-v-5eb71d1a]:hover,.retry-btn[data-v-5eb71d1a]:hover{background-color:var(--color-info-hover)}.loading-state-title[data-v-5eb71d1a]{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.loading-state-subtitle[data-v-5eb71d1a]{color:var(--color-text-secondary);align-items:baseline;gap:2px;margin:0;font-size:14px;display:inline-flex}.loading-dots[data-v-5eb71d1a]{min-width:22px;display:inline-flex}.loading-dots span[data-v-5eb71d1a]{opacity:.25;animation:1.2s infinite loading-dot-blink-5eb71d1a}.loading-dots span[data-v-5eb71d1a]:nth-child(2){animation-delay:.2s}.loading-dots span[data-v-5eb71d1a]:nth-child(3){animation-delay:.4s}@keyframes loading-dot-blink-5eb71d1a{0%,20%{opacity:.25}40%{opacity:1}to{opacity:.25}}@media (width<=768px){.filters-sidebar[data-v-5eb71d1a]{z-index:200;border-right:1px solid var(--color-border);width:85%;max-width:320px;transition:transform .25s;position:fixed;top:32px;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 16px #0000004d}.filters-sidebar.filters-sidebar-open[data-v-5eb71d1a]{transform:translate(0)}.filters-backdrop[data-v-5eb71d1a]{z-index:150;background:#00000073;display:block;position:fixed;inset:32px 0 0}.filters-close-btn[data-v-5eb71d1a]{display:inline-flex}.gallery-main[data-v-5eb71d1a]{padding:0 4px}.gallery-main-pushed[data-v-5eb71d1a]{margin-left:0}.filters-fab[data-v-5eb71d1a]{background:var(--color-info);color:#fff;cursor:pointer;z-index:120;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;position:fixed;bottom:16px;left:16px;box-shadow:0 4px 14px #00000059}.filters-fab[data-v-5eb71d1a]:active{transform:scale(.95)}.filters-fab-raised[data-v-5eb71d1a]{bottom:70px}.filters-fab-badge[data-v-5eb71d1a]{background:var(--color-warning,#e67e22);color:#fff;border:2px solid var(--color-gallery-bg);border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.gallery-bulk-actions[data-v-5eb71d1a]{gap:8px;padding:8px}.bulk-actions-summary[data-v-5eb71d1a]{gap:3px;font-size:11px}.bulk-actions-summary-label[data-v-5eb71d1a]{display:none}}.management-container[data-v-a2159172]{background:var(--color-surface);height:100%;display:flex;overflow:hidden}.management-sidebar[data-v-a2159172]{background:var(--color-gallery-sidebar-bg);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:250px;height:100%;display:flex}.sidebar-header[data-v-a2159172]{border-bottom:1px solid var(--color-border);background:var(--color-gallery-sidebar-bg);flex-shrink:0;align-items:center;gap:8px;padding:10px 8px;display:flex}.page-title-header[data-v-a2159172]{color:var(--color-text-primary);padding:5px 8px;font-size:14px;font-weight:500}.sidebar-scroll-content[data-v-a2159172]{flex:1;padding:0 8px 15px;overflow-y:auto}.filter-section[data-v-a2159172]{background:0 0;border-radius:8px;margin-bottom:10px;padding:6px}.section-header-compact[data-v-a2159172]{align-items:center;gap:8px;min-height:24px;margin-bottom:10px;display:flex}.filter-section h3[data-v-a2159172]{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:13px;font-weight:600}.sidebar-nav-list[data-v-a2159172]{flex-direction:column;gap:4px;display:flex}.sidebar-nav-item[data-v-a2159172]{cursor:pointer;color:var(--color-text-primary);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;padding:8px 12px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav-icon[data-v-a2159172]{margin-right:8px}.sidebar-nav-item[data-v-a2159172]:hover{background:var(--color-gallery-item-hover)}.sidebar-nav-item.active[data-v-a2159172]{background:var(--color-info-soft);color:var(--color-info-hover);font-weight:500}.management-main[data-v-a2159172]{background-color:var(--color-surface);flex:1;min-width:0;height:100%;min-height:0;overflow:hidden}.mobile-section-tabs[data-v-a2159172]{display:none}@media (width<=1024px){.management-sidebar[data-v-a2159172]{width:220px}}@media (width<=820px){.management-container[data-v-a2159172]{flex-direction:column}.management-sidebar[data-v-a2159172]{border-right:none;border-bottom:1px solid var(--color-border);width:100%;height:auto}.sidebar-scroll-content[data-v-a2159172]{padding:8px 10px;display:block}.mobile-section-tabs[data-v-a2159172]{gap:8px;width:100%;margin-bottom:8px;display:inline-flex}.mobile-section-tab[data-v-a2159172]{border:1px solid color-mix(in srgb, var(--color-border) 80%, var(--color-text-primary));background:color-mix(in srgb, var(--color-surface) 84%, var(--color-info-soft));color:var(--color-dark-border);cursor:pointer;border-radius:8px;flex:1;padding:7px 10px;font-size:12px;font-weight:600}.mobile-section-tab.active[data-v-a2159172]{background:var(--color-info-soft);border-color:color-mix(in srgb, var(--color-info-soft) 65%, var(--color-info));color:var(--color-info-hover)}.filter-section[data-v-a2159172]{min-width:0;margin-bottom:0;padding:0}.filter-section.is-mobile-hidden[data-v-a2159172],.section-header-compact[data-v-a2159172]{display:none}.sidebar-nav-list[data-v-a2159172]{flex-flow:row;gap:8px;padding-bottom:2px;overflow:auto hidden}.sidebar-nav-item[data-v-a2159172]{white-space:nowrap;padding:7px 10px;font-size:12px}}@media (width<=710px){.sidebar-scroll-content[data-v-a2159172]{padding:6px 8px}.mobile-section-tab[data-v-a2159172]{padding:6px 8px;font-size:11px}.sidebar-nav-item[data-v-a2159172]{padding:6px 8px}.sidebar-nav-label[data-v-a2159172]{display:none}.sidebar-nav-icon[data-v-a2159172]{margin-right:0}.sidebar-nav-item[data-v-a2159172]{justify-content:center;min-width:34px}}.app-badge[data-v-ff07f74b]{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;font-weight:600;line-height:1;display:inline-flex}.badge-sm[data-v-ff07f74b]{padding:3px 8px;font-size:10px}.badge-md[data-v-ff07f74b]{padding:4px 10px;font-size:11px}.badge-uppercase[data-v-ff07f74b]{text-transform:uppercase;letter-spacing:.03em}.badge-neutral[data-v-ff07f74b]{background:color-mix(in srgb, var(--color-surface) 88%, var(--color-text-primary));border-color:color-mix(in srgb, var(--color-border) 88%, var(--color-text-primary));color:color-mix(in srgb, var(--color-text-secondary) 82%, var(--color-ink-900))}.badge-info[data-v-ff07f74b]{background:color-mix(in srgb, var(--color-info-soft) 80%, white);border-color:color-mix(in srgb, var(--color-border) 76%, var(--color-info));color:color-mix(in srgb, var(--color-info) 72%, var(--color-indigo-deep))}.badge-success[data-v-ff07f74b]{background:color-mix(in srgb, var(--color-success-soft) 80%, white);border-color:color-mix(in srgb, var(--color-border) 76%, var(--color-success));color:color-mix(in srgb, var(--color-success) 72%, black)}.badge-warning[data-v-ff07f74b]{background:color-mix(in srgb, var(--color-warning-soft) 75%, white);border-color:color-mix(in srgb, var(--color-warning-soft) 56%, white);color:color-mix(in srgb, var(--color-warning) 58%, black)}.badge-error[data-v-ff07f74b]{background:color-mix(in srgb, var(--color-danger) 12%, white);border-color:color-mix(in srgb, var(--color-danger) 22%, white);color:color-mix(in srgb, var(--color-danger) 72%, black)}.app-data-table[data-v-bd6a1460]{width:100%}.table-toolbar[data-v-bd6a1460]{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px;display:flex}.table-total[data-v-bd6a1460]{color:var(--color-text-secondary);margin-right:auto;font-size:12px;font-weight:600}.table-scroll[data-v-bd6a1460]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:100%;position:relative;overflow:auto}.table-grid[data-v-bd6a1460]{border-collapse:separate;border-spacing:0;width:100%;min-width:100%}.table-grid th[data-v-bd6a1460]{z-index:1;background:var(--color-gallery-sidebar-bg);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);padding:12px 15px;font-size:13px;font-weight:600;position:sticky;top:0}.table-grid td[data-v-bd6a1460]{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);vertical-align:middle;background:var(--color-surface);padding:12px 15px;font-size:14px}.table-grid tr:last-child td[data-v-bd6a1460]{border-bottom:none}.table-state[data-v-bd6a1460]{text-align:center;color:var(--color-text-secondary);padding:18px 12px}.loading-progress-bar[data-v-bd6a1460]{background:color-mix(in srgb, var(--color-info) 10%, transparent);z-index:4;opacity:0;pointer-events:none;width:100%;height:2px;transition:opacity .3s;position:absolute;top:-1px;left:0;overflow:hidden}.loading-progress-bar.visible[data-v-bd6a1460]{opacity:1}.loading-progress-bar[data-v-bd6a1460]:after{content:"";background:var(--color-info);width:30%;height:100%;animation:1.5s ease-in-out infinite loading-line-bd6a1460;position:absolute;top:0;left:-30%}@keyframes loading-line-bd6a1460{0%{width:30%;left:-30%}50%{width:70%;left:30%}to{width:30%;left:100%}}.table-loading-more[data-v-bd6a1460]{text-align:center;color:var(--color-text-secondary);border-top:1px solid var(--color-gallery-item-hover);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-text-primary));padding:10px 12px;font-size:12px}.align-left[data-v-bd6a1460]{text-align:left}.align-center[data-v-bd6a1460]{text-align:center}.align-right[data-v-bd6a1460]{text-align:right}.actions-column[data-v-bd6a1460]{white-space:nowrap;width:1%}.sticky-column[data-v-bd6a1460]{position:sticky;right:0}.sticky-column-header[data-v-bd6a1460]{z-index:3;background:var(--color-gallery-sidebar-bg);box-shadow:-1px 0 0 var(--color-border)}.sticky-column-cell[data-v-bd6a1460]{z-index:2;background:var(--color-surface);box-shadow:-1px 0 0 var(--color-border)}.settings-content[data-v-0c20cd42]{height:100%;overflow:hidden}.btn-icon[data-v-0c20cd42]{margin-right:8px}.settings-main[data-v-0c20cd42]{background-color:var(--color-surface);flex:1;min-width:0;height:100%;overflow-y:auto}.settings-content-wrapper[data-v-0c20cd42]{max-width:1000px;margin:0 auto;padding:30px 40px}.settings-content-wrapper.sources-layout[data-v-0c20cd42]{max-width:none}.settings-header-banner[data-v-0c20cd42]{margin-bottom:30px}.settings-header-banner h1[data-v-0c20cd42]{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.settings-subtitle[data-v-0c20cd42]{color:var(--color-text-secondary);margin:5px 0 0;font-size:14px}.locations-list[data-v-0c20cd42]{margin-top:8px}.sidebar-header-back[data-v-0c20cd42]{margin-bottom:10px}.back-btn[data-v-0c20cd42]{color:var(--color-text-secondary);padding:5px;font-size:20px;text-decoration:none;transition:transform .2s;display:inline-block}.back-btn[data-v-0c20cd42]:hover{color:var(--color-text-primary);transform:translate(-3px)}.form-container[data-v-0c20cd42]{background-color:var(--color-gallery-sidebar-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:30px;padding:28px}.form-heading[data-v-0c20cd42]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:4px;padding-bottom:24px;display:flex}.form-eyebrow[data-v-0c20cd42],.form-section-kicker[data-v-0c20cd42]{color:var(--color-info);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.form-heading h2[data-v-0c20cd42]{margin:4px 0 6px;font-size:22px}.form-heading p[data-v-0c20cd42],.form-section-heading p[data-v-0c20cd42]{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.form-close[data-v-0c20cd42]{width:34px;height:34px;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.form-close[data-v-0c20cd42]:hover{color:var(--color-text-primary);background:var(--color-gallery-muted-bg)}.form-section[data-v-0c20cd42]{border-bottom:1px solid var(--color-border);padding:24px 0}.form-section[data-v-0c20cd42]:last-of-type{border-bottom:none}.form-section-heading[data-v-0c20cd42]{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.form-section-heading h3[data-v-0c20cd42]{color:var(--color-text-primary);margin:3px 0 0;font-size:16px}.form-section-heading>p[data-v-0c20cd42]{text-align:right;max-width:360px}.choice-grid[data-v-0c20cd42],.form-grid[data-v-0c20cd42],.capability-grid[data-v-0c20cd42]{gap:12px;display:grid}.choice-grid-two[data-v-0c20cd42],.form-grid-two[data-v-0c20cd42]{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card[data-v-0c20cd42]{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:9px;align-items:flex-start;gap:12px;min-width:0;padding:14px;transition:border-color .18s,background-color .18s,box-shadow .18s;position:relative;color:var(--color-text-primary)!important;margin:0!important;display:flex!important}.choice-card[data-v-0c20cd42]:hover{border-color:var(--color-info)}.choice-card.selected[data-v-0c20cd42]{background:var(--color-info-soft);border-color:var(--color-info);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-info) 25%, transparent)}.choice-card input[data-v-0c20cd42],.toggle-card input[data-v-0c20cd42]{opacity:0;pointer-events:none;position:absolute}.choice-card-icon[data-v-0c20cd42]{width:30px;height:30px;color:var(--color-info);background:color-mix(in srgb, var(--color-info) 12%, transparent);border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.choice-card-content[data-v-0c20cd42]{flex-direction:column;gap:3px;min-width:0;display:flex}.choice-card-content strong[data-v-0c20cd42],.toggle-card strong[data-v-0c20cd42]{color:var(--color-text-primary);font-size:13px;font-weight:600}.choice-card-content small[data-v-0c20cd42],.toggle-card small[data-v-0c20cd42]{color:var(--color-text-secondary);font-size:12px;line-height:1.35}.choice-card-check[data-v-0c20cd42]{color:var(--color-info);flex:none;margin-left:auto}.choice-card-compact[data-v-0c20cd42]{padding:11px 12px}.field-block[data-v-0c20cd42]{margin-bottom:18px}.field-block>label[data-v-0c20cd42]{color:var(--color-text-primary);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.form-grid[data-v-0c20cd42]{align-items:start}.form-grid .form-group[data-v-0c20cd42]{margin-bottom:0}.access-panel[data-v-0c20cd42]{background:color-mix(in srgb, var(--color-info) 6%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-info) 28%, var(--color-border));border-radius:9px;flex-direction:column;gap:12px;margin-bottom:18px;padding:14px;display:flex}.access-panel-heading[data-v-0c20cd42]{align-items:center;gap:10px;display:flex}.access-panel-heading>div[data-v-0c20cd42]{flex-direction:column;gap:2px;display:flex}.access-panel-heading strong[data-v-0c20cd42]{font-size:13px}.access-panel-heading small[data-v-0c20cd42]{color:var(--color-text-secondary);font-size:12px}.access-panel-icon[data-v-0c20cd42]{color:var(--color-info);display:inline-flex}.access-panel .btn-pcloud-auth[data-v-0c20cd42]{align-self:flex-start}.capability-grid[data-v-0c20cd42]{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.toggle-card[data-v-0c20cd42]{min-width:0;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex;position:relative}.toggle-card[data-v-0c20cd42]:hover{border-color:var(--color-info)}.toggle-card[data-v-0c20cd42]:has(input:checked){background:color-mix(in srgb, var(--color-success) 7%, var(--color-surface));border-color:color-mix(in srgb, var(--color-success) 45%, var(--color-border))}.toggle-card-warning[data-v-0c20cd42]:has(input:checked){background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface));border-color:color-mix(in srgb, var(--color-warning) 55%, var(--color-border))}.toggle-card>span[data-v-0c20cd42]:last-child{flex-direction:column;gap:3px;display:flex}.toggle-card-indicator[data-v-0c20cd42]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:5px;flex:none;width:18px;height:18px;margin-top:1px}.toggle-card:has(input:checked) .toggle-card-indicator[data-v-0c20cd42]{background:var(--color-success);border-color:var(--color-success);box-shadow:inset 0 0 0 3px var(--color-surface)}.toggle-card-warning:has(input:checked) .toggle-card-indicator[data-v-0c20cd42]{background:var(--color-warning);border-color:var(--color-warning)}.form-section-backup[data-v-0c20cd42]{padding-bottom:24px}.backup-config-inline[data-v-0c20cd42]{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.backup-config-inline .backup-status[data-v-0c20cd42]{grid-column:1/-1}.form-actions[data-v-0c20cd42]{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.form-actions-context[data-v-0c20cd42]{color:var(--color-text-secondary);align-items:center;gap:7px;font-size:12px;display:flex}.form-actions-context svg[data-v-0c20cd42]{color:var(--color-info);flex:none}.form-actions-buttons[data-v-0c20cd42]{flex:none;gap:10px;display:flex}.form-container h2[data-v-0c20cd42],.form-container h3[data-v-0c20cd42]{color:var(--color-text-primary);margin-top:0;margin-bottom:20px;font-size:18px}.form-group[data-v-0c20cd42]{margin-bottom:18px}.form-group label[data-v-0c20cd42]{color:var(--color-dark-border);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input[data-v-0c20cd42]{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-input[data-v-0c20cd42]:focus{border-color:var(--color-info);outline:none}.color-input[data-v-0c20cd42]{cursor:pointer;height:42px;padding:4px}.checkbox-label[data-v-0c20cd42]{cursor:pointer;align-items:center;gap:8px;display:flex!important}.checkbox-label input[data-v-0c20cd42]{width:18px;height:18px}.tags-selector[data-v-0c20cd42]{border:1px solid var(--color-border);background:#fff;border-radius:8px;margin-top:8px;padding:12px}.tags-grid[data-v-0c20cd42]{flex-wrap:wrap;gap:8px;display:flex}.tag-checkbox[data-v-0c20cd42]{cursor:pointer}.tag-checkbox input[data-v-0c20cd42]{display:none}.tag-label[data-v-0c20cd42]{border:1px solid var(--color-border);border-radius:4px;padding:4px 10px;font-size:13px;transition:all .2s;display:inline-block}.tag-checkbox:hover .tag-label[data-v-0c20cd42]{opacity:.8}.no-tags[data-v-0c20cd42]{color:var(--color-text-secondary);font-size:13px;font-style:italic}.form-actions[data-v-0c20cd42]{gap:12px;margin-top:24px;display:flex}.path-cell[data-v-0c20cd42]{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:12px;overflow:hidden}.count-cell[data-v-0c20cd42]{text-align:right;font-family:monospace;font-weight:500}.count-cell.warning[data-v-0c20cd42]{color:color-mix(in srgb, var(--color-warning) 90%, black)}.count-cell.error[data-v-0c20cd42]{color:color-mix(in srgb, var(--color-danger) 80%, black)}.path-input-container[data-v-0c20cd42]{gap:8px;display:flex}.btn-browse[data-v-0c20cd42]{background-color:var(--color-gallery-muted-bg);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:8px 12px;font-size:14px}.btn-browse[data-v-0c20cd42]:hover{background-color:var(--color-border)}.pcloud-auth-actions[data-v-0c20cd42]{gap:8px;display:flex}.btn-pcloud-auth[data-v-0c20cd42]{background-color:var(--color-gallery-source-deep);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 12px;font-size:14px}.btn-pcloud-auth[data-v-0c20cd42]:hover{background-color:color-mix(in srgb, var(--color-gallery-source-deep) 85%, black)}.picker-modal[data-v-0c20cd42]{max-width:600px}.picker-path[data-v-0c20cd42]{background:var(--color-gallery-muted-bg);border-radius:4px;margin-bottom:12px;padding:8px;font-family:monospace}.picker-list-container[data-v-0c20cd42]{border:1px solid var(--color-border);border-radius:8px;height:400px;margin-bottom:20px;overflow-y:auto}.picker-item[data-v-0c20cd42]{border-bottom:1px solid var(--color-gallery-muted-bg);cursor:default;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.picker-item[data-v-0c20cd42]:hover{background-color:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary))}.item-main[data-v-0c20cd42]{cursor:pointer;flex:1;align-items:center;gap:10px;display:flex}.item-main.file[data-v-0c20cd42]{cursor:default;opacity:.6}.item-icon[data-v-0c20cd42]{font-size:18px}.btn-select-folder[data-v-0c20cd42]{background-color:var(--color-info-soft);color:var(--color-info-hover);cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.btn-select-folder[data-v-0c20cd42]:hover{background-color:color-mix(in srgb, var(--color-info-soft) 75%, white)}.picker-loading[data-v-0c20cd42],.empty-folder[data-v-0c20cd42]{text-align:center;color:var(--color-text-secondary);padding:40px}.picker-current-folder[data-v-0c20cd42]{margin-bottom:12px}.btn-select-current-folder[data-v-0c20cd42]{background-color:var(--color-success-soft);width:100%;color:color-mix(in srgb, var(--color-success) 70%, black);border:2px dashed color-mix(in srgb, var(--color-success) 70%, black);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-select-current-folder[data-v-0c20cd42]:hover{background-color:color-mix(in srgb, var(--color-success-soft) 75%, white);border-color:color-mix(in srgb, var(--color-success) 70%, black)}.parent-folder[data-v-0c20cd42]{background-color:var(--color-gallery-muted-bg);border-bottom:2px solid var(--color-border)}.parent-folder .item-main[data-v-0c20cd42]{color:var(--color-text-secondary);font-weight:500}.parent-folder[data-v-0c20cd42]:hover{background-color:var(--color-border)eee}.path-segments[data-v-0c20cd42]{display:inline}.path-segment[data-v-0c20cd42]{cursor:pointer;color:var(--color-info);transition:color .2s}.path-segment[data-v-0c20cd42]:hover{color:var(--color-info-hover);text-decoration:underline}.path-separator[data-v-0c20cd42]{color:var(--color-text-secondary);margin:0 2px}.home-icon[data-v-0c20cd42]{margin-right:2px;font-size:16px}.clickable-path[data-v-0c20cd42]{cursor:pointer;background-color:var(--color-gallery-sidebar-bg);transition:background-color .2s}.clickable-path[data-v-0c20cd42]:hover{background-color:var(--color-info-soft)}.type-selector[data-v-0c20cd42]{gap:20px;margin-bottom:10px;display:flex}.radio-label[data-v-0c20cd42]{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.form-help[data-v-0c20cd42]{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.backup-config[data-v-0c20cd42]{border:1px solid var(--color-border);background:var(--color-bg-subtle,#00000005);border-radius:10px;padding:0;overflow:hidden}.backup-config-header[data-v-0c20cd42]{background:color-mix(in srgb, var(--color-info) 12%, transparent);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.backup-config-header[data-v-0c20cd42] svg{color:var(--color-info)}.backup-config-section[data-v-0c20cd42]{border-bottom:1px solid var(--color-border);padding:14px 16px}.backup-config-section[data-v-0c20cd42]:last-child{border-bottom:none}.backup-section-label[data-v-0c20cd42]{color:var(--color-text-primary);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.backup-optional-tag[data-v-0c20cd42]{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);background:var(--color-border);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:500}.backup-criteria-summary[data-v-0c20cd42]{color:var(--color-text-primary);margin:0 0 10px;font-size:13px}.backup-config-actions[data-v-0c20cd42]{margin-top:4px}.path-prefixed-input[data-v-0c20cd42]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex}.path-prefixed-input[data-v-0c20cd42]:focus-within{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 20%, transparent)}.path-prefixed-input.is-disabled[data-v-0c20cd42]{opacity:.6}.path-prefix-icon[data-v-0c20cd42]{color:var(--color-text-secondary);align-items:center;padding:0 8px 0 10px;display:flex}.path-prefixed-input input[data-v-0c20cd42]{color:var(--color-text-primary);background:0 0;border:none;flex:1;padding:10px 12px 10px 0;font-size:14px}.path-prefixed-input input[data-v-0c20cd42]:focus{outline:none}.backup-status[data-v-0c20cd42]{color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-border) 25%, transparent);flex-direction:column;gap:8px;margin:0;padding:14px 16px;font-size:12px;display:flex}.backup-status-row[data-v-0c20cd42]{justify-content:space-between;align-items:center;gap:10px;display:flex}.backup-status-label[data-v-0c20cd42]{color:var(--color-text-secondary);align-items:center;gap:6px;font-weight:600;display:flex}.backup-status-value[data-v-0c20cd42]{text-align:right;color:var(--color-text-primary)}.backup-completion-badge[data-v-0c20cd42]{background:color-mix(in srgb, var(--color-warning,#e0a800) 20%, transparent);color:var(--color-warning,#b8860b);border-radius:10px;padding:1px 8px;font-weight:600;display:inline-block}.backup-completion-badge.is-complete[data-v-0c20cd42]{background:color-mix(in srgb, var(--color-success,#2e7d32) 20%, transparent);color:var(--color-success,#2e7d32)}.backup-status-error[data-v-0c20cd42],.backup-status-error .backup-status-label[data-v-0c20cd42],.backup-status-error .backup-status-value[data-v-0c20cd42]{color:var(--color-error,#c0392b)}.token-header[data-v-0c20cd42]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.token-header label[data-v-0c20cd42]{margin-bottom:0}.btn-toggle-token[data-v-0c20cd42]{color:var(--color-info);border:1px solid var(--color-info);cursor:pointer;background-color:#0000;border-radius:4px;padding:4px 8px;font-size:12px;transition:all .2s}.btn-toggle-token[data-v-0c20cd42]:hover{background-color:var(--color-info-soft)}.token-hidden[data-v-0c20cd42]{background-color:var(--color-gallery-muted-bg);border:1px solid var(--color-border);border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.token-hidden-label[data-v-0c20cd42]{color:var(--color-text-secondary);font-size:14px}.btn-show-token[data-v-0c20cd42]{color:var(--color-info);border:1px solid var(--color-info);cursor:pointer;background-color:#0000;border-radius:4px;padding:4px 8px;font-size:12px;transition:all .2s}.btn-show-token[data-v-0c20cd42]:hover{background-color:var(--color-info-soft)}.google-photos-auth[data-v-0c20cd42],.google-photos-connected[data-v-0c20cd42]{flex-direction:column;gap:10px;display:flex}.btn-google-auth[data-v-0c20cd42]{background-color:color-mix(in srgb, var(--color-info) 80%, white);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:12px 20px;font-size:14px;font-weight:500;transition:background-color .2s;display:flex}.btn-google-auth[data-v-0c20cd42]:hover{background-color:color-mix(in srgb, var(--color-info) 82%, var(--color-indigo-deep))}.btn-google-auth[data-v-0c20cd42]:disabled{background-color:var(--color-gallery-neutral);cursor:not-allowed}.auth-status[data-v-0c20cd42]{background-color:var(--color-success-soft);color:color-mix(in srgb, var(--color-success) 70%, black);border-radius:6px;align-items:center;gap:8px;padding:10px;font-weight:500;display:flex}.status-icon[data-v-0c20cd42]{font-size:18px}.btn-reauth[data-v-0c20cd42]{background-color:var(--color-gallery-muted-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;align-self:flex-start;padding:8px 16px;font-size:13px}.btn-reauth[data-v-0c20cd42]:hover{background-color:var(--color-border)}.album-selector[data-v-0c20cd42]{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:8px;max-height:300px;padding:8px;display:flex;overflow-y:auto}.album-option[data-v-0c20cd42]{border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.album-option[data-v-0c20cd42]:hover{background-color:var(--color-gallery-muted-bg);border-color:var(--color-info)}.album-option.selected[data-v-0c20cd42]{background-color:var(--color-info-soft);border-color:var(--color-info)}.album-cover[data-v-0c20cd42]{border-radius:6px;flex-shrink:0;width:60px;height:60px;overflow:hidden}.album-cover img[data-v-0c20cd42]{object-fit:cover;width:100%;height:100%}.album-info[data-v-0c20cd42]{flex-direction:column;flex:1;gap:4px;display:flex}.album-title[data-v-0c20cd42]{color:var(--color-text-primary);font-size:14px;font-weight:500}.album-count[data-v-0c20cd42]{color:var(--color-text-secondary);font-size:12px}.actions-cell[data-v-0c20cd42]{gap:6px;display:flex}.no-tags-placeholder[data-v-0c20cd42]{color:var(--color-gallery-neutral);font-style:italic}.modal-overlay[data-v-0c20cd42]{background-color:var(--color-dark-backdrop-50);z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal[data-v-0c20cd42]{background-color:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal h3[data-v-0c20cd42]{color:var(--color-text-primary);margin-top:0;margin-bottom:20px;font-size:18px}.form-heading h2[data-v-0c20cd42]{margin:4px 0 6px}.form-section-heading h3[data-v-0c20cd42]{margin:3px 0 0}@media (width<=760px){.settings-content-wrapper[data-v-0c20cd42]{padding:20px 16px}.form-container[data-v-0c20cd42]{padding:18px}.form-heading[data-v-0c20cd42],.form-section-heading[data-v-0c20cd42],.form-actions[data-v-0c20cd42]{display:block}.form-close[data-v-0c20cd42]{position:absolute;top:18px;right:18px}.form-section-heading>p[data-v-0c20cd42]{text-align:left;margin-top:6px}.choice-grid-two[data-v-0c20cd42],.form-grid-two[data-v-0c20cd42],.capability-grid[data-v-0c20cd42],.backup-config-inline[data-v-0c20cd42]{grid-template-columns:1fr}.form-actions-context[data-v-0c20cd42]{margin-bottom:14px}.form-actions-buttons[data-v-0c20cd42]{flex-direction:column-reverse;display:flex}.form-actions-buttons[data-v-0c20cd42] button{width:100%}}.index-action-row[data-v-e7645173]{align-items:center;gap:12px;margin-bottom:6px;display:flex}.index-status-badge[data-v-e7645173]{border-radius:10px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.index-exists[data-v-e7645173]{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success)}.index-missing[data-v-e7645173]{background:color-mix(in srgb, var(--color-text-secondary) 15%, transparent);color:var(--color-text-secondary)}.limits-section[data-v-e7645173]{border-top:1px solid var(--color-border);margin-top:40px;padding-top:24px}.section-header[data-v-e7645173]{color:var(--color-text-primary);align-items:center;gap:8px;margin-bottom:20px;display:flex}.section-header h3[data-v-e7645173]{margin:0;font-size:1.2rem;font-weight:600}.limits-overview[data-v-e7645173]{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;margin-bottom:32px;display:grid}.limit-card[data-v-e7645173]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;gap:16px;padding:20px;transition:box-shadow .2s,border-color .2s;display:flex}.limit-card[data-v-e7645173]:hover{border-color:var(--color-info);box-shadow:0 4px 12px #0000000d}.limit-icon[data-v-e7645173]{background:var(--color-info-soft);color:var(--color-info);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.limit-info[data-v-e7645173]{flex-grow:1}.limit-info label[data-v-e7645173]{margin-bottom:12px;font-size:1rem;font-weight:600}.limit-input-wrapper[data-v-e7645173]{align-items:center;gap:8px;display:flex}.limit-input-wrapper input[data-v-e7645173]{text-align:center;font-size:1.1rem;font-weight:700;flex:0 0 56px!important;width:56px!important}.limit-input-wrapper .unit[data-v-e7645173]{color:var(--color-text-secondary);font-size:.9rem}.limit-help[data-v-e7645173]{color:var(--color-text-secondary);margin-top:8px;font-size:.85rem;line-height:1.4}.intervals-container[data-v-e7645173]{background:var(--color-gallery-sidebar-bg);border-radius:12px;margin-top:24px;padding:20px}.intervals-container h4[data-v-e7645173]{color:var(--color-text-primary);margin-top:0;margin-bottom:16px;font-size:1rem;font-weight:600}.intervals-grid[data-v-e7645173]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.interval-card[data-v-e7645173]{background:var(--color-surface);padding:16px}.interval-card[data-v-e7645173] .duration-input{max-width:168px}.form-group[data-v-e7645173] .duration-input{max-width:176px}.duration-inputs[data-v-e7645173]{align-items:center;gap:16px;display:flex}.readonly-input[data-v-e7645173]{background-color:var(--color-gallery-muted-bg);color:var(--color-text-secondary);cursor:not-allowed}.admin-settings[data-v-e7645173]{display:block}.settings-main[data-v-e7645173]{height:100%}.settings-layout[data-v-e7645173]{max-width:none}.form-group[data-v-e7645173]{margin-bottom:24px}.checkbox-label[data-v-e7645173]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.checkbox-label input[type=checkbox][data-v-e7645173]{width:20px;height:20px}.radio-group[data-v-e7645173]{flex-wrap:wrap;gap:20px;display:flex}.radio-label[data-v-e7645173]{cursor:pointer;align-items:center;gap:6px;font-weight:400;display:flex}label[data-v-e7645173]{color:var(--color-text-primary);margin-bottom:8px;font-weight:600;display:block}input[type=text][data-v-e7645173],input[type=number][data-v-e7645173]{border:1px solid var(--color-border);border-radius:4px;width:100%;padding:10px;font-size:1rem}.text-muted[data-v-e7645173]{color:var(--color-text-secondary);font-size:.9rem;font-style:italic}.help-text[data-v-e7645173]{color:var(--color-text-secondary);margin-top:6px;font-size:.85rem}.warning-text[data-v-e7645173]{color:color-mix(in srgb, var(--color-warning) 78%, black)}.setting-disabled[data-v-e7645173]{opacity:.65}.actions[data-v-e7645173]{margin-top:32px}@media (width<=992px){.intervals-grid[data-v-e7645173]{grid-template-columns:1fr}.limit-card[data-v-e7645173],.task-limit-card[data-v-e7645173]{padding:14px}}@media (width<=768px){.form-group[data-v-e7645173]{margin-bottom:18px}.duration-inputs[data-v-e7645173]{flex-wrap:wrap;gap:8px}.limit-input-wrapper[data-v-e7645173]{gap:6px}.limit-input-wrapper input[data-v-e7645173]{font-size:1rem;flex:0 0 48px!important;width:48px!important}.actions[data-v-e7645173] .app-btn{width:100%}.form-group[data-v-e7645173] .duration-input,.interval-card[data-v-e7645173] .duration-input{max-width:156px}}.stats-view[data-v-9d5a29a2]{display:block}.stats-main[data-v-9d5a29a2]{height:100%}.stats-layout[data-v-9d5a29a2]{max-width:none}.stats-grid[data-v-9d5a29a2]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-item[data-v-9d5a29a2]{background-color:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));border:1px solid var(--color-border);border-radius:8px;flex-direction:column;padding:16px;display:flex}.stat-header[data-v-9d5a29a2]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.stat-icon[data-v-9d5a29a2]{color:var(--color-text-secondary)}.stat-label[data-v-9d5a29a2]{color:var(--color-text-secondary);margin:0;font-size:.85rem}.stat-value[data-v-9d5a29a2]{color:var(--color-info);font-size:1.25rem;font-weight:700}@media (width<=768px){.stats-grid[data-v-9d5a29a2]{grid-template-columns:1fr;gap:12px;margin-bottom:14px}.stat-item[data-v-9d5a29a2]{padding:12px}.stat-value[data-v-9d5a29a2]{font-size:1.1rem}[data-v-9d5a29a2] .app-btn{width:100%}}.task-management[data-v-14c058fd]{display:block}.tasks-layout[data-v-14c058fd]{max-width:none}.tasks-list[data-v-14c058fd]{margin-top:8px}.task-type-target[data-v-14c058fd]{flex-direction:column;gap:6px;display:flex}.task-type[data-v-14c058fd]{color:var(--color-text-primary);font-weight:600}.error-text[data-v-14c058fd]{color:color-mix(in srgb, var(--color-danger) 75%, black);white-space:nowrap;text-overflow:ellipsis;cursor:help;max-width:200px;margin-top:4px;font-size:.75rem;overflow:hidden}.text-muted[data-v-14c058fd]{color:var(--color-text-secondary);font-style:italic}.actions-cell[data-v-14c058fd]{flex-wrap:nowrap;justify-content:center;gap:6px;display:flex}[data-v-14c058fd] .task-type-cell,[data-v-14c058fd] .target-cell{overflow-wrap:anywhere;word-break:break-word}.persons-content[data-v-778a4359]{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;padding:20px;display:flex;overflow:hidden}.header-top[data-v-778a4359]{justify-content:space-between;align-items:baseline;display:flex}.header h1[data-v-778a4359]{margin:0 0 10px;font-size:2rem}.header-actions-top[data-v-778a4359]{align-items:center;gap:15px;display:flex}.logout-btn-link[data-v-778a4359]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:500}.logout-btn-link[data-v-778a4359]:hover{color:var(--color-danger);text-decoration:underline}.back-link[data-v-778a4359]{color:var(--color-info);font-size:.9rem;font-weight:500;text-decoration:none}.back-link[data-v-778a4359]:hover{text-decoration:underline}.subtitle[data-v-778a4359]{color:var(--color-text-secondary);margin:0}.loading[data-v-778a4359],.empty[data-v-778a4359]{text-align:center;padding:60px 20px}.spinner[data-v-778a4359]{border:4px solid color-mix(in srgb, var(--color-surface) 86%, var(--color-text-primary));border-top:4px solid color-mix(in srgb, var(--color-info) 90%, white);border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:1s linear infinite spin-778a4359}.spinner-small[data-v-778a4359]{border:2px solid color-mix(in srgb, var(--color-surface) 86%, var(--color-text-primary));border-top:2px solid color-mix(in srgb, var(--color-info) 90%, white);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin-778a4359}@keyframes spin-778a4359{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-icon[data-v-778a4359]{margin-bottom:15px;font-size:60px}.hint[data-v-778a4359]{color:var(--color-text-secondary);font-size:.9rem}.modal-overlay[data-v-778a4359]{background:var(--color-dark-backdrop-50);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-778a4359]{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:80vh;padding:20px;overflow-y:auto}.modal-header[data-v-778a4359]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2[data-v-778a4359]{margin:0}.close-btn[data-v-778a4359]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:0;font-size:2rem;line-height:1}.modal-actions[data-v-778a4359]{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.modal-actions button[data-v-778a4359]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:8px 16px}.modal-actions button[data-v-778a4359]:hover{background:var(--color-gallery-muted-bg)}.modal-actions .delete-btn[data-v-778a4359]{color:var(--color-danger);border-color:var(--color-danger)}.modal-actions .delete-btn[data-v-778a4359]:hover{background:color-mix(in srgb, var(--color-danger) 10%, white)}.modal-actions .validate-btn[data-v-778a4359]{color:var(--color-success);border-color:var(--color-success)}.edit-name[data-v-778a4359]{flex:1;gap:10px;display:flex}.edit-name input[data-v-778a4359]{border:1px solid var(--color-border);border-radius:6px;flex:1;padding:8px 12px;font-size:1rem}.photos-grid[data-v-778a4359]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.photo-item[data-v-778a4359]{aspect-ratio:1;background:var(--color-gallery-item-hover);border-radius:8px;overflow:hidden}.photo-item img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.photo-placeholder[data-v-778a4359]{justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex}.no-photos[data-v-778a4359]{text-align:center;color:var(--color-text-secondary);padding:40px}.confirm-modal[data-v-778a4359]{text-align:center;max-width:400px}.confirm-actions[data-v-778a4359]{justify-content:center;gap:10px;margin-top:20px;display:flex}.confirm-actions button[data-v-778a4359]{cursor:pointer;border:1px solid var(--color-border);background:#fff;border-radius:6px;padding:10px 20px}.confirm-actions .delete-btn[data-v-778a4359]{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.confirm-actions .validate-btn[data-v-778a4359]{background:var(--color-success);color:#fff;border-color:var(--color-success)}.confirm-actions .validate-btn[data-v-778a4359]:disabled{background:var(--color-gallery-neutral);border-color:var(--color-gallery-neutral);cursor:not-allowed}.matching-persons-list[data-v-778a4359]{flex-direction:column;gap:10px;max-height:300px;margin:20px 0;display:flex;overflow-y:auto}.btn-link[data-v-778a4359]{color:var(--color-info);cursor:pointer;background:0 0;border:none;padding:10px;text-decoration:underline}.matching-persons-container[data-v-778a4359]{border-top:1px solid var(--color-border);margin:20px 0;padding-top:20px}.matching-hint[data-v-778a4359]{color:var(--color-text-secondary);text-align:left;margin-bottom:10px;font-size:.9rem}.current-association-preview[data-v-778a4359]{background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));border:1px solid color-mix(in srgb, var(--color-border) 75%, var(--color-info));border-radius:12px;margin-bottom:20px;padding:15px}.current-association-preview p[data-v-778a4359]{color:var(--color-info);margin:0 0 10px;font-size:.9rem;font-weight:500}.faces-preview-list[data-v-778a4359]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.face-preview-item[data-v-778a4359]{border:3px solid #fff;border-radius:50%;width:100px;height:100px;transition:transform .2s;overflow:hidden;box-shadow:0 4px 8px #00000026}.face-preview-item[data-v-778a4359]:hover{transform:scale(1.05)}.face-preview-item img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.face-preview-more[data-v-778a4359]{background:var(--color-border);width:100px;height:100px;color:var(--color-text-secondary);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 8px #00000026}.editable-name[data-v-778a4359]{cursor:pointer;border-radius:4px;padding:2px 5px}.editable-name[data-v-778a4359]:hover{background:var(--color-info-soft)}.inline-edit input[data-v-778a4359]{border:1px solid var(--color-info);width:100%;max-width:300px;text-align:inherit;border-radius:4px;padding:4px 8px;font-size:1rem}.persons-layout[data-v-778a4359]{flex-direction:column;flex:1;gap:15px;min-height:0;padding:15px;display:flex;overflow:hidden}.persons-lists[data-v-778a4359]{flex:1;gap:15px;min-height:0;display:flex;overflow:hidden}.persons-column[data-v-778a4359]{background:var(--color-gallery-sidebar-bg);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;flex:1;min-height:0;padding:10px;display:flex}.column-header-compact[data-v-778a4359]{border-bottom:1px dashed var(--color-border);margin-bottom:8px;padding-bottom:8px}.column-header-compact h3[data-v-778a4359]{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:13px;font-weight:600}.persons-list[data-v-778a4359]{flex-direction:column;flex:1;gap:6px;padding-right:4px;display:flex;overflow-y:auto}.person-item[data-v-778a4359]{cursor:pointer;border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;transition:background-color .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.person-item.suggested-match[data-v-778a4359]{background-color:var(--color-surface);background-image:linear-gradient(90deg, var(--match-color-strong) 0, var(--match-color-soft) calc(var(--match-fill) * .7), var(--match-color-feather) var(--match-fill), #fff0 calc(var(--match-fill) + 18%));background-repeat:no-repeat}.person-item[data-v-778a4359]:hover{background-color:color-mix(in srgb, var(--color-surface) 88%, var(--color-text-primary))}.person-item.suggested-match[data-v-778a4359]:hover{background-color:color-mix(in srgb, var(--color-surface) 90%, var(--color-text-primary))}.person-item.selected[data-v-778a4359]{background:var(--color-info-soft);border-color:var(--color-info)}.person-item.focused[data-v-778a4359]{background:color-mix(in srgb, var(--color-warning-soft) 80%, white);border-color:var(--color-warning);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-warning) 30%, transparent);border-width:2px}.person-item.focused.selected[data-v-778a4359]{background:linear-gradient(135deg, var(--color-info-soft) 0%, color-mix(in srgb, var(--color-warning-soft) 80%, white) 100%);border-color:var(--color-info);border-width:2px}.person-item-with-actions[data-v-778a4359]{padding-right:8px}.person-actions[data-v-778a4359]{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.action-btn[data-v-778a4359]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;transition:all .2s;display:flex}.action-btn[data-v-778a4359]:hover{transform:scale(1.1)}.action-btn-validate[data-v-778a4359]{color:var(--color-success);border-color:var(--color-success)}.action-btn-validate[data-v-778a4359]:hover{background:var(--color-success);color:#fff}.action-btn-create[data-v-778a4359]{color:var(--color-info);border-color:var(--color-info)}.action-btn-create[data-v-778a4359]:hover{background:var(--color-info);color:#fff}.action-btn-delete[data-v-778a4359]{color:var(--color-danger);border-color:var(--color-danger)}.action-btn-delete[data-v-778a4359]:hover{background:var(--color-danger);color:#fff}.action-btn-hide[data-v-778a4359]{color:var(--color-gallery-source);border-color:var(--color-gallery-source)}.action-btn-hide[data-v-778a4359]:hover{background:var(--color-gallery-source);color:#fff}.action-btn-unhide[data-v-778a4359]{color:var(--color-info);border-color:var(--color-info)}.action-btn-unhide[data-v-778a4359]:hover{background:var(--color-info);color:#fff}.action-btn-move[data-v-778a4359]{color:var(--color-warning);border-color:var(--color-warning)}.action-btn-move[data-v-778a4359]:hover{background:var(--color-warning);color:#fff}.action-btn-dissociate[data-v-778a4359]{color:var(--color-gallery-source);border-color:var(--color-gallery-source)}.action-btn-dissociate[data-v-778a4359]:hover{background:var(--color-gallery-source);color:#fff}.action-btn-focus[data-v-778a4359]{color:var(--color-warning);border-color:var(--color-warning)}.action-btn-focus[data-v-778a4359]:hover{background:var(--color-warning);color:#fff}.tabs-container[data-v-778a4359]{flex-wrap:wrap;gap:4px;display:flex}.tab-btn[data-v-778a4359]{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .2s}.tab-btn[data-v-778a4359]:hover:not(:disabled){background:var(--color-gallery-muted-bg);border-color:var(--color-gallery-neutral)}.tab-btn.active[data-v-778a4359]{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info)}.tab-btn[data-v-778a4359]:disabled{opacity:.5;cursor:not-allowed}.person-item.unvalidated-item.selected[data-v-778a4359]{background:var(--color-gallery-person-soft);border-color:var(--color-gallery-person)}.check-mark-validated[data-v-778a4359]{color:var(--color-info);margin-left:auto;font-weight:700}.check-mark-unvalidated[data-v-778a4359]{color:var(--color-gallery-person);margin-left:auto;font-weight:700}.column-header-with-action[data-v-778a4359]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.column-actions[data-v-778a4359]{align-items:center;gap:8px;display:flex}.sort-select[data-v-778a4359]{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:15px;outline:none;padding:4px 8px;font-size:.8rem}.sort-select[data-v-778a4359]:hover{border-color:var(--color-gallery-neutral)}.toggle-mode-btn[data-v-778a4359]{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);background:#fff;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:.9rem;transition:all .2s;display:flex}.toggle-mode-btn[data-v-778a4359]:hover:not(:disabled){background:var(--color-gallery-muted-bg);border-color:var(--color-gallery-neutral)}.toggle-mode-btn.active[data-v-778a4359]{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info)}.toggle-mode-btn[data-v-778a4359]:disabled{opacity:.5;cursor:not-allowed}.person-avatar-small[data-v-778a4359]{border-radius:50%;flex-shrink:0;width:70px;height:70px;overflow:hidden}.person-avatar-small img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.avatar-placeholder-tiny[data-v-778a4359]{background:linear-gradient(135deg, var(--color-accent-indigo-start) 0%, var(--color-accent-indigo-end) 100%);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:1rem;font-weight:700;display:flex}.person-details[data-v-778a4359]{flex-direction:column;min-width:0;display:flex}.person-name[data-v-778a4359]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.person-count[data-v-778a4359]{color:var(--color-text-secondary);font-size:.8rem}.empty-column[data-v-778a4359]{text-align:center;color:var(--color-text-secondary);padding:20px}.list-loading[data-v-778a4359]{text-align:center;color:var(--color-text-secondary);padding:10px;font-size:.9rem}.list-error[data-v-778a4359]{text-align:center;background:var(--color-dark-button-bg);border:1px solid var(--color-dark-overlay-20);border-radius:6px;margin:10px;padding:20px}.error-icon[data-v-778a4359]{margin-bottom:10px}.error-message[data-v-778a4359]{color:var(--color-dark-text);margin:0 0 15px;font-size:.95rem}.load-more-manual[data-v-778a4359]{text-align:center;padding:10px}.btn-link-small[data-v-778a4359]{color:var(--color-info);cursor:pointer;background:0 0;border:none;padding:5px;font-size:.85rem;text-decoration:underline}.btn-link-small[data-v-778a4359]:hover{color:var(--color-info-hover)}.list-error .btn-link-small[data-v-778a4359]{color:var(--color-info);opacity:1;font-weight:500;text-decoration:underline}.list-error .btn-link-small[data-v-778a4359]:hover{color:#fff;opacity:1}.reunir-bar[data-v-778a4359]{background:var(--color-info-soft);border-radius:8px;justify-content:center;align-items:center;gap:15px;margin-bottom:15px;padding:15px;display:flex}.reunir-info[data-v-778a4359]{color:var(--color-text-primary)}.reunir-info strong[data-v-778a4359]{color:var(--color-info)}.loading-text[data-v-778a4359]{color:var(--color-text-secondary);margin-left:8px;font-size:.9rem}.reunir-btn[data-v-778a4359]{background:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:500}.reunir-btn[data-v-778a4359]:hover{background:var(--color-info-hover)}.cancel-btn[data-v-778a4359]{background:var(--color-gallery-muted-bg);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:10px 20px}.cancel-btn[data-v-778a4359]:hover{background:var(--color-border)}.unified-detail-panel[data-v-778a4359]{background:#fff;border-radius:12px;flex:none;max-height:clamp(180px,34vh,300px);padding:20px;overflow:visible;box-shadow:0 2px 8px #0000001a}.unified-detail-columns[data-v-778a4359]{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:15px;display:grid}.unified-detail-side[data-v-778a4359]{align-items:center;gap:20px;display:flex;overflow:visible}.unified-detail-side.left[data-v-778a4359]{text-align:right;flex-direction:row-reverse}.unified-detail-side.right[data-v-778a4359]{flex-direction:row}.unified-avatar[data-v-778a4359]{border:3px solid var(--color-border);border-radius:50%;flex-shrink:0;width:100px;height:100px;transition:border-color .3s ease-in-out;overflow:hidden}.unified-avatar.focused-border[data-v-778a4359]{border-color:var(--color-info);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-info) 40%, transparent)}.unified-avatar img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.avatar-placeholder-large[data-v-778a4359]{background:linear-gradient(135deg, var(--color-accent-indigo-start) 0%, var(--color-accent-indigo-end) 100%);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;font-weight:700;display:flex}.unified-faces-stack[data-v-778a4359]{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.face-coin-container[data-v-778a4359]{width:80px;height:80px;position:relative}.face-coin-container.single-face[data-v-778a4359]{width:100px;height:100px}.face-coin[data-v-778a4359]{border:3px solid var(--color-border);border-radius:50%;flex-shrink:0;width:80px;height:80px;transition:transform .2s;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0000001a}.face-coin.single-face[data-v-778a4359]{width:100px;height:100px}.face-coin-container[data-v-778a4359],.face-coin[data-v-778a4359]{top:0}.face-coin img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.face-placeholder[data-v-778a4359]{background:linear-gradient(135deg, var(--color-accent-indigo-start) 0%, var(--color-accent-indigo-end) 100%);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.5rem;font-weight:700;display:flex}.face-more[data-v-778a4359]{border:3px solid var(--color-border);background:var(--color-gallery-item-hover);width:80px;height:80px;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.unified-info[data-v-778a4359]{flex:1}.unified-info.left[data-v-778a4359]{text-align:right}.unified-info.right[data-v-778a4359]{text-align:left}.unified-label[data-v-778a4359]{background:color-mix(in srgb, var(--color-success-soft) 78%, white);color:var(--color-success);border-radius:12px;margin-bottom:5px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.unified-info h3[data-v-778a4359]{margin:5px 0;font-size:1.3rem}.unified-info p[data-v-778a4359]{color:var(--color-text-secondary);margin:0;font-size:.9rem}.unified-actions[data-v-778a4359]{gap:10px;display:flex}.unified-actions button[data-v-778a4359]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:8px 16px;font-size:.9rem}.unified-actions button[data-v-778a4359]:hover{background:var(--color-gallery-muted-bg)}.unified-actions .validate-btn[data-v-778a4359]{color:var(--color-success);border-color:var(--color-success)}.unified-actions .validate-btn[data-v-778a4359]:hover{background:color-mix(in srgb, var(--color-success-soft) 78%, white)}.unified-actions .unvalidate-btn[data-v-778a4359]{color:var(--color-warning);border-color:var(--color-warning)}.unified-actions .unvalidate-btn[data-v-778a4359]:hover{background:color-mix(in srgb, var(--color-warning) 12%, white)}.unified-actions .delete-btn[data-v-778a4359]{color:var(--color-danger);border-color:var(--color-danger)}.unified-actions .delete-btn[data-v-778a4359]:hover{background:color-mix(in srgb, var(--color-danger) 10%, white)}.unified-detail-side.left .unified-actions[data-v-778a4359]{justify-content:flex-end}.unified-detail-side.right .unified-actions[data-v-778a4359]{justify-content:flex-start}.unified-photos[data-v-778a4359]{grid-template-columns:1fr 1fr;gap:40px;display:grid}.unified-photos-side[data-v-778a4359]{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;min-height:120px;max-height:120px;display:grid;overflow-y:auto}.unified-empty[data-v-778a4359]{min-height:100px}.unified-empty-photos[data-v-778a4359]{min-height:120px}.detail-photo[data-v-778a4359]{aspect-ratio:1;background:var(--color-gallery-item-hover);border-radius:6px;overflow:hidden}.detail-photo img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.photo-placeholder-small[data-v-778a4359]{justify-content:center;align-items:center;width:100%;height:100%;font-size:1.2rem;display:flex}.no-photos-detail[data-v-778a4359]{text-align:center;color:var(--color-text-secondary);padding:20px;font-size:.9rem}.detail-actions button[data-v-778a4359]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:8px 16px}.detail-actions .validate-btn[data-v-778a4359]{color:var(--color-success);border-color:var(--color-success)}.detail-actions .unvalidate-btn[data-v-778a4359]{color:var(--color-warning);border-color:var(--color-warning)}.detail-actions .delete-btn[data-v-778a4359]{color:var(--color-danger);border-color:var(--color-danger)}.person-tags-list[data-v-778a4359]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex;overflow:visible}.unified-detail-side.left .person-tags-list[data-v-778a4359]{justify-content:flex-end}.tag-badge[data-v-778a4359]{border:1px solid #0000;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag-remove[data-v-778a4359]{cursor:pointer;opacity:.6;font-size:14px;line-height:1}.tag-remove[data-v-778a4359]:hover{opacity:1}.associated-persons-section[data-v-778a4359]{background:var(--color-gallery-sidebar-bg);border-radius:12px;margin-top:15px;padding:20px}.section-title[data-v-778a4359]{color:var(--color-text-primary);margin:0 0 15px;font-size:1.2rem}.no-associated[data-v-778a4359]{text-align:center;color:var(--color-text-secondary);background:#fff;border-radius:8px;padding:20px}.associated-persons-list[data-v-778a4359]{grid-template-columns:1fr;gap:10px;display:grid}.associated-person-item[data-v-778a4359]{border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:15px;padding:12px;display:flex}.associated-person-item[data-v-778a4359]:hover{background:var(--color-gallery-sidebar-bg)}.associated-avatar[data-v-778a4359]{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}.associated-avatar img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.associated-info[data-v-778a4359]{flex-direction:column;flex:1;min-width:0;display:flex}.associated-name[data-v-778a4359]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.associated-confidence[data-v-778a4359]{color:var(--color-text-secondary);margin-top:2px;font-size:.8rem}.associated-pending[data-v-778a4359]{color:var(--color-info);background:var(--color-info-soft);border-radius:4px;margin-top:2px;padding:2px 6px;font-size:.75rem;display:inline-block}.associated-actions[data-v-778a4359]{gap:8px;display:flex}.select-btn[data-v-778a4359]{background:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.85rem}.select-btn[data-v-778a4359]:hover{background:color-mix(in srgb, var(--color-info) 65%, black)}.persons-gallery[data-v-778a4359]{flex:1;overflow-y:auto}.gallery-header[data-v-778a4359]{margin-bottom:20px}.gallery-header h2[data-v-778a4359]{color:var(--color-text-primary);margin:0 0 5px;font-size:1.5rem}.gallery-subtitle[data-v-778a4359]{color:var(--color-text-secondary);margin:0;font-size:.9rem}.persons-grid[data-v-778a4359]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px;display:grid}.person-card[data-v-778a4359]{cursor:pointer;border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:12px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 2px 8px #0000001a}.person-card[data-v-778a4359]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.person-card.selected[data-v-778a4359]{border-color:var(--color-info);box-shadow:0 4px 12px color-mix(in srgb, var(--color-info) 30%, transparent);background:var(--color-info-soft)}.person-card-avatar[data-v-778a4359]{border:2px solid var(--color-border);border-radius:50%;width:80px;height:80px;margin:0 auto 10px;display:block;overflow:hidden}.avatar-placeholder-card[data-v-778a4359]{background:linear-gradient(135deg, var(--color-accent-indigo-start) 0%, var(--color-accent-indigo-end) 100%);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;font-weight:700;display:flex}.person-card-info[data-v-778a4359]{text-align:center}.person-card-name[data-v-778a4359]{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:1rem;font-weight:600;overflow:hidden}.person-card-count[data-v-778a4359]{color:var(--color-text-secondary);margin:0 0 6px;font-size:.85rem}.person-card-status[data-v-778a4359]{border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:500;display:inline-block}.tabs[data-v-778a4359]{border-bottom:1px solid var(--color-border);gap:0;margin-bottom:15px;display:flex}.tab[data-v-778a4359]{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);background:#fff;border-bottom:none;border-radius:8px 8px 0 0;padding:10px 20px;font-weight:500}.tab[data-v-778a4359]:hover{background:var(--color-gallery-sidebar-bg)}.tab.active[data-v-778a4359]{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info);border-bottom:1px solid var(--color-info-soft)}.tab-content[data-v-778a4359]{min-height:200px}.unvalidated-tab[data-v-778a4359],.preassociated-tab[data-v-778a4359]{padding:10px 0}.preassociated-header[data-v-778a4359]{border:1px solid var(--color-border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px;display:flex}.preassociated-info[data-v-778a4359]{color:var(--color-text-primary);font-weight:500}.toggle-all-btn[data-v-778a4359]{background:var(--color-gallery-item-hover);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.85rem}.toggle-all-btn[data-v-778a4359]:hover{background:var(--color-border)}.preassociated-list[data-v-778a4359]{grid-template-columns:1fr;gap:10px;display:grid}.preassociated-item[data-v-778a4359]{border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:15px;padding:12px;display:flex}.preassociated-item[data-v-778a4359]:hover{background:var(--color-gallery-sidebar-bg)}.preassociated-item.selected[data-v-778a4359]{border-color:var(--color-info);background:var(--color-info-soft)}.preassociated-checkbox[data-v-778a4359]{flex-shrink:0}.preassociated-checkbox input[data-v-778a4359]{cursor:pointer;width:18px;height:18px}.preassociated-avatar[data-v-778a4359]{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}.preassociated-avatar img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.preassociated-info[data-v-778a4359]{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.preassociated-confidence[data-v-778a4359]{color:var(--color-text-secondary);font-size:.8rem;font-weight:500}.preassociated-actions[data-v-778a4359]{gap:8px;display:flex}.unselect-btn[data-v-778a4359]{background:var(--color-gallery-item-hover);border:1px solid var(--color-border);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:.8rem}.unselect-btn[data-v-778a4359]:hover{background:var(--color-border)}.validate-section[data-v-778a4359]{border-top:1px solid var(--color-border);margin-top:15px;padding-top:15px}.validate-btn[data-v-778a4359]{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500}.validate-btn[data-v-778a4359]:hover{background:var(--color-info)}.deleted-faces-title[data-v-778a4359]{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 10%, white);border:1px solid color-mix(in srgb, var(--color-danger) 25%, white);border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:.9rem;font-weight:600}.deleted-face-item[data-v-778a4359]{opacity:.7;background:color-mix(in srgb, var(--color-danger) 10%, white)!important;border-color:color-mix(in srgb, var(--color-danger) 25%, white)!important}.deleted-face-item[data-v-778a4359]:hover{opacity:.9;background:color-mix(in srgb, var(--color-danger) 16%, white)!important}.deleted-avatar[data-v-778a4359]{filter:grayscale();opacity:.6}.deleted-name[data-v-778a4359]{text-decoration:line-through;color:var(--color-text-secondary)!important}.deleted-info[data-v-778a4359]{font-style:italic;color:var(--color-danger)!important}.action-btn-restore[data-v-778a4359]{color:var(--color-success);border-color:var(--color-success)}.action-btn-restore[data-v-778a4359]:hover{background:var(--color-success);color:#fff}.person-selector-modal[data-v-778a4359]{flex-direction:column;max-width:500px;max-height:70vh;display:flex}.person-selector-modal .modal-header[data-v-778a4359]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.person-selector-modal .modal-header h3[data-v-778a4359]{color:var(--color-text-primary);margin:0;font-size:1.2rem}.face-to-move-preview[data-v-778a4359]{background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));border:1px solid color-mix(in srgb, var(--color-border) 75%, var(--color-info));border-radius:8px;align-items:center;gap:12px;margin-bottom:15px;padding:12px;display:flex}.face-to-move-preview .face-preview-item[data-v-778a4359]{border:2px solid #fff;border-radius:50%;flex-shrink:0;width:50px;height:50px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.face-to-move-preview .face-preview-item img[data-v-778a4359]{object-fit:cover;width:100%;height:100%}.face-preview-label[data-v-778a4359]{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.person-selector-search[data-v-778a4359]{margin-bottom:15px}.search-input[data-v-778a4359]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .2s}.search-input[data-v-778a4359]:focus{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 10%, transparent)}.person-selector-list[data-v-778a4359]{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-text-primary));border-radius:8px;flex:1;max-height:300px;overflow-y:auto}.person-selector-item[data-v-778a4359]{cursor:pointer;border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 12px;transition:background-color .2s;display:flex}.person-selector-item[data-v-778a4359]:last-child{border-bottom:none}.person-selector-item[data-v-778a4359]:hover{background:var(--color-info-soft)}.person-selector-item .person-avatar-small[data-v-778a4359]{width:40px;height:40px}.person-selector-item .person-details[data-v-778a4359]{flex:1}.person-selector-item .person-name[data-v-778a4359]{color:var(--color-text-primary);font-weight:500}.person-selector-item .person-count[data-v-778a4359]{color:var(--color-text-secondary);font-size:.8rem}.empty-selector-list[data-v-778a4359]{text-align:center;color:var(--color-text-secondary);padding:20px}.empty-selector-list p[data-v-778a4359]{margin:0;font-size:.9rem}.moving-overlay[data-v-778a4359]{z-index:10;background:#ffffffe6;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.moving-overlay span[data-v-778a4359]{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.face-thumbnail[data-v-cc3dcc95]{background-color:var(--color-surface-variant);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.is-rounded[data-v-cc3dcc95]{border-radius:9999px}.has-border[data-v-cc3dcc95]{border:2px solid var(--color-border)}.is-grayscale[data-v-cc3dcc95]{filter:grayscale();opacity:.7}.thumbnail-img[data-v-cc3dcc95]{object-fit:cover;width:100%;height:100%}.thumbnail-placeholder[data-v-cc3dcc95]{color:var(--color-text-secondary);opacity:.5}.face-card[data-v-9b69434b]{cursor:pointer;outline-offset:2px;background:var(--color-gallery-muted-bg,#f5f5f5);border-radius:10px;outline:2px solid #0000;transition:outline-color .12s,box-shadow .12s;position:relative;overflow:hidden}.face-card-media[data-v-9b69434b]{aspect-ratio:1;background-image:linear-gradient(0deg, var(--match-color-strong,transparent), var(--match-color-strong,transparent)), linear-gradient(0deg, var(--match-color-soft,transparent), var(--match-color-soft,transparent));border-radius:10px;width:100%;position:relative;overflow:hidden;container-type:inline-size}.face-card-media[data-v-9b69434b] .face-thumbnail{border-radius:10px;width:100%!important;height:100%!important}.face-card.is-checked[data-v-9b69434b]{outline-color:color-mix(in srgb, var(--color-success) 55%, transparent)}.face-card.is-unchecked[data-v-9b69434b]{outline-color:color-mix(in srgb, var(--color-warning) 55%, transparent)}.face-card.is-unchecked .face-card-media[data-v-9b69434b]{filter:saturate(.12)brightness(.92)}.unchecked-veil[data-v-9b69434b]{color:var(--color-warning,#ff9800);background:color-mix(in srgb, var(--color-warning) 16%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.face-card.is-removed[data-v-9b69434b]{outline-color:var(--color-text-secondary,#999);cursor:default;outline-style:dashed}.face-card.is-removed .face-card-media[data-v-9b69434b]{filter:saturate(.05)brightness(.9)}.removed-veil[data-v-9b69434b]{pointer-events:none;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.removed-label[data-v-9b69434b]{letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--color-text-primary,#333);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.restore-btn[data-v-9b69434b]{background:var(--color-info,#2196f3);border-color:var(--color-info,#2196f3);color:#fff}.restore-btn[data-v-9b69434b]:hover{background:var(--color-info,#2196f3);filter:brightness(1.08)}.face-card.is-deleted[data-v-9b69434b]{outline-color:color-mix(in srgb, var(--color-danger) 70%, transparent);cursor:default;outline-style:solid}.face-card.is-deleted .face-card-media[data-v-9b69434b]{filter:saturate(.08)brightness(.9)}.deleted-veil[data-v-9b69434b]{background:color-mix(in srgb, var(--color-danger) 22%, transparent);pointer-events:none;justify-content:center;align-items:flex-end;padding:0 4px 4px;display:flex;position:absolute;inset:0}.deleted-label[data-v-9b69434b]{letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--color-danger,#d32f2f);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.face-card.is-selected[data-v-9b69434b]{outline-color:var(--color-info,#2196f3);outline-width:3px}.face-card.is-focused[data-v-9b69434b]{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 40%, transparent) inset}.corner-btn[data-v-9b69434b]{border:1px solid var(--color-border,#e9ecef);width:clamp(22px,20cqw,40px);height:clamp(22px,20cqw,40px);color:var(--color-text-primary,#333);cursor:pointer;box-shadow:var(--shadow-sm,0 2px 4px #0000001a);background:#ffffffeb;border-radius:clamp(5px,4cqw,9px);justify-content:center;align-items:center;padding:0;display:flex}.corner-btn[data-v-9b69434b]:hover{background:#fff}.corner-btn[data-v-9b69434b] svg{width:58%;height:58%}.check-toggle[data-v-9b69434b]{border-radius:clamp(6px,5cqw,11px);width:clamp(24px,26cqw,46px);height:clamp(24px,26cqw,46px);position:absolute;top:6px;left:6px}.check-toggle[data-v-9b69434b] svg{width:62%;height:62%}.check-toggle.checked[data-v-9b69434b]{background:var(--color-success,#4caf50);border-color:var(--color-success,#4caf50);color:#fff}.confidence-badge[data-v-9b69434b]{color:#fff;background:#0000008c;border-radius:6px;padding:3px 5px;font-size:11px;font-weight:600;line-height:1;position:absolute;top:6px;right:6px}.matched-face-badge[data-v-9b69434b]{width:clamp(20px,24cqw,34px);height:clamp(20px,24cqw,34px);box-shadow:var(--shadow-sm,0 2px 4px #00000040);cursor:pointer;z-index:2;border:2px solid #fff;border-radius:50%;padding:0;position:absolute;bottom:6px;left:6px;overflow:hidden}.matched-face-badge[data-v-9b69434b] .face-thumbnail{width:100%!important;height:100%!important}.card-actions[data-v-9b69434b]{position:absolute;bottom:6px;right:6px}.menu-btn[data-v-9b69434b]{display:none}.actions-list[data-v-9b69434b]{gap:4px;display:none}.face-card:hover .actions-list[data-v-9b69434b]{display:flex}@container (width<=120px){.menu-btn[data-v-9b69434b]{display:flex}.actions-list[data-v-9b69434b]:not(.open),.face-card:hover .actions-list[data-v-9b69434b]:not(.open){display:none}.actions-list.open[data-v-9b69434b]{border:1px solid var(--color-border,#e9ecef);box-shadow:var(--shadow-md,0 6px 20px #0000002e);z-index:5;background:#fff;border-radius:8px;flex-direction:column;gap:4px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0}}.face-card[data-v-9b69434b]:has(.actions-list.open){overflow:visible}.face-card:has(.actions-list.open) .face-card-media[data-v-9b69434b]{overflow:visible}.face-card[data-v-9b69434b]:has(.actions-list.open){z-index:10}@container (width<=84px){.confidence-badge[data-v-9b69434b]{display:none}}.confirm-grid[data-v-b8c85be4]{outline:none;align-content:start;gap:10px;padding:14px;display:grid}.face-studio[data-v-e42b86d7]{background:var(--color-surface,#fff);height:100%;min-height:0;color:var(--color-text-primary,#333);display:flex}.people-search[data-v-e42b86d7]{border:1px solid var(--color-border,#dfe3e8);background:var(--color-surface,#fff);color:inherit;font:inherit;border-radius:7px;margin:0 12px 10px;padding:9px 10px;font-size:13px}.picker-search[data-v-e42b86d7]{flex:280px;width:100%;min-width:min(100%,240px);max-width:360px;margin:0;display:block}.person-profile[data-v-e42b86d7]{border-bottom:1px solid var(--color-border,#e2e5e9);flex-wrap:wrap;align-items:center;gap:15px;padding:14px 20px;display:flex;position:relative}.profile-main[data-v-e42b86d7]{flex:1;min-width:0}.profile-title-row[data-v-e42b86d7]{align-items:center;gap:7px;min-height:29px;display:flex}.profile-title-row h1[data-v-e42b86d7]{text-overflow:ellipsis;white-space:nowrap;cursor:text;width:fit-content;max-width:100%;margin:0;font-size:21px;font-weight:700;line-height:1.3;overflow:hidden}.back-to-people[data-v-e42b86d7]{flex:none;width:30px;height:30px;min-height:30px;padding:0}.profile-name-input[data-v-e42b86d7]{box-sizing:border-box;border:1px solid var(--color-info,#2196f3);background:var(--color-surface,#fff);width:min(360px,100%);height:29px;color:inherit;font:inherit;border-left:0;border-radius:4px;outline:0;padding:0 5px 0 0;font-size:21px;font-weight:700;line-height:1.3;position:relative;top:-1px}.profile-main>p[data-v-e42b86d7]{color:var(--color-text-secondary,#68717b);margin:4px 0 0;font-size:12px}.profile-tags[data-v-e42b86d7]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.profile-tag[data-v-e42b86d7]{border:1px solid color-mix(in srgb, var(--tag-color) 38%, transparent);background:color-mix(in srgb, var(--tag-color) 13%, white);color:var(--tag-color);border-radius:99px;align-items:center;gap:4px;padding:4px 7px;font-size:11px;font-weight:600;display:inline-flex}.profile-tag button[data-v-e42b86d7]{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.tag-selector-anchor[data-v-e42b86d7]{position:relative}.delete-person-button[data-v-e42b86d7]{flex-shrink:0}.delete-person-button[data-v-e42b86d7] .app-btn{width:34px;min-width:34px;padding:0}.profile-tabs-row[data-v-e42b86d7]{border-bottom:1px solid var(--color-border,#e2e5e9);justify-content:space-between;align-items:stretch;gap:8px;padding:0 18px;display:flex}.profile-tabs[data-v-e42b86d7]{flex:1 0;gap:4px;min-width:0;display:flex}.profile-tabs-row[data-v-e42b86d7]>.app-btn{flex-shrink:0;align-self:center}.profile-tabs button[data-v-e42b86d7]{color:var(--color-text-secondary,#68717b);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:12px 10px 10px;font-size:13px;display:flex}.profile-tabs button.active[data-v-e42b86d7]{border-bottom-color:var(--color-info,#2196f3);color:var(--color-info,#1769aa);font-weight:700}.profile-tabs button span[data-v-e42b86d7]{background:var(--color-surface-variant,#eee);border-radius:99px;padding:2px 6px;font-size:11px}.confirmed-panel[data-v-e42b86d7]{flex:1;min-height:0;padding:16px 20px;position:relative;overflow-y:auto}.confirmed-grid[data-v-e42b86d7]{gap:12px;display:grid}.confirmed-face[data-v-e42b86d7]{aspect-ratio:1;min-width:0;position:relative;container-type:inline-size}.confirmed-face-photo[data-v-e42b86d7]{background:var(--color-gallery-muted-bg,#f5f5f5);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;padding:0;position:absolute;inset:0;overflow:hidden}.confirmed-face-photo[data-v-e42b86d7] .face-thumbnail{border-radius:10px;position:absolute;inset:0;overflow:hidden;width:100%!important;height:100%!important}.confirmed-face-date[data-v-e42b86d7]{color:#fff;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#000000ad);padding:16px 7px 6px;font-size:11px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.confirmed-face-current[data-v-e42b86d7]{background:var(--color-success,#4caf50);color:#fff;pointer-events:none;border-radius:6px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:6px;left:6px}.confirmed-face-actions[data-v-e42b86d7]{position:absolute;bottom:6px;right:6px}.confirmed-action-btn[data-v-e42b86d7]{color:#333;cursor:pointer;background:#ffffffe6;border:1px solid #00000026;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.confirmed-action-btn[data-v-e42b86d7]:hover{background:#fff}.confirmed-action-btn[data-v-e42b86d7]:disabled{opacity:.55;cursor:default}.confirmed-menu-btn[data-v-e42b86d7],.confirmed-actions-list[data-v-e42b86d7]{display:none}.confirmed-actions-list[data-v-e42b86d7]{gap:4px}.confirmed-face:hover .confirmed-actions-list[data-v-e42b86d7],.confirmed-face:focus-within .confirmed-actions-list[data-v-e42b86d7]{display:flex}@container (width<=120px){.confirmed-menu-btn[data-v-e42b86d7]{display:flex}.confirmed-face:hover .confirmed-actions-list[data-v-e42b86d7]:not(.open),.confirmed-face:focus-within .confirmed-actions-list[data-v-e42b86d7]:not(.open){display:none}.confirmed-actions-list.open[data-v-e42b86d7]{border:1px solid var(--color-border,#e9ecef);z-index:5;background:#fff;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0}}.confirmed-face[data-v-e42b86d7]:has(.confirmed-actions-list.open){z-index:10}.confirmed-empty[data-v-e42b86d7]{color:var(--color-text-secondary,#68717b);text-align:center;padding:28px}.confirmed-more[data-v-e42b86d7]{margin:18px auto;display:flex}.person-picker[data-v-e42b86d7]{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.picker-header[data-v-e42b86d7]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.picker-title h2[data-v-e42b86d7]{color:var(--color-text-primary,#333);margin:0;font-size:18px}.picker-subtitle[data-v-e42b86d7]{color:var(--color-text-secondary,#666);margin:4px 0 0;font-size:13px}.picker-empty[data-v-e42b86d7]{color:var(--color-text-secondary,#666);padding:40px 14px;font-size:14px}.picker-loading[data-v-e42b86d7]{justify-content:center;align-items:center;gap:12px;display:flex}.picker-controls[data-v-e42b86d7]{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px;display:flex}.picker-filters[data-v-e42b86d7]{flex-wrap:wrap;gap:6px;display:flex}.picker-filters button[data-v-e42b86d7]{border:1px solid var(--color-border,#e9ecef);background:var(--color-surface,#fff);color:var(--color-text-secondary,#666);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:7px 11px;font-size:13px;display:inline-flex}.picker-filters button.active[data-v-e42b86d7]{border-color:var(--color-info,#2196f3);background:color-mix(in srgb, var(--color-info,#2196f3) 10%, var(--color-surface,#fff));color:var(--color-info,#1769aa);font-weight:700}.picker-filters button span[data-v-e42b86d7]{background:var(--color-surface-variant,#eee);border-radius:99px;padding:1px 6px;font-size:11px}.picker-grid[data-v-e42b86d7]{grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:18px;display:grid}.picker-card[data-v-e42b86d7]{border:1px solid var(--color-border,#e9ecef);background:var(--color-surface,#fff);min-width:0;box-shadow:var(--shadow-sm,0 2px 4px #0000001a);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:stretch;gap:7px;padding:8px 8px 12px;transition:border-color .15s,box-shadow .15s,transform 50ms;display:flex}.picker-card[data-v-e42b86d7]:hover{border-color:var(--color-info,#2196f3);box-shadow:0 4px 12px #0000001f}.picker-card[data-v-e42b86d7]:active{transform:translateY(1px)}.picker-photo[data-v-e42b86d7]{aspect-ratio:1;background:var(--color-surface-variant,#eee);border-radius:9px;width:100%;display:block;position:relative;overflow:hidden}.picker-photo[data-v-e42b86d7] .face-thumbnail{width:100%!important;height:100%!important}.picker-photo.is-deleted-queue[data-v-e42b86d7]{background:color-mix(in srgb, var(--color-danger,#d32f2f) 12%, var(--color-surface,#fff));color:var(--color-danger,#d32f2f)}.picker-deleted-icon[data-v-e42b86d7]{place-items:center;width:100%;height:100%;display:grid}.picker-pending[data-v-e42b86d7]{background:var(--color-info,#2196f3);color:#fff;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:700;position:absolute;top:8px;right:8px}.is-deleted-queue .picker-pending[data-v-e42b86d7]{background:var(--color-danger,#d32f2f)}.picker-name[data-v-e42b86d7]{color:var(--color-text-primary,#333);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:16px;font-weight:600;overflow:hidden}.studio-main[data-v-e42b86d7]{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.grid-config-row[data-v-e42b86d7],.studio-toolbar[data-v-e42b86d7]{border-bottom:1px solid var(--color-border,#e9ecef);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;padding:10px 14px;display:flex}.grid-config-row[data-v-e42b86d7]{flex-shrink:0}.grid-config-row .toolbar-label[data-v-e42b86d7]{margin-right:2px}.toolbar-person[data-v-e42b86d7]{border:1px solid var(--color-border,#e9ecef);background:var(--color-surface,#fff);color:inherit;cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 6px;transition:border-color .15s,background .15s;display:flex}.toolbar-person[data-v-e42b86d7]:hover{border-color:var(--color-info,#2196f3);background:var(--color-gallery-muted-bg,#f5f5f5)}.toolbar-person-back[data-v-e42b86d7]{color:var(--color-text-secondary,#666);flex-shrink:0}.toolbar-person-info[data-v-e42b86d7]{flex-direction:column;line-height:1.2;display:flex}.toolbar-person-info span[data-v-e42b86d7]{color:var(--color-text-secondary,#666);font-size:11px}.toolbar-group[data-v-e42b86d7]{align-items:center;gap:6px;display:flex}.toolbar-label[data-v-e42b86d7]{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary,#666);font-size:11px}.toolbar-spacer[data-v-e42b86d7]{flex:1}.validation-actions[data-v-e42b86d7]{align-items:stretch;margin-left:auto;display:flex;position:relative}.validation-actions[data-v-e42b86d7] .app-btn,.validation-actions[data-v-e42b86d7] button{border-radius:0}.validation-actions[data-v-e42b86d7] .app-btn{border-radius:6px 0 0 6px}.validation-menu-trigger[data-v-e42b86d7]{background:var(--color-success,#2e7d32);color:#fff;cursor:pointer;border:0;border-left:1px solid #ffffff59;justify-content:center;align-items:center;min-width:28px;padding:0 7px;display:inline-flex;border-radius:0 6px 6px 0!important}.validation-menu-trigger[data-v-e42b86d7]:hover:not(:disabled){background:color-mix(in srgb, var(--color-success,#2e7d32) 88%, black)}.validation-menu-trigger[data-v-e42b86d7]:disabled{opacity:.55;cursor:not-allowed}.validation-menu[data-v-e42b86d7]{z-index:20;box-sizing:border-box;border:1px solid var(--color-border,#e0e0e0);background:var(--color-surface,#fff);border-radius:8px;min-width:270px;max-width:calc(100vw - 28px);padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 22px #00000029}.validation-menu button[data-v-e42b86d7]{width:100%;color:var(--color-text-primary,#333);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:flex-start;gap:9px;padding:9px 10px;display:flex}.validation-menu button[data-v-e42b86d7]:hover{background:var(--color-gallery-muted-bg,#f5f5f5)}.validation-menu button[data-v-e42b86d7]>:first-child{color:var(--color-success,#2e7d32);flex:none;margin-top:2px}.validation-menu span[data-v-e42b86d7]{flex-direction:column;gap:2px;display:flex}.validation-menu small[data-v-e42b86d7]{color:var(--color-text-secondary,#666);font-size:11px}@media (width<=820px){.validation-menu[data-v-e42b86d7]{width:min(270px,100vw - 28px);min-width:0}}@media (width<=1200px){.settings-toggle-btn[data-v-e42b86d7] .btn-text{display:none}}@media (width<=900px){.validate-btn-label[data-v-e42b86d7]{display:none}}.cols-value[data-v-e42b86d7]{text-align:center;min-width:20px;color:var(--color-text-primary,#333);font-size:12px;font-weight:600}.studio-main[data-v-e42b86d7] .confirm-grid{min-height:0}.grid-scroll[data-v-e42b86d7]{flex:1;min-height:0;position:relative;overflow-y:auto}.validation-progress[data-v-e42b86d7]{box-sizing:border-box;min-height:100%;color:var(--color-text-primary,#333);justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.validation-progress-details[data-v-e42b86d7]{flex-direction:column;align-items:flex-start;gap:8px;font-size:14px;display:flex}.validation-progress-details[data-v-e42b86d7] .app-badge{padding:6px 10px;font-size:13px}.studio-loading-overlay[data-v-e42b86d7]{z-index:5;background:color-mix(in srgb, var(--color-surface,#fff) 65%, transparent);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.studio-placeholder[data-v-e42b86d7]{color:var(--color-text-secondary,#666);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.studio-placeholder.small[data-v-e42b86d7]{flex:0;padding:30px}.studio-footer[data-v-e42b86d7]{border-top:1px solid var(--color-border,#e9ecef);flex-shrink:0;align-items:center;gap:16px;padding:10px 14px;display:flex}.hint[data-v-e42b86d7]{color:var(--color-text-secondary,#666);font-size:11px}.count-badge[data-v-e42b86d7]{color:var(--color-text-secondary,#666);background:var(--color-gallery-muted-bg,#f5f5f5);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.count-badge.removed[data-v-e42b86d7]{color:var(--color-danger,#d32f2f);background:#d32f2f1a}.count-badge.selected[data-v-e42b86d7]{min-height:32px;color:var(--color-info,#2196f3);background:#2196f31f;align-items:center;gap:6px;padding:0 6px 0 12px;display:inline-flex}.badge-clear[data-v-e42b86d7]{width:18px;height:18px;color:inherit;cursor:pointer;background:#2196f32e;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s;display:inline-flex}.badge-clear[data-v-e42b86d7]:hover{background:#2196f357}.footer-actions[data-v-e42b86d7]{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.bulk-person-selector-anchor[data-v-e42b86d7]{position:relative}.footer-actions[data-v-e42b86d7] .btn-text{align-items:center;gap:6px;display:inline-flex}.footer-actions[data-v-e42b86d7] .sel-action-type{flex-shrink:0}.selector-overlay[data-v-e42b86d7]{z-index:10040;background:0 0;position:fixed;inset:0}@media (width<=1222px){.sel-action-label[data-v-e42b86d7]{display:none}}@media (width<=820px){.person-profile[data-v-e42b86d7]{grid-template-columns:80px minmax(0,1fr) 34px;align-items:start;gap:10px;padding:12px;display:grid}.profile-main[data-v-e42b86d7]{flex-basis:auto;grid-area:1/2}.profile-title-row h1[data-v-e42b86d7],.profile-name-input[data-v-e42b86d7]{font-size:18px}.delete-person-button[data-v-e42b86d7]{grid-area:1/3;margin:0}.profile-tabs-row[data-v-e42b86d7]{gap:4px;padding:0 8px}.profile-tabs[data-v-e42b86d7]{gap:0}.profile-tabs button[data-v-e42b86d7]{white-space:nowrap;gap:4px;padding:10px 6px 8px;font-size:12px}.profile-tabs-row[data-v-e42b86d7]>.app-btn{min-width:30px}.grid-config-row[data-v-e42b86d7]{gap:8px;padding:8px 10px}.confirmed-panel[data-v-e42b86d7]{padding:12px}.confirmed-grid[data-v-e42b86d7]{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.person-picker[data-v-e42b86d7]{padding:14px}.picker-grid[data-v-e42b86d7]{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}}.login-container[data-v-6dfa490d]{background-color:var(--color-gallery-sidebar-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-6dfa490d]{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 10px 25px #0000000d}.login-logo[data-v-6dfa490d]{margin-bottom:1rem}h1[data-v-6dfa490d]{color:var(--color-info);margin-bottom:.5rem;font-size:2rem}p[data-v-6dfa490d]{color:var(--color-text-secondary);margin-bottom:2rem}.setup-msg[data-v-6dfa490d]{color:var(--color-success);font-weight:700}.form-group[data-v-6dfa490d]{text-align:left;margin-bottom:1.5rem}label[data-v-6dfa490d]{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:600;display:block}input[data-v-6dfa490d]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}input[data-v-6dfa490d]:focus{border-color:var(--color-info);outline:none}.error-message[data-v-6dfa490d]{background-color:color-mix(in srgb, var(--color-danger) 16%, white);color:color-mix(in srgb, var(--color-danger) 75%, black);border-radius:6px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}button[data-v-6dfa490d]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .2s}button[data-v-6dfa490d]:hover:not(:disabled){background-color:var(--color-info-hover)}button[data-v-6dfa490d]:disabled{background-color:color-mix(in srgb, var(--color-info-soft) 75%, white);cursor:not-allowed}.register-link[data-v-6dfa490d]{color:var(--color-text-secondary);margin-top:1.5rem;font-size:.9rem}.register-link a[data-v-6dfa490d]{color:var(--color-info);font-weight:600;text-decoration:none}.register-link a[data-v-6dfa490d]:hover{text-decoration:underline}.divider[data-v-6dfa490d]{align-items:center;margin:1.5rem 0;display:flex}.divider[data-v-6dfa490d]:before,.divider[data-v-6dfa490d]:after{content:"";border-bottom:1px solid var(--color-border);flex:1}.divider span[data-v-6dfa490d]{color:var(--color-text-secondary);padding:0 1rem;font-size:.9rem}.g_id_signin[data-v-6dfa490d]{justify-content:center;display:flex}.google-signin-container[data-v-6dfa490d]{justify-content:center;width:100%;display:flex}.register-container[data-v-08b9ea41]{background-color:var(--color-gallery-sidebar-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.register-card[data-v-08b9ea41]{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 10px 25px #0000000d}.login-logo[data-v-08b9ea41]{margin-bottom:1rem}h1[data-v-08b9ea41]{color:var(--color-info);margin-bottom:.5rem;font-size:2rem}p[data-v-08b9ea41]{color:var(--color-text-secondary);margin-bottom:2rem}.form-group[data-v-08b9ea41]{text-align:left;margin-bottom:1.25rem}label[data-v-08b9ea41]{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:600;display:block}input[data-v-08b9ea41]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}input[data-v-08b9ea41]:focus{border-color:var(--color-info);outline:none}.error-message[data-v-08b9ea41]{background-color:color-mix(in srgb, var(--color-danger) 16%, white);color:color-mix(in srgb, var(--color-danger) 75%, black);border-radius:6px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.info-message[data-v-08b9ea41]{background-color:var(--color-info-soft);color:color-mix(in srgb, var(--color-info) 65%, var(--color-indigo-deep));border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.invitation-details[data-v-08b9ea41]{background-color:color-mix(in srgb, var(--color-success-soft) 65%, white);border:1px solid color-mix(in srgb, var(--color-success-soft) 55%, white);color:color-mix(in srgb, var(--color-success) 60%, black);border-radius:8px;margin-bottom:1.2rem;padding:.9rem}.invitation-text[data-v-08b9ea41]{color:color-mix(in srgb, var(--color-success) 60%, black);margin:0 0 .4rem}.invitation-expiry[data-v-08b9ea41]{color:color-mix(in srgb, var(--color-success) 50%, black);margin:0;font-size:.9rem}button[data-v-08b9ea41]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-bottom:1.5rem;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .2s}button[data-v-08b9ea41]:hover:not(:disabled){background-color:var(--color-info-hover)}button[data-v-08b9ea41]:disabled{background-color:color-mix(in srgb, var(--color-info-soft) 75%, white);cursor:not-allowed}.login-link[data-v-08b9ea41]{color:var(--color-text-secondary);font-size:.9rem}.login-link a[data-v-08b9ea41]{color:var(--color-info);font-weight:600;text-decoration:none}.login-link a[data-v-08b9ea41]:hover{text-decoration:underline}.app-popup-overlay[data-v-aaf44b3f]{background:color-mix(in srgb, var(--color-ink-950) 45%, transparent);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.app-popup-panel[data-v-aaf44b3f]{background:var(--color-surface);width:min(460px,100%);box-shadow:0 24px 48px color-mix(in srgb, var(--color-ink-950) 24%, transparent);border-radius:12px;padding:18px}.popup-fade-enter-active[data-v-aaf44b3f],.popup-fade-leave-active[data-v-aaf44b3f]{transition:opacity .2s}.popup-fade-enter-from[data-v-aaf44b3f],.popup-fade-leave-to[data-v-aaf44b3f]{opacity:0}.settings-content[data-v-215ccfcc]{height:100%;overflow:hidden}.settings-main[data-v-215ccfcc]{background-color:#fff;flex:1;min-width:0;height:100%;overflow-y:auto}.settings-content-wrapper[data-v-215ccfcc]{box-sizing:border-box;max-width:900px;margin:0 auto;padding:30px 40px}.account-layout[data-v-215ccfcc]{max-width:none}.settings-header-banner[data-v-215ccfcc]{margin-bottom:24px}.settings-header-banner h1[data-v-215ccfcc]{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.settings-subtitle[data-v-215ccfcc]{color:var(--color-text-secondary);margin:6px 0 0;font-size:14px}.account-card[data-v-215ccfcc]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:20px;padding:20px}.account-card h2[data-v-215ccfcc]{color:var(--color-text-primary);margin:0 0 10px;font-size:18px}h3[data-v-215ccfcc]{color:var(--color-text-primary);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.1rem}p[data-v-215ccfcc]{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.95rem}.section-hint[data-v-215ccfcc]{margin-bottom:1rem;font-size:.85rem;font-style:italic}.google-status[data-v-215ccfcc]{margin-bottom:1rem}.google-status-unlinked[data-v-215ccfcc]{background-color:color-mix(in srgb, var(--color-surface) 80%, var(--color-info-soft));color:color-mix(in srgb, var(--color-text-primary) 70%, var(--color-ink-950));border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.google-signin-container[data-v-215ccfcc]{min-height:42px}hr[data-v-215ccfcc]{border:0;border-top:1px solid var(--color-border);margin:1.5rem 0}.form-actions[data-v-215ccfcc]{gap:.6rem;margin-top:1rem;display:flex}.password-ready-message[data-v-215ccfcc]{background-color:color-mix(in srgb, var(--color-info-soft) 70%, white);color:color-mix(in srgb, var(--color-info) 68%, var(--color-indigo-deep));border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.password-modal-title[data-v-215ccfcc]{color:var(--color-ink-950);margin:0;font-size:1.1rem}.password-modal-hint[data-v-215ccfcc]{margin-top:.6rem;margin-bottom:1rem;font-size:.9rem}.password-modal-actions[data-v-215ccfcc]{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.form-group[data-v-215ccfcc]{text-align:left;margin-bottom:1.25rem}.checkbox-group[data-v-215ccfcc]{margin-top:.5rem}.checkbox-label[data-v-215ccfcc]{cursor:pointer;align-items:center;gap:.6rem;font-weight:500;display:inline-flex}.checkbox-label input[type=checkbox][data-v-215ccfcc]{width:16px;height:16px}label[data-v-215ccfcc]{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:600;display:block}input[data-v-215ccfcc]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}input[data-v-215ccfcc]:focus{border-color:var(--color-info);outline:none}.error-message[data-v-215ccfcc]{background-color:color-mix(in srgb, var(--color-danger) 16%, white);color:color-mix(in srgb, var(--color-danger) 75%, black);border-radius:6px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.success-message[data-v-215ccfcc]{background-color:color-mix(in srgb, var(--color-success-soft) 70%, white);color:color-mix(in srgb, var(--color-success) 78%, var(--color-success-deep));border-radius:6px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}@media (width<=768px){.settings-content-wrapper[data-v-215ccfcc]{padding:20px}.account-card[data-v-215ccfcc]{padding:16px}}.friends-content[data-v-2ca556f8]{height:100%;overflow:hidden}.friends-main[data-v-2ca556f8]{background-color:var(--color-surface);flex:1;min-width:0;height:100%;overflow-y:auto}.friends-content-wrapper[data-v-2ca556f8]{max-width:1000px;margin:0 auto;padding:30px 40px 100px}.friends-layout[data-v-2ca556f8]{max-width:none}.friends-header-banner[data-v-2ca556f8]{margin-bottom:30px}.friends-header-banner h1[data-v-2ca556f8]{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.friends-subtitle[data-v-2ca556f8]{color:var(--color-text-secondary);margin:5px 0 0;font-size:14px}.section-header-main[data-v-2ca556f8]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:40px;margin-bottom:20px;padding-bottom:10px;display:flex}.section-header-main h2[data-v-2ca556f8]{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.count-badge[data-v-2ca556f8]{background:var(--color-gallery-item-hover);color:var(--color-text-secondary);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.add-friend-form[data-v-2ca556f8]{background-color:var(--color-gallery-sidebar-bg);border:1px solid var(--color-border);border-radius:12px;gap:12px;padding:20px;display:flex}.form-input[data-v-2ca556f8]{border:1px solid var(--color-border);border-radius:6px;flex:1;padding:10px 12px;font-size:14px}.btn-save[data-v-2ca556f8]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500}.btn-save[data-v-2ca556f8]:disabled{background-color:color-mix(in srgb, var(--color-info-soft) 75%, white);cursor:not-allowed}.error-message[data-v-2ca556f8]{color:var(--color-danger);margin-top:10px;font-size:14px}.requests-list[data-v-2ca556f8]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;display:grid}.request-item[data-v-2ca556f8]{background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));border:1px solid color-mix(in srgb, var(--color-border) 70%, var(--color-info));border-radius:10px;flex-direction:column;gap:15px;padding:15px;display:flex}.request-item.sent[data-v-2ca556f8]{background:var(--color-gallery-sidebar-bg);border-color:var(--color-border)}.user-info[data-v-2ca556f8]{align-items:center;gap:12px;display:flex}.user-info-link[data-v-2ca556f8]{color:inherit;text-decoration:none;display:block}.user-info-link:hover .display-name[data-v-2ca556f8]{color:var(--color-info);text-decoration:underline}.avatar-placeholder[data-v-2ca556f8]{background:var(--color-info);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.avatar-placeholder.small[data-v-2ca556f8]{width:32px;height:32px;font-size:14px}.user-details[data-v-2ca556f8]{flex-direction:column;display:flex}.display-name[data-v-2ca556f8]{color:var(--color-text-primary);font-size:14px;font-weight:600}.username[data-v-2ca556f8]{color:var(--color-text-secondary);font-size:12px}.request-actions[data-v-2ca556f8]{gap:8px;display:flex}.request-actions button[data-v-2ca556f8]{flex:1}[data-v-2ca556f8] .friends-list-section .app-data-table th.friends-col-since,[data-v-2ca556f8] .friends-list-section .app-data-table td.friends-col-since{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:112px!important;min-width:112px!important;max-width:112px!important}.btn-edit[data-v-2ca556f8]{background-color:var(--color-info-soft);color:var(--color-info-hover);cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500}.btn-delete[data-v-2ca556f8]{background-color:color-mix(in srgb, var(--color-danger) 12%, white);color:color-mix(in srgb, var(--color-danger) 80%, black);cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500}.friend-tags-list[data-v-2ca556f8]{justify-content:flex-end;align-items:center;gap:6px;width:100%;display:flex}.friend-tags-badges[data-v-2ca556f8]{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.tag-badge-container[data-v-2ca556f8]{display:flex}.tag-badge[data-v-2ca556f8]{border:1px solid #0000;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag-remove[data-v-2ca556f8]{cursor:pointer;opacity:.6;font-size:14px;line-height:1}.tag-remove[data-v-2ca556f8]:hover{opacity:1}.empty-state[data-v-2ca556f8]{text-align:center;color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));border-radius:12px;padding:40px}.modal-overlay[data-v-2ca556f8]{background:var(--color-dark-backdrop-50);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-2ca556f8]{width:90%;max-width:450px;box-shadow:0 10px 25px var(--color-dark-backdrop-20);background:#fff;border-radius:12px;overflow:hidden}.modal-header[data-v-2ca556f8]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.modal-header h3[data-v-2ca556f8]{color:var(--color-text-primary);margin:0;font-size:18px}.close-btn[data-v-2ca556f8]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;font-size:24px}.modal-body[data-v-2ca556f8]{padding:20px}.form-group[data-v-2ca556f8]{margin-bottom:20px}.form-group label[data-v-2ca556f8]{color:var(--color-dark-border-strong);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.checkbox-group[data-v-2ca556f8]{align-items:center;gap:10px;display:flex}.checkbox-group label[data-v-2ca556f8]{margin-bottom:0}.modal-footer[data-v-2ca556f8]{border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));justify-content:flex-end;gap:10px;padding:15px 20px;display:flex}.btn-cancel[data-v-2ca556f8]{background:var(--color-border);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.tag-badge[data-v-2ca556f8]{cursor:pointer}.tag-badge[data-v-2ca556f8]:hover{filter:brightness(.95)}.mapping-section[data-v-2ca556f8]{margin-bottom:40px}.section-hint[data-v-2ca556f8]{color:var(--color-text-secondary);margin-bottom:20px;font-size:13px}.shared-persons-grid[data-v-2ca556f8]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.shared-person-card[data-v-2ca556f8]{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.person-thumb-container[data-v-2ca556f8]{background:var(--color-gallery-muted-bg);justify-content:center;align-items:center;height:120px;display:flex}.person-thumb[data-v-2ca556f8]{object-fit:cover;width:100%;height:100%}.person-thumb-placeholder[data-v-2ca556f8]{color:var(--color-gallery-neutral);font-size:40px}.person-info[data-v-2ca556f8]{flex:1;padding:12px}.person-name[data-v-2ca556f8]{color:var(--color-text-primary);font-size:14px;font-weight:600}.friend-source[data-v-2ca556f8]{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.mapping-info[data-v-2ca556f8]{background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));border-radius:6px;align-items:center;gap:6px;margin-top:10px;padding:4px 8px;font-size:12px;display:flex}.mapped-name[data-v-2ca556f8]{color:var(--color-info-hover);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.person-actions[data-v-2ca556f8]{border-top:1px solid var(--color-gallery-muted-bg);padding:10px 12px}.person-actions button[data-v-2ca556f8]{width:100%}.shared-person-preview[data-v-2ca556f8]{background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));border-radius:8px;margin-bottom:20px;padding:10px}.person-info-small[data-v-2ca556f8]{align-items:center;gap:12px;display:flex}.thumb-small[data-v-2ca556f8]{object-fit:cover;border-radius:50%;width:40px;height:40px}.text-muted[data-v-2ca556f8]{color:var(--color-text-secondary);font-size:12px}.mapping-actions-modal[data-v-2ca556f8]{margin-top:10px}.btn-delete-link[data-v-2ca556f8]{color:color-mix(in srgb, var(--color-danger) 80%, black);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.btn-delete-link[data-v-2ca556f8]:hover{color:color-mix(in srgb, var(--color-danger) 72%, black)}.card-highlighted[data-v-2ca556f8]{transition:all .3s;border-left:4px solid var(--color-warning)!important;background-color:color-mix(in srgb, var(--color-warning) 5%, transparent)!important;box-shadow:0 0 8px color-mix(in srgb, var(--color-warning) 20%, transparent)!important}tr.card-highlighted[data-v-2ca556f8],.shared-person-card.card-highlighted[data-v-2ca556f8]{border-left:4px solid var(--color-warning)}.friend-detail-content[data-v-d6e258f7]{height:100%;overflow:hidden}.friend-detail-main[data-v-d6e258f7]{background-color:var(--color-surface);height:100%;overflow-y:auto}.friend-detail-wrapper[data-v-d6e258f7]{max-width:1000px;margin:0 auto;padding:30px 40px 100px}.header-navigation[data-v-d6e258f7]{margin-bottom:30px}.btn-back[data-v-d6e258f7]{color:var(--color-info);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:500;display:flex}.btn-back[data-v-d6e258f7]:hover{text-decoration:underline}.friend-header-card[data-v-d6e258f7]{background:var(--color-gallery-sidebar-bg);border:1px solid var(--color-border);border-radius:16px;align-items:center;gap:25px;margin-bottom:40px;padding:30px;display:flex}.user-avatar-large[data-v-d6e258f7]{background:var(--color-info);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:32px;font-weight:700;display:flex}.user-info-large h1[data-v-d6e258f7]{color:var(--color-text-primary);margin:0;font-size:28px}.username-large[data-v-d6e258f7]{color:var(--color-text-secondary);margin-top:4px;font-size:16px}.friendship-meta[data-v-d6e258f7]{color:var(--color-text-secondary);margin-top:10px;font-size:14px}.section-header[data-v-d6e258f7]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;display:flex}.section-header h2[data-v-d6e258f7]{color:var(--color-text-primary);margin:0;font-size:20px}.count-badge[data-v-d6e258f7]{background:var(--color-gallery-item-hover);color:var(--color-text-secondary);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.shared-persons-container[data-v-d6e258f7]{border:1px solid var(--color-border);background:#fff;border-radius:12px}.shared-persons-table[data-v-d6e258f7]{border-collapse:collapse;text-align:left;width:100%}.shared-persons-table th[data-v-d6e258f7]{background:var(--color-gallery-sidebar-bg);color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);padding:12px 16px;font-size:13px;font-weight:600}.shared-persons-table td[data-v-d6e258f7]{border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-primary);padding:12px 16px;font-size:14px;position:relative}.person-row[data-v-d6e258f7]{cursor:pointer;transition:background-color .2s}.person-row[data-v-d6e258f7]:hover{background-color:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft))}.person-cell[data-v-d6e258f7]{align-items:center;gap:12px;display:flex}.thumb-mini-container[data-v-d6e258f7]{background:var(--color-gallery-item-hover);border-radius:8px;flex-shrink:0;width:40px;height:40px;overflow:hidden}.thumb-mini[data-v-d6e258f7]{object-fit:cover;width:100%;height:100%}.thumb-mini-placeholder[data-v-d6e258f7]{background:linear-gradient(135deg, var(--color-accent-indigo-start) 0%, var(--color-accent-indigo-end) 100%);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;font-weight:700;display:flex}.person-name-cell[data-v-d6e258f7]{color:color-mix(in srgb, var(--color-text-primary) 70%, var(--color-ink-950));font-weight:600}.text-center[data-v-d6e258f7]{text-align:center}.text-right[data-v-d6e258f7]{text-align:right}.shared-persons-table .text-right[data-v-d6e258f7]{white-space:nowrap;width:1%}.mapping-cell-container[data-v-d6e258f7]{position:relative}.mapping-trigger[data-v-d6e258f7]{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-width:140px;padding:6px 10px;transition:all .2s;display:flex}.mapping-trigger[data-v-d6e258f7]:hover{border-color:var(--color-info);background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft))}.mapping-trigger.is-active[data-v-d6e258f7]{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 10%, transparent)}.mapping-trigger.has-mapping[data-v-d6e258f7]{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 20%, transparent);background:color-mix(in srgb, var(--color-success) 5%, transparent);font-weight:500}.mapping-trigger.has-mapping[data-v-d6e258f7]:hover{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, transparent)}.mapping-icon[data-v-d6e258f7]{font-size:14px}.mapped-name-text[data-v-d6e258f7]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.no-mapping[data-v-d6e258f7]{color:var(--color-text-secondary);flex:1;font-size:13px;font-style:italic}.dropdown-arrow[data-v-d6e258f7]{color:var(--color-gallery-neutral);font-size:9px;transition:transform .2s}.mapping-trigger.is-active .dropdown-arrow[data-v-d6e258f7]{transform:rotate(180deg)}.mapping-dropdown[data-v-d6e258f7]{z-index:100;width:250px;margin-top:4px;position:absolute;top:100%;right:0}.action-buttons-table[data-v-d6e258f7]{justify-content:flex-end;gap:8px;display:flex}.btn-table-action[data-v-d6e258f7]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex}.btn-table-action[data-v-d6e258f7]:hover{border-color:var(--color-info);background:var(--color-info-soft);color:var(--color-info)}.loading-state[data-v-d6e258f7],.error-state[data-v-d6e258f7],.empty-state[data-v-d6e258f7]{text-align:center;color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));border-radius:12px;padding:60px}.error-state p[data-v-d6e258f7]{color:var(--color-danger);margin-bottom:20px}.btn-primary[data-v-d6e258f7]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px}.modal-overlay[data-v-d6e258f7]{background:var(--color-dark-backdrop-50);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-d6e258f7]{width:90%;max-width:450px;box-shadow:0 10px 25px var(--color-dark-backdrop-20);background:#fff;border-radius:12px;overflow:hidden}.modal-header[data-v-d6e258f7]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.modal-header h3[data-v-d6e258f7]{color:var(--color-text-primary);margin:0;font-size:18px}.close-btn[data-v-d6e258f7]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;font-size:24px}.modal-body[data-v-d6e258f7]{padding:20px}.form-group[data-v-d6e258f7]{margin-bottom:20px}.form-group label[data-v-d6e258f7]{color:var(--color-dark-border-strong);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-input[data-v-d6e258f7]{border:1px solid var(--color-border);box-sizing:border-box;border-radius:6px;width:100%;padding:10px 12px;font-size:14px}.modal-footer[data-v-d6e258f7]{border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));justify-content:flex-end;gap:10px;padding:15px 20px;display:flex}.btn-cancel[data-v-d6e258f7]{background:var(--color-border);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.btn-save[data-v-d6e258f7]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.btn-save[data-v-d6e258f7]:disabled{background-color:color-mix(in srgb, var(--color-info-soft) 75%, white);cursor:not-allowed}.mapping-info[data-v-d6e258f7]{background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:4px 8px;font-size:12px;display:flex}.mapped-name[data-v-d6e258f7]{color:var(--color-info-hover);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.btn-map-overlay[data-v-d6e258f7]{width:40px;height:40px;box-shadow:0 2px 8px var(--color-dark-backdrop-20);cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:10px;font-size:18px;display:flex}.btn-map-overlay[data-v-d6e258f7]:hover{background:color-mix(in srgb, var(--color-surface) 65%, var(--color-info-soft));transform:scale(1.1)}.shared-person-preview[data-v-d6e258f7]{background:color-mix(in srgb, var(--color-surface) 91%, var(--color-text-primary));border-radius:8px;margin-bottom:20px;padding:10px}.person-info-small[data-v-d6e258f7]{align-items:center;gap:12px;display:flex}.thumb-small[data-v-d6e258f7]{object-fit:cover;border-radius:50%;width:40px;height:40px}.text-muted[data-v-d6e258f7]{color:var(--color-text-secondary);font-size:12px}.mapping-actions-modal[data-v-d6e258f7]{margin-top:10px}.btn-delete-link[data-v-d6e258f7]{color:color-mix(in srgb, var(--color-danger) 80%, black);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.btn-delete-link[data-v-d6e258f7]:hover{color:color-mix(in srgb, var(--color-danger) 72%, black)}.settings-content[data-v-6a06867f]{height:100%;overflow:hidden}.settings-main[data-v-6a06867f]{background-color:var(--color-surface);flex:1;min-width:0;height:100%;overflow-y:auto}.settings-content-wrapper[data-v-6a06867f]{max-width:1000px;margin:0 auto;padding:30px 40px}.tags-layout[data-v-6a06867f]{max-width:none}.settings-header-banner[data-v-6a06867f]{margin-bottom:30px}.settings-header-banner h1[data-v-6a06867f]{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.settings-subtitle[data-v-6a06867f]{color:var(--color-text-secondary);margin:5px 0 0;font-size:14px}.form-container[data-v-6a06867f]{background-color:var(--color-gallery-sidebar-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:30px;padding:24px}.form-container h3[data-v-6a06867f]{color:var(--color-text-primary);margin-top:0;margin-bottom:20px;font-size:18px}.form-group[data-v-6a06867f]{margin-bottom:18px}.form-group label[data-v-6a06867f]{color:var(--color-dark-border);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input[data-v-6a06867f]{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-input[data-v-6a06867f]:focus{border-color:var(--color-info);outline:none}.color-input[data-v-6a06867f]{cursor:pointer;height:42px;padding:4px}.form-actions[data-v-6a06867f]{gap:12px;margin-top:24px;display:flex}.form-help[data-v-6a06867f]{color:var(--color-text-secondary);margin:0 0 10px;font-size:13px}.meta-tag-checkboxes[data-v-6a06867f]{flex-wrap:wrap;gap:8px;display:flex}.meta-tag-checkbox[data-v-6a06867f]{border:1px solid var(--color-border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:7px 9px;color:var(--color-text-primary)!important;margin:0!important;font-weight:400!important;display:inline-flex!important}.meta-tag-checkbox input[data-v-6a06867f]{margin:0}.meta-tag-list[data-v-6a06867f]{flex-wrap:wrap;gap:5px;display:flex}.meta-tag-badge[data-v-6a06867f],.system-badge[data-v-6a06867f]{border-radius:999px;align-items:center;font-size:12px;line-height:1;display:inline-flex}.meta-tag-badge[data-v-6a06867f]{color:var(--color-info-hover);background:var(--color-info-soft);padding:4px 8px}.system-badge[data-v-6a06867f]{color:var(--color-text-secondary);background:var(--color-gallery-muted-bg);padding:3px 6px}.inline-system-badge[data-v-6a06867f]{margin-left:7px}.empty-meta-tags[data-v-6a06867f],.reserved-label[data-v-6a06867f]{color:var(--color-text-secondary)}.meta-tags-section[data-v-6a06867f]{margin-top:36px}.section-title-row[data-v-6a06867f]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-title-row h2[data-v-6a06867f]{color:var(--color-text-primary);margin:0;font-size:20px}.meta-tag-form[data-v-6a06867f]{margin-bottom:20px}.actions-cell[data-v-6a06867f]{gap:6px;display:flex}.color-picker-row[data-v-6a06867f]{align-items:center;gap:8px;display:flex}.random-color-btn[data-v-6a06867f]{background:var(--color-gallery-muted-bg);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex}.error-message[data-v-6a06867f]{color:color-mix(in srgb, var(--color-danger) 80%, black);background-color:color-mix(in srgb, var(--color-danger) 12%, white);border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.user-management[data-v-a1e82925]{display:block}.management-main[data-v-a1e82925]{height:100%}.management-layout[data-v-a1e82925]{max-width:none}.section-card[data-v-a1e82925]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-bottom:18px;padding:16px}.section-header[data-v-a1e82925]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h3[data-v-a1e82925]{color:color-mix(in srgb, var(--color-text-primary) 75%, var(--color-ink-950));margin:0;font-size:1rem}.stats-bar[data-v-a1e82925]{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.invite-form[data-v-a1e82925]{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-group[data-v-a1e82925]{flex-direction:column;gap:6px;min-width:260px;display:flex}.form-group-small[data-v-a1e82925]{min-width:130px}.form-group label[data-v-a1e82925]{color:var(--color-dark-border-strong);font-size:.85rem;font-weight:600}.form-group input[data-v-a1e82925]{border:1px solid color-mix(in srgb, var(--color-border) 82%, var(--color-text-primary));border-radius:6px;padding:8px 10px;font-size:.9rem}.last-created-box[data-v-a1e82925]{background:color-mix(in srgb, var(--color-surface) 80%, var(--color-info-soft));border:1px solid color-mix(in srgb, var(--color-border) 78%, var(--color-info));border-radius:8px;margin-top:14px;padding:12px}.last-created-title[data-v-a1e82925]{color:color-mix(in srgb, var(--color-text-primary) 70%, var(--color-ink-950));margin-bottom:8px;font-size:.9rem;font-weight:600}.last-created-row[data-v-a1e82925]{color:color-mix(in srgb, var(--color-text-primary) 70%, var(--color-ink-950));gap:8px;margin-bottom:6px;font-size:.88rem;display:flex}.last-created-label[data-v-a1e82925]{font-weight:600}.link-row[data-v-a1e82925]{align-items:center;gap:8px;display:flex}.link-input[data-v-a1e82925]{border:1px solid color-mix(in srgb, var(--color-border) 76%, var(--color-info));color:color-mix(in srgb, var(--color-text-primary) 70%, var(--color-ink-950));border-radius:6px;flex:1;padding:7px 10px;font-size:.85rem}.username-cell[data-v-a1e82925]{align-items:center;gap:8px;display:flex}.username[data-v-a1e82925]{font-weight:500}.actions-cell[data-v-a1e82925]{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}[data-v-a1e82925] .table-grid td,[data-v-a1e82925] .table-grid th{overflow-wrap:anywhere}[data-v-a1e82925] .table-grid td:last-child{overflow:visible}@media (width<=900px){.stats-bar[data-v-a1e82925] .app-btn{margin-left:auto}}@media (width<=768px){.section-card[data-v-a1e82925]{padding:12px}.stats-bar[data-v-a1e82925]{gap:8px;margin-bottom:16px}.stats-bar[data-v-a1e82925] .app-btn{width:100%;margin-left:0}.invite-form[data-v-a1e82925]{flex-direction:column;align-items:stretch}.form-group[data-v-a1e82925],.form-group-small[data-v-a1e82925]{width:100%;min-width:0}.link-row[data-v-a1e82925]{flex-direction:column;align-items:stretch}.actions-cell[data-v-a1e82925]{gap:4px}}@media (width<=900px){.invite-form[data-v-a1e82925]{flex-direction:column;align-items:stretch}.form-group[data-v-a1e82925],.form-group-small[data-v-a1e82925]{min-width:100%}.actions-cell[data-v-a1e82925],.link-row[data-v-a1e82925]{flex-direction:column;align-items:stretch}}.callback-container[data-v-76273821]{background-color:var(--color-gallery-sidebar-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.callback-card[data-v-76273821]{text-align:center;background:#fff;border-radius:12px;max-width:400px;padding:3rem;box-shadow:0 10px 25px #0000000d}.processing[data-v-76273821]{flex-direction:column;align-items:center;gap:1rem;display:flex}.spinner[data-v-76273821]{border:4px solid var(--color-border);border-top:4px solid color-mix(in srgb, var(--color-info) 80%, white);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin-76273821}@keyframes spin-76273821{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing p[data-v-76273821]{color:var(--color-text-secondary);margin:0}.error[data-v-76273821]{flex-direction:column;align-items:center;gap:1rem;display:flex}.error-icon[data-v-76273821]{font-size:48px}.error p[data-v-76273821]{color:color-mix(in srgb, var(--color-danger) 75%, black);margin:0}.success[data-v-76273821]{flex-direction:column;align-items:center;gap:1rem;display:flex}.success-icon[data-v-76273821]{color:color-mix(in srgb, var(--color-success) 70%, black);background:var(--color-success-soft);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:48px;display:flex}.success p[data-v-76273821]{color:color-mix(in srgb, var(--color-success) 70%, black);margin:0;font-weight:500}.closing[data-v-76273821]{font-size:14px;color:var(--color-text-secondary)!important;font-weight:400!important}.btn-close[data-v-76273821]{background-color:var(--color-gallery-muted-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;margin-top:1rem;padding:10px 24px;font-size:14px}.btn-close[data-v-76273821]:hover{background-color:var(--color-border)eee}.shared-links-container[data-v-c0d9a701]{height:100%;overflow:hidden}.shared-links-main[data-v-c0d9a701]{height:100%}.shared-links-wrapper[data-v-c0d9a701]{max-width:1200px}.shared-links-layout[data-v-c0d9a701]{max-width:none}.shared-links-header[data-v-c0d9a701]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.shared-links-subtitle[data-v-c0d9a701]{color:var(--color-text-secondary);margin:6px 0 0;font-size:14px}.shared-links-header h1[data-v-c0d9a701]{margin:0;font-size:24px;font-weight:600}.header-stats[data-v-c0d9a701]{color:var(--color-text-secondary);align-items:center;gap:10px;font-size:14px;display:flex}.refreshing-hint[data-v-c0d9a701]{color:color-mix(in srgb, var(--color-warning) 55%, black);font-size:12px}.loading[data-v-c0d9a701],.error[data-v-c0d9a701],.empty-state[data-v-c0d9a701]{text-align:center;color:var(--color-text-secondary);padding:40px}.error[data-v-c0d9a701]{color:color-mix(in srgb, var(--color-danger) 80%, black)}.empty-state .hint[data-v-c0d9a701]{color:var(--color-text-secondary);margin-top:8px;font-size:14px}.links-list[data-v-c0d9a701]{flex-direction:column;gap:16px;display:flex}.links-list-sentinel[data-v-c0d9a701]{width:100%;height:1px}.loading-more[data-v-c0d9a701],.load-more-row[data-v-c0d9a701]{text-align:center;color:var(--color-text-secondary);padding:8px 0 2px}.link-card[data-v-c0d9a701]{border:1px solid var(--color-border);background:#fff;border-radius:12px;transition:box-shadow .2s;display:flex;overflow:visible}.link-card.link-highlighted[data-v-c0d9a701]{border-color:var(--color-warning);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-warning) 25%, transparent), 0 8px 22px color-mix(in srgb, var(--color-warning) 16%, transparent)}.link-card[data-v-c0d9a701]:hover{box-shadow:0 4px 12px #0000001a}.link-card.link-inactive[data-v-c0d9a701]{opacity:.7;background:var(--color-gallery-muted-bg)}.link-thumbnail[data-v-c0d9a701]{background:var(--color-gallery-item-hover);border-top-left-radius:12px;border-bottom-left-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.link-thumbnail-clickable[data-v-c0d9a701]{cursor:pointer;text-decoration:none}.link-thumbnail-clickable[data-v-c0d9a701]:hover{filter:brightness(.97)}.link-thumbnail img[data-v-c0d9a701]{object-fit:cover;width:100%;height:100%}.no-thumbnail[data-v-c0d9a701]{color:var(--color-gallery-neutral);font-size:32px}.link-info[data-v-c0d9a701]{flex-direction:column;flex:1;padding:16px;display:flex}.link-header[data-v-c0d9a701]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.link-title-wrapper[data-v-c0d9a701]{flex:1;min-width:0}.link-filename[data-v-c0d9a701]{min-width:0;color:var(--color-text-primary);word-break:break-word;flex:1;margin:0;font-size:16px;font-weight:600}.title-edit-trigger[data-v-c0d9a701]{width:100%;font:inherit;color:inherit;text-align:left;cursor:text;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:6px;min-height:28px;margin:0;padding:6px 8px;line-height:1.4;display:block}.title-edit-trigger[data-v-c0d9a701]:hover{background:color-mix(in srgb, var(--color-surface) 86%, var(--color-info-soft))}.title-edit-input[data-v-c0d9a701]{border:1px solid color-mix(in srgb, var(--color-border) 75%, var(--color-info));width:100%;font:inherit;color:color-mix(in srgb, var(--color-text-primary) 80%, var(--color-ink-950));box-sizing:border-box;border-radius:6px;min-height:28px;margin:0;padding:6px 8px;font-size:16px;font-weight:600;line-height:1.4;display:block}.title-edit-input[data-v-c0d9a701]:focus{border-color:color-mix(in srgb, var(--color-info) 85%, white);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-info) 15%, transparent);outline:none}.link-status[data-v-c0d9a701]{white-space:nowrap;border-radius:12px;flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:500}.link-kind-badge[data-v-c0d9a701]{white-space:nowrap;background:var(--color-info-soft,#0a84ff26);color:var(--color-info,#0a84ff);border-radius:12px;flex-shrink:0;margin-left:auto;padding:4px 8px;font-size:12px;font-weight:500}.status-active[data-v-c0d9a701]{background:var(--color-success-soft);color:color-mix(in srgb, var(--color-success) 70%, black)}.status-inactive[data-v-c0d9a701]{background:var(--color-gallery-muted-bg);color:var(--color-text-secondary)}.status-expired[data-v-c0d9a701]{background:var(--color-warning-soft);color:color-mix(in srgb, var(--color-warning) 65%, black)}.status-limit[data-v-c0d9a701]{background:var(--color-gallery-person-soft);color:var(--color-gallery-person-hover)}.link-details[data-v-c0d9a701]{flex:1;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.detail-row[data-v-c0d9a701]{flex-direction:column;display:flex}.detail-label[data-v-c0d9a701]{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.detail-value[data-v-c0d9a701]{color:var(--color-text-primary);font-size:13px}.detail-value-clickable[data-v-c0d9a701]{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0}.detail-value-clickable[data-v-c0d9a701]:hover{color:color-mix(in srgb, var(--color-info) 70%, black);text-decoration:underline}.upload-detail[data-v-c0d9a701]{min-width:0}.upload-detail .detail-value[data-v-c0d9a701]{overflow-wrap:anywhere}.upload-enabled[data-v-c0d9a701],.upload-available[data-v-c0d9a701]{color:color-mix(in srgb, var(--color-success) 70%, black)}.upload-disabled[data-v-c0d9a701]{color:var(--color-text-secondary)}.upload-path-value[data-v-c0d9a701]:disabled{cursor:default;opacity:1}.upload-path-editor[data-v-c0d9a701]{align-items:center;gap:4px;display:flex}.upload-path-input[data-v-c0d9a701]{border:1px solid var(--color-border);border-radius:4px;width:100%;min-width:0;padding:3px 6px;font-size:13px}.upload-path-action[data-v-c0d9a701]{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;line-height:1.3}.upload-path-modal[data-v-c0d9a701]{flex-direction:column;width:620px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 32px);display:flex}.upload-path-modal-content[data-v-c0d9a701]{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.upload-path-modal-content .modal-actions[data-v-c0d9a701]{background:var(--color-surface,white);flex-shrink:0;margin-top:auto;padding-top:16px;position:sticky;bottom:0}.upload-path-modal-input[data-v-c0d9a701]{margin-bottom:10px}.path-invalid[data-v-c0d9a701]{border-color:var(--color-danger)!important}.upload-root-option[data-v-c0d9a701]{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:6px;margin-bottom:8px;padding:8px 10px}.upload-root-option.selected[data-v-c0d9a701]{border-color:var(--color-info);background:var(--color-info-soft)}.upload-tree-empty[data-v-c0d9a701]{color:var(--color-text-secondary);text-align:center;padding:18px 8px}.upload-limit-reached[data-v-c0d9a701]{color:color-mix(in srgb, var(--color-danger) 75%, black)}.link-actions[data-v-c0d9a701]{flex-wrap:wrap;gap:8px;display:flex}.action-btn[data-v-c0d9a701]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .2s}.action-btn[data-v-c0d9a701]:hover{background:var(--color-gallery-muted-bg)}.qr-btn[data-v-c0d9a701]:hover{background:var(--color-info-soft);border-color:var(--color-info)}.copy-btn[data-v-c0d9a701]:hover{background:var(--color-success-soft);border-color:var(--color-success)}.edit-btn[data-v-c0d9a701]:hover{background:color-mix(in srgb, var(--color-surface) 70%, var(--color-info-soft));border-color:color-mix(in srgb, var(--color-info) 85%, white)}.limits-btn[data-v-c0d9a701]:hover{background:var(--color-warning-soft);border-color:var(--color-warning)}.limit-menu-container[data-v-c0d9a701]{position:relative}.deactivate-btn[data-v-c0d9a701]:hover{background:var(--color-warning-soft);border-color:var(--color-warning)}.reactivate-btn[data-v-c0d9a701]:hover{background:var(--color-success-soft);border-color:var(--color-success)}.delete-btn[data-v-c0d9a701]:hover{background:color-mix(in srgb, var(--color-danger) 12%, white);border-color:var(--color-danger)}.modal-overlay[data-v-c0d9a701]{background:var(--color-dark-backdrop-50);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-c0d9a701]{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.qr-modal[data-v-c0d9a701]{max-width:400px}.modal-header[data-v-c0d9a701]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2[data-v-c0d9a701]{margin:0;font-size:18px}.close-btn[data-v-c0d9a701]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:0;font-size:24px;line-height:1}.close-btn[data-v-c0d9a701]:hover{color:var(--color-text-primary)}.modal-content[data-v-c0d9a701]{padding:20px}.qr-hint[data-v-c0d9a701]{color:var(--color-text-secondary);margin:0;font-size:12px}.form-group[data-v-c0d9a701]{margin-bottom:16px}.form-group label[data-v-c0d9a701]{margin-bottom:8px;font-weight:500;display:block}.form-input[data-v-c0d9a701]{border:1px solid var(--color-border);border-radius:6px;width:100%;padding:10px 12px;font-size:14px}.form-input[data-v-c0d9a701]:focus{border-color:var(--color-info);outline:none}.modal-actions[data-v-c0d9a701]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.btn-cancel[data-v-c0d9a701],.btn-confirm[data-v-c0d9a701],.btn-danger[data-v-c0d9a701]{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px}.btn-cancel[data-v-c0d9a701]{background:var(--color-gallery-muted-bg);color:var(--color-text-primary)}.btn-cancel[data-v-c0d9a701]:hover{background:var(--color-border)}.btn-confirm[data-v-c0d9a701]{background:var(--color-info);color:#fff}.btn-confirm[data-v-c0d9a701]:hover{background:var(--color-info-hover)}.btn-danger[data-v-c0d9a701]{background:var(--color-danger);color:#fff}.btn-danger[data-v-c0d9a701]:hover{background:color-mix(in srgb, var(--color-danger) 80%, black)}.warning[data-v-c0d9a701]{color:color-mix(in srgb, var(--color-warning) 65%, black);margin-top:8px;font-size:13px}@media (width<=768px){.shared-links-header[data-v-c0d9a701]{flex-direction:column;align-items:flex-start;gap:10px}.header-stats[data-v-c0d9a701]{flex-wrap:wrap;justify-content:space-between;width:100%}.header-stats .btn[data-v-c0d9a701]{justify-content:center;width:100%}.link-card[data-v-c0d9a701]{flex-direction:column}.link-thumbnail[data-v-c0d9a701]{width:100%;height:200px}.link-details[data-v-c0d9a701]{grid-template-columns:1fr}.link-actions[data-v-c0d9a701]{justify-content:stretch}.link-actions .action-btn[data-v-c0d9a701]{text-align:center;flex:calc(50% - 8px)}}.setup-container[data-v-c14d75c0]{background-color:var(--color-gallery-sidebar-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.setup-card[data-v-c14d75c0]{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 10px 25px #0000000d}.setup-logo[data-v-c14d75c0]{margin-bottom:1rem}h1[data-v-c14d75c0]{color:var(--color-info);margin-bottom:.5rem;font-size:2rem}p[data-v-c14d75c0]{color:var(--color-text-secondary);margin-bottom:2rem}.setup-msg[data-v-c14d75c0]{color:var(--color-success);font-weight:700}.form-group[data-v-c14d75c0]{text-align:left;margin-bottom:1.5rem}.form-group label[data-v-c14d75c0]{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-group input[data-v-c14d75c0]{border:2px solid var(--color-border);box-sizing:border-box;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input[data-v-c14d75c0]:focus{border-color:var(--color-info);outline:none}.error-message[data-v-c14d75c0]{background-color:color-mix(in srgb, var(--color-danger) 12%, white);color:color-mix(in srgb, var(--color-danger) 75%, black);border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}button[type=submit][data-v-c14d75c0]{background-color:var(--color-info);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.875rem;font-size:1rem;font-weight:600;transition:background-color .2s}button[type=submit][data-v-c14d75c0]:hover:not(:disabled){background-color:var(--color-info-hover)}button[type=submit][data-v-c14d75c0]:disabled{background-color:color-mix(in srgb, var(--color-info-soft) 65%, var(--color-info));cursor:not-allowed}.history-view[data-v-471d17a0]{background-color:var(--color-surface);flex-direction:column;height:100%;display:flex}.history-header[data-v-471d17a0]{border-bottom:1px solid var(--color-border);padding:24px}.history-header h2[data-v-471d17a0]{color:var(--color-text-primary);margin:0;font-size:1.5rem}.history-subtitle[data-v-471d17a0]{color:var(--color-text-secondary);margin:8px 0 0;font-size:.9rem}.history-list-container[data-v-471d17a0]{flex:1;padding:12px 24px;overflow-y:auto}.history-list[data-v-471d17a0]{flex-direction:column;gap:8px;max-width:800px;margin:0 auto;display:flex}.history-item[data-v-471d17a0]{background-color:var(--color-surface-variant);border:1px solid var(--color-border);border-radius:12px;gap:14px;padding:14px 16px;transition:transform .15s,box-shadow .15s;display:flex}.history-item[data-v-471d17a0]:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000000f}.item-icon[data-v-471d17a0]{background-color:var(--color-info-soft);width:38px;height:38px;color:var(--color-info);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.item-icon.face_delete[data-v-471d17a0]{background-color:var(--color-danger-soft);color:var(--color-danger)}.item-icon.face_unassociate[data-v-471d17a0]{background-color:var(--color-warning-soft);color:var(--color-warning)}.item-content[data-v-471d17a0]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.item-main[data-v-471d17a0]{justify-content:space-between;align-items:center;gap:12px;display:flex}.item-label[data-v-471d17a0]{color:var(--color-text-primary);white-space:nowrap;font-size:.95rem;font-weight:600}.item-date[data-v-471d17a0]{color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;font-size:.78rem}.item-details[data-v-471d17a0]{color:var(--color-text-secondary);font-size:.88rem}.detail-row[data-v-471d17a0]{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.thumb-row[data-v-471d17a0]{flex-shrink:0;align-items:center;gap:6px;display:flex}.thumb-arrow[data-v-471d17a0]{color:var(--color-text-secondary);opacity:.4}.inline-arrow[data-v-471d17a0]{vertical-align:middle;opacity:.5;margin:0 4px}.ban-icon[data-v-471d17a0]{color:var(--color-danger);opacity:.6}.detail-text[data-v-471d17a0]{flex:1;min-width:100px;line-height:1.5}.detail-text code[data-v-471d17a0]{background-color:var(--color-border);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:.82rem}.person-avatar-small[data-v-471d17a0]{background-color:var(--color-surface-variant);border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:48px;height:48px;overflow:hidden}.person-avatar-small img[data-v-471d17a0]{object-fit:cover;width:100%;height:100%;display:block}.initials-avatar[data-v-471d17a0]{background-color:var(--color-surface-variant);color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.initials-text[data-v-471d17a0]{-webkit-user-select:none;user-select:none;line-height:1}.batch-face-thumb[data-v-471d17a0]{border:1px solid var(--color-border);background-color:var(--color-surface-variant);border-radius:50%;flex-shrink:0;width:32px;height:32px;margin-left:-8px;overflow:hidden}.batch-face-thumb[data-v-471d17a0]:first-child{margin-left:0}.batch-face-more[data-v-471d17a0]{background-color:var(--color-surface-variant);border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-secondary);cursor:help;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-8px;font-size:.7rem;font-weight:600;display:flex}.avatar-placeholder-tiny[data-v-471d17a0]{width:100%;height:100%;color:var(--color-text-secondary);opacity:.4;justify-content:center;align-items:center;display:flex}.deleted-face[data-v-471d17a0]{filter:grayscale();opacity:.6}.empty-history[data-v-471d17a0]{color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex}.empty-history p[data-v-471d17a0]{margin-top:16px;font-size:1.1rem}.loading-more[data-v-471d17a0]{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.spinner[data-v-471d17a0]{border:2px solid var(--color-border);border-top-color:var(--color-info);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin-471d17a0}@keyframes spin-471d17a0{to{transform:rotate(360deg)}}.end-of-history[data-v-471d17a0]{text-align:center;color:var(--color-text-secondary);opacity:.7;padding:24px;font-size:.9rem}.raw-metadata[data-v-471d17a0]{background-color:var(--color-border);border-radius:6px;max-width:100%;padding:8px;font-size:.75rem;overflow-x:auto}.undo-action[data-v-471d17a0]{justify-content:flex-end;margin-top:4px;display:flex}.undo-btn[data-v-471d17a0]{border:1px solid var(--color-border);color:var(--color-info);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.undo-btn[data-v-471d17a0]:hover{background-color:var(--color-info-soft);border-color:var(--color-info)}.undone-badge[data-v-471d17a0]{color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);opacity:.7;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.78rem;display:inline-flex}.history-item.undone[data-v-471d17a0]{opacity:.55}@media (width<=600px){.history-header[data-v-471d17a0]{padding:16px}.history-list-container[data-v-471d17a0]{padding:12px 16px}.history-item[data-v-471d17a0]{gap:10px;padding:12px}.item-icon[data-v-471d17a0]{width:32px;height:32px}.person-avatar-small[data-v-471d17a0]{width:40px;height:40px}}.profile-management[data-v-0b769cef]{display:block}.management-main[data-v-0b769cef]{height:100%}.management-layout[data-v-0b769cef]{max-width:none}.section-card[data-v-0b769cef]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-bottom:18px;padding:16px}.section-header[data-v-0b769cef]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h3[data-v-0b769cef]{color:color-mix(in srgb, var(--color-text-primary) 75%, var(--color-ink-950));margin:0;font-size:1rem}.stats-bar[data-v-0b769cef]{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.create-form .form-row[data-v-0b769cef],.profile-edit-panel .form-row[data-v-0b769cef]{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.form-group[data-v-0b769cef]{flex-direction:column;gap:6px;display:flex}.form-group-name[data-v-0b769cef]{flex:1;min-width:200px}.form-group-desc[data-v-0b769cef]{flex:2;min-width:200px}.form-group-default[data-v-0b769cef]{min-width:100px}.form-group label[data-v-0b769cef]{color:var(--color-dark-border-strong);font-size:.85rem;font-weight:600}.form-group input[data-v-0b769cef],.form-group select[data-v-0b769cef]{border:1px solid color-mix(in srgb, var(--color-border) 82%, var(--color-text-primary));border-radius:6px;padding:8px 10px;font-size:.9rem}.rights-picker[data-v-0b769cef]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:8px;display:grid}.rights-category[data-v-0b769cef]{border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-info-soft));border-radius:6px;padding:10px}.category-header[data-v-0b769cef]{margin-bottom:8px}.category-toggle[data-v-0b769cef]{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}.category-toggle strong[data-v-0b769cef]{color:color-mix(in srgb, var(--color-text-primary) 80%, var(--color-ink-950))}.rights-list[data-v-0b769cef]{flex-direction:column;gap:4px;display:flex}.right-checkbox[data-v-0b769cef]{cursor:pointer;color:color-mix(in srgb, var(--color-text-primary) 75%, var(--color-ink-950));align-items:center;gap:8px;font-size:.84rem;display:flex}.right-checkbox input[type=checkbox][data-v-0b769cef]{accent-color:var(--color-info)}.profile-card[data-v-0b769cef]{border:1px solid color-mix(in srgb, var(--color-border) 75%, transparent);background:color-mix(in srgb, var(--color-surface) 95%, transparent);border-radius:8px;margin-bottom:10px;padding:12px 16px}.profile-card-header[data-v-0b769cef]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-info[data-v-0b769cef]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-info h4[data-v-0b769cef]{color:var(--color-text-primary);margin:0;font-size:.95rem}.profile-desc[data-v-0b769cef]{color:var(--color-dark-border);margin:0;font-size:.82rem}.profile-actions[data-v-0b769cef]{flex-shrink:0;gap:4px;display:flex}.profile-edit-panel[data-v-0b769cef]{border-top:1px solid color-mix(in srgb, var(--color-border) 60%, transparent);margin-top:12px;padding-top:12px}.edit-actions[data-v-0b769cef]{gap:8px;margin-top:12px;display:flex}.username-cell[data-v-0b769cef]{align-items:center;gap:8px;display:flex}.username[data-v-0b769cef]{font-weight:500}.profile-select[data-v-0b769cef]{border:1px solid color-mix(in srgb, var(--color-border) 82%, var(--color-text-primary));background:var(--color-surface);color:var(--color-text-primary);border-radius:6px;min-width:160px;padding:6px 8px;font-size:.85rem}.profile-select[data-v-0b769cef]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-0b769cef]{text-align:center;color:var(--color-dark-border);padding:24px;font-size:.9rem}@media (width<=900px){.stats-bar[data-v-0b769cef] .app-btn{margin-left:auto}.create-form .form-row[data-v-0b769cef],.profile-edit-panel .form-row[data-v-0b769cef]{flex-direction:column;align-items:stretch}.form-group-name[data-v-0b769cef],.form-group-desc[data-v-0b769cef],.form-group-default[data-v-0b769cef]{width:100%;min-width:0}.rights-picker[data-v-0b769cef]{grid-template-columns:1fr}}@media (width<=768px){.section-card[data-v-0b769cef]{padding:12px}.profile-card-header[data-v-0b769cef]{flex-direction:column}}.section-card[data-v-116e952b]{background:var(--color-surface-elevated,var(--color-surface));border:1px solid var(--color-border);border-radius:10px;margin-top:16px;padding:20px}.section-header[data-v-116e952b]{margin-bottom:8px}.section-header h2[data-v-116e952b]{color:var(--color-text-primary);margin:0;font-size:16px}.section-description[data-v-116e952b]{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px;line-height:1.5}.action-row[data-v-116e952b]{gap:12px;display:flex}:root{--app-font-family:"Segoe UI", "Noto Sans", Arial, sans-serif;--color-primary:#2196f3;--color-on-primary:#fff;--color-surface:#fff;--color-text-primary:#333;--color-text-secondary:#666;--color-border:#e9ecef;--shadow-sm:0 2px 4px #0000001a;--color-on-primary-hover:#ffffff2e;--color-on-primary-active:#ffffff38;--color-on-primary-muted:#ffffff80;--color-info:#2196f3;--color-info-hover:#1976d2;--color-info-soft:#e3f2fd;--color-success:#4caf50;--color-success-soft:#e8f5e9;--color-warning:#ff9800;--color-warning-soft:#fff3e0;--color-cyan:#00bcd4;--color-danger:#f44336;--color-danger-hover:#c62828;--color-danger-soft:#f443361a;--color-gallery-bg:var(--color-surface);--color-gallery-fullscreen-bg:#1a1a1a;--color-gallery-sidebar-bg:#f8f9fa;--color-gallery-item-hover:#f0f0f0;--color-gallery-muted-bg:#f5f5f5;--color-gallery-neutral:#ccc;--color-gallery-gold:gold;--color-gallery-source:#9c27b0;--color-gallery-source-soft:#ede7f6;--color-gallery-source-surface:#f3e5f5;--color-gallery-source-deep:#7b1fa2;--color-gallery-source-deepest:#4a148c;--color-gallery-person:#e91e63;--color-gallery-person-soft:#fce4ec;--color-gallery-person-hover:#c2185b;--color-accent-indigo-start:#667eea;--color-accent-indigo-end:#764ba2;--color-ink-950:#0f172a;--color-ink-900:#111827;--color-ink-800:#334155;--color-indigo-deep:#0b2a66;--color-success-deep:#065f46;--color-warning-deep:#7c4a00;--color-danger-deep:#7f1d1d;--color-dark-surface-900:#1a1a1a;--color-dark-surface-800:#2a2a2a;--color-dark-surface-750:#2c2c2c;--color-dark-surface-700:#3d3d3d;--color-dark-border:#444;--color-dark-border-strong:#555;--color-dark-text:#fff;--color-dark-text-muted:#aaa;--color-dark-text-soft:#bbb;--color-dark-overlay-10:#ffffff1a;--color-dark-overlay-20:#fff3;--color-dark-overlay-30:#ffffff4d;--color-dark-overlay-05:#ffffff0d;--color-dark-backdrop-20:#0003;--color-dark-backdrop-50:#00000080;--color-dark-backdrop-65:#000000a6;--color-dark-backdrop-85:#000000d9;--color-dark-overlay-25:#ffffff40;--color-dark-overlay-45:#ffffff73;--color-dark-selected:color-mix(in srgb, var(--color-info) 15%, transparent);--color-dark-button-bg:#0009;--color-dark-button-border:var(--color-dark-overlay-20);--color-dark-button-hover-border:color-mix(in srgb, var(--color-on-primary) 40%, transparent);--color-dark-button-selected-bg:color-mix(in srgb, var(--color-info) 30%, transparent);--color-dark-button-selected-border:color-mix(in srgb, var(--color-info) 30%, var(--color-dark-overlay-20));--color-dark-button-selected-shadow:color-mix(in srgb, var(--color-info) 30%, transparent)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--app-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.management-page{background:var(--color-surface);height:100%;overflow:hidden}.management-page-main{background:var(--color-surface);height:100%;overflow-y:auto}.management-page-wrapper{box-sizing:border-box;max-width:1000px;margin:0 auto;padding:30px 40px 100px}.management-page-header{margin-bottom:24px}.management-page-header h1{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.management-page-subtitle{color:var(--color-text-secondary);margin:6px 0 0;font-size:14px}.management-page-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:18px;padding:16px}.management-page-loading{text-align:center;color:var(--color-text-secondary);padding:40px}@media (width<=1200px){.management-page-wrapper{padding:26px 28px 84px}}@media (width<=992px){.management-page-wrapper{padding:22px 20px 72px}.management-page-header h1{font-size:22px}}@media (width<=768px){.management-page-wrapper{padding:16px 14px 56px}.management-page-header{margin-bottom:18px}.management-page-header h1{font-size:20px;line-height:1.2}.management-page-subtitle{font-size:13px}.management-page-section{border-radius:8px;padding:12px}.management-page-loading{padding:24px}}@media (width<=710px){.management-page-wrapper{padding:12px 10px 42px}}
