.gallery-backdrop[data-v-8ea34fce]{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gallery-modal[data-v-8ea34fce]{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);border-radius:16px;flex-direction:column;width:min(92vw,900px);max-height:85vh;display:flex;position:relative;overflow:hidden}.gallery-header[data-v-8ea34fce]{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.gallery-header-left[data-v-8ea34fce]{align-items:center;gap:12px;display:flex}.gallery-icon[data-v-8ea34fce]{color:var(--accent-color);font-size:22px}.gallery-title[data-v-8ea34fce]{margin:0;font-size:17px;font-weight:700}.gallery-subtitle[data-v-8ea34fce]{color:var(--text-tertiary);margin:2px 0 0;font-size:12px}.gallery-header-actions[data-v-8ea34fce]{align-items:center;gap:8px;display:flex}.gallery-filter[data-v-8ea34fce]{height:32px;padding:6px 10px;font-size:12px}.insert-hint[data-v-8ea34fce]{background:color-mix(in srgb, var(--accent-color) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--accent-color) 20%, transparent);color:var(--accent-color);flex-shrink:0;align-items:center;gap:8px;padding:9px 20px;font-size:13px;display:flex}.insert-hint i[data-v-8ea34fce]{font-size:14px}.gallery-loading[data-v-8ea34fce],.gallery-empty[data-v-8ea34fce]{color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px;font-size:14px;display:flex}.gallery-loading i[data-v-8ea34fce],.gallery-empty i[data-v-8ea34fce]{opacity:.4;font-size:36px}.gallery-grid[data-v-8ea34fce]{flex:1;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:16px;display:grid;overflow-y:auto}.gallery-cell[data-v-8ea34fce]{cursor:pointer;aspect-ratio:1;background:var(--bg-secondary);border:2px solid #0000;border-radius:10px;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.gallery-cell[data-v-8ea34fce]:hover{transform:scale(1.02)}.gallery-cell.selected[data-v-8ea34fce],.gallery-cell.insert-mode[data-v-8ea34fce]:hover{border-color:var(--accent-color)}.gallery-thumb[data-v-8ea34fce]{object-fit:cover;width:100%;height:100%;display:block}.gallery-cell-overlay[data-v-8ea34fce]{opacity:0;background:linear-gradient(#0000 55%,#000000d1 100%);flex-direction:column;justify-content:flex-end;gap:4px;padding:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.gallery-cell:hover .gallery-cell-overlay[data-v-8ea34fce]{opacity:1}.gallery-cell-name[data-v-8ea34fce]{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.gallery-cell-meta[data-v-8ea34fce]{color:#ffffffbf;flex-wrap:wrap;gap:6px;font-size:10px;display:flex}.gallery-cell-module[data-v-8ea34fce]{background:var(--accent-color);color:#fff;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:600}.gallery-cell-actions[data-v-8ea34fce]{gap:4px;margin-top:4px;display:flex}.insert-overlay[data-v-8ea34fce]{background:#00000080;flex-direction:row;justify-content:center;align-items:center;gap:8px}.insert-btn[data-v-8ea34fce]{cursor:pointer;background:var(--accent-color);color:#fff;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:flex}.insert-btn[data-v-8ea34fce]:hover{background:color-mix(in srgb, var(--accent-color) 80%, white)}.gcell-btn[data-v-8ea34fce]{cursor:pointer;color:#fff;background:#ffffff2e;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;text-decoration:none;transition:background .15s;display:flex}.gcell-btn[data-v-8ea34fce]:hover{background:#ffffff59}.gcell-btn.danger[data-v-8ea34fce]:hover{background:#ef4444bf}.gallery-pagination[data-v-8ea34fce]{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:12px 16px;display:flex}.page-info[data-v-8ea34fce]{color:var(--text-secondary);font-size:13px}.copy-toast[data-v-8ea34fce]{background:var(--accent-color);color:#fff;box-shadow:var(--shadow-lg);pointer-events:none;z-index:10;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.toast-enter-active[data-v-8ea34fce],.toast-leave-active[data-v-8ea34fce]{transition:all .25s}.toast-enter-from[data-v-8ea34fce],.toast-leave-to[data-v-8ea34fce]{opacity:0;transform:translate(-50%)translateY(10px)}.app-navbar[data-v-f9b561bf]{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:100;flex-shrink:0;align-items:center;gap:8px;height:52px;padding:0 20px;display:flex}.navbar-brand[data-v-f9b561bf]{flex-shrink:0;margin-right:16px}.brand-logo[data-v-f9b561bf]{color:var(--accent-color);letter-spacing:-.3px;align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand-logo i[data-v-f9b561bf]{font-size:20px}.navbar-modules[data-v-f9b561bf]{flex:1;align-items:center;gap:2px;display:flex}.module-link[data-v-f9b561bf]{color:var(--text-secondary);white-space:nowrap;border-radius:8px;align-items:center;gap:7px;padding:6px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.module-link[data-v-f9b561bf]:hover,.module-link.active[data-v-f9b561bf]{background:var(--bg-hover);color:var(--text-primary)}.module-link.active i[data-v-f9b561bf]{opacity:1}.navbar-actions[data-v-f9b561bf]{align-items:center;gap:8px;margin-left:auto;display:flex}.user-menu[data-v-f9b561bf]{cursor:pointer;border:1px solid var(--border-color);background:var(--bg-tertiary);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:7px;padding:4px 10px 4px 4px;transition:all .15s;display:flex;position:relative}.user-menu[data-v-f9b561bf]:hover{border-color:var(--accent-color)}.user-avatar[data-v-f9b561bf]{background:var(--accent-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.7rem;font-weight:700;display:flex}.user-name[data-v-f9b561bf]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:.82rem;font-weight:500;overflow:hidden}.user-chevron[data-v-f9b561bf]{color:var(--text-muted);font-size:.65rem;transition:transform .2s}.user-chevron.open[data-v-f9b561bf]{transform:rotate(180deg)}.user-dropdown[data-v-f9b561bf]{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:200px;box-shadow:var(--shadow-xl);z-index:999;border-radius:10px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-dropdown-info[data-v-f9b561bf]{padding:.85rem 1rem}.user-dropdown-name[data-v-f9b561bf]{color:var(--text-primary);font-size:.88rem;font-weight:600}.user-dropdown-email[data-v-f9b561bf]{color:var(--text-muted);margin-top:2px;font-size:.78rem}.user-dropdown-divider[data-v-f9b561bf]{background:var(--border-color);height:1px}.user-dropdown-item[data-v-f9b561bf]{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;transition:all .15s;display:flex}.user-dropdown-item[data-v-f9b561bf]:hover{background:var(--bg-hover);color:var(--text-primary)}.user-dropdown-item.danger[data-v-f9b561bf]{color:#ef4444}.user-dropdown-item.danger[data-v-f9b561bf]:hover{color:#ef4444;background:#ef44441a}.app-layout[data-v-66da9df3]{background:var(--bg-primary);width:100vw;height:100vh;color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.app-main[data-v-66da9df3]{flex-direction:column;flex:1;display:flex;overflow:hidden}
