opacacms 0.3.17 → 0.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/webcomponent.js +14 -14
- package/dist/admin.css +1 -1
- package/dist/cli/core/seeding/auto-seed.d.ts +1 -1
- package/dist/config.d.ts +2 -6
- package/dist/db/adapter.d.ts +1 -1
- package/dist/db/better-sqlite.d.ts +1 -1
- package/dist/db/better-sqlite.js +5 -1
- package/dist/db/d1.d.ts +1 -1
- package/dist/db/kysely/plugins/draft-swapper.d.ts +2 -2
- package/dist/db/kysely/plugins/i18n-fallback.d.ts +2 -2
- package/dist/db/kysely/plugins/json-flattener.d.ts +2 -2
- package/dist/db/kysely/plugins/virtual-field-resolver.d.ts +2 -2
- package/dist/db/kysely/schema-builder.d.ts +1 -1
- package/dist/db/kysely/snapshot/snapshot-manager.d.ts +1 -1
- package/dist/db/sqlite.d.ts +1 -1
- package/dist/db/sqlite.js +5 -1
- package/dist/types.d.ts +3 -3
- package/package.json +1 -1
package/dist/admin.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--opaca-bg: #050507;--opaca-sidebar-bg: rgba(9, 9, 12, 0.7);--opaca-card-bg: rgba(18, 18, 23, 0.6);--opaca-surface: rgba(22, 22, 28, 0.4);--opaca-surface-bright: rgba(31, 31, 38, 0.6);--opaca-glass-bg: rgba(15, 15, 20, 0.65);--opaca-glass-border: rgba(255, 255, 255, 0.08);--opaca-glass-border-bright: rgba(255, 255, 255, 0.12);--opaca-glass-blur: blur(14px) saturate(160%);--opaca-glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.6);--opaca-border: rgba(255, 255, 255, 0.06);--opaca-border-hover: rgba(255, 255, 255, 0.12);--opaca-border-accent: rgba(124, 58, 237, 0.35);--opaca-text: #f4f4f5;--opaca-text-muted: #a1a1aa;--opaca-text-dim: #71717a;--opaca-text-bright: #ffffff;--opaca-primary: #8b5cf6;--opaca-primary-hover: #a78bfa;--opaca-primary-glow: rgba(139, 92, 246, 0.25);--opaca-accent: #c4b5fd;--opaca-accent-rgb: 196, 181, 253;--opaca-error: #ef4444;--opaca-error-bg: rgba(239, 68, 68, 0.1);--opaca-success: #10b981;--opaca-success-bg: rgba(16, 185, 129, 0.1);--opaca-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;--opaca-radius: 8px;--opaca-radius-lg: 12px;--opaca-radius-full: 9999px;--opaca-transition: 250ms cubic-bezier(0.16, 1, 0.3, 1);--opaca-sidebar-width: 280px;--opaca-sidebar-collapsed-width: 72px;--sidebar-background: var(--opaca-sidebar-bg);--sidebar-foreground: var(--opaca-text);--sidebar-primary: var(--opaca-primary);--sidebar-primary-foreground: var(--opaca-text-bright);--sidebar-accent: var(--opaca-surface-bright);--sidebar-accent-foreground: var(--opaca-text-bright);--sidebar-border: var(--opaca-border);--sidebar-ring: var(--opaca-primary-glow);--popover: var(--opaca-glass-bg);--popover-foreground: var(--opaca-text);--accent: var(--opaca-surface-bright);--accent-foreground: var(--opaca-text-bright);--ring: var(--opaca-primary-glow);--border: var(--opaca-border);--input: var(--opaca-border)}@keyframes opaca-fade-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes opaca-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes opaca-toast-in{from{opacity:0;transform:translateX(32px) scale(0.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes opaca-pulse{0%,100%{transform:scale(1);opacity:.1}50%{transform:scale(1.5);opacity:0}}@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.opaca-spin{animation:opaca-spin .8s linear infinite}.opaca-animate-fade{animation:opaca-fade-in 400ms var(--opaca-transition)}.opaca-admin *,.opaca-admin *::before,.opaca-admin *::after{box-sizing:border-box;margin:0;padding:0}.opaca-admin{background-color:var(--opaca-bg);color:var(--opaca-text);font-family:var(--opaca-font);height:100vh;display:flex;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}.opaca-admin::before{content:"";position:absolute;top:-10%;left:-10%;width:70%;height:70%;background:radial-gradient(circle, rgba(139, 92, 246, 0.12) 0%, transparent 70%);filter:blur(100px);z-index:0;pointer-events:none;opacity:.8}::selection{background:var(--opaca-primary-glow);color:var(--opaca-text-bright)}.opaca-sidebar,.opaca-content,.opaca-login-container,.opaca-sidebar-wrapper{position:relative;z-index:10}.opaca-admin ::-webkit-scrollbar{width:6px;height:6px}.opaca-admin ::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.opaca-admin ::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-admin ::-webkit-scrollbar-thumb:hover{background:var(--opaca-border-hover)}.opaca-scroll-area::-webkit-scrollbar{width:4px}.opaca-scroll-area::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--opaca-accent)}.opaca-sidebar{width:var(--opaca-sidebar-width);background:var(--opaca-sidebar-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);height:calc(100vh - 2rem);margin:1rem 0 1rem 1rem;border-radius:var(--opaca-radius-lg);display:flex;flex-direction:column;transition:all var(--opaca-transition);z-index:100;overflow:visible;position:relative;box-shadow:var(--opaca-glass-shadow)}.opaca-sidebar.collapsed{width:var(--opaca-sidebar-collapsed-width)}.opaca-sidebar.collapsed .opaca-sidebar-inner{padding-left:.5rem;padding-right:.5rem}.opaca-sidebar.collapsed .opaca-nav-item{padding-left:0;padding-right:0;justify-content:center;gap:0}.opaca-sidebar.collapsed .opaca-nav-label{opacity:0;width:0;display:none}.opaca-sidebar.collapsed .opaca-sidebar-toggle{right:-10px}.opaca-sidebar.collapsed .opaca-user-profile{justify-content:center;padding:.75rem 0}.opaca-sidebar-inner{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1.5rem .75rem}.opaca-logo{font-size:1rem;font-weight:700;letter-spacing:-0.02em;padding:0 .75rem;margin-bottom:2rem;background:linear-gradient(135deg, var(--opaca-text-bright) 0%, var(--opaca-text-dim) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);transition:all var(--opaca-transition);white-space:nowrap;display:flex;align-items:center;min-height:32px}.opaca-logo-mini{width:32px;height:32px;background:var(--opaca-primary-glow);border:1px solid var(--opaca-border-accent);color:var(--opaca-accent);display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.8125rem;font-weight:700}.opaca-nav{flex:1;display:flex;flex-direction:column;min-height:0;gap:.25rem}.opaca-nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;color:var(--opaca-text-muted);text-decoration:none;border-radius:10px;transition:all var(--opaca-transition);font-size:.8125rem;font-weight:500;white-space:nowrap;border:1px solid rgba(0,0,0,0)}.opaca-nav-item:hover{background:hsla(0,0%,100%,.04);color:var(--opaca-text-bright);transform:translateX(2px)}.opaca-nav-item.active{background:var(--opaca-primary-glow);color:var(--opaca-text-bright);border-color:var(--opaca-border-accent);font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.2)}.opaca-nav-item.active svg{color:var(--opaca-accent)}.opaca-nav-item.logout-button{background:none;border:none;cursor:pointer;text-align:left;width:100%;color:var(--opaca-error);margin-top:.5rem}.opaca-nav-item.logout-button:hover{background:var(--opaca-error-bg);color:var(--opaca-text-bright)}.opaca-nav-item .universal-indicator{width:6px;height:6px;border-radius:50%;background-color:var(--opaca-accent);box-shadow:0 0 10px var(--opaca-primary);margin-left:auto}.sidebar-accordion-item{border:none !important}.sidebar-accordion-item .collapsed-content{padding:0 !important}.sidebar-separator{margin:.75rem .75rem;opacity:.4}.opaca-nav-footer{border-top:1px solid var(--opaca-border);padding-top:1rem;margin-top:auto}.opaca-user-profile{display:flex;align-items:center;gap:.875rem;padding:.75rem;border-radius:12px;transition:var(--opaca-transition);cursor:default}.opaca-user-profile:hover{background:hsla(0,0%,100%,.03)}.opaca-user-profile .avatar-image{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--opaca-border)}.opaca-user-profile .avatar-initial{width:32px;height:32px;min-width:32px;border-radius:50%;background:linear-gradient(135deg, var(--opaca-primary) 0%, var(--opaca-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px var(--opaca-primary-glow)}.opaca-user-profile .profile-details{overflow:hidden;line-height:1.3}.opaca-user-profile .profile-details .name{font-size:.8125rem;font-weight:600;color:var(--opaca-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-user-profile .profile-details .email{font-size:.6875rem;color:var(--opaca-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-sidebar-toggle{position:absolute;top:28px;right:-12px;width:24px;height:24px;background:var(--opaca-surface-bright);backdrop-filter:blur(8px);border:1px solid var(--opaca-glass-border);border-radius:50%;color:var(--opaca-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:101;transition:all var(--opaca-transition);box-shadow:0 4px 12px rgba(0,0,0,.3)}.opaca-sidebar-toggle:hover{border-color:var(--opaca-border-accent);color:var(--opaca-text-bright);transform:scale(1.1)}.opaca-content{flex:1;padding:2.5rem 3rem;overflow-y:auto;height:100vh;scroll-behavior:smooth;position:relative}.opaca-content.full-bleed{padding:0;overflow:hidden;height:100vh}.opaca-content-inner{margin:0 auto;width:100%;max-width:1400px;animation:opaca-fade-in 600ms var(--opaca-transition)}.opaca-content-inner.full-bleed{height:100%;max-width:100%}.opaca-view-container{opacity:1;transform:translateY(0);transition:opacity var(--opaca-transition),transform var(--opaca-transition)}.opaca-view-container.loading{opacity:.5;pointer-events:none;filter:blur(2px)}.opaca-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem}.opaca-title{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;color:var(--opaca-text-bright)}.opaca-subtitle{color:var(--opaca-text-dim);font-size:.875rem;margin-top:.25rem}.opaca-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem}.opaca-form-group{margin-bottom:2rem}.opaca-card{background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);padding:1.5rem;transition:all var(--opaca-transition);box-shadow:var(--opaca-glass-shadow)}.opaca-card:hover{border-color:var(--opaca-glass-border-bright);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.4)}.opaca-table-container{width:100%;overflow-x:auto;border-radius:var(--opaca-radius-lg);background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);box-shadow:var(--opaca-glass-shadow);position:relative}.opaca-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--opaca-text);caption-side:bottom}.opaca-table-header{background:hsla(0,0%,100%,.03);border-bottom:1px solid var(--opaca-glass-border)}.opaca-table-row{border-bottom:1px solid hsla(0,0%,100%,.04);transition:background-color var(--opaca-transition)}.opaca-table-row:hover{background-color:hsla(0,0%,100%,.02)}.opaca-table-row[data-state=selected]{background-color:var(--opaca-brand-subtle)}.opaca-table-row:last-child{border-bottom:0}.opaca-table-head{height:3rem;padding:0 1rem;text-align:left;vertical-align:middle;font-weight:600;color:var(--opaca-text-bright);white-space:nowrap}.opaca-table-cell{padding:1rem;vertical-align:middle;white-space:nowrap}.opaca-table-footer{border-top:1px solid var(--opaca-glass-border);background:rgba(0,0,0,.05);font-weight:500}.opaca-table-caption{margin-top:1rem;font-size:.8125rem;color:var(--opaca-text-dim);padding:0 1rem 1rem}.opaca-ui-btn,.opaca-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--opaca-radius);font-size:.8125rem;font-weight:600;transition:all var(--opaca-transition);cursor:pointer;border:1px solid rgba(0,0,0,0);outline:none;gap:.5rem;height:2.5rem;padding:0 1.25rem}.opaca-ui-btn:focus-visible,.opaca-btn:focus-visible{box-shadow:0 0 0 2px var(--opaca-bg),0 0 0 4px var(--opaca-primary-glow)}.opaca-ui-btn:disabled,.opaca-btn:disabled{pointer-events:none;opacity:.4}.opaca-ui-btn:active,.opaca-btn:active{transform:translateY(1px) scale(0.98)}.opaca-ui-btn svg,.opaca-btn svg{transition:transform var(--opaca-transition)}.opaca-ui-btn:hover svg,.opaca-btn:hover svg{transform:scale(1.1)}.opaca-ui-btn-size-default{height:2.5rem;padding:0 1.25rem}.opaca-ui-btn-size-sm{height:2.125rem;padding:0 .875rem;font-size:.75rem}.opaca-ui-btn-size-lg{height:3rem;padding:0 2rem;font-size:.9375rem}.opaca-ui-btn-size-icon{height:2.5rem;width:2.5rem;padding:0}.opaca-ui-btn-default,.opaca-btn-primary{background:linear-gradient(180deg, var(--opaca-primary) 0%, var(--opaca-primary-hover) 100%);color:#fff;border-color:hsla(0,0%,100%,.1);box-shadow:0 4px 12px var(--opaca-primary-glow),inset 0 1px 0 hsla(0,0%,100%,.2)}.opaca-ui-btn-default:hover,.opaca-btn-primary:hover{background:var(--opaca-primary-hover);box-shadow:0 6px 16px var(--opaca-primary-glow),inset 0 1px 0 hsla(0,0%,100%,.3)}.opaca-ui-btn-destructive{background:linear-gradient(180deg, var(--opaca-error) 0%, #dc2626 100%);color:#fff;border-color:hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(239,68,68,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.opaca-ui-btn-destructive:hover{background:#ef4444}.opaca-ui-btn-outline,.opaca-btn-outline{border-color:var(--opaca-border);background-color:var(--opaca-surface);backdrop-filter:var(--opaca-glass-blur);color:var(--opaca-text)}.opaca-ui-btn-outline:hover,.opaca-btn-outline:hover{background-color:var(--opaca-surface-bright);border-color:var(--opaca-border-hover);color:var(--opaca-text-bright);transform:translateY(-1px)}.opaca-ui-btn-secondary{background-color:var(--opaca-surface);color:var(--opaca-text);border-color:var(--opaca-border)}.opaca-ui-btn-secondary:hover{background-color:var(--opaca-surface-bright);border-color:var(--opaca-border-hover)}.opaca-ui-btn-ghost{background-color:rgba(0,0,0,0);color:var(--opaca-text-muted)}.opaca-ui-btn-ghost:hover{background-color:hsla(0,0%,100%,.04);color:var(--opaca-text-bright)}.opaca-ui-btn-link{background-color:rgba(0,0,0,0);color:var(--opaca-primary);text-decoration:none;font-weight:600}.opaca-ui-btn-link:hover{color:var(--opaca-primary-hover);text-decoration:underline}.opaca-item-button:hover{background-color:var(--opaca-brand-subtle) !important;border-color:var(--opaca-primary) !important;transform:translateY(-1px)}.opaca-item-button:active{transform:translateY(0)}.opaca-item-button.active{background-color:var(--opaca-brand-subtle) !important;border-color:var(--opaca-primary) !important;box-shadow:0 0 0 1px var(--opaca-primary)}.opaca-unsaved-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background-color:var(--opaca-warning);border:2px solid var(--opaca-surface);box-shadow:0 1px 2px rgba(0,0,0,.2);z-index:10;pointer-events:none}.opaca-ui-input,.opaca-input{display:flex;height:2.5rem;width:100%;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);background:var(--opaca-surface);backdrop-filter:var(--opaca-glass-blur);padding:0 1rem;font-size:.875rem;color:var(--opaca-text);transition:all var(--opaca-transition);outline:none}.opaca-ui-input::placeholder,.opaca-input::placeholder{color:var(--opaca-text-dim)}.opaca-ui-input:focus,.opaca-input:focus{border-color:var(--opaca-border-accent);background:var(--opaca-surface-bright);box-shadow:0 0 0 3px var(--opaca-primary-glow)}.opaca-ui-input:disabled,.opaca-input:disabled{cursor:not-allowed;opacity:.4;background:hsla(0,0%,100%,.02)}.opaca-ui-input[type=file],[type=file].opaca-input{border:0;background-color:rgba(0,0,0,0);font-size:.875rem;font-weight:600;padding:0}.opaca-label{display:block;font-size:.6875rem;font-weight:700;margin-bottom:.5rem;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.1em}.opaca-input{padding:.625rem .875rem}.opaca-input.error{border-color:var(--opaca-error)}.opaca-input.error:focus{box-shadow:0 0 0 3px var(--opaca-error-bg)}.opaca-field-error{display:block;font-size:.75rem;color:var(--opaca-error);margin-top:.25rem}.opaca-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;border-radius:var(--opaca-radius);background-color:var(--opaca-primary-glow);color:var(--opaca-accent);letter-spacing:.02em}.opaca-toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.opaca-toast{pointer-events:auto;min-width:280px;max-width:400px;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);padding:.875rem 1rem;border-radius:var(--opaca-radius-lg);display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.4);animation:opaca-toast-in 300ms cubic-bezier(0.16, 1, 0.3, 1);transition:all var(--opaca-transition)}.opaca-toast.exit{opacity:0;transform:translateX(20px)}.opaca-toast-success{border-left:3px solid var(--opaca-success)}.opaca-toast-error{border-left:3px solid var(--opaca-error)}.opaca-toast-info{border-left:3px solid var(--opaca-accent)}.opaca-toast-message{font-size:.8125rem;font-weight:500;color:var(--opaca-text);line-height:1.4}[data-slot=switch]{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;cursor:pointer;border-radius:9999px;padding:2px;background:var(--opaca-surface-elevated);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);outline:none}[data-slot=switch][data-size=default]{width:3rem;height:1.625rem}[data-slot=switch][data-size=sm]{width:2.25rem;height:1.25rem}[data-slot=switch][data-state=checked]{background:var(--opaca-primary);border-color:rgba(0,0,0,0);box-shadow:0 4px 12px var(--opaca-primary-glow)}[data-slot=switch][data-state=unchecked]:hover{background:hsla(0,0%,100%,.1)}[data-slot=switch]:focus-visible{box-shadow:0 0 0 2px var(--opaca-primary)}[data-slot=switch]:disabled{opacity:.5;cursor:not-allowed}[data-slot=switch-thumb]{display:block;background:#fff;border-radius:9999px;transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.2)}[data-size=default] [data-slot=switch-thumb]{width:1.25rem;height:1.25rem;transform:translateX(0)}[data-size=sm] [data-slot=switch-thumb]{width:.9rem;height:.9rem;transform:translateX(0)}[data-size=default] [data-state=checked] [data-slot=switch-thumb]{transform:translateX(1.375rem)}[data-size=sm] [data-state=checked] [data-slot=switch-thumb]{transform:translateX(1rem)}.opaca-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-top:1px solid var(--opaca-border);background-color:var(--opaca-sidebar-bg)}.opaca-pagination-info{font-size:.75rem;color:var(--opaca-text-dim)}.opaca-pagination-actions{display:flex;gap:.5rem}.opaca-empty{padding:5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.opaca-empty-icon{width:48px;height:48px;border-radius:50%;background-color:var(--opaca-surface);display:flex;align-items:center;justify-content:center;color:var(--opaca-text-dim);margin-bottom:.5rem}.opaca-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;background-color:var(--opaca-bg);color:var(--opaca-text);gap:2rem}.opaca-loading-logo-container{position:relative;display:flex;align-items:center;justify-content:center}.opaca-loading-logo-pulse{position:absolute;width:64px;height:64px;background-color:var(--opaca-primary);border-radius:var(--opaca-radius);opacity:.2;animation:opaca-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.opaca-loading-status{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--opaca-text-muted);animation:opaca-fade-in 1s ease-out}.opaca-login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:var(--opaca-bg);font-family:var(--opaca-font);color:var(--opaca-text);-webkit-font-smoothing:antialiased}.opaca-login-card{width:100%;max-width:380px;background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);padding:3rem;box-shadow:var(--opaca-glass-shadow);display:flex;flex-direction:column}.opaca-login-header{text-align:center;margin-bottom:1.5rem}.opaca-login-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--opaca-primary);border-radius:var(--opaca-radius);margin:0 auto 1rem}.opaca-logo-circle{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--opaca-primary);border-radius:var(--opaca-radius);color:#fff}.opaca-login-error{padding:.625rem .75rem;background-color:var(--opaca-error-bg);border:1px solid rgba(248,113,113,.2);color:var(--opaca-error);border-radius:var(--opaca-radius);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.opaca-lexical-wrapper{display:flex;flex-direction:column;gap:.75rem}.opaca-lexical-modes{display:inline-flex;gap:2px;background-color:var(--opaca-surface);padding:3px;border-radius:var(--opaca-radius-lg);border:1px solid var(--opaca-border);align-self:flex-start;margin-bottom:.25rem}.opaca-lexical-modes .opaca-btn{padding:.4rem .8rem;font-size:.75rem;border-radius:var(--opaca-radius);border:none;background-color:rgba(0,0,0,0);color:var(--opaca-text-muted);font-weight:500;min-width:80px;transition:all var(--opaca-transition)}.opaca-lexical-modes .opaca-btn:hover{color:var(--opaca-text);background-color:hsla(0,0%,100%,.05)}.opaca-lexical-modes .opaca-btn.opaca-btn-primary{background-color:var(--opaca-primary);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-lexical-container{border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:var(--opaca-surface);overflow:hidden;transition:all var(--opaca-transition);display:flex;flex-direction:column}.opaca-lexical-container:focus-within{border-color:var(--opaca-accent);box-shadow:0 0 0 2px var(--opaca-primary-glow)}.opaca-lexical-container.mode-notion .opaca-lexical-content{padding:1.5rem 1rem}.opaca-lexical-container.is-readonly{background-color:hsla(0,0%,100%,.02);cursor:not-allowed}.opaca-lexical-container.is-readonly .opaca-lexical-content{padding:0rem}.opaca-lexical-toolbar{display:flex;flex-wrap:wrap;gap:.125rem;padding:.375rem;border-bottom:1px solid var(--opaca-border);background-color:var(--opaca-card-bg);align-items:center}.opaca-lexical-bubble-menu{background:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);padding:4px;display:flex;gap:4px;box-shadow:0 10px 15px -3px rgba(0,0,0,.4);backdrop-filter:blur(8px)}.opaca-lexical-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--opaca-radius);background:rgba(0,0,0,0);border:none;color:var(--opaca-text-muted);cursor:pointer;transition:all var(--opaca-transition)}.opaca-lexical-btn:hover{background-color:hsla(0,0%,100%,.08);color:var(--opaca-text)}.opaca-lexical-btn.is-active{background-color:var(--opaca-primary-glow);color:var(--opaca-accent)}.opaca-lexical-divider{width:1px;height:18px;background-color:var(--opaca-border);margin:0 .25rem}.opaca-lexical-placeholder{color:var(--opaca-text-dim);position:absolute;top:1rem;left:1rem;pointer-events:none;font-style:normal;font-size:.875rem;opacity:.5}.opaca-lexical-editor-inner{position:relative;flex:1}.opaca-lexical-content{min-height:160px;padding:1rem;outline:none;line-height:1.6;color:var(--opaca-text);font-size:.9375rem}.opaca-lexical-content>*:first-child{margin-top:0}.opaca-lexical-content>*:last-child{margin-bottom:0}.opaca-lexical-content p{margin:.75em 0}.opaca-lexical-content .editor-heading-h1{font-size:2.25rem;font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;color:var(--opaca-text)}.opaca-lexical-content .editor-heading-h2{font-size:1.875rem;font-weight:600;margin-top:1.25rem;margin-bottom:.5rem;color:var(--opaca-text)}.opaca-lexical-content .editor-text-bold{font-weight:700}.opaca-lexical-content .editor-text-italic{font-style:italic}.opaca-lexical-content .editor-text-underline{text-decoration:underline}.opaca-lexical-content .editor-text-strikethrough{text-decoration:line-through}.opaca-lexical-content .editor-text-code{background-color:hsla(0,0%,100%,.05);padding:2px 4px;border-radius:4px;font-family:monospace;font-size:.9em}.opaca-lexical-content ul,.opaca-lexical-content.opaca-lexical-content ul{list-style-type:disc !important;padding-left:1.5rem !important;margin:.5rem 0 !important}.opaca-lexical-content ol,.opaca-lexical-content.opaca-lexical-content ol{list-style-type:decimal !important;padding-left:1.5rem !important;margin:.5rem 0 !important}.opaca-lexical-content .editor-listitem{margin:.25rem 0;line-height:1.6}.opaca-lexical-content ul[data-type=taskList]{list-style:none;padding:0}.opaca-lexical-content ul[data-type=taskList] p{margin:0}.opaca-lexical-content ul[data-type=taskList] li{display:flex;margin-bottom:.25rem}.opaca-lexical-content ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:.5rem;user-select:none}.opaca-lexical-content ul[data-type=taskList] li>div{flex:1 1 auto}.opaca-lexical-content ul[data-type=taskList] li input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;margin-top:.2rem;accent-color:var(--opaca-primary)}.opaca-lexical-content ul[data-type=taskList] li[data-checked=true]>div>p{text-decoration:line-through;color:var(--opaca-text-muted)}.opaca-lexical-content blockquote{border-left:3px solid var(--opaca-border);padding-left:1rem;margin:1em 0;color:var(--opaca-text-dim);font-style:italic}.opaca-lexical-content .editor-image-wrapper{position:relative;display:inline-block;cursor:default;user-select:none;line-height:0}.opaca-lexical-content .editor-image-wrapper.is-selected{outline:3px solid var(--opaca-primary);outline-offset:2px;border-radius:4px;box-shadow:0 0 0 4px var(--opaca-primary-glow)}.opaca-lexical-content .editor-image-wrapper .editor-image-img{max-width:100%;height:auto;border-radius:var(--opaca-radius)}.opaca-lexical-content .editor-image-wrapper .editor-image-resizer{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background-color:var(--opaca-primary);border:2px solid #fff;cursor:nwse-resize;z-index:20;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.3)}.opaca-lexical-content .editor-image-wrapper .editor-image-resizer:hover{background-color:var(--opaca-accent);transform:scale(1.2)}.opaca-lexical-content .editor-image-wrapper .editor-image-delete{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background-color:var(--opaca-error);color:#fff;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.3);padding:0;transition:transform .2s}.opaca-lexical-content .editor-image-wrapper .editor-image-delete:hover{transform:scale(1.1);background-color:#ff4d4d}.opaca-lexical-content a{color:var(--opaca-primary);text-decoration:underline;text-underline-offset:2px}.opaca-lexical-content pre{background-color:var(--opaca-bg);color:var(--opaca-text);padding:1rem;border-radius:var(--opaca-radius);overflow-x:auto;border:1px solid var(--opaca-border);margin:1em 0}.opaca-lexical-content pre code{color:inherit;padding:0;background:none;font-size:.85rem}.opaca-lexical-content [contenteditable=true] p.is-editor-empty:first-child::before,.opaca-lexical-content [contenteditable=true] h1.is-empty::before,.opaca-lexical-content [contenteditable=true] h2.is-empty::before,.opaca-lexical-content [contenteditable=true] h3.is-empty::before,.opaca-lexical-content [contenteditable=true] [data-placeholder]::before{content:attr(data-placeholder);float:left;color:var(--opaca-text-muted);pointer-events:none;height:0;font-style:italic;opacity:.6}.opaca-lexical-bubble-menu{display:flex;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.25rem;gap:.125rem}.opaca-lexical-floating-menu{display:flex;align-items:center;margin-left:-32px}.opaca-lexical-btn-plus{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--opaca-surface);border:1px solid var(--opaca-border);color:var(--opaca-text-muted);cursor:pointer;transition:all var(--opaca-transition);font-size:1rem;margin-right:.5rem}.opaca-lexical-btn-plus:hover{background-color:var(--opaca-primary-glow);color:var(--opaca-primary);border-color:var(--opaca-primary)}.opaca-lexical-floating-menu-items{display:none;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.25rem;gap:.125rem;animation:opaca-fade-in 100ms ease-out}.opaca-lexical-floating-menu:hover .opaca-lexical-floating-menu-items{display:flex}.opaca-slash-menu{display:flex;flex-direction:column;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.5rem;max-height:300px;overflow-y:auto;min-width:250px}.opaca-slash-menu-item{display:flex;align-items:center;gap:.75rem;padding:.3rem;border:none;background:rgba(0,0,0,0);color:var(--opaca-text);border-radius:var(--opaca-radius);cursor:pointer;text-align:left;transition:background-color var(--opaca-transition)}.opaca-slash-menu-item:hover,.opaca-slash-menu-item.is-selected{background-color:var(--opaca-surface)}.opaca-slash-menu-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--opaca-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);color:var(--opaca-text-muted)}.opaca-slash-menu-text{display:flex;flex-direction:column}.opaca-slash-menu-title{font-size:.8125rem;font-weight:500;color:var(--opaca-text)}.opaca-slash-menu-desc{font-size:.7rem;color:var(--opaca-text-muted)}.opaca-slash-menu-empty{padding:1rem;color:var(--opaca-text-muted);font-size:.8125rem;text-align:center}.opaca-accordion-item{border-bottom:1px solid var(--opaca-border)}.opaca-accordion-item:last-child{border-bottom:none}.opaca-accordion-header{display:flex}.opaca-accordion-trigger{display:flex;flex:1;align-items:center;justify-content:space-between;padding:1rem 0;font-size:.875rem;font-weight:500;transition:all .2s ease-in-out;color:var(--opaca-text);background:rgba(0,0,0,0);border:none;cursor:pointer;outline:none}.opaca-accordion-trigger:hover{color:var(--opaca-accent)}.opaca-accordion-trigger[data-state=open] .opaca-accordion-trigger-icon{transform:rotate(180deg)}.opaca-accordion-trigger .opaca-accordion-trigger-icon{width:1rem;height:1rem;flex-shrink:0;transition:transform .2s ease-in-out;color:var(--opaca-text-dim)}.opaca-accordion-content{overflow:hidden;font-size:.875rem;transition:all .2s ease-in-out}.opaca-accordion-content[data-state=closed]{animation:opaca-accordion-up .2s ease-out}.opaca-accordion-content[data-state=open]{animation:opaca-accordion-down .2s ease-out}.opaca-accordion-content-inner{padding-bottom:1rem;padding-top:0}.opaca-sidebar .opaca-accordion-custom{margin-bottom:.25rem}.opaca-sidebar .opaca-accordion-item{border:none}.opaca-sidebar .opaca-accordion-trigger{padding:.75rem .75rem;font-size:.625rem;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-radius:.5rem}.opaca-sidebar .opaca-accordion-trigger:hover{background:var(--opaca-bg-alt);color:var(--opaca-text)}.opaca-sidebar .opaca-accordion-trigger .opaca-accordion-trigger-icon{width:.75rem;height:.75rem}.opaca-sidebar .opaca-accordion-content-inner{padding:.25rem .5rem}@keyframes opaca-accordion-down{from{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes opaca-accordion-up{from{height:var(--radix-accordion-content-height)}to{height:0}}.asset-manager-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5);padding:1rem}.asset-manager-container{background-color:var(--opaca-card-bg);border-radius:var(--opaca-radius);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);width:100%;border:1px solid var(--opaca-border);max-width:56rem;height:600px;display:flex;flex-direction:column;color:var(--opaca-text);overflow:hidden}.asset-manager-header{padding:1.25rem 1.75rem;border-bottom:1px solid var(--opaca-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--opaca-card-bg)}.asset-manager-header h2{font-size:1.125rem;font-weight:600;margin:0}.asset-manager-header .asset-manager-breadcrumbs{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.8125rem;color:var(--opaca-text-dim)}.asset-manager-header .asset-manager-breadcrumbs button{background:none;border:none;padding:0;color:inherit;cursor:pointer}.asset-manager-header .asset-manager-breadcrumbs button:hover{color:var(--opaca-accent);text-decoration:underline}.asset-manager-header .asset-manager-breadcrumbs .breadcrumb-separator{opacity:.5}.asset-manager-header .header-actions{display:flex;align-items:center;gap:1rem}.asset-manager-header .header-actions .bucket-selector{min-width:140px;height:36px}.asset-manager-header .close-button{color:var(--opaca-text-dim);background:rgba(0,0,0,0);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--opaca-transition);padding:.25rem;border-radius:6px}.asset-manager-header .close-button:hover{background-color:var(--opaca-surface);color:var(--opaca-text)}.asset-manager-upload-zone{padding:2rem;border-bottom:2px dashed var(--opaca-border);background-color:rgba(0,0,0,.2);cursor:pointer;text-align:center;position:relative;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center}.asset-manager-upload-zone.uploading{pointer-events:none;opacity:.7}.asset-manager-upload-zone .upload-icon{margin-bottom:.75rem;color:var(--opaca-text-dim)}.asset-manager-upload-zone .upload-prompt{color:var(--opaca-text-dim);margin:0;font-size:.875rem}.asset-manager-upload-zone .upload-prompt span{color:var(--opaca-accent);font-weight:600}.asset-manager-upload-zone .uploading-status{display:flex;flex-direction:column;align-items:center;gap:.75rem}.asset-manager-upload-zone .uploading-status .status-text{color:var(--opaca-accent);font-weight:600;font-size:.875rem}.asset-manager-grid-container{flex:1;overflow-y:auto;padding:1.5rem;background-color:rgba(0,0,0,.1)}.asset-manager-grid-container .loading-assets,.asset-manager-grid-container .no-assets{display:flex;justify-content:center;align-items:center;height:100%;color:#9ca3af}.asset-manager-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1.25rem}.asset-manager-card{position:relative;background-color:var(--opaca-surface);border-radius:12px;border:1px solid var(--opaca-border);overflow:hidden;cursor:pointer;transition:all var(--opaca-transition);display:flex;flex-direction:column}.asset-manager-card:hover{border-color:var(--opaca-accent);transform:translateY(-2px);box-shadow:var(--opaca-shadow-lg)}.asset-manager-card:hover .selection-overlay{opacity:1}.asset-manager-card .asset-thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background-color:var(--opaca-bg-alt);overflow:hidden;position:relative}.asset-manager-card .asset-thumb img{width:100%;height:100%;object-fit:cover}.asset-manager-card .asset-thumb .folder-icon{color:#eab308}.asset-manager-card .asset-info{padding:.75rem;display:flex;flex-direction:column;gap:.25rem;background-color:var(--opaca-card-bg);flex:1}.asset-manager-card .asset-info .filename{font-size:.8125rem;font-weight:500;color:var(--opaca-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-manager-card .asset-info .file-meta{font-size:.6875rem;color:var(--opaca-text-dim)}.asset-manager-card .selection-overlay{position:absolute;inset:0;background-color:rgba(var(--opaca-accent-rgb), 0.1);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--opaca-transition);pointer-events:none}.asset-manager-card .selection-overlay .select-badge{background-color:var(--opaca-accent);color:#fff;font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:9999px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.asset-manager-card.folder-card .asset-thumb{background-color:rgba(234,179,8,.05)}.file-field-container{margin-bottom:2rem;background-color:rgba(0,0,0,0);padding:0;border:none;box-shadow:none}.file-field-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.file-field-label-row label{display:block;font-size:.875rem;font-weight:500;color:var(--opaca-text);text-transform:capitalize}.file-field-label-row .upload-error{font-size:.75rem;color:#ef4444;font-weight:500}.file-field-optimistic-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--opaca-primary);border-radius:var(--opaca-radius);background-color:rgba(var(--opaca-primary-rgb), 0.1)}.file-field-optimistic-card .optimistic-info{display:flex;align-items:center;gap:1rem;opacity:.7}.file-field-optimistic-card .optimistic-info img{width:4rem;height:4rem;object-fit:cover;border-radius:.25rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.file-field-optimistic-card .optimistic-info .file-icon-placeholder{width:4rem;height:4rem;background-color:#e5e7eb;border-radius:.25rem;display:flex;align-items:center;justify-content:center}.file-field-optimistic-card .optimistic-info .file-icon-placeholder span{font-size:.75rem;font-family:monospace}.file-field-optimistic-card .optimistic-info .optimistic-details{display:flex;flex-direction:column;flex:1;min-width:0}.file-field-optimistic-card .optimistic-info .optimistic-details .filename{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-field-optimistic-card .optimistic-info .optimistic-details .progress-text{font-size:.75rem;color:#2563eb;margin-bottom:.25rem;font-weight:600}.file-field-optimistic-card .optimistic-info .optimistic-details .progress-bar-bg{width:100%;background-color:#bfdbfe;border-radius:9999px;height:.375rem}.file-field-optimistic-card .optimistic-info .optimistic-details .progress-bar-bg .progress-bar-fill{background-color:#2563eb;height:100%;border-radius:9999px;transition:width .3s}.file-field-asset-card{display:flex;flex-direction:column;gap:1rem}.file-field-asset-info{display:flex;align-items:center;padding:1rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);background-color:var(--opaca-card-bg);justify-content:space-between}.file-field-asset-info .asset-preview{display:flex;align-items:center;gap:1rem}.file-field-asset-info .asset-preview img{width:4rem;height:4rem;object-fit:cover;border-radius:.25rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e5e7eb}.file-field-asset-info .asset-preview .file-icon-placeholder{width:4rem;height:4rem;background-color:var(--opaca-border);border-radius:.25rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--opaca-border)}.file-field-asset-info .asset-preview .file-icon-placeholder span{font-size:.75rem;font-family:monospace;color:var(--opaca-subtitle)}.file-field-asset-info .asset-preview .asset-details{display:flex;flex-direction:column}.file-field-asset-info .asset-preview .asset-details .filename{font-size:.875rem;font-weight:500;color:var(--opaca-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.file-field-asset-info .asset-preview .asset-details .filesize{font-size:.75rem;color:var(--opaca-subtitle);font-family:monospace;margin-top:.125rem}.file-field-asset-info .asset-actions{display:flex;gap:.75rem}.file-field-asset-info .asset-actions button{font-size:.875rem;font-weight:500;background:rgba(0,0,0,0);border:none;cursor:pointer;transition:color .2s}.file-field-asset-info .asset-actions button.replace-button{color:var(--opaca-primary)}.file-field-asset-info .asset-actions button.replace-button:hover{opacity:.8}.file-field-asset-info .asset-actions button.remove-button{color:var(--opaca-error)}.file-field-asset-info .asset-actions button.remove-button:hover{opacity:.8}.file-field-metadata{padding-left:1rem;border-left:2px solid #bfdbfe;display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.file-field-metadata h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;margin-bottom:.5rem}.file-field-metadata .metadata-field label{display:block;font-size:.75rem;font-weight:500;color:var(--opaca-subtitle);margin-bottom:.25rem;text-transform:capitalize}.file-field-metadata .metadata-field label .required{color:#ef4444}.file-field-metadata .metadata-field input,.file-field-metadata .metadata-field textarea{width:100%;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:.5rem .75rem;outline:none;transition:all .2s}.file-field-metadata .metadata-field input:focus,.file-field-metadata .metadata-field textarea:focus{border-color:#3b82f6;outline:1px solid #3b82f6}.file-field-empty-button{width:100%;padding:3.5rem 0;border:2px dashed var(--opaca-border);border-radius:var(--opaca-radius);color:var(--opaca-text-dim);background-color:var(--opaca-surface);cursor:pointer;transition:all var(--opaca-transition);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.file-field-empty-button:hover{border-color:var(--opaca-primary);color:var(--opaca-accent);background-color:rgba(124,58,237,.05)}.file-field-empty-button svg{width:2rem;height:2rem;color:#9ca3af}.file-field-empty-button span{font-weight:500;font-size:.875rem}.opaca-ui-collapsible{display:flex;flex-direction:column;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:rgba(0,0,0,0);overflow:hidden;margin-bottom:2rem;transition:border-color var(--opaca-transition)}.opaca-ui-collapsible-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;text-align:left;background-color:var(--opaca-surface);color:var(--opaca-text);border:none;border-bottom:1px solid rgba(0,0,0,0);cursor:pointer;transition:all var(--opaca-transition)}.opaca-ui-collapsible-trigger:hover{background-color:var(--opaca-border)}.opaca-ui-collapsible-trigger[aria-expanded=true]{border-bottom-color:var(--opaca-border)}.opaca-ui-collapsible-trigger[aria-expanded=true] .opaca-ui-collapsible-icon{transform:rotate(180deg)}.opaca-ui-collapsible-icon{width:.875rem;height:.875rem;transition:transform var(--opaca-transition);fill:none;stroke:var(--opaca-text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.opaca-ui-collapsible-content{padding:1.25rem;background-color:rgba(0,0,0,0);color:var(--opaca-text)}.opaca-ui-collapsible-content[data-state=closed]{display:none}.opaca-ui-collapsible-content[data-state=open]{animation:collapsible-slide-down 200ms ease-out}@keyframes collapsible-slide-down{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.opaca-dialog-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);animation:opaca-fade-in .2s ease-out both}.opaca-dialog-wrapper{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none}.opaca-dialog-content{pointer-events:auto;position:relative;z-index:1002;display:flex;flex-direction:column;width:100%;max-width:32rem;background:var(--opaca-card-bg);backdrop-filter:blur(20px);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);animation:opaca-zoom-in .2s cubic-bezier(0.16, 1, 0.3, 1) both;padding:0;overflow:hidden}.opaca-dialog-content.max-w-screen-xl{max-width:80rem;width:95vw}.opaca-dialog-content.max-w-screen-lg{max-width:64rem;width:90vw}.opaca-dialog-content.max-w-4xl{max-width:56rem;width:90vw}.opaca-dialog-close{position:absolute;right:1.25rem;top:1.25rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;color:var(--opaca-text-muted);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:all .2s;z-index:10}.opaca-dialog-close:hover{background:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-dialog-header{padding:1.5rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.opaca-dialog-title{font-size:1.25rem;font-weight:600;color:var(--opaca-text);line-height:1.2}.opaca-dialog-description{font-size:.875rem;color:var(--opaca-text-muted)}.opaca-dialog-footer{padding:1.25rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem;background:hsla(0,0%,100%,.02);border-top:1px solid var(--opaca-glass-border)}@keyframes opaca-zoom-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes opaca-fade-in{from{opacity:0}to{opacity:1}}.opaca-ui-group{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:rgba(0,0,0,0);margin-bottom:2rem}.opaca-ui-group-header{font-size:.75rem;font-weight:500;margin-bottom:.5rem;color:var(--opaca-text-muted);text-transform:uppercase;letter-spacing:.03em}.media-registry-view{display:flex;flex-direction:column;height:100%;padding:1.5rem;gap:1.5rem}.media-registry-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.media-registry-header .opaca-title{font-size:1.875rem;font-weight:700;letter-spacing:-0.025em;color:var(--opaca-text)}.media-registry-header .opaca-subtitle{font-size:.875rem;color:var(--opaca-text-muted);margin-top:.25rem}.media-registry-header-actions{display:flex;align-items:center;gap:.75rem}.media-registry-icon-mr{margin-right:.5rem}.media-registry-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg, 0.5rem);box-shadow:0 1px 3px 0 rgba(0,0,0,.1);backdrop-filter:blur(12px)}.media-registry-filters{display:flex;gap:.75rem;align-items:center;width:100%;max-width:600px}.media-registry-search{position:relative;flex:1;min-width:320px}.media-registry-search .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--opaca-text-dim)}.media-registry-search .opaca-ui-input{padding-left:2.5rem}.media-registry-select-trigger{width:auto;min-width:140px;flex-shrink:0;background:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg, 0.5rem);color:var(--opaca-text);padding:0 1rem;height:2.75rem;font-weight:500;transition:all .2s ease;backdrop-filter:blur(8px)}.media-registry-select-trigger:hover{background:var(--opaca-surface-hover);border-color:var(--opaca-border-hover);transform:translateY(-1px)}.media-registry-select-trigger:focus{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.media-registry-select-trigger[data-slot=select-trigger]{background-image:none !important}.media-registry-view-toggles{display:flex;gap:.25rem;background:var(--opaca-surface);padding:.25rem;border-radius:var(--opaca-radius-lg, 0.5rem);border:1px solid var(--opaca-border)}.media-registry-view-toggles .active{background-color:var(--opaca-primary) !important;color:#fff !important}.media-registry-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1.5rem;margin-top:.5rem}.opaca-scroll-area::-webkit-scrollbar,.custom-scrollbar::-webkit-scrollbar{width:6px}.opaca-scroll-area::-webkit-scrollbar-thumb,.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-scroll-area::-webkit-scrollbar-thumb:hover,.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--opaca-accent)}.media-registry-card{position:relative;background:var(--opaca-card-bg);border-radius:.75rem;border:1px solid var(--opaca-border);overflow:hidden;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.media-registry-card:hover{border-color:var(--opaca-border-hover)}.media-registry-card.active{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.media-registry-card-thumb{height:160px;background:var(--opaca-surface);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--opaca-border);position:relative;overflow:hidden}.media-registry-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.media-registry-card-thumb svg.folder-icon{color:#eab308;transition:transform .3s}.media-registry-card-thumb .media-registry-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.media-registry-card:hover .media-registry-card-thumb img,.media-registry-card:hover .media-registry-card-thumb svg.folder-icon{transform:scale(1.05)}.media-registry-card:hover .media-registry-overlay{opacity:1}.media-registry-overlay-btn{border-radius:9999px;background-color:hsla(0,0%,100%,.1);backdrop-filter:blur(12px);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;transition:all .2s}.media-registry-overlay-btn:hover{background-color:#fff;color:#000}.media-registry-card-body{padding:1rem}.media-registry-card-title{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--opaca-text)}.media-registry-card-meta{font-size:.75rem;color:var(--opaca-text-dim);display:flex;justify-content:space-between;margin-top:.375rem}.media-registry-card-meta .meta-type{text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.media-registry-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg, 0.5rem);margin-top:2rem}.media-registry-pagination .info{font-size:.875rem;color:var(--opaca-text-muted)}.media-registry-pagination .actions{display:flex;gap:.5rem}.media-sheet-flex{flex:1;display:flex;flex-direction:column}.media-sheet-body{flex:1;overflow-y:auto;padding-right:.5rem;margin-right:-0.5rem}.media-sheet-preview{height:12rem;border-radius:var(--opaca-radius-lg, 0.5rem);background:var(--opaca-surface);border:1px solid var(--opaca-border);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:1rem;position:relative}.media-sheet-preview img{width:100%;height:100%;object-fit:contain}.media-sheet-preview .overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.media-sheet-preview:hover .overlay{opacity:1}.media-sheet-form{display:flex;flex-direction:column;gap:1rem}.media-sheet-group{display:flex;flex-direction:column;gap:.5rem}.media-sheet-textarea{display:flex;min-height:80px;width:100%;border-radius:var(--opaca-radius, 0.375rem);border:1px solid var(--opaca-border);background-color:var(--opaca-surface);padding:.5rem .75rem;font-size:.875rem;color:var(--opaca-text);outline:none;font-family:inherit}.media-sheet-textarea::placeholder{color:var(--opaca-text-dim)}.media-sheet-textarea:focus-visible{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.media-sheet-meta-box{background:hsla(0,0%,100%,.02);padding:1rem;border-radius:var(--opaca-radius-lg, 0.5rem);border:1px solid var(--opaca-border);display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.media-sheet-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.media-sheet-meta-row .label{color:var(--opaca-text-dim)}.media-sheet-meta-row .value{color:#fff;font-weight:500}.media-sheet-meta-row .value-mono{font-family:monospace;font-size:.75rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-sheet-actions{display:flex;gap:.75rem;padding-top:1.5rem;margin-top:1.5rem}.media-sheet-actions button{flex:1}.media-preview-container{flex:1;display:flex;flex-direction:column;padding:1.5rem;background:rgba(15,15,15,.7);backdrop-filter:blur(24px) saturate(180%);border-radius:.5rem;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);max-width:90vw;max-height:90vh;animation:opaca-zoom-in .3s cubic-bezier(0.16, 1, 0.3, 1)}@media(min-width: 640px){.media-preview-container{padding:1rem}}@keyframes opaca-zoom-in{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.media-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0;z-index:10}.media-preview-title-group{display:flex;align-items:center;gap:.75rem}.media-preview-title-group h2{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.media-preview-title-group .badge{padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-family:monospace;background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.media-preview-close-btn{color:#fff;background:rgba(0,0,0,0);border-radius:9999px;height:2.5rem;width:2.5rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .2s}.media-preview-close-btn:hover{background:hsla(0,0%,100%,.1)}.media-preview-body{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;position:relative}.media-preview-body img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.5))}.media-preview-no-rich{text-align:center;padding:2rem;background:hsla(0,0%,100%,.05);border-radius:1rem;border:1px solid hsla(0,0%,100%,.1);backdrop-filter:blur(4px)}.media-preview-no-rich .icon-wrapper{display:flex;justify-content:center;margin-bottom:1.5rem}.media-preview-no-rich p{color:var(--opaca-text-dim);margin-bottom:1.5rem}.media-preview-footer{margin-top:2rem;display:flex;justify-content:center;gap:1rem;flex-shrink:0}.media-preview-stat{background:hsla(0,0%,100%,.03);backdrop-filter:blur(8px);padding:.75rem 1.5rem;border-radius:1rem;border:1px solid hsla(0,0%,100%,.05);text-align:center;transition:all .2s}.media-preview-stat:hover{background:hsla(0,0%,100%,.06);transform:translateY(-2px)}.media-preview-stat .label{font-size:.75rem;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.media-preview-stat .value{font-weight:600;color:#fff}.media-dialog-create-body{padding:1rem 0}.media-bucket-settings{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.media-bucket-settings .bucket-setting-row{display:flex;flex-direction:column;gap:.75rem}.media-bucket-settings .bucket-setting-row .bucket-name{font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em}.media-bucket-settings .bucket-setting-row .color-presets{display:flex;flex-wrap:wrap;gap:.5rem}.media-bucket-settings .bucket-setting-row .color-presets .color-bubble{width:24px;height:24px;border-radius:50%;border:2px solid rgba(0,0,0,0);cursor:pointer;transition:all var(--opaca-transition);padding:0;display:flex;align-items:center;justify-content:center}.media-bucket-settings .bucket-setting-row .color-presets .color-bubble:hover{transform:scale(1.1)}.media-bucket-settings .bucket-setting-row .color-presets .color-bubble.active{border-color:#fff;box-shadow:0 0 0 2px var(--opaca-primary)}.media-registry-dialog-sm{max-width:400px}.media-registry-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;background:hsla(0,0%,100%,.02);border:1px dashed var(--opaca-border);border-radius:2rem;color:var(--opaca-text-dim);gap:2rem;text-align:center;margin:1rem 0;backdrop-filter:blur(4px);animation:opaca-fade-in .6s ease-out}.media-registry-empty svg{opacity:.3;filter:drop-shadow(0 0 20px rgba(var(--opaca-accent-rgb), 0.2));color:var(--opaca-text-dim)}.media-registry-empty p{font-size:1.25rem;font-weight:600;letter-spacing:-0.01em;background:linear-gradient(135deg, var(--opaca-text-dim) 0%, var(--opaca-text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}.media-registry-empty .empty-description{font-size:.875rem;max-width:300px;margin-top:-1rem;opacity:.7;-webkit-text-fill-color:initial;background:rgba(0,0,0,0);color:var(--opaca-text-muted)}.opaca-ui-radio-group{display:grid;gap:.75rem}.opaca-ui-radio-item{display:flex;align-items:center;gap:.75rem}.opaca-ui-radio-item input[type=radio]{appearance:none;margin:0;width:1.125rem;height:1.125rem;border:1px solid var(--opaca-border);border-radius:50%;outline:none;cursor:pointer;position:relative;background-color:var(--opaca-surface);transition:all var(--opaca-transition)}.opaca-ui-radio-item input[type=radio]:hover:not(:disabled){border-color:var(--opaca-accent)}.opaca-ui-radio-item input[type=radio]:checked{border-color:var(--opaca-primary);background-color:var(--opaca-primary)}.opaca-ui-radio-item input[type=radio]:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:.375rem;height:.375rem;border-radius:50%;background-color:#fff}.opaca-ui-radio-item input[type=radio]:focus-visible{box-shadow:0 0 0 2px var(--opaca-primary-glow)}.opaca-ui-radio-item input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.opaca-ui-radio-item label{cursor:pointer;font-size:.8125rem;font-weight:400;color:var(--opaca-text)}.opaca-ui-radio-item label.disabled{cursor:not-allowed;opacity:.5}.opaca-ui-select{position:relative;width:100%}.opaca-ui-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:160px;padding:.5rem .75rem;font-size:.8125rem;background-color:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);color:var(--opaca-text);cursor:pointer;transition:all var(--opaca-transition);text-align:left;outline:none}.opaca-ui-select-trigger:hover{border-color:var(--opaca-border-hover);background-color:hsla(0,0%,100%,.02)}.opaca-ui-select-trigger:focus{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary-glow)}.opaca-ui-select-trigger:disabled{opacity:.5;cursor:not-allowed}.opaca-ui-select-trigger .trigger-placeholder{color:var(--opaca-text-dim)}.opaca-ui-select-trigger .trigger-icon{color:var(--opaca-text-dim);transition:transform var(--opaca-transition)}.opaca-ui-select-trigger[data-state=open] .trigger-icon{transform:rotate(180deg)}.opaca-ui-select-portal{position:fixed;z-index:1000;pointer-events:none}.opaca-ui-select-content{z-index:10000;pointer-events:auto;min-width:8rem;overflow:hidden;background-color:var(--opaca-card-bg);backdrop-filter:blur(20px);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);box-shadow:0 10px 25px -5px rgba(0,0,0,.4);padding:.25rem;animation:opaca-select-in 150ms cubic-bezier(0.16, 1, 0.3, 1);transform-origin:var(--radix-select-content-transform-origin)}.opaca-ui-select-content[data-position=popper]{width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);margin-top:4px}@keyframes opaca-select-in{from{opacity:0;transform:scale(0.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.opaca-ui-select-item{display:flex;align-items:center;width:100%;padding:.425rem 2.25rem .425rem .625rem;font-size:.8125rem;color:var(--opaca-text-muted);border-radius:var(--opaca-radius);cursor:pointer;transition:background 150ms ease,color 150ms ease;border:none;background:rgba(0,0,0,0);text-align:left;position:relative;user-select:none;outline:none}.opaca-ui-select-item>span:first-child{position:absolute !important;right:.5rem !important;top:50% !important;transform:translateY(-50%) !important;width:1rem !important;height:1rem !important;display:flex !important;align-items:center !important;justify-content:center !important;pointer-events:none !important;color:var(--opaca-accent);opacity:0;transition:opacity 150ms ease}.opaca-ui-select-item[data-state=checked]>span:first-child{opacity:1}.opaca-ui-select-item:hover,.opaca-ui-select-item:focus{background-color:hsla(0,0%,100%,.06);color:var(--opaca-text)}.opaca-ui-select-item[data-state=checked]{background-color:var(--opaca-primary-glow);color:var(--opaca-accent);font-weight:500}.opaca-ui-select-item[data-disabled]{opacity:.4;pointer-events:none}.opaca-ui-select-label{padding:.375rem .5rem;font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em}.opaca-ui-select-separator{height:1px;background-color:var(--opaca-border);margin:.25rem -0.25rem}.opaca-ui-select-chevron{width:1rem;height:1rem;color:var(--opaca-text-dim);flex-shrink:0;pointer-events:none}.opaca-ui-select-viewport{padding:.125rem}.opaca-ui-select-item-indicator{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--opaca-accent)}.opaca-ui-select-item-indicator svg{width:.875rem;height:.875rem}.opaca-ui-select-scroll-button{display:flex;align-items:center;justify-content:center;padding:.25rem;cursor:default;background:var(--opaca-card-bg);color:var(--opaca-text-muted)}.opaca-ui-select-scroll-button svg{width:.875rem;height:.875rem}.opaca-spin{animation:opaca-spin-anim 1s linear infinite}@keyframes opaca-spin-anim{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.opaca-ui-sheet-portal-wrapper{position:fixed;inset:0;z-index:9999;display:flex;justify-content:flex-end;pointer-events:none}.opaca-ui-sheet-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.8);backdrop-filter:blur(4px);z-index:9998;border:none;padding:0;margin:0;cursor:default;transition:opacity .3s ease}.opaca-ui-sheet-overlay[data-state=open]{animation:opacaFadeIn .3s ease}.opaca-ui-sheet-overlay[data-state=closed]{animation:opacaFadeOut .3s ease}.opaca-ui-sheet-content{pointer-events:auto;position:relative;z-index:9999;display:flex;height:100%;width:100%;flex-direction:column;border-left:1px solid var(--opaca-border);background-color:var(--opaca-card-bg);padding:1.5rem;box-shadow:-10px 0 25px -5px rgba(0,0,0,.3);overflow-y:auto;color:var(--opaca-text)}@media(min-width: 640px){.opaca-ui-sheet-content{width:400px;max-width:100vw}}@media(min-width: 1024px){.opaca-ui-sheet-content{width:500px}}.opaca-ui-sheet-content[data-state=open]{animation:opacaSlideInRight .3s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-ui-sheet-content[data-state=closed]{animation:opacaSlideOutRight .3s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-ui-sheet-close{position:absolute;right:1rem;top:1rem;border-radius:50%;opacity:.7;transition:all .2s ease;background:rgba(0,0,0,0);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem}.opaca-ui-sheet-close:hover{opacity:1;background-color:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-ui-sheet-close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--opaca-primary)}.opaca-ui-sheet-close-icon{height:1rem;width:1rem;color:var(--opaca-text-muted)}.opaca-ui-sheet-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;text-align:center}@media(min-width: 640px){.opaca-ui-sheet-header{text-align:left}}.opaca-ui-sheet-title{font-size:1.125rem;font-weight:600;color:var(--opaca-text);margin:0}.opaca-ui-sheet-description{font-size:.875rem;color:var(--opaca-text-muted);margin:0}.opaca-ui-sheet-footer{display:flex;flex-direction:column-reverse;margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--opaca-border);gap:.75rem}@media(min-width: 640px){.opaca-ui-sheet-footer{flex-direction:row;justify-content:flex-end;gap:.5rem}}.opaca-ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@keyframes opacaFadeIn{from{opacity:0}to{opacity:1}}@keyframes opacaFadeOut{from{opacity:1}to{opacity:0}}@keyframes opacaSlideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes opacaSlideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.opaca-tabs-field{width:100%}[data-slot=tabs]{display:flex;flex-direction:column;gap:1.5rem;width:100%}[data-slot=tabs][data-orientation=vertical]{flex-direction:row}[data-slot=tabs-list]{display:inline-flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.25rem;background:var(--opaca-surface-elevated);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);width:fit-content}[data-slot=tabs-list][data-variant=line]{background:rgba(0,0,0,0);border:none;border-bottom:1px solid var(--opaca-glass-border);border-radius:0;padding:0;gap:1.5rem}[data-slot=tabs-trigger]{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--opaca-text-muted);background:rgba(0,0,0,0);border:none;border-radius:var(--opaca-radius-md);cursor:pointer;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);white-space:nowrap}[data-slot=tabs-trigger]:hover:not(:disabled){color:var(--opaca-text);background:hsla(0,0%,100%,.05)}[data-slot=tabs-trigger]:disabled{opacity:.5;cursor:not-allowed}[data-slot=tabs-trigger][data-state=active]{color:var(--opaca-text);background:var(--opaca-primary);box-shadow:0 4px 12px var(--opaca-primary-glow);transform:translateY(-1px);color:#fff}[data-variant=line] [data-slot=tabs-trigger]{border-radius:0;padding:.75rem 0;background:rgba(0,0,0,0) !important;box-shadow:none !important;transform:none !important}[data-variant=line] [data-slot=tabs-trigger]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--opaca-primary);opacity:0;transition:opacity .2s}[data-variant=line] [data-slot=tabs-trigger][data-state=active]{color:var(--opaca-primary)}[data-variant=line] [data-slot=tabs-trigger][data-state=active]::after{opacity:1}[data-slot=tabs-content]{width:100%;animation:opaca-tabs-fade-in .3s ease-out;outline:none}[data-slot=tabs-content]:focus-visible{box-shadow:0 0 0 2px var(--opaca-primary)}@keyframes opaca-tabs-fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.opaca-data-detail-sheet{width:100% !important}@media(min-width: 640px){.opaca-data-detail-sheet{width:600px !important;max-width:95vw !important}}.opaca-data-detail-sheet .opaca-sheet-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--opaca-border, rgba(255, 255, 255, 0.1));background:linear-gradient(to bottom, rgba(255, 255, 255, 0.02), transparent);margin:-1.5rem -1.5rem 1.5rem -1.5rem;padding:1.5rem}.opaca-data-detail-sheet .opaca-sheet-title{font-size:1.5rem;font-weight:800;letter-spacing:-0.02em;color:var(--opaca-text)}.opaca-data-detail-sheet .opaca-sheet-description{opacity:.6;font-weight:500;color:var(--opaca-text-muted)}.opaca-detail-list{display:flex;flex-direction:column;gap:1.25rem}.opaca-detail-item-card{background:var(--opaca-card-bg, rgba(255, 255, 255, 0.03));border:1px solid var(--opaca-border, rgba(255, 255, 255, 0.1));border-radius:12px;overflow:hidden;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.opaca-detail-item-card:hover{border-color:var(--opaca-border-hover, rgba(255, 255, 255, 0.2));background:var(--opaca-card-bg-hover, rgba(255, 255, 255, 0.05));transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.opaca-detail-item-header{padding:.875rem 1.25rem;background:hsla(0,0%,100%,.05);border-bottom:1px solid var(--opaca-border);display:flex;align-items:center;font-weight:600;color:var(--opaca-text);font-size:.8125rem;letter-spacing:.02em}.opaca-detail-item-content{padding:1.25rem}.opaca-detail-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.opaca-detail-grid.nested{padding:1.25rem;background:hsla(0,0%,100%,.02);border:1px solid var(--opaca-border);border-radius:8px;margin-top:.75rem;position:relative}.opaca-detail-grid.nested::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--opaca-primary, #3b82f6);border-radius:3px 0 0 3px;opacity:.5}.opaca-detail-row{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid hsla(0,0%,100%,.03)}.opaca-detail-row:last-child{border-bottom:none;padding-bottom:0}.opaca-detail-label{font-size:.7rem;font-weight:700;color:var(--opaca-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.1em;font-family:var(--opaca-font-mono, monospace);opacity:.8}.opaca-detail-value-container{font-size:.9375rem;color:var(--opaca-text, #f8fafc);line-height:1.5}.opaca-detail-value{white-space:pre-wrap;word-break:break-word}.opaca-detail-value.monospace{font-family:var(--opaca-font-mono, ui-monospace, monospace);background:hsla(0,0%,100%,.05);padding:.25rem .5rem;border-radius:4px;font-size:.875rem;color:var(--opaca-accent, #60a5fa)}.opaca-detail-value.date{display:flex;flex-direction:column}.opaca-detail-value.date .absolute{font-weight:500;color:var(--opaca-text)}.opaca-detail-value.date .relative{font-size:.75rem;color:var(--opaca-text-muted)}.opaca-detail-value.boolean{display:inline-flex;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.opaca-detail-value.boolean.true{background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.2)}.opaca-detail-value.boolean.false{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2)}.opaca-badge-interactive{cursor:pointer;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1)}.opaca-badge-interactive:hover{background:var(--opaca-surface, #1e293b) !important;border-color:var(--opaca-primary, #3b82f6) !important;color:var(--opaca-primary, #3b82f6) !important;transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.opaca-row-field{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.opaca-row-field .row-item{flex:1;min-width:0}.opaca-row-field .row-item .opaca-form-group{margin-bottom:0}.opaca-separator{flex-shrink:0;background-color:var(--opaca-border)}.opaca-separator.horizontal{height:1px;width:100%}.opaca-separator.vertical{width:1px;height:100%}.opaca-locale-switcher{display:flex;align-items:center;gap:.5rem;background:var(--opaca-card-bg);padding:.25rem;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);box-shadow:var(--opaca-shadow-sm)}.opaca-locale-btn{background:none;border:none;padding:.375rem .75rem;border-radius:calc(var(--opaca-radius) - 2px);font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);cursor:pointer;transition:all var(--opaca-transition)}.opaca-locale-btn:hover{color:var(--opaca-text);background:hsla(0,0%,100%,.05)}.opaca-locale-btn.active{background:var(--opaca-accent);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-ui-relationship{width:100%;cursor:pointer;background:none;border:none;padding:0;text-align:left;font-family:inherit;color:inherit}.opaca-ui-relationship-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;min-height:2.75rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background:var(--opaca-surface);transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);font-size:.8125rem;width:100%}.opaca-ui-relationship-trigger:hover{border-color:var(--opaca-border-hover);background:var(--opaca-surface-bright)}.opaca-ui-relationship-trigger.error{border-color:var(--opaca-error) !important;box-shadow:0 0 0 1px var(--opaca-error-bg)}.opaca-relationship-trigger-content{display:flex;align-items:center;gap:.5rem;flex:1;flex-wrap:wrap;min-width:0}.opaca-relationship-placeholder{opacity:.35;font-style:italic;font-size:.8125rem;display:flex;align-items:center;gap:.5rem}.opaca-relationship-info-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);background:var(--opaca-surface);color:var(--opaca-text-muted);cursor:pointer;transition:all .2s ease}.opaca-relationship-info-btn:hover{color:var(--opaca-accent);border-color:var(--opaca-accent);background:var(--opaca-primary-glow)}.opaca-relationship-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .5rem .2rem .625rem;background:var(--opaca-primary-glow);border:1px solid rgba(var(--opaca-accent-rgb), 0.2);border-radius:var(--opaca-radius);font-size:.75rem;font-weight:500;color:var(--opaca-accent);transition:all .15s ease;white-space:nowrap}.opaca-relationship-chip:hover{background:rgba(var(--opaca-accent-rgb), 0.2);border-color:rgba(var(--opaca-accent-rgb), 0.4)}.opaca-relationship-chip .opaca-relationship-dot{width:6px;height:6px;border-radius:50%;background:var(--opaca-accent);box-shadow:0 0 6px rgba(var(--opaca-accent-rgb), 0.5);flex-shrink:0}.opaca-relationship-chip .opaca-relationship-prefix{opacity:.6;font-size:.625rem;text-transform:uppercase;font-weight:600;letter-spacing:.04em}.opaca-relationship-chip .opaca-relationship-value{font-weight:600}.opaca-relationship-chip .opaca-relationship-clear{margin-left:.125rem;opacity:.5;cursor:pointer;display:flex;align-items:center;border:none;background:none;padding:2px;color:inherit;border-radius:var(--opaca-radius);transition:all .15s ease}.opaca-relationship-chip .opaca-relationship-clear:hover{opacity:1;background:rgba(var(--opaca-accent-rgb), 0.25)}.opaca-relationship-sheet-header{padding-bottom:1.25rem;border-bottom:1px solid var(--opaca-border);margin-bottom:1rem}.opaca-relationship-sheet-header .opaca-relationship-sheet-title{font-size:1.125rem;font-weight:700;letter-spacing:-0.01em;color:var(--opaca-text);margin-bottom:.25rem}.opaca-relationship-sheet-header .opaca-relationship-sheet-subtitle{font-size:.8125rem;color:var(--opaca-text-muted)}.opaca-relationship-search{position:relative;margin-bottom:1rem}.opaca-relationship-search .opaca-relationship-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--opaca-text-dim);pointer-events:none}.opaca-relationship-search .opaca-input{padding-left:2.25rem !important}.opaca-relationship-list{display:flex;flex-direction:column;gap:.25rem}.opaca-relationship-empty{text-align:center;padding:3rem 1rem;color:var(--opaca-text-dim);font-size:.875rem}.opaca-relationship-loading{display:flex;justify-content:center;align-items:center;padding:3rem}.opaca-relationship-item{display:flex !important;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--opaca-radius-lg);border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--opaca-text);width:100%;cursor:pointer;transition:all .15s cubic-bezier(0.4, 0, 0.2, 1);text-align:left;position:relative;font-family:inherit;font-size:inherit}.opaca-relationship-item:hover{background:var(--opaca-surface-bright);border-color:var(--opaca-border)}.opaca-relationship-item.active{background:var(--opaca-primary-glow);border-color:rgba(var(--opaca-accent-rgb), 0.25)}.opaca-relationship-item.active .avatar{background:var(--opaca-accent) !important;color:#fff !important;box-shadow:0 2px 8px rgba(var(--opaca-accent-rgb), 0.3)}.opaca-relationship-item .avatar{width:32px;height:32px;border-radius:var(--opaca-radius);background:var(--opaca-surface);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;color:var(--opaca-accent);transition:all .15s ease;flex-shrink:0;border:1px solid var(--opaca-border)}.opaca-relationship-item .content{display:flex;flex-direction:column;min-width:0;flex:1}.opaca-relationship-item .content .title{font-weight:600;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-relationship-item .content .subtitle{font-size:.6875rem;color:var(--opaca-text-dim);font-family:"SF Mono","Fira Code",monospace;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-relationship-item .opaca-relationship-item-check{color:var(--opaca-accent);margin-left:auto;flex-shrink:0}.opaca-relationship-item .opaca-relationship-item-info{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--opaca-radius);border:none;background:rgba(0,0,0,0);color:var(--opaca-text-dim);cursor:pointer;transition:all .15s ease;z-index:2}.opaca-relationship-item .opaca-relationship-item-info:hover{color:var(--opaca-accent);background:var(--opaca-primary-glow)}.opaca-versions-sheet{max-width:600px !important;display:flex;flex-direction:column;background-color:var(--opaca-card-bg, #111114) !important;border-left:1px solid var(--opaca-border, #1e1e24) !important;padding:1.5rem !important}.opaca-version-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem;position:relative;padding-left:1rem;list-style:none;padding:0}.opaca-version-list::before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:var(--opaca-border, #1e1e24);border-radius:1px;opacity:.5}.opaca-version-item{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border:1px solid var(--opaca-border, #1e1e24);border-radius:var(--opaca-radius, 4px);background:var(--opaca-surface, #16161a);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;position:relative;margin-left:1.5rem;text-align:left;width:auto}.opaca-version-item::before{content:"";position:absolute;left:-2.35rem;top:1.5rem;width:12px;height:12px;border-radius:50%;background:var(--opaca-bg, #09090b);border:3px solid var(--opaca-border, #1e1e24);z-index:10;transition:all .2s ease}.opaca-version-item:hover{border-color:rgba(var(--opaca-accent-rgb), 0.4);background:var(--opaca-surface-accent)}.opaca-version-item:hover::before{border-color:var(--opaca-accent)}.opaca-version-item.active{border-color:var(--opaca-accent);background:var(--opaca-surface-bright);box-shadow:0 4px 20px rgba(0,0,0,.2)}.opaca-version-item.active::before{background:var(--opaca-accent);border-color:var(--opaca-accent);box-shadow:0 0 12px rgba(var(--opaca-accent-rgb), 0.5)}.opaca-version-meta{display:flex;justify-content:space-between;align-items:center}.opaca-version-info{display:flex;flex-direction:column;gap:.35rem}.opaca-version-date{font-size:.9375rem;font-weight:600;color:var(--opaca-text-bright)}.opaca-version-id{font-size:.75rem;color:var(--opaca-text-dim);font-family:var(--font-mono);background:hsla(0,0%,100%,.05);padding:2px 6px;border-radius:4px;width:fit-content}.opaca-version-status{font-size:.7rem;padding:.25rem .65rem;border-radius:6px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid rgba(0,0,0,0)}.opaca-version-status.published{background:rgba(16,185,129,.1);color:#10b981;border-color:rgba(16,185,129,.2)}.opaca-version-status.draft{background:rgba(245,158,11,.1);color:#f59e0b;border-color:rgba(245,158,11,.2)}.opaca-version-preview{margin-top:1rem;padding:1.25rem;background:rgba(0,0,0,.2);border-radius:var(--opaca-radius-sm);display:flex;flex-direction:column;gap:1.5rem;border:1px solid hsla(0,0%,100%,.05);animation:opacaSlideDown .3s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-version-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.opaca-versions-header{margin-bottom:1.5rem}.opaca-versions-header-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.opaca-locale-trigger{width:90px !important;height:28px !important;font-size:.75rem !important;background:var(--opaca-surface-bright) !important;border-color:var(--opaca-border) !important}.opaca-version-summary{display:flex;flex-direction:column;gap:.75rem;animation:opacaFadeIn .3s ease}.opaca-summary-row{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.75rem;border-bottom:1px solid hsla(0,0%,100%,.03)}.opaca-summary-row:last-child{border-bottom:none;padding-bottom:0}.opaca-summary-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--opaca-text-dim);opacity:.7}.opaca-summary-value{font-size:.875rem;color:var(--opaca-text);line-height:1.5;word-break:break-word}@keyframes opacaFadeIn{from{opacity:0}to{opacity:1}}.opaca-ui-alert-dialog-overlay{position:fixed;inset:0;z-index:9999;background-color:rgba(0,0,0,.4);backdrop-filter:blur(4px);animation:opacaFadeIn .2s ease-out}.opaca-ui-alert-dialog-portal{position:fixed;inset:0;z-index:9999}.opaca-ui-alert-dialog-wrapper{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none}.opaca-ui-alert-dialog-content{pointer-events:auto;position:relative;z-index:10001;width:100%;max-width:480px;max-height:85vh;padding:1.5rem;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);animation:opacaDialogIn .2s cubic-bezier(0.16, 1, 0.3, 1) both;display:flex;flex-direction:column;gap:1.25rem}.opaca-ui-alert-dialog-header{display:flex;flex-direction:column;gap:.5rem;text-align:center}@media(min-width: 640px){.opaca-ui-alert-dialog-header{text-align:left}}.opaca-ui-alert-dialog-title{font-size:1.125rem;font-weight:600;line-height:1.2;color:var(--opaca-text);margin:0}.opaca-ui-alert-dialog-description{font-size:.875rem;line-height:1.5;color:var(--opaca-text-muted);margin:0}.opaca-ui-alert-dialog-footer{display:flex;flex-direction:column-reverse;gap:.75rem;margin-top:.5rem}@media(min-width: 640px){.opaca-ui-alert-dialog-footer{flex-direction:row;justify-content:flex-end}}.opaca-ui-alert-dialog-media{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--opaca-muted);border-radius:var(--opaca-radius-md);margin-bottom:.5rem;color:var(--opaca-text)}.opaca-ui-alert-dialog-media svg{width:1.5rem;height:1.5rem}@keyframes opacaFadeIn{from{opacity:0}to{opacity:1}}@keyframes opacaDialogIn{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.opaca-tooltip-content{z-index:1001;overflow:hidden;border-radius:.375rem;background-color:var(--opaca-bg-alt);border:1px solid var(--opaca-border);padding:.375rem .75rem;font-size:.75rem;color:var(--opaca-text);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);backdrop-filter:blur(8px);animation-duration:.2s;animation-timing-function:cubic-bezier(0.16, 1, 0.3, 1);will-change:transform,opacity}.opaca-tooltip-content[data-state=delayed-open][data-side=top]{animation-name:opaca-slide-down-and-fade}.opaca-tooltip-content[data-state=delayed-open][data-side=right]{animation-name:opaca-slide-left-and-fade}.opaca-tooltip-content[data-state=delayed-open][data-side=bottom]{animation-name:opaca-slide-up-and-fade}.opaca-tooltip-content[data-state=delayed-open][data-side=left]{animation-name:opaca-slide-right-and-fade}.opaca-tooltip-arrow{fill:var(--opaca-border)}@keyframes opaca-slide-up-and-fade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes opaca-slide-right-and-fade{from{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes opaca-slide-down-and-fade{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes opaca-slide-left-and-fade{from{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}.opaca-dashboard{animation:opaca-fade-in 500ms var(--opaca-transition);padding-bottom:3rem}.opaca-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.opaca-dashboard .dashboard-header .header-text .opaca-title{font-size:1.75rem;font-weight:700;letter-spacing:-0.02em;background:linear-gradient(to bottom, var(--opaca-text-bright) 0%, var(--opaca-text-muted) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);margin-bottom:.25rem}.opaca-dashboard .dashboard-header .header-text .opaca-subtitle{font-size:.875rem;color:var(--opaca-text-dim)}.opaca-dashboard .dashboard-header .user-profile-badge{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);box-shadow:var(--opaca-glass-shadow);transition:var(--opaca-transition)}.opaca-dashboard .dashboard-header .user-profile-badge:hover{border-color:var(--opaca-glass-border-bright);transform:translateY(-1px)}.opaca-dashboard .dashboard-header .user-profile-badge .avatar-initial{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg, var(--opaca-primary) 0%, var(--opaca-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;box-shadow:0 4px 12px var(--opaca-primary-glow)}.opaca-dashboard .dashboard-header .user-profile-badge .profile-info{line-height:1.25}.opaca-dashboard .dashboard-header .user-profile-badge .profile-info .name{font-size:.8125rem;font-weight:600;color:var(--opaca-text)}.opaca-dashboard .dashboard-header .user-profile-badge .profile-info .email{font-size:.6875rem;color:var(--opaca-text-dim)}.opaca-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem;margin-bottom:3rem}.opaca-dashboard .collections-section-label{font-size:.6875rem;font-weight:700;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.opaca-dashboard .collections-section-label::after{content:"";height:1px;flex:1;background:var(--opaca-border)}.opaca-dashboard .collections-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:1.25rem}.opaca-dashboard .opaca-card{background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);padding:1.5rem;border-radius:var(--opaca-radius-lg);box-shadow:var(--opaca-glass-shadow);transition:var(--opaca-transition);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:1rem}.opaca-dashboard .opaca-card:hover{border-color:var(--opaca-glass-border-bright);transform:translateY(-3px) scale(1.01);box-shadow:0 12px 40px rgba(0,0,0,.4)}.opaca-dashboard .opaca-card:hover .arrow-icon{transform:translate(2px, -2px);color:var(--opaca-accent)}.opaca-dashboard .opaca-card .card-icon-wrapper{padding:.625rem;background:var(--opaca-primary-glow);color:var(--opaca-primary);border-radius:10px;width:fit-content;display:flex;align-items:center;justify-content:center}.opaca-dashboard .opaca-card .card-icon-wrapper.success{background:var(--opaca-success-bg);color:var(--opaca-success)}.opaca-dashboard .opaca-card .card-content .stat-value{font-size:1.5rem;font-weight:700;color:var(--opaca-text-bright);line-height:1;margin-bottom:.25rem}.opaca-dashboard .opaca-card .card-content .stat-label{font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em}.opaca-dashboard .opaca-card .card-footer-text{font-size:.75rem;color:var(--opaca-text-muted);line-height:1.5}.opaca-dashboard .opaca-card .collection-card-header{display:flex;justify-content:space-between;align-items:flex-start}.opaca-dashboard .opaca-card .collection-card-header .label-group{display:flex;align-items:center;gap:.625rem}.opaca-dashboard .opaca-card .collection-card-header .label-group .label{font-weight:600;font-size:.9375rem;color:var(--opaca-text)}.opaca-dashboard .opaca-card .collection-card-header .label-group .dot{width:6px;height:6px;border-radius:50%;background:var(--opaca-primary);box-shadow:0 0 8px var(--opaca-primary)}.opaca-dashboard .opaca-card .collection-card-header .arrow-icon{transition:var(--opaca-transition);color:var(--opaca-text-dim)}[data-sidebar=sidebar]{--sidebar-background: var(--opaca-sidebar-bg);--sidebar-border: var(--opaca-border);--sidebar-ring: var(--opaca-primary-glow);--sidebar-accent: var(--opaca-surface-bright);--sidebar-accent-foreground: var(--opaca-text-bright)}[data-sidebar=menu-button]{transition:all var(--opaca-transition)}[data-sidebar=menu-button][data-active=true]{background:var(--opaca-primary-glow) !important;color:var(--opaca-accent) !important;font-weight:600 !important}[data-sidebar=menu-button]:hover{background:hsla(0,0%,100%,.04) !important;transform:translateX(2px);color:var(--opaca-text-bright) !important}[data-slot=skeleton]{overflow:hidden;position:relative}[data-slot=skeleton]::before{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);animation:shimmer 2s infinite}.opaca-breadcrumb{display:flex;align-items:center}.opaca-breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;padding:0;margin:0}.opaca-breadcrumb-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--opaca-text-dim)}.opaca-breadcrumb-link{color:inherit;text-decoration:none;transition:color var(--opaca-transition);cursor:pointer}.opaca-breadcrumb-link:hover{color:var(--opaca-text-bright)}.opaca-breadcrumb-page{font-weight:500;color:var(--opaca-text-bright)}.opaca-breadcrumb-separator{display:flex;align-items:center;justify-content:center;color:var(--opaca-text-dim);opacity:.5}.opaca-breadcrumb-separator svg{width:1rem;height:1rem}.opaca-breadcrumb-ellipsis{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--opaca-text-dim)}.opaca-popover-content{z-index:50;display:flex;width:18rem;flex-direction:column;gap:.625rem;border-radius:var(--opaca-radius-lg);background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);padding:.625rem;font-size:.875rem;color:var(--opaca-text);box-shadow:var(--opaca-glass-shadow);border:1px solid var(--opaca-glass-border);outline:none;animation:opaca-fade-in 200ms var(--opaca-transition)}.opaca-popover-content[data-side=bottom]{animation:popover-slide-down 200ms var(--opaca-transition)}.opaca-popover-content[data-side=left]{animation:popover-slide-left 200ms var(--opaca-transition)}.opaca-popover-content[data-side=right]{animation:popover-slide-right 200ms var(--opaca-transition)}.opaca-popover-content[data-side=top]{animation:popover-slide-up 200ms var(--opaca-transition)}@keyframes popover-slide-down{from{opacity:0;transform:translateY(-8px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popover-slide-up{from{opacity:0;transform:translateY(8px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popover-slide-left{from{opacity:0;transform:translateX(8px) scale(0.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes popover-slide-right{from{opacity:0;transform:translateX(-8px) scale(0.95)}to{opacity:1;transform:translateX(0) scale(1)}}.opaca-popover-title{font-family:var(--opaca-font);font-weight:600;color:var(--opaca-text-bright)}.opaca-popover-description{color:var(--opaca-text-dim);font-size:.75rem}.opaca-context-menu-content{min-width:12rem;background:var(--opaca-popover-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);padding:.5rem;box-shadow:var(--opaca-shadow-lg);overflow:hidden;z-index:50;animation:opaca-popover-in .2s ease-out}.opaca-context-menu-sub-content{min-width:10rem;background:var(--opaca-popover-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-md);padding:.25rem;box-shadow:var(--opaca-shadow-md);overflow:hidden;z-index:51;animation:opaca-popover-in .15s ease-out}.opaca-context-menu-item,.opaca-context-menu-sub-trigger,.opaca-context-menu-checkbox-item,.opaca-context-menu-radio-item{position:relative;display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;color:var(--opaca-text-muted);border-radius:var(--opaca-radius-sm);cursor:default;user-select:none;transition:all .15s ease;outline:none}.opaca-context-menu-item:hover,.opaca-context-menu-item[data-highlighted],.opaca-context-menu-item[data-state=open],.opaca-context-menu-sub-trigger:hover,.opaca-context-menu-sub-trigger[data-highlighted],.opaca-context-menu-sub-trigger[data-state=open],.opaca-context-menu-checkbox-item:hover,.opaca-context-menu-checkbox-item[data-highlighted],.opaca-context-menu-checkbox-item[data-state=open],.opaca-context-menu-radio-item:hover,.opaca-context-menu-radio-item[data-highlighted],.opaca-context-menu-radio-item[data-state=open]{background:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-context-menu-item[data-disabled],.opaca-context-menu-sub-trigger[data-disabled],.opaca-context-menu-checkbox-item[data-disabled],.opaca-context-menu-radio-item[data-disabled]{opacity:.5;pointer-events:none}.opaca-context-menu-item[data-variant=destructive],.opaca-context-menu-sub-trigger[data-variant=destructive],.opaca-context-menu-checkbox-item[data-variant=destructive],.opaca-context-menu-radio-item[data-variant=destructive]{color:var(--opaca-error)}.opaca-context-menu-item[data-variant=destructive]:hover,.opaca-context-menu-item[data-variant=destructive][data-highlighted],.opaca-context-menu-sub-trigger[data-variant=destructive]:hover,.opaca-context-menu-sub-trigger[data-variant=destructive][data-highlighted],.opaca-context-menu-checkbox-item[data-variant=destructive]:hover,.opaca-context-menu-checkbox-item[data-variant=destructive][data-highlighted],.opaca-context-menu-radio-item[data-variant=destructive]:hover,.opaca-context-menu-radio-item[data-variant=destructive][data-highlighted]{background:rgba(239,68,68,.1)}.opaca-context-menu-item[data-inset],.opaca-context-menu-sub-trigger[data-inset],.opaca-context-menu-checkbox-item[data-inset],.opaca-context-menu-radio-item[data-inset]{padding-left:2.25rem}.opaca-context-menu-item svg,.opaca-context-menu-sub-trigger svg,.opaca-context-menu-checkbox-item svg,.opaca-context-menu-radio-item svg{opacity:.7}.opaca-context-menu-label{padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--opaca-text-muted);text-transform:uppercase;letter-spacing:.05em}.opaca-context-menu-label[data-inset]{padding-left:2.25rem}.opaca-context-menu-separator{height:1px;background:var(--opaca-glass-border);margin:.4rem -0.5rem}.opaca-context-menu-shortcut{margin-left:auto;font-size:.75rem;color:var(--opaca-text-muted);opacity:.6}.opaca-asset-manager{display:flex;flex-direction:column;height:100%;color:var(--opaca-text)}.opaca-asset-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:1.5rem;padding:1rem}@media(max-width: 640px){.opaca-asset-grid{grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem}}.opaca-asset-card{position:relative;display:flex;flex-direction:column;background:var(--opaca-surface-elevated);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);overflow:hidden;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer}.opaca-asset-card:hover{transform:translateY(-4px);border-color:var(--opaca-primary);box-shadow:0 8px 24px rgba(0,0,0,.2)}.opaca-asset-card.is-selected{border-color:var(--opaca-primary);box-shadow:0 0 0 2px var(--opaca-primary)}.opaca-asset-card.is-selected::after{content:"✓";position:absolute;top:.5rem;right:.5rem;background:var(--opaca-primary);color:#fff;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:bold;box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-asset-preview{position:relative;aspect-ratio:16/10;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;overflow:hidden}.opaca-asset-preview img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.opaca-asset-card:hover .opaca-asset-preview img{transform:scale(1.05)}.opaca-asset-preview .file-icon-large{color:var(--opaca-text-muted);opacity:.5}.opaca-asset-info{padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.opaca-asset-info .filename{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-asset-info .metadata{font-size:.75rem;color:var(--opaca-text-muted);display:flex;justify-content:space-between}.opaca-asset-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem;background:hsla(0,0%,100%,.02);border-bottom:1px solid var(--opaca-glass-border)}@media(max-width: 768px){.opaca-asset-toolbar{flex-wrap:wrap}}.opaca-asset-search{position:relative;flex:1;min-width:200px}.opaca-asset-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--opaca-text-muted);pointer-events:none}.opaca-asset-search input{width:100%;padding:.5rem 1rem .5rem 2.5rem;background:var(--opaca-surface-elevated);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-md);color:var(--opaca-text);font-size:.875rem;outline:none;transition:all .2s}.opaca-asset-search input:focus{border-color:var(--opaca-primary);background:hsla(0,0%,100%,.05);box-shadow:0 0 0 2px var(--opaca-primary-glow)}.opaca-asset-filters{display:flex;gap:.5rem}.opaca-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;background:hsla(0,0%,100%,.02);border:2px dashed var(--opaca-glass-border);border-radius:var(--opaca-radius-xl);transition:all .2s;cursor:pointer}.opaca-upload-dropzone:hover,.opaca-upload-dropzone.is-drag-over{background:rgba(var(--opaca-primary-rgb), 0.05);border-color:var(--opaca-primary)}.opaca-upload-dropzone:hover svg,.opaca-upload-dropzone.is-drag-over svg{transform:translateY(-4px);color:var(--opaca-primary)}.opaca-upload-dropzone svg{transition:all .3s cubic-bezier(0.34, 1.56, 0.64, 1);color:var(--opaca-text-muted)}.opaca-upload-dropzone .title{font-weight:600;font-size:1.125rem}.opaca-upload-dropzone .subtitle{font-size:.875rem;color:var(--opaca-text-muted);text-align:center}.opaca-asset-bulk-actions{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--opaca-primary);border-radius:9999px;box-shadow:0 10px 40px rgba(var(--opaca-primary-rgb), 0.4);color:#fff;z-index:100;transition:transform .4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.opaca-asset-bulk-actions.is-visible{transform:translateX(-50%) translateY(0)}.opaca-asset-bulk-actions .selection-count{font-weight:700;font-size:.875rem;padding-right:1.5rem;border-right:1px solid hsla(0,0%,100%,.3)}.opaca-asset-bulk-actions .action-buttons{display:flex;gap:.5rem}
|
|
1
|
+
:root{--opaca-bg: #050507;--opaca-sidebar-bg: #0a0a0c;--opaca-card-bg: #121217;--opaca-surface: #16161c;--opaca-surface-bright: #1f1f26;--opaca-glass-bg: #0f0f14;--opaca-glass-border: rgba(255, 255, 255, 0.08);--opaca-glass-border-bright: rgba(255, 255, 255, 0.12);--opaca-glass-blur: none;--opaca-glass-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.4);--opaca-border: rgba(255, 255, 255, 0.06);--opaca-border-hover: rgba(255, 255, 255, 0.12);--opaca-border-accent: rgba(124, 58, 237, 0.35);--opaca-text: #f4f4f5;--opaca-text-muted: #a1a1aa;--opaca-text-dim: #71717a;--opaca-text-bright: #ffffff;--opaca-primary: #8b5cf6;--opaca-primary-hover: #a78bfa;--opaca-primary-glow: rgba(139, 92, 246, 0.25);--opaca-accent: #c4b5fd;--opaca-accent-rgb: 196, 181, 253;--opaca-error: #ef4444;--opaca-error-bg: rgba(239, 68, 68, 0.1);--opaca-success: #10b981;--opaca-success-bg: rgba(16, 185, 129, 0.1);--opaca-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;--opaca-radius: 4px;--opaca-radius-lg: 6px;--opaca-radius-full: 9999px;--opaca-transition: 200ms cubic-bezier(0.16, 1, 0.3, 1);--opaca-sidebar-width: 320px;--opaca-sidebar-collapsed-width: 72px;--opaca-input-height: 2.5rem;--sidebar-background: var(--opaca-sidebar-bg);--sidebar-foreground: var(--opaca-text);--sidebar-primary: var(--opaca-primary);--sidebar-primary-foreground: var(--opaca-text-bright);--sidebar-accent: var(--opaca-surface-bright);--sidebar-accent-foreground: var(--opaca-text-bright);--sidebar-border: var(--opaca-border);--sidebar-ring: var(--opaca-primary-glow);--popover: var(--opaca-glass-bg);--popover-foreground: var(--opaca-text);--accent: var(--opaca-surface-bright);--accent-foreground: var(--opaca-text-bright);--ring: var(--opaca-primary-glow);--border: var(--opaca-border);--input: var(--opaca-border)}@keyframes opaca-fade-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes opaca-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes opaca-toast-in{from{opacity:0;transform:translateX(32px) scale(0.9)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes opaca-pulse{0%,100%{transform:scale(1);opacity:.1}50%{transform:scale(1.5);opacity:0}}@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.opaca-spin{animation:opaca-spin .8s linear infinite}.opaca-animate-fade{animation:opaca-fade-in 400ms var(--opaca-transition)}.opaca-admin *,.opaca-admin *::before,.opaca-admin *::after{box-sizing:border-box;margin:0;padding:0}.opaca-admin{background-color:var(--opaca-bg);color:var(--opaca-text);font-family:var(--opaca-font);height:100vh;display:flex;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}::selection{background:var(--opaca-primary-glow);color:var(--opaca-text-bright)}.opaca-sidebar,.opaca-content,.opaca-login-container,.opaca-sidebar-wrapper{position:relative;z-index:10}.opaca-admin ::-webkit-scrollbar{width:6px;height:6px}.opaca-admin ::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.opaca-admin ::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-admin ::-webkit-scrollbar-thumb:hover{background:var(--opaca-border-hover)}.opaca-scroll-area::-webkit-scrollbar{width:4px}.opaca-scroll-area::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--opaca-accent)}.opaca-sidebar{width:var(--opaca-sidebar-width);background:var(--opaca-sidebar-bg);border-right:1px solid var(--opaca-border);height:100vh;display:flex;flex-direction:column;transition:all var(--opaca-transition);z-index:100;overflow:visible;position:relative}.opaca-sidebar.collapsed{width:var(--opaca-sidebar-collapsed-width)}.opaca-sidebar.collapsed .opaca-sidebar-inner{padding-left:.5rem;padding-right:.5rem}.opaca-sidebar.collapsed .opaca-nav-item{padding-left:0;padding-right:0;justify-content:center;gap:0}.opaca-sidebar.collapsed .opaca-nav-label{opacity:0;width:0;display:none}.opaca-sidebar.collapsed .opaca-sidebar-toggle{right:-10px}.opaca-sidebar.collapsed .opaca-user-profile{justify-content:center;padding:.75rem 0}.opaca-sidebar-inner{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1.5rem .75rem}.opaca-logo{font-size:1rem;font-weight:700;letter-spacing:-0.02em;padding:0 .75rem;margin-bottom:2rem;background:linear-gradient(135deg, var(--opaca-text-bright) 0%, var(--opaca-text-dim) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);transition:all var(--opaca-transition);white-space:nowrap;display:flex;align-items:center;min-height:32px}.opaca-logo-mini{width:32px;height:32px;background:var(--opaca-primary-glow);border:1px solid var(--opaca-border-accent);color:var(--opaca-accent);display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.8125rem;font-weight:700}.opaca-nav{flex:1;display:flex;flex-direction:column;min-height:0;gap:.25rem}.opaca-nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;color:var(--opaca-text-muted);text-decoration:none;border-radius:var(--opaca-radius-lg);transition:all var(--opaca-transition);font-size:.8125rem;font-weight:500;white-space:nowrap;border:1px solid rgba(0,0,0,0)}.opaca-nav-item:hover{background:hsla(0,0%,100%,.04);color:var(--opaca-text-bright)}.opaca-nav-item.active{background:var(--opaca-primary-glow);color:var(--opaca-text-bright);border-color:var(--opaca-border-accent);font-weight:600}.opaca-nav-item.active svg{color:var(--opaca-accent)}.opaca-nav-item.logout-button{background:none;border:none;cursor:pointer;text-align:left;width:100%;color:var(--opaca-error);margin-top:.5rem}.opaca-nav-item.logout-button:hover{background:var(--opaca-error-bg);color:var(--opaca-text-bright)}.opaca-nav-item .universal-indicator{width:6px;height:6px;border-radius:50%;background-color:var(--opaca-accent);box-shadow:0 0 10px var(--opaca-primary);margin-left:auto}.sidebar-accordion-item{border:none !important}.sidebar-accordion-item .collapsed-content{padding:0 !important}.sidebar-separator{margin:.75rem .75rem;opacity:.4}.opaca-nav-footer{border-top:1px solid var(--opaca-border);padding-top:1rem;margin-top:auto}.opaca-user-profile{display:flex;align-items:center;gap:.875rem;padding:.75rem;border-radius:var(--opaca-radius-lg);transition:var(--opaca-transition);cursor:default}.opaca-user-profile:hover{background:hsla(0,0%,100%,.03)}.opaca-user-profile .avatar-image{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--opaca-border)}.opaca-user-profile .avatar-initial{width:32px;height:32px;min-width:32px;border-radius:50%;background:linear-gradient(135deg, var(--opaca-primary) 0%, var(--opaca-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px var(--opaca-primary-glow)}.opaca-user-profile .profile-details{overflow:hidden;line-height:1.3}.opaca-user-profile .profile-details .name{font-size:.8125rem;font-weight:600;color:var(--opaca-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-user-profile .profile-details .email{font-size:.6875rem;color:var(--opaca-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-sidebar-toggle{position:absolute;top:28px;right:-12px;width:24px;height:24px;background:var(--opaca-surface-bright);border:1px solid var(--opaca-glass-border);border-radius:50%;color:var(--opaca-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:101;transition:all var(--opaca-transition);box-shadow:0 4px 12px rgba(0,0,0,.3)}.opaca-sidebar-toggle:hover{border-color:var(--opaca-border-accent);color:var(--opaca-text-bright)}.opaca-content{flex:1;padding:2.5rem 3rem;overflow-y:auto;height:100vh;scroll-behavior:smooth;position:relative;background:var(--opaca-bg)}.opaca-content.full-bleed{padding:0;overflow:hidden;height:100vh}.opaca-content-inner{margin:0 auto;width:100%;animation:opaca-fade-in 600ms var(--opaca-transition)}.opaca-content-inner.full-bleed{height:100%;max-width:100%}.opaca-view-container{opacity:1;transform:translateY(0);transition:opacity var(--opaca-transition),transform var(--opaca-transition)}.opaca-view-container.loading{opacity:.5;pointer-events:none;filter:blur(2px)}.opaca-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem}.opaca-title{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;color:var(--opaca-text-bright)}.opaca-subtitle{color:var(--opaca-text-dim);font-size:.875rem;margin-top:.25rem}.opaca-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem}.opaca-form-group{margin-bottom:2rem}.opaca-card{background:var(--opaca-surface-bright);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);padding:1.5rem;transition:all var(--opaca-transition);box-shadow:var(--opaca-glass-shadow)}.opaca-card:hover{border-color:var(--opaca-glass-border-bright);box-shadow:0 6px 20px rgba(0,0,0,.4)}.opaca-table-container{width:100%;overflow-x:auto;border-radius:var(--opaca-radius-lg);background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);box-shadow:var(--opaca-glass-shadow);position:relative}.opaca-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--opaca-text);caption-side:bottom}.opaca-table-header{background:hsla(0,0%,100%,.03);border-bottom:1px solid var(--opaca-glass-border)}.opaca-table-row{border-bottom:1px solid hsla(0,0%,100%,.04);transition:background-color var(--opaca-transition)}.opaca-table-row:hover{background-color:hsla(0,0%,100%,.02)}.opaca-table-row[data-state=selected]{background-color:var(--opaca-brand-subtle)}.opaca-table-row:last-child{border-bottom:0}.opaca-table-head{height:3rem;padding:0 1rem;text-align:left;vertical-align:middle;font-weight:600;color:var(--opaca-text-bright);white-space:nowrap}.opaca-table-cell{padding:1rem;vertical-align:middle;white-space:nowrap}.opaca-table-footer{border-top:1px solid var(--opaca-glass-border);background:rgba(0,0,0,.05);font-weight:500}.opaca-table-caption{margin-top:1rem;font-size:.8125rem;color:var(--opaca-text-dim);padding:0 1rem 1rem}.opaca-ui-btn,.opaca-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--opaca-radius);font-size:.8125rem;font-weight:600;transition:all var(--opaca-transition);cursor:pointer;border:1px solid rgba(0,0,0,0);outline:none;gap:.5rem;height:2.5rem;padding:0 1.25rem}.opaca-ui-btn:focus-visible,.opaca-btn:focus-visible{box-shadow:0 0 0 2px var(--opaca-bg),0 0 0 4px var(--opaca-primary-glow)}.opaca-ui-btn:disabled,.opaca-btn:disabled{pointer-events:none;opacity:.4}.opaca-ui-btn:active,.opaca-btn:active{transform:translateY(1px) scale(0.98)}.opaca-ui-btn svg,.opaca-btn svg{transition:transform var(--opaca-transition)}.opaca-ui-btn:hover svg,.opaca-btn:hover svg{transform:scale(1.1)}.opaca-ui-btn-size-default{height:2.5rem;padding:0 1.25rem}.opaca-ui-btn-size-sm{height:2.125rem;padding:0 .875rem;font-size:.75rem}.opaca-ui-btn-size-lg{height:3rem;padding:0 2rem;font-size:.9375rem}.opaca-ui-btn-size-icon{height:2.5rem;width:2.5rem;padding:0}.opaca-ui-btn-default,.opaca-btn-primary{background:linear-gradient(180deg, var(--opaca-primary) 0%, var(--opaca-primary-hover) 100%);color:#fff;border-color:hsla(0,0%,100%,.1);box-shadow:0 4px 12px var(--opaca-primary-glow),inset 0 1px 0 hsla(0,0%,100%,.2)}.opaca-ui-btn-default:hover,.opaca-btn-primary:hover{background:var(--opaca-primary-hover);box-shadow:0 6px 16px var(--opaca-primary-glow),inset 0 1px 0 hsla(0,0%,100%,.3)}.opaca-ui-btn-destructive{background:linear-gradient(180deg, var(--opaca-error) 0%, #dc2626 100%);color:#fff;border-color:hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(239,68,68,.2),inset 0 1px 0 hsla(0,0%,100%,.2)}.opaca-ui-btn-destructive:hover{background:#ef4444}.opaca-ui-btn-outline,.opaca-btn-outline{border-color:var(--opaca-border);background-color:var(--opaca-surface);backdrop-filter:var(--opaca-glass-blur);color:var(--opaca-text)}.opaca-ui-btn-outline:hover,.opaca-btn-outline:hover{background-color:var(--opaca-surface-bright);border-color:var(--opaca-border-hover);color:var(--opaca-text-bright)}.opaca-ui-btn-secondary{background-color:var(--opaca-surface);color:var(--opaca-text);border-color:var(--opaca-border)}.opaca-ui-btn-secondary:hover{background-color:var(--opaca-surface-bright);border-color:var(--opaca-border-hover)}.opaca-ui-btn-ghost{background-color:rgba(0,0,0,0);color:var(--opaca-text-muted)}.opaca-ui-btn-ghost:hover{background-color:hsla(0,0%,100%,.04);color:var(--opaca-text-bright)}.opaca-ui-btn-link{background-color:rgba(0,0,0,0);color:var(--opaca-primary);text-decoration:none;font-weight:600}.opaca-ui-btn-link:hover{color:var(--opaca-primary-hover);text-decoration:underline}.opaca-item-button:hover{background-color:var(--opaca-brand-subtle) !important;border-color:var(--opaca-primary) !important;transform:translateY(-1px)}.opaca-item-button:active{transform:translateY(0)}.opaca-item-button.active{background-color:var(--opaca-brand-subtle) !important;border-color:var(--opaca-primary) !important;box-shadow:0 0 0 1px var(--opaca-primary)}.opaca-unsaved-dot{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background-color:var(--opaca-warning);border:2px solid var(--opaca-surface);box-shadow:0 1px 2px rgba(0,0,0,.2);z-index:10;pointer-events:none}.opaca-ui-input,.opaca-input{display:flex;height:var(--opaca-input-height);width:100%;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);background:var(--opaca-surface);backdrop-filter:var(--opaca-glass-blur);padding:0 1rem;font-size:.875rem;color:var(--opaca-text);line-height:1;transition:all var(--opaca-transition);outline:none}.opaca-ui-input::placeholder,.opaca-input::placeholder{color:var(--opaca-text-dim)}.opaca-ui-input:focus,.opaca-input:focus{border-color:var(--opaca-border-accent);background:var(--opaca-surface-bright);box-shadow:0 0 0 3px var(--opaca-primary-glow)}.opaca-ui-input:disabled,.opaca-input:disabled{cursor:not-allowed;opacity:.4;background:hsla(0,0%,100%,.02)}.opaca-ui-input[type=file],[type=file].opaca-input{border:0;background-color:rgba(0,0,0,0);font-size:.875rem;font-weight:600;padding:0}.opaca-label{display:block;font-size:.6875rem;font-weight:700;margin-bottom:.5rem;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.1em}.opaca-input.error{border-color:var(--opaca-error)}.opaca-input.error:focus{box-shadow:0 0 0 3px var(--opaca-error-bg)}.opaca-field-error{display:block;font-size:.75rem;color:var(--opaca-error);margin-top:.25rem}.opaca-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;border-radius:var(--opaca-radius);background-color:var(--opaca-primary-glow);color:var(--opaca-accent);letter-spacing:.02em}.opaca-toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.opaca-toast{pointer-events:auto;min-width:280px;max-width:400px;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);padding:.875rem 1rem;border-radius:var(--opaca-radius-lg);display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.4);animation:opaca-toast-in 300ms cubic-bezier(0.16, 1, 0.3, 1);transition:all var(--opaca-transition)}.opaca-toast.exit{opacity:0;transform:translateX(20px)}.opaca-toast-success{border-left:3px solid var(--opaca-success)}.opaca-toast-error{border-left:3px solid var(--opaca-error)}.opaca-toast-info{border-left:3px solid var(--opaca-accent)}.opaca-toast-message{font-size:.8125rem;font-weight:500;color:var(--opaca-text);line-height:1.4}[data-slot=switch]{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;cursor:pointer;border-radius:9999px;padding:2px;background:var(--opaca-surface-elevated);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);outline:none}[data-slot=switch][data-size=default]{width:3rem;height:1.625rem}[data-slot=switch][data-size=sm]{width:2.25rem;height:1.25rem}[data-slot=switch][data-state=checked]{background:var(--opaca-primary);border-color:rgba(0,0,0,0);box-shadow:0 4px 12px var(--opaca-primary-glow)}[data-slot=switch][data-state=unchecked]:hover{background:hsla(0,0%,100%,.1)}[data-slot=switch]:focus-visible{box-shadow:0 0 0 2px var(--opaca-primary)}[data-slot=switch]:disabled{opacity:.5;cursor:not-allowed}[data-slot=switch-thumb]{display:block;background:#fff;border-radius:9999px;transition:transform .2s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.2)}[data-size=default] [data-slot=switch-thumb]{width:1.25rem;height:1.25rem;transform:translateX(0)}[data-size=sm] [data-slot=switch-thumb]{width:.9rem;height:.9rem;transform:translateX(0)}[data-size=default] [data-state=checked] [data-slot=switch-thumb]{transform:translateX(1.375rem)}[data-size=sm] [data-state=checked] [data-slot=switch-thumb]{transform:translateX(1rem)}.opaca-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-top:1px solid var(--opaca-border);background-color:var(--opaca-sidebar-bg)}.opaca-pagination-info{font-size:.75rem;color:var(--opaca-text-dim)}.opaca-pagination-actions{display:flex;gap:.5rem}.opaca-empty{padding:5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.opaca-empty-icon{width:48px;height:48px;border-radius:50%;background-color:var(--opaca-surface);display:flex;align-items:center;justify-content:center;color:var(--opaca-text-dim);margin-bottom:.5rem}.opaca-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;background-color:var(--opaca-bg);color:var(--opaca-text);gap:2rem}.opaca-loading-logo-container{position:relative;display:flex;align-items:center;justify-content:center}.opaca-loading-logo-pulse{position:absolute;width:64px;height:64px;background-color:var(--opaca-primary);border-radius:var(--opaca-radius);opacity:.2;animation:opaca-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}.opaca-loading-status{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--opaca-text-muted);animation:opaca-fade-in 1s ease-out}.opaca-login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:var(--opaca-bg);font-family:var(--opaca-font);color:var(--opaca-text);-webkit-font-smoothing:antialiased}.opaca-login-card{width:100%;max-width:380px;background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);padding:3rem;box-shadow:var(--opaca-glass-shadow);display:flex;flex-direction:column}.opaca-login-header{text-align:center;margin-bottom:1.5rem}.opaca-login-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--opaca-primary);border-radius:var(--opaca-radius);margin:0 auto 1rem}.opaca-logo-circle{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--opaca-primary);border-radius:var(--opaca-radius);color:#fff}.opaca-login-error{padding:.625rem .75rem;background-color:var(--opaca-error-bg);border:1px solid rgba(248,113,113,.2);color:var(--opaca-error);border-radius:var(--opaca-radius);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.opaca-lexical-wrapper{display:flex;flex-direction:column;gap:.75rem}.opaca-lexical-modes{display:inline-flex;gap:2px;background-color:var(--opaca-surface);padding:3px;border-radius:var(--opaca-radius-lg);border:1px solid var(--opaca-border);align-self:flex-start;margin-bottom:.25rem}.opaca-lexical-modes .opaca-btn{padding:.4rem .8rem;font-size:.75rem;border-radius:var(--opaca-radius);border:none;background-color:rgba(0,0,0,0);color:var(--opaca-text-muted);font-weight:500;min-width:80px;transition:all var(--opaca-transition)}.opaca-lexical-modes .opaca-btn:hover{color:var(--opaca-text);background-color:hsla(0,0%,100%,.05)}.opaca-lexical-modes .opaca-btn.opaca-btn-primary{background-color:var(--opaca-primary);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-lexical-container{border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:var(--opaca-surface);overflow:hidden;transition:all var(--opaca-transition);display:flex;flex-direction:column}.opaca-lexical-container:focus-within{border-color:var(--opaca-accent);box-shadow:0 0 0 2px var(--opaca-primary-glow)}.opaca-lexical-container.mode-notion .opaca-lexical-content{padding:1.5rem 1rem}.opaca-lexical-container.is-readonly{background-color:hsla(0,0%,100%,.02);cursor:not-allowed}.opaca-lexical-container.is-readonly .opaca-lexical-content{padding:0rem}.opaca-lexical-toolbar{display:flex;flex-wrap:wrap;gap:.125rem;padding:.375rem;border-bottom:1px solid var(--opaca-border);background-color:var(--opaca-card-bg);align-items:center}.opaca-lexical-bubble-menu{background:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);padding:4px;display:flex;gap:4px;box-shadow:0 10px 15px -3px rgba(0,0,0,.4);backdrop-filter:blur(8px)}.opaca-lexical-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--opaca-radius);background:rgba(0,0,0,0);border:none;color:var(--opaca-text-muted);cursor:pointer;transition:all var(--opaca-transition)}.opaca-lexical-btn:hover{background-color:hsla(0,0%,100%,.08);color:var(--opaca-text)}.opaca-lexical-btn.is-active{background-color:var(--opaca-primary-glow);color:var(--opaca-accent)}.opaca-lexical-divider{width:1px;height:18px;background-color:var(--opaca-border);margin:0 .25rem}.opaca-lexical-placeholder{color:var(--opaca-text-dim);position:absolute;top:1rem;left:1rem;pointer-events:none;font-style:normal;font-size:.875rem;opacity:.5}.opaca-lexical-editor-inner{position:relative;flex:1}.opaca-lexical-content{min-height:160px;padding:1rem;outline:none;line-height:1.6;color:var(--opaca-text);font-size:.9375rem}.opaca-lexical-content>*:first-child{margin-top:0}.opaca-lexical-content>*:last-child{margin-bottom:0}.opaca-lexical-content p{margin:.75em 0}.opaca-lexical-content .editor-heading-h1{font-size:2.25rem;font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;color:var(--opaca-text)}.opaca-lexical-content .editor-heading-h2{font-size:1.875rem;font-weight:600;margin-top:1.25rem;margin-bottom:.5rem;color:var(--opaca-text)}.opaca-lexical-content .editor-text-bold{font-weight:700}.opaca-lexical-content .editor-text-italic{font-style:italic}.opaca-lexical-content .editor-text-underline{text-decoration:underline}.opaca-lexical-content .editor-text-strikethrough{text-decoration:line-through}.opaca-lexical-content .editor-text-code{background-color:hsla(0,0%,100%,.05);padding:2px 4px;border-radius:4px;font-family:monospace;font-size:.9em}.opaca-lexical-content ul,.opaca-lexical-content.opaca-lexical-content ul{list-style-type:disc !important;padding-left:1.5rem !important;margin:.5rem 0 !important}.opaca-lexical-content ol,.opaca-lexical-content.opaca-lexical-content ol{list-style-type:decimal !important;padding-left:1.5rem !important;margin:.5rem 0 !important}.opaca-lexical-content .editor-listitem{margin:.25rem 0;line-height:1.6}.opaca-lexical-content ul[data-type=taskList]{list-style:none;padding:0}.opaca-lexical-content ul[data-type=taskList] p{margin:0}.opaca-lexical-content ul[data-type=taskList] li{display:flex;margin-bottom:.25rem}.opaca-lexical-content ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:.5rem;user-select:none}.opaca-lexical-content ul[data-type=taskList] li>div{flex:1 1 auto}.opaca-lexical-content ul[data-type=taskList] li input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;margin-top:.2rem;accent-color:var(--opaca-primary)}.opaca-lexical-content ul[data-type=taskList] li[data-checked=true]>div>p{text-decoration:line-through;color:var(--opaca-text-muted)}.opaca-lexical-content blockquote{border-left:3px solid var(--opaca-border);padding-left:1rem;margin:1em 0;color:var(--opaca-text-dim);font-style:italic}.opaca-lexical-content .editor-image-wrapper{position:relative;display:inline-block;cursor:default;user-select:none;line-height:0}.opaca-lexical-content .editor-image-wrapper.is-selected{outline:3px solid var(--opaca-primary);outline-offset:2px;border-radius:4px;box-shadow:0 0 0 4px var(--opaca-primary-glow)}.opaca-lexical-content .editor-image-wrapper .editor-image-img{max-width:100%;height:auto;border-radius:var(--opaca-radius)}.opaca-lexical-content .editor-image-wrapper .editor-image-resizer{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background-color:var(--opaca-primary);border:2px solid #fff;cursor:nwse-resize;z-index:20;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.3)}.opaca-lexical-content .editor-image-wrapper .editor-image-resizer:hover{background-color:var(--opaca-accent);transform:scale(1.2)}.opaca-lexical-content .editor-image-wrapper .editor-image-delete{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background-color:var(--opaca-error);color:#fff;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.3);padding:0;transition:transform .2s}.opaca-lexical-content .editor-image-wrapper .editor-image-delete:hover{transform:scale(1.1);background-color:#ff4d4d}.opaca-lexical-content a{color:var(--opaca-primary);text-decoration:underline;text-underline-offset:2px}.opaca-lexical-content pre{background-color:var(--opaca-bg);color:var(--opaca-text);padding:1rem;border-radius:var(--opaca-radius);overflow-x:auto;border:1px solid var(--opaca-border);margin:1em 0}.opaca-lexical-content pre code{color:inherit;padding:0;background:none;font-size:.85rem}.opaca-lexical-content [contenteditable=true] p.is-editor-empty:first-child::before,.opaca-lexical-content [contenteditable=true] h1.is-empty::before,.opaca-lexical-content [contenteditable=true] h2.is-empty::before,.opaca-lexical-content [contenteditable=true] h3.is-empty::before,.opaca-lexical-content [contenteditable=true] [data-placeholder]::before{content:attr(data-placeholder);float:left;color:var(--opaca-text-muted);pointer-events:none;height:0;font-style:italic;opacity:.6}.opaca-lexical-bubble-menu{display:flex;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.25rem;gap:.125rem}.opaca-lexical-floating-menu{display:flex;align-items:center;margin-left:-32px}.opaca-lexical-btn-plus{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--opaca-surface);border:1px solid var(--opaca-border);color:var(--opaca-text-muted);cursor:pointer;transition:all var(--opaca-transition);font-size:1rem;margin-right:.5rem}.opaca-lexical-btn-plus:hover{background-color:var(--opaca-primary-glow);color:var(--opaca-primary);border-color:var(--opaca-primary)}.opaca-lexical-floating-menu-items{display:none;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.25rem;gap:.125rem;animation:opaca-fade-in 100ms ease-out}.opaca-lexical-floating-menu:hover .opaca-lexical-floating-menu-items{display:flex}.opaca-slash-menu{display:flex;flex-direction:column;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.5rem;max-height:300px;overflow-y:auto;min-width:250px}.opaca-slash-menu-item{display:flex;align-items:center;gap:.75rem;padding:.3rem;border:none;background:rgba(0,0,0,0);color:var(--opaca-text);border-radius:var(--opaca-radius);cursor:pointer;text-align:left;transition:background-color var(--opaca-transition)}.opaca-slash-menu-item:hover,.opaca-slash-menu-item.is-selected{background-color:var(--opaca-surface)}.opaca-slash-menu-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--opaca-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);color:var(--opaca-text-muted)}.opaca-slash-menu-text{display:flex;flex-direction:column}.opaca-slash-menu-title{font-size:.8125rem;font-weight:500;color:var(--opaca-text)}.opaca-slash-menu-desc{font-size:.7rem;color:var(--opaca-text-muted)}.opaca-slash-menu-empty{padding:1rem;color:var(--opaca-text-muted);font-size:.8125rem;text-align:center}.opaca-accordion-item{border-bottom:1px solid var(--opaca-border)}.opaca-accordion-item:last-child{border-bottom:none}.opaca-accordion-header{display:flex}.opaca-accordion-trigger{display:flex;flex:1;align-items:center;justify-content:space-between;padding:1rem 0;font-size:.875rem;font-weight:500;transition:all .2s ease-in-out;color:var(--opaca-text);background:rgba(0,0,0,0);border:none;cursor:pointer;outline:none}.opaca-accordion-trigger:hover{color:var(--opaca-accent)}.opaca-accordion-trigger[data-state=open] .opaca-accordion-trigger-icon{transform:rotate(180deg)}.opaca-accordion-trigger .opaca-accordion-trigger-icon{width:1rem;height:1rem;flex-shrink:0;transition:transform .2s ease-in-out;color:var(--opaca-text-dim)}.opaca-accordion-content{overflow:hidden;font-size:.875rem;transition:all .2s ease-in-out}.opaca-accordion-content[data-state=closed]{animation:opaca-accordion-up .2s ease-out}.opaca-accordion-content[data-state=open]{animation:opaca-accordion-down .2s ease-out}.opaca-accordion-content-inner{padding-bottom:1rem;padding-top:0}.opaca-sidebar .opaca-accordion-custom{margin-bottom:.25rem}.opaca-sidebar .opaca-accordion-item{border:none}.opaca-sidebar .opaca-accordion-trigger{padding:.75rem .75rem;font-size:.625rem;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-radius:.5rem}.opaca-sidebar .opaca-accordion-trigger:hover{background:var(--opaca-bg-alt);color:var(--opaca-text)}.opaca-sidebar .opaca-accordion-trigger .opaca-accordion-trigger-icon{width:.75rem;height:.75rem}.opaca-sidebar .opaca-accordion-content-inner{padding:.25rem .5rem}@keyframes opaca-accordion-down{from{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes opaca-accordion-up{from{height:var(--radix-accordion-content-height)}to{height:0}}.asset-manager-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5);padding:1rem}.asset-manager-container{background-color:var(--opaca-card-bg);border-radius:var(--opaca-radius);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);width:100%;border:1px solid var(--opaca-border);max-width:56rem;height:600px;display:flex;flex-direction:column;color:var(--opaca-text);overflow:hidden}.asset-manager-header{padding:1.25rem 1.75rem;border-bottom:1px solid var(--opaca-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--opaca-card-bg)}.asset-manager-header h2{font-size:1.125rem;font-weight:600;margin:0}.asset-manager-header .asset-manager-breadcrumbs{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.8125rem;color:var(--opaca-text-dim)}.asset-manager-header .asset-manager-breadcrumbs button{background:none;border:none;padding:0;color:inherit;cursor:pointer}.asset-manager-header .asset-manager-breadcrumbs button:hover{color:var(--opaca-accent);text-decoration:underline}.asset-manager-header .asset-manager-breadcrumbs .breadcrumb-separator{opacity:.5}.asset-manager-header .header-actions{display:flex;align-items:center;gap:1rem}.asset-manager-header .header-actions .bucket-selector{min-width:140px;height:36px}.asset-manager-header .close-button{color:var(--opaca-text-dim);background:rgba(0,0,0,0);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--opaca-transition);padding:.25rem;border-radius:6px}.asset-manager-header .close-button:hover{background-color:var(--opaca-surface);color:var(--opaca-text)}.asset-manager-upload-zone{padding:2rem;border-bottom:2px dashed var(--opaca-border);background-color:rgba(0,0,0,.2);cursor:pointer;text-align:center;position:relative;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center}.asset-manager-upload-zone.uploading{pointer-events:none;opacity:.7}.asset-manager-upload-zone .upload-icon{margin-bottom:.75rem;color:var(--opaca-text-dim)}.asset-manager-upload-zone .upload-prompt{color:var(--opaca-text-dim);margin:0;font-size:.875rem}.asset-manager-upload-zone .upload-prompt span{color:var(--opaca-accent);font-weight:600}.asset-manager-upload-zone .uploading-status{display:flex;flex-direction:column;align-items:center;gap:.75rem}.asset-manager-upload-zone .uploading-status .status-text{color:var(--opaca-accent);font-weight:600;font-size:.875rem}.asset-manager-grid-container{flex:1;overflow-y:auto;padding:1.5rem;background-color:rgba(0,0,0,.1)}.asset-manager-grid-container .loading-assets,.asset-manager-grid-container .no-assets{display:flex;justify-content:center;align-items:center;height:100%;color:#9ca3af}.asset-manager-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1.25rem}.asset-manager-card{position:relative;background-color:var(--opaca-surface);border-radius:12px;border:1px solid var(--opaca-border);overflow:hidden;cursor:pointer;transition:all var(--opaca-transition);display:flex;flex-direction:column}.asset-manager-card:hover{border-color:var(--opaca-accent);transform:translateY(-2px);box-shadow:var(--opaca-shadow-lg)}.asset-manager-card:hover .selection-overlay{opacity:1}.asset-manager-card .asset-thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background-color:var(--opaca-bg-alt);overflow:hidden;position:relative}.asset-manager-card .asset-thumb img{width:100%;height:100%;object-fit:cover}.asset-manager-card .asset-thumb .folder-icon{color:#eab308}.asset-manager-card .asset-info{padding:.75rem;display:flex;flex-direction:column;gap:.25rem;background-color:var(--opaca-card-bg);flex:1}.asset-manager-card .asset-info .filename{font-size:.8125rem;font-weight:500;color:var(--opaca-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-manager-card .asset-info .file-meta{font-size:.6875rem;color:var(--opaca-text-dim)}.asset-manager-card .selection-overlay{position:absolute;inset:0;background-color:rgba(var(--opaca-accent-rgb), 0.1);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--opaca-transition);pointer-events:none}.asset-manager-card .selection-overlay .select-badge{background-color:var(--opaca-accent);color:#fff;font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:9999px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.asset-manager-card.folder-card .asset-thumb{background-color:rgba(234,179,8,.05)}.file-field-container{margin-bottom:2rem;background-color:rgba(0,0,0,0);padding:0;border:none;box-shadow:none}.file-field-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.file-field-label-row label{display:block;font-size:.875rem;font-weight:500;color:var(--opaca-text);text-transform:capitalize}.file-field-label-row .upload-error{font-size:.75rem;color:#ef4444;font-weight:500}.file-field-optimistic-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--opaca-primary);border-radius:var(--opaca-radius);background-color:rgba(var(--opaca-primary-rgb), 0.1)}.file-field-optimistic-card .optimistic-info{display:flex;align-items:center;gap:1rem;opacity:.7}.file-field-optimistic-card .optimistic-info img{width:4rem;height:4rem;object-fit:cover;border-radius:.25rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.file-field-optimistic-card .optimistic-info .file-icon-placeholder{width:4rem;height:4rem;background-color:#e5e7eb;border-radius:.25rem;display:flex;align-items:center;justify-content:center}.file-field-optimistic-card .optimistic-info .file-icon-placeholder span{font-size:.75rem;font-family:monospace}.file-field-optimistic-card .optimistic-info .optimistic-details{display:flex;flex-direction:column;flex:1;min-width:0}.file-field-optimistic-card .optimistic-info .optimistic-details .filename{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-field-optimistic-card .optimistic-info .optimistic-details .progress-text{font-size:.75rem;color:#2563eb;margin-bottom:.25rem;font-weight:600}.file-field-optimistic-card .optimistic-info .optimistic-details .progress-bar-bg{width:100%;background-color:#bfdbfe;border-radius:9999px;height:.375rem}.file-field-optimistic-card .optimistic-info .optimistic-details .progress-bar-bg .progress-bar-fill{background-color:#2563eb;height:100%;border-radius:9999px;transition:width .3s}.file-field-asset-card{display:flex;flex-direction:column;gap:1rem}.file-field-asset-info{display:flex;align-items:center;padding:1rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);background-color:var(--opaca-card-bg);justify-content:space-between}.file-field-asset-info .asset-preview{display:flex;align-items:center;gap:1rem}.file-field-asset-info .asset-preview img{width:4rem;height:4rem;object-fit:cover;border-radius:.25rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid #e5e7eb}.file-field-asset-info .asset-preview .file-icon-placeholder{width:4rem;height:4rem;background-color:var(--opaca-border);border-radius:.25rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--opaca-border)}.file-field-asset-info .asset-preview .file-icon-placeholder span{font-size:.75rem;font-family:monospace;color:var(--opaca-subtitle)}.file-field-asset-info .asset-preview .asset-details{display:flex;flex-direction:column}.file-field-asset-info .asset-preview .asset-details .filename{font-size:.875rem;font-weight:500;color:var(--opaca-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.file-field-asset-info .asset-preview .asset-details .filesize{font-size:.75rem;color:var(--opaca-subtitle);font-family:monospace;margin-top:.125rem}.file-field-asset-info .asset-actions{display:flex;gap:.75rem}.file-field-asset-info .asset-actions button{font-size:.875rem;font-weight:500;background:rgba(0,0,0,0);border:none;cursor:pointer;transition:color .2s}.file-field-asset-info .asset-actions button.replace-button{color:var(--opaca-primary)}.file-field-asset-info .asset-actions button.replace-button:hover{opacity:.8}.file-field-asset-info .asset-actions button.remove-button{color:var(--opaca-error)}.file-field-asset-info .asset-actions button.remove-button:hover{opacity:.8}.file-field-metadata{padding-left:1rem;border-left:2px solid #bfdbfe;display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.file-field-metadata h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;margin-bottom:.5rem}.file-field-metadata .metadata-field label{display:block;font-size:.75rem;font-weight:500;color:var(--opaca-subtitle);margin-bottom:.25rem;text-transform:capitalize}.file-field-metadata .metadata-field label .required{color:#ef4444}.file-field-metadata .metadata-field input,.file-field-metadata .metadata-field textarea{width:100%;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:.5rem .75rem;outline:none;transition:all .2s}.file-field-metadata .metadata-field input:focus,.file-field-metadata .metadata-field textarea:focus{border-color:#3b82f6;outline:1px solid #3b82f6}.file-field-empty-button{width:100%;padding:3.5rem 0;border:2px dashed var(--opaca-border);border-radius:var(--opaca-radius);color:var(--opaca-text-dim);background-color:var(--opaca-surface);cursor:pointer;transition:all var(--opaca-transition);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.file-field-empty-button:hover{border-color:var(--opaca-primary);color:var(--opaca-accent);background-color:rgba(124,58,237,.05)}.file-field-empty-button svg{width:2rem;height:2rem;color:#9ca3af}.file-field-empty-button span{font-weight:500;font-size:.875rem}.opaca-ui-collapsible{display:flex;flex-direction:column;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:rgba(0,0,0,0);overflow:hidden;margin-bottom:2rem;transition:border-color var(--opaca-transition)}.opaca-ui-collapsible-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;text-align:left;background-color:var(--opaca-surface);color:var(--opaca-text);border:none;border-bottom:1px solid rgba(0,0,0,0);cursor:pointer;transition:all var(--opaca-transition)}.opaca-ui-collapsible-trigger:hover{background-color:var(--opaca-border)}.opaca-ui-collapsible-trigger[aria-expanded=true]{border-bottom-color:var(--opaca-border)}.opaca-ui-collapsible-trigger[aria-expanded=true] .opaca-ui-collapsible-icon{transform:rotate(180deg)}.opaca-ui-collapsible-icon{width:.875rem;height:.875rem;transition:transform var(--opaca-transition);fill:none;stroke:var(--opaca-text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.opaca-ui-collapsible-content{padding:1.25rem;background-color:rgba(0,0,0,0);color:var(--opaca-text)}.opaca-ui-collapsible-content[data-state=closed]{display:none}.opaca-ui-collapsible-content[data-state=open]{animation:collapsible-slide-down 200ms ease-out}@keyframes collapsible-slide-down{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.opaca-dialog-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);animation:opaca-fade-in .2s ease-out both}.opaca-dialog-wrapper{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none}.opaca-dialog-content{pointer-events:auto;position:relative;z-index:1002;display:flex;flex-direction:column;width:100%;max-width:32rem;background:var(--opaca-card-bg);backdrop-filter:blur(20px);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);animation:opaca-zoom-in .2s cubic-bezier(0.16, 1, 0.3, 1) both;padding:0;overflow:hidden}.opaca-dialog-content.max-w-screen-xl{max-width:80rem;width:95vw}.opaca-dialog-content.max-w-screen-lg{max-width:64rem;width:90vw}.opaca-dialog-content.max-w-4xl{max-width:56rem;width:90vw}.opaca-dialog-close{position:absolute;right:1.25rem;top:1.25rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;color:var(--opaca-text-muted);background:rgba(0,0,0,0);border:none;cursor:pointer;transition:all .2s;z-index:10}.opaca-dialog-close:hover{background:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-dialog-header{padding:1.5rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.opaca-dialog-title{font-size:1.25rem;font-weight:600;color:var(--opaca-text);line-height:1.2}.opaca-dialog-description{font-size:.875rem;color:var(--opaca-text-muted)}.opaca-dialog-footer{padding:1.25rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem;background:hsla(0,0%,100%,.02);border-top:1px solid var(--opaca-glass-border)}@keyframes opaca-zoom-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes opaca-fade-in{from{opacity:0}to{opacity:1}}.opaca-ui-group{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:rgba(0,0,0,0);margin-bottom:2rem}.opaca-ui-group-header{font-size:.75rem;font-weight:500;margin-bottom:.5rem;color:var(--opaca-text-muted);text-transform:uppercase;letter-spacing:.03em}.media-registry-view{display:flex;flex-direction:column;height:100%;padding:1.5rem;gap:1.5rem}.media-registry-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.media-registry-header .opaca-title{font-size:1.875rem;font-weight:700;letter-spacing:-0.025em;color:var(--opaca-text)}.media-registry-header .opaca-subtitle{font-size:.875rem;color:var(--opaca-text-muted);margin-top:.25rem}.media-registry-header-actions{display:flex;align-items:center;gap:.75rem}.media-registry-icon-mr{margin-right:.5rem}.media-registry-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg, 0.5rem);box-shadow:0 1px 3px 0 rgba(0,0,0,.1);backdrop-filter:blur(12px)}.media-registry-filters{display:flex;gap:.75rem;align-items:center;width:100%;max-width:600px}.media-registry-search{position:relative;flex:1;min-width:320px}.media-registry-search .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--opaca-text-dim)}.media-registry-search .opaca-ui-input{padding-left:2.5rem}.media-registry-select-trigger{width:auto;min-width:140px;flex-shrink:0;background:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg, 0.5rem);color:var(--opaca-text);padding:0 1rem;height:2.75rem;font-weight:500;transition:all .2s ease;backdrop-filter:blur(8px)}.media-registry-select-trigger:hover{background:var(--opaca-surface-hover);border-color:var(--opaca-border-hover);transform:translateY(-1px)}.media-registry-select-trigger:focus{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.media-registry-select-trigger[data-slot=select-trigger]{background-image:none !important}.media-registry-view-toggles{display:flex;gap:.25rem;background:var(--opaca-surface);padding:.25rem;border-radius:var(--opaca-radius-lg, 0.5rem);border:1px solid var(--opaca-border)}.media-registry-view-toggles .active{background-color:var(--opaca-primary) !important;color:#fff !important}.media-registry-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1.5rem;margin-top:.5rem}.opaca-scroll-area::-webkit-scrollbar,.custom-scrollbar::-webkit-scrollbar{width:6px}.opaca-scroll-area::-webkit-scrollbar-thumb,.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-scroll-area::-webkit-scrollbar-thumb:hover,.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--opaca-accent)}.media-registry-card{position:relative;background:var(--opaca-card-bg);border-radius:.75rem;border:1px solid var(--opaca-border);overflow:hidden;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.media-registry-card:hover{border-color:var(--opaca-border-hover)}.media-registry-card.active{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.media-registry-card-thumb{height:160px;background:var(--opaca-surface);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--opaca-border);position:relative;overflow:hidden}.media-registry-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.media-registry-card-thumb svg.folder-icon{color:#eab308;transition:transform .3s}.media-registry-card-thumb .media-registry-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.media-registry-card:hover .media-registry-card-thumb img,.media-registry-card:hover .media-registry-card-thumb svg.folder-icon{transform:scale(1.05)}.media-registry-card:hover .media-registry-overlay{opacity:1}.media-registry-overlay-btn{border-radius:9999px;background-color:hsla(0,0%,100%,.1);backdrop-filter:blur(12px);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;transition:all .2s}.media-registry-overlay-btn:hover{background-color:#fff;color:#000}.media-registry-card-body{padding:1rem}.media-registry-card-title{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--opaca-text)}.media-registry-card-meta{font-size:.75rem;color:var(--opaca-text-dim);display:flex;justify-content:space-between;margin-top:.375rem}.media-registry-card-meta .meta-type{text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.media-registry-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg, 0.5rem);margin-top:2rem}.media-registry-pagination .info{font-size:.875rem;color:var(--opaca-text-muted)}.media-registry-pagination .actions{display:flex;gap:.5rem}.media-sheet-flex{flex:1;display:flex;flex-direction:column}.media-sheet-body{flex:1;overflow-y:auto;padding-right:.5rem;margin-right:-0.5rem}.media-sheet-preview{height:12rem;border-radius:var(--opaca-radius-lg, 0.5rem);background:var(--opaca-surface);border:1px solid var(--opaca-border);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:1rem;position:relative}.media-sheet-preview img{width:100%;height:100%;object-fit:contain}.media-sheet-preview .overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.media-sheet-preview:hover .overlay{opacity:1}.media-sheet-form{display:flex;flex-direction:column;gap:1rem}.media-sheet-group{display:flex;flex-direction:column;gap:.5rem}.media-sheet-textarea{display:flex;min-height:80px;width:100%;border-radius:var(--opaca-radius, 0.375rem);border:1px solid var(--opaca-border);background-color:var(--opaca-surface);padding:.5rem .75rem;font-size:.875rem;color:var(--opaca-text);outline:none;font-family:inherit}.media-sheet-textarea::placeholder{color:var(--opaca-text-dim)}.media-sheet-textarea:focus-visible{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.media-sheet-meta-box{background:hsla(0,0%,100%,.02);padding:1rem;border-radius:var(--opaca-radius-lg, 0.5rem);border:1px solid var(--opaca-border);display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.media-sheet-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.media-sheet-meta-row .label{color:var(--opaca-text-dim)}.media-sheet-meta-row .value{color:#fff;font-weight:500}.media-sheet-meta-row .value-mono{font-family:monospace;font-size:.75rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-sheet-actions{display:flex;gap:.75rem;padding-top:1.5rem;margin-top:1.5rem}.media-sheet-actions button{flex:1}.media-preview-container{flex:1;display:flex;flex-direction:column;padding:1.5rem;background:rgba(15,15,15,.7);backdrop-filter:blur(24px) saturate(180%);border-radius:.5rem;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);max-width:90vw;max-height:90vh;animation:opaca-zoom-in .3s cubic-bezier(0.16, 1, 0.3, 1)}@media(min-width: 640px){.media-preview-container{padding:1rem}}@keyframes opaca-zoom-in{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.media-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0;z-index:10}.media-preview-title-group{display:flex;align-items:center;gap:.75rem}.media-preview-title-group h2{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.media-preview-title-group .badge{padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-family:monospace;background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.media-preview-close-btn{color:#fff;background:rgba(0,0,0,0);border-radius:9999px;height:2.5rem;width:2.5rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .2s}.media-preview-close-btn:hover{background:hsla(0,0%,100%,.1)}.media-preview-body{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;position:relative}.media-preview-body img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.5))}.media-preview-no-rich{text-align:center;padding:2rem;background:hsla(0,0%,100%,.05);border-radius:1rem;border:1px solid hsla(0,0%,100%,.1);backdrop-filter:blur(4px)}.media-preview-no-rich .icon-wrapper{display:flex;justify-content:center;margin-bottom:1.5rem}.media-preview-no-rich p{color:var(--opaca-text-dim);margin-bottom:1.5rem}.media-preview-footer{margin-top:2rem;display:flex;justify-content:center;gap:1rem;flex-shrink:0}.media-preview-stat{background:hsla(0,0%,100%,.03);backdrop-filter:blur(8px);padding:.75rem 1.5rem;border-radius:1rem;border:1px solid hsla(0,0%,100%,.05);text-align:center;transition:all .2s}.media-preview-stat:hover{background:hsla(0,0%,100%,.06);transform:translateY(-2px)}.media-preview-stat .label{font-size:.75rem;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.media-preview-stat .value{font-weight:600;color:#fff}.media-dialog-create-body{padding:1rem 0}.media-bucket-settings{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.media-bucket-settings .bucket-setting-row{display:flex;flex-direction:column;gap:.75rem}.media-bucket-settings .bucket-setting-row .bucket-name{font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em}.media-bucket-settings .bucket-setting-row .color-presets{display:flex;flex-wrap:wrap;gap:.5rem}.media-bucket-settings .bucket-setting-row .color-presets .color-bubble{width:24px;height:24px;border-radius:50%;border:2px solid rgba(0,0,0,0);cursor:pointer;transition:all var(--opaca-transition);padding:0;display:flex;align-items:center;justify-content:center}.media-bucket-settings .bucket-setting-row .color-presets .color-bubble:hover{transform:scale(1.1)}.media-bucket-settings .bucket-setting-row .color-presets .color-bubble.active{border-color:#fff;box-shadow:0 0 0 2px var(--opaca-primary)}.media-registry-dialog-sm{max-width:400px}.media-registry-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;background:hsla(0,0%,100%,.02);border:1px dashed var(--opaca-border);border-radius:var(--opaca-radius-lg);color:var(--opaca-text-dim);gap:2rem;text-align:center;margin:1rem 0;backdrop-filter:blur(4px);animation:opaca-fade-in .6s ease-out}.media-registry-empty svg{opacity:.3;filter:drop-shadow(0 0 20px rgba(var(--opaca-accent-rgb), 0.2));color:var(--opaca-text-dim)}.media-registry-empty p{font-size:1.25rem;font-weight:600;letter-spacing:-0.01em;background:linear-gradient(135deg, var(--opaca-text-dim) 0%, var(--opaca-text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}.media-registry-empty .empty-description{font-size:.875rem;max-width:300px;margin-top:-1rem;opacity:.7;-webkit-text-fill-color:initial;background:rgba(0,0,0,0);color:var(--opaca-text-muted)}.opaca-ui-radio-group{display:grid;gap:.75rem}.opaca-ui-radio-item{display:flex;align-items:center;gap:.75rem}.opaca-ui-radio-item input[type=radio]{appearance:none;margin:0;width:1.125rem;height:1.125rem;border:1px solid var(--opaca-border);border-radius:50%;outline:none;cursor:pointer;position:relative;background-color:var(--opaca-surface);transition:all var(--opaca-transition)}.opaca-ui-radio-item input[type=radio]:hover:not(:disabled){border-color:var(--opaca-accent)}.opaca-ui-radio-item input[type=radio]:checked{border-color:var(--opaca-primary);background-color:var(--opaca-primary)}.opaca-ui-radio-item input[type=radio]:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:.375rem;height:.375rem;border-radius:50%;background-color:#fff}.opaca-ui-radio-item input[type=radio]:focus-visible{box-shadow:0 0 0 2px var(--opaca-primary-glow)}.opaca-ui-radio-item input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.opaca-ui-radio-item label{cursor:pointer;font-size:.8125rem;font-weight:400;color:var(--opaca-text)}.opaca-ui-radio-item label.disabled{cursor:not-allowed;opacity:.5}.opaca-ui-select{position:relative;width:100%}.opaca-ui-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--opaca-input-height);min-width:160px;padding:0 .875rem;font-size:.875rem;line-height:1;background-color:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius);color:var(--opaca-text);cursor:pointer;transition:all var(--opaca-transition);text-align:left;outline:none}.opaca-ui-select-trigger:hover{border-color:var(--opaca-border-hover);background-color:hsla(0,0%,100%,.02)}.opaca-ui-select-trigger:focus{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary-glow)}.opaca-ui-select-trigger:disabled{opacity:.5;cursor:not-allowed}.opaca-ui-select-trigger .trigger-placeholder{color:var(--opaca-text-dim)}.opaca-ui-select-trigger .trigger-icon{color:var(--opaca-text-dim);transition:transform var(--opaca-transition)}.opaca-ui-select-trigger[data-state=open] .trigger-icon{transform:rotate(180deg)}.opaca-ui-select-portal{position:fixed;z-index:1000;pointer-events:none}.opaca-ui-select-content{z-index:10000;pointer-events:auto;min-width:8rem;overflow:hidden;background-color:var(--opaca-card-bg);backdrop-filter:blur(20px);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);box-shadow:0 10px 25px -5px rgba(0,0,0,.4);padding:.25rem;animation:opaca-select-in 150ms cubic-bezier(0.16, 1, 0.3, 1);transform-origin:var(--radix-select-content-transform-origin)}.opaca-ui-select-content[data-position=popper]{width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);margin-top:4px}@keyframes opaca-select-in{from{opacity:0;transform:scale(0.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.opaca-ui-select-item{display:flex;align-items:center;width:100%;padding:.425rem 2.25rem .425rem .625rem;font-size:.8125rem;color:var(--opaca-text-muted);border-radius:var(--opaca-radius);cursor:pointer;transition:background 150ms ease,color 150ms ease;border:none;background:rgba(0,0,0,0);text-align:left;position:relative;user-select:none;outline:none}.opaca-ui-select-item>span:first-child{position:absolute !important;right:.5rem !important;top:50% !important;transform:translateY(-50%) !important;width:1rem !important;height:1rem !important;display:flex !important;align-items:center !important;justify-content:center !important;pointer-events:none !important;color:var(--opaca-accent);opacity:0;transition:opacity 150ms ease}.opaca-ui-select-item[data-state=checked]>span:first-child{opacity:1}.opaca-ui-select-item:hover,.opaca-ui-select-item:focus{background-color:hsla(0,0%,100%,.06);color:var(--opaca-text)}.opaca-ui-select-item[data-state=checked]{background-color:var(--opaca-primary-glow);color:var(--opaca-accent);font-weight:500}.opaca-ui-select-item[data-disabled]{opacity:.4;pointer-events:none}.opaca-ui-select-label{padding:.375rem .5rem;font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em}.opaca-ui-select-separator{height:1px;background-color:var(--opaca-border);margin:.25rem -0.25rem}.opaca-ui-select-chevron{width:1rem;height:1rem;color:var(--opaca-text-dim);flex-shrink:0;pointer-events:none}.opaca-ui-select-viewport{padding:.125rem}.opaca-ui-select-item-indicator{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--opaca-accent)}.opaca-ui-select-item-indicator svg{width:.875rem;height:.875rem}.opaca-ui-select-scroll-button{display:flex;align-items:center;justify-content:center;padding:.25rem;cursor:default;background:var(--opaca-card-bg);color:var(--opaca-text-muted)}.opaca-ui-select-scroll-button svg{width:.875rem;height:.875rem}.opaca-spin{animation:opaca-spin-anim 1s linear infinite}@keyframes opaca-spin-anim{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.opaca-ui-sheet-portal-wrapper{position:fixed;inset:0;z-index:9999;display:flex;justify-content:flex-end;pointer-events:none}.opaca-ui-sheet-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.8);backdrop-filter:blur(4px);z-index:9998;border:none;padding:0;margin:0;cursor:default;transition:opacity .3s ease}.opaca-ui-sheet-overlay[data-state=open]{animation:opacaFadeIn .3s ease}.opaca-ui-sheet-overlay[data-state=closed]{animation:opacaFadeOut .3s ease}.opaca-ui-sheet-content{pointer-events:auto;position:relative;z-index:9999;display:flex;height:100%;width:100%;flex-direction:column;border-left:1px solid var(--opaca-border);background-color:var(--opaca-card-bg);padding:1.5rem;box-shadow:-10px 0 25px -5px rgba(0,0,0,.3);overflow-y:auto;color:var(--opaca-text)}@media(min-width: 640px){.opaca-ui-sheet-content{width:400px;max-width:100vw}}@media(min-width: 1024px){.opaca-ui-sheet-content{width:500px}}.opaca-ui-sheet-content[data-state=open]{animation:opacaSlideInRight .3s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-ui-sheet-content[data-state=closed]{animation:opacaSlideOutRight .3s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-ui-sheet-close{position:absolute;right:1rem;top:1rem;border-radius:50%;opacity:.7;transition:all .2s ease;background:rgba(0,0,0,0);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem}.opaca-ui-sheet-close:hover{opacity:1;background-color:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-ui-sheet-close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--opaca-primary)}.opaca-ui-sheet-close-icon{height:1rem;width:1rem;color:var(--opaca-text-muted)}.opaca-ui-sheet-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;text-align:center}@media(min-width: 640px){.opaca-ui-sheet-header{text-align:left}}.opaca-ui-sheet-title{font-size:1.125rem;font-weight:600;color:var(--opaca-text);margin:0}.opaca-ui-sheet-description{font-size:.875rem;color:var(--opaca-text-muted);margin:0}.opaca-ui-sheet-footer{display:flex;flex-direction:column-reverse;margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--opaca-border);gap:.75rem}@media(min-width: 640px){.opaca-ui-sheet-footer{flex-direction:row;justify-content:flex-end;gap:.5rem}}.opaca-ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}@keyframes opacaFadeIn{from{opacity:0}to{opacity:1}}@keyframes opacaFadeOut{from{opacity:1}to{opacity:0}}@keyframes opacaSlideInRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes opacaSlideOutRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.opaca-tabs-field{width:100%}[data-slot=tabs]{display:flex;flex-direction:column;gap:1.5rem;width:100%}[data-slot=tabs][data-orientation=vertical]{flex-direction:row}[data-slot=tabs-list]{display:inline-flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.25rem;background:var(--opaca-surface-elevated);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);width:fit-content}[data-slot=tabs-list][data-variant=line]{background:rgba(0,0,0,0);border:none;border-bottom:1px solid var(--opaca-glass-border);border-radius:0;padding:0;gap:1.5rem}[data-slot=tabs-trigger]{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--opaca-text-muted);background:rgba(0,0,0,0);border:none;border-radius:var(--opaca-radius-md);cursor:pointer;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);white-space:nowrap}[data-slot=tabs-trigger]:hover:not(:disabled){color:var(--opaca-text);background:hsla(0,0%,100%,.05)}[data-slot=tabs-trigger]:disabled{opacity:.5;cursor:not-allowed}[data-slot=tabs-trigger][data-state=active]{color:var(--opaca-text);background:var(--opaca-primary);box-shadow:0 4px 12px var(--opaca-primary-glow);transform:translateY(-1px);color:#fff}[data-variant=line] [data-slot=tabs-trigger]{border-radius:0;padding:.75rem 0;background:rgba(0,0,0,0) !important;box-shadow:none !important;transform:none !important}[data-variant=line] [data-slot=tabs-trigger]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--opaca-primary);opacity:0;transition:opacity .2s}[data-variant=line] [data-slot=tabs-trigger][data-state=active]{color:var(--opaca-primary)}[data-variant=line] [data-slot=tabs-trigger][data-state=active]::after{opacity:1}[data-slot=tabs-content]{width:100%;animation:opaca-tabs-fade-in .3s ease-out;outline:none}[data-slot=tabs-content]:focus-visible{box-shadow:0 0 0 2px var(--opaca-primary)}@keyframes opaca-tabs-fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.opaca-data-detail-sheet{width:100% !important}@media(min-width: 640px){.opaca-data-detail-sheet{width:600px !important;max-width:95vw !important}}.opaca-data-detail-sheet .opaca-sheet-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--opaca-border, rgba(255, 255, 255, 0.1));background:linear-gradient(to bottom, rgba(255, 255, 255, 0.02), transparent);margin:-1.5rem -1.5rem 1.5rem -1.5rem;padding:1.5rem}.opaca-data-detail-sheet .opaca-sheet-title{font-size:1.5rem;font-weight:800;letter-spacing:-0.02em;color:var(--opaca-text)}.opaca-data-detail-sheet .opaca-sheet-description{opacity:.6;font-weight:500;color:var(--opaca-text-muted)}.opaca-detail-list{display:flex;flex-direction:column;gap:1.25rem}.opaca-detail-item-card{background:var(--opaca-card-bg, rgba(255, 255, 255, 0.03));border:1px solid var(--opaca-border, rgba(255, 255, 255, 0.1));border-radius:12px;overflow:hidden;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.opaca-detail-item-card:hover{border-color:var(--opaca-border-hover, rgba(255, 255, 255, 0.2));background:var(--opaca-card-bg-hover, rgba(255, 255, 255, 0.05));transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.opaca-detail-item-header{padding:.875rem 1.25rem;background:hsla(0,0%,100%,.05);border-bottom:1px solid var(--opaca-border);display:flex;align-items:center;font-weight:600;color:var(--opaca-text);font-size:.8125rem;letter-spacing:.02em}.opaca-detail-item-content{padding:1.25rem}.opaca-detail-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.opaca-detail-grid.nested{padding:1.25rem;background:hsla(0,0%,100%,.02);border:1px solid var(--opaca-border);border-radius:8px;margin-top:.75rem;position:relative}.opaca-detail-grid.nested::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--opaca-primary, #3b82f6);border-radius:3px 0 0 3px;opacity:.5}.opaca-detail-row{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid hsla(0,0%,100%,.03)}.opaca-detail-row:last-child{border-bottom:none;padding-bottom:0}.opaca-detail-label{font-size:.7rem;font-weight:700;color:var(--opaca-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.1em;font-family:var(--opaca-font-mono, monospace);opacity:.8}.opaca-detail-value-container{font-size:.9375rem;color:var(--opaca-text, #f8fafc);line-height:1.5}.opaca-detail-value{white-space:pre-wrap;word-break:break-word}.opaca-detail-value.monospace{font-family:var(--opaca-font-mono, ui-monospace, monospace);background:hsla(0,0%,100%,.05);padding:.25rem .5rem;border-radius:4px;font-size:.875rem;color:var(--opaca-accent, #60a5fa)}.opaca-detail-value.date{display:flex;flex-direction:column}.opaca-detail-value.date .absolute{font-weight:500;color:var(--opaca-text)}.opaca-detail-value.date .relative{font-size:.75rem;color:var(--opaca-text-muted)}.opaca-detail-value.boolean{display:inline-flex;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.opaca-detail-value.boolean.true{background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.2)}.opaca-detail-value.boolean.false{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2)}.opaca-badge-interactive{cursor:pointer;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1)}.opaca-badge-interactive:hover{background:var(--opaca-surface, #1e293b) !important;border-color:var(--opaca-primary, #3b82f6) !important;color:var(--opaca-primary, #3b82f6) !important;transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.opaca-row-field{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.opaca-row-field .row-item{flex:1;min-width:0}.opaca-row-field .row-item .opaca-form-group{margin-bottom:0}.opaca-separator{flex-shrink:0;background-color:var(--opaca-border)}.opaca-separator.horizontal{height:1px;width:100%}.opaca-separator.vertical{width:1px;height:100%}.opaca-locale-switcher{display:flex;align-items:center;gap:.5rem;background:var(--opaca-card-bg);padding:.25rem;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);box-shadow:var(--opaca-shadow-sm)}.opaca-locale-btn{background:none;border:none;padding:.375rem .75rem;border-radius:calc(var(--opaca-radius) - 2px);font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);cursor:pointer;transition:all var(--opaca-transition)}.opaca-locale-btn:hover{color:var(--opaca-text);background:hsla(0,0%,100%,.05)}.opaca-locale-btn.active{background:var(--opaca-accent);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-ui-relationship{width:100%;cursor:pointer;background:none;border:none;padding:0;text-align:left;font-family:inherit;color:inherit}.opaca-ui-relationship-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;min-height:2.75rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background:var(--opaca-surface);transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);font-size:.8125rem;width:100%}.opaca-ui-relationship-trigger:hover{border-color:var(--opaca-border-hover);background:var(--opaca-surface-bright)}.opaca-ui-relationship-trigger.error{border-color:var(--opaca-error) !important;box-shadow:0 0 0 1px var(--opaca-error-bg)}.opaca-relationship-trigger-content{display:flex;align-items:center;gap:.5rem;flex:1;flex-wrap:wrap;min-width:0}.opaca-relationship-placeholder{opacity:.35;font-style:italic;font-size:.8125rem;display:flex;align-items:center;gap:.5rem}.opaca-relationship-info-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);background:var(--opaca-surface);color:var(--opaca-text-muted);cursor:pointer;transition:all .2s ease}.opaca-relationship-info-btn:hover{color:var(--opaca-accent);border-color:var(--opaca-accent);background:var(--opaca-primary-glow)}.opaca-relationship-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .5rem .2rem .625rem;background:var(--opaca-primary-glow);border:1px solid rgba(var(--opaca-accent-rgb), 0.2);border-radius:var(--opaca-radius);font-size:.75rem;font-weight:500;color:var(--opaca-accent);transition:all .15s ease;white-space:nowrap}.opaca-relationship-chip:hover{background:rgba(var(--opaca-accent-rgb), 0.2);border-color:rgba(var(--opaca-accent-rgb), 0.4)}.opaca-relationship-chip .opaca-relationship-dot{width:6px;height:6px;border-radius:50%;background:var(--opaca-accent);box-shadow:0 0 6px rgba(var(--opaca-accent-rgb), 0.5);flex-shrink:0}.opaca-relationship-chip .opaca-relationship-prefix{opacity:.6;font-size:.625rem;text-transform:uppercase;font-weight:600;letter-spacing:.04em}.opaca-relationship-chip .opaca-relationship-value{font-weight:600}.opaca-relationship-chip .opaca-relationship-clear{margin-left:.125rem;opacity:.5;cursor:pointer;display:flex;align-items:center;border:none;background:none;padding:2px;color:inherit;border-radius:var(--opaca-radius);transition:all .15s ease}.opaca-relationship-chip .opaca-relationship-clear:hover{opacity:1;background:rgba(var(--opaca-accent-rgb), 0.25)}.opaca-relationship-sheet-header{padding-bottom:1.25rem;border-bottom:1px solid var(--opaca-border);margin-bottom:1rem}.opaca-relationship-sheet-header .opaca-relationship-sheet-title{font-size:1.125rem;font-weight:700;letter-spacing:-0.01em;color:var(--opaca-text);margin-bottom:.25rem}.opaca-relationship-sheet-header .opaca-relationship-sheet-subtitle{font-size:.8125rem;color:var(--opaca-text-muted)}.opaca-relationship-search{position:relative;margin-bottom:1rem}.opaca-relationship-search .opaca-relationship-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--opaca-text-dim);pointer-events:none}.opaca-relationship-search .opaca-input{padding-left:2.25rem !important}.opaca-relationship-list{display:flex;flex-direction:column;gap:.25rem}.opaca-relationship-empty{text-align:center;padding:3rem 1rem;color:var(--opaca-text-dim);font-size:.875rem}.opaca-relationship-loading{display:flex;justify-content:center;align-items:center;padding:3rem}.opaca-relationship-item{display:flex !important;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--opaca-radius-lg);border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--opaca-text);width:100%;cursor:pointer;transition:all .15s cubic-bezier(0.4, 0, 0.2, 1);text-align:left;position:relative;font-family:inherit;font-size:inherit}.opaca-relationship-item:hover{background:var(--opaca-surface-bright);border-color:var(--opaca-border)}.opaca-relationship-item.active{background:var(--opaca-primary-glow);border-color:rgba(var(--opaca-accent-rgb), 0.25)}.opaca-relationship-item.active .avatar{background:var(--opaca-accent) !important;color:#fff !important;box-shadow:0 2px 8px rgba(var(--opaca-accent-rgb), 0.3)}.opaca-relationship-item .avatar{width:32px;height:32px;border-radius:var(--opaca-radius);background:var(--opaca-surface);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;color:var(--opaca-accent);transition:all .15s ease;flex-shrink:0;border:1px solid var(--opaca-border)}.opaca-relationship-item .content{display:flex;flex-direction:column;min-width:0;flex:1}.opaca-relationship-item .content .title{font-weight:600;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-relationship-item .content .subtitle{font-size:.6875rem;color:var(--opaca-text-dim);font-family:"SF Mono","Fira Code",monospace;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-relationship-item .opaca-relationship-item-check{color:var(--opaca-accent);margin-left:auto;flex-shrink:0}.opaca-relationship-item .opaca-relationship-item-info{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--opaca-radius);border:none;background:rgba(0,0,0,0);color:var(--opaca-text-dim);cursor:pointer;transition:all .15s ease;z-index:2}.opaca-relationship-item .opaca-relationship-item-info:hover{color:var(--opaca-accent);background:var(--opaca-primary-glow)}.opaca-versions-sheet{max-width:600px !important;display:flex;flex-direction:column;background-color:var(--opaca-card-bg, #111114) !important;border-left:1px solid var(--opaca-border, #1e1e24) !important;padding:1.5rem !important}.opaca-version-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem;position:relative;padding-left:1rem;list-style:none;padding:0}.opaca-version-list::before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:var(--opaca-border, #1e1e24);border-radius:1px;opacity:.5}.opaca-version-item{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border:1px solid var(--opaca-border, #1e1e24);border-radius:var(--opaca-radius, 4px);background:var(--opaca-surface, #16161a);transition:all .25s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;position:relative;margin-left:1.5rem;text-align:left;width:auto}.opaca-version-item::before{content:"";position:absolute;left:-2.35rem;top:1.5rem;width:12px;height:12px;border-radius:50%;background:var(--opaca-bg, #09090b);border:3px solid var(--opaca-border, #1e1e24);z-index:10;transition:all .2s ease}.opaca-version-item:hover{border-color:rgba(var(--opaca-accent-rgb), 0.4);background:var(--opaca-surface-accent)}.opaca-version-item:hover::before{border-color:var(--opaca-accent)}.opaca-version-item.active{border-color:var(--opaca-accent);background:var(--opaca-surface-bright);box-shadow:0 4px 20px rgba(0,0,0,.2)}.opaca-version-item.active::before{background:var(--opaca-accent);border-color:var(--opaca-accent);box-shadow:0 0 12px rgba(var(--opaca-accent-rgb), 0.5)}.opaca-version-meta{display:flex;justify-content:space-between;align-items:center}.opaca-version-info{display:flex;flex-direction:column;gap:.35rem}.opaca-version-date{font-size:.9375rem;font-weight:600;color:var(--opaca-text-bright)}.opaca-version-id{font-size:.75rem;color:var(--opaca-text-dim);font-family:var(--font-mono);background:hsla(0,0%,100%,.05);padding:2px 6px;border-radius:4px;width:fit-content}.opaca-version-status{font-size:.7rem;padding:.25rem .65rem;border-radius:6px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid rgba(0,0,0,0)}.opaca-version-status.published{background:rgba(16,185,129,.1);color:#10b981;border-color:rgba(16,185,129,.2)}.opaca-version-status.draft{background:rgba(245,158,11,.1);color:#f59e0b;border-color:rgba(245,158,11,.2)}.opaca-version-preview{margin-top:1rem;padding:1.25rem;background:rgba(0,0,0,.2);border-radius:var(--opaca-radius-sm);display:flex;flex-direction:column;gap:1.5rem;border:1px solid hsla(0,0%,100%,.05);animation:opacaSlideDown .3s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-version-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.opaca-versions-header{margin-bottom:1.5rem}.opaca-versions-header-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.opaca-locale-trigger{width:90px !important;height:28px !important;font-size:.75rem !important;background:var(--opaca-surface-bright) !important;border-color:var(--opaca-border) !important}.opaca-version-summary{display:flex;flex-direction:column;gap:.75rem;animation:opacaFadeIn .3s ease}.opaca-summary-row{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.75rem;border-bottom:1px solid hsla(0,0%,100%,.03)}.opaca-summary-row:last-child{border-bottom:none;padding-bottom:0}.opaca-summary-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--opaca-text-dim);opacity:.7}.opaca-summary-value{font-size:.875rem;color:var(--opaca-text);line-height:1.5;word-break:break-word}@keyframes opacaFadeIn{from{opacity:0}to{opacity:1}}.opaca-ui-alert-dialog-overlay{position:fixed;inset:0;z-index:9999;background-color:rgba(0,0,0,.4);backdrop-filter:blur(4px);animation:opacaFadeIn .2s ease-out}.opaca-ui-alert-dialog-portal{position:fixed;inset:0;z-index:9999}.opaca-ui-alert-dialog-wrapper{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none}.opaca-ui-alert-dialog-content{pointer-events:auto;position:relative;z-index:10001;width:100%;max-width:480px;max-height:85vh;padding:1.5rem;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);animation:opacaDialogIn .2s cubic-bezier(0.16, 1, 0.3, 1) both;display:flex;flex-direction:column;gap:1.25rem}.opaca-ui-alert-dialog-header{display:flex;flex-direction:column;gap:.5rem;text-align:center}@media(min-width: 640px){.opaca-ui-alert-dialog-header{text-align:left}}.opaca-ui-alert-dialog-title{font-size:1.125rem;font-weight:600;line-height:1.2;color:var(--opaca-text);margin:0}.opaca-ui-alert-dialog-description{font-size:.875rem;line-height:1.5;color:var(--opaca-text-muted);margin:0}.opaca-ui-alert-dialog-footer{display:flex;flex-direction:column-reverse;gap:.75rem;margin-top:.5rem}@media(min-width: 640px){.opaca-ui-alert-dialog-footer{flex-direction:row;justify-content:flex-end}}.opaca-ui-alert-dialog-media{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--opaca-muted);border-radius:var(--opaca-radius-md);margin-bottom:.5rem;color:var(--opaca-text)}.opaca-ui-alert-dialog-media svg{width:1.5rem;height:1.5rem}@keyframes opacaFadeIn{from{opacity:0}to{opacity:1}}@keyframes opacaDialogIn{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.opaca-tooltip-content{z-index:1001;overflow:hidden;border-radius:.375rem;background-color:var(--opaca-bg-alt);border:1px solid var(--opaca-border);padding:.375rem .75rem;font-size:.75rem;color:var(--opaca-text);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);backdrop-filter:blur(8px);animation-duration:.2s;animation-timing-function:cubic-bezier(0.16, 1, 0.3, 1);will-change:transform,opacity}.opaca-tooltip-content[data-state=delayed-open][data-side=top]{animation-name:opaca-slide-down-and-fade}.opaca-tooltip-content[data-state=delayed-open][data-side=right]{animation-name:opaca-slide-left-and-fade}.opaca-tooltip-content[data-state=delayed-open][data-side=bottom]{animation-name:opaca-slide-up-and-fade}.opaca-tooltip-content[data-state=delayed-open][data-side=left]{animation-name:opaca-slide-right-and-fade}.opaca-tooltip-arrow{fill:var(--opaca-border)}@keyframes opaca-slide-up-and-fade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes opaca-slide-right-and-fade{from{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes opaca-slide-down-and-fade{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes opaca-slide-left-and-fade{from{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}.opaca-dashboard{animation:opaca-fade-in 500ms var(--opaca-transition);padding-bottom:3rem}.opaca-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.opaca-dashboard .dashboard-header .header-text .opaca-title{font-size:1.75rem;font-weight:700;letter-spacing:-0.02em;background:linear-gradient(to bottom, var(--opaca-text-bright) 0%, var(--opaca-text-muted) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);margin-bottom:.25rem}.opaca-dashboard .dashboard-header .header-text .opaca-subtitle{font-size:.875rem;color:var(--opaca-text-dim)}.opaca-dashboard .dashboard-header .user-profile-badge{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);box-shadow:var(--opaca-glass-shadow);transition:var(--opaca-transition)}.opaca-dashboard .dashboard-header .user-profile-badge:hover{border-color:var(--opaca-glass-border-bright);transform:translateY(-1px)}.opaca-dashboard .dashboard-header .user-profile-badge .avatar-initial{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg, var(--opaca-primary) 0%, var(--opaca-accent) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;box-shadow:0 4px 12px var(--opaca-primary-glow)}.opaca-dashboard .dashboard-header .user-profile-badge .profile-info{line-height:1.25}.opaca-dashboard .dashboard-header .user-profile-badge .profile-info .name{font-size:.8125rem;font-weight:600;color:var(--opaca-text)}.opaca-dashboard .dashboard-header .user-profile-badge .profile-info .email{font-size:.6875rem;color:var(--opaca-text-dim)}.opaca-dashboard .stats-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem;margin-bottom:3rem}.opaca-dashboard .collections-section-label{font-size:.6875rem;font-weight:700;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.opaca-dashboard .collections-section-label::after{content:"";height:1px;flex:1;background:var(--opaca-border)}.opaca-dashboard .collections-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:1.25rem}.opaca-dashboard .opaca-card{background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);padding:1.5rem;border-radius:var(--opaca-radius-lg);box-shadow:var(--opaca-glass-shadow);transition:var(--opaca-transition);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:1rem}.opaca-dashboard .opaca-card:hover{border-color:var(--opaca-glass-border-bright);transform:translateY(-3px) scale(1.01);box-shadow:0 12px 40px rgba(0,0,0,.4)}.opaca-dashboard .opaca-card:hover .arrow-icon{transform:translate(2px, -2px);color:var(--opaca-accent)}.opaca-dashboard .opaca-card .card-icon-wrapper{padding:.625rem;background:var(--opaca-primary-glow);color:var(--opaca-primary);border-radius:10px;width:fit-content;display:flex;align-items:center;justify-content:center}.opaca-dashboard .opaca-card .card-icon-wrapper.success{background:var(--opaca-success-bg);color:var(--opaca-success)}.opaca-dashboard .opaca-card .card-content .stat-value{font-size:1.5rem;font-weight:700;color:var(--opaca-text-bright);line-height:1;margin-bottom:.25rem}.opaca-dashboard .opaca-card .card-content .stat-label{font-size:.75rem;font-weight:600;color:var(--opaca-text-dim);text-transform:uppercase;letter-spacing:.05em}.opaca-dashboard .opaca-card .card-footer-text{font-size:.75rem;color:var(--opaca-text-muted);line-height:1.5}.opaca-dashboard .opaca-card .collection-card-header{display:flex;justify-content:space-between;align-items:flex-start}.opaca-dashboard .opaca-card .collection-card-header .label-group{display:flex;align-items:center;gap:.625rem}.opaca-dashboard .opaca-card .collection-card-header .label-group .label{font-weight:600;font-size:.9375rem;color:var(--opaca-text)}.opaca-dashboard .opaca-card .collection-card-header .label-group .dot{width:6px;height:6px;border-radius:50%;background:var(--opaca-primary);box-shadow:0 0 8px var(--opaca-primary)}.opaca-dashboard .opaca-card .collection-card-header .arrow-icon{transition:var(--opaca-transition);color:var(--opaca-text-dim)}[data-sidebar=sidebar]{--sidebar-background: var(--opaca-sidebar-bg);--sidebar-border: var(--opaca-border);--sidebar-ring: var(--opaca-primary-glow);--sidebar-accent: var(--opaca-surface-bright);--sidebar-accent-foreground: var(--opaca-text-bright)}[data-sidebar=menu-button]{transition:all var(--opaca-transition)}[data-sidebar=menu-button][data-active=true]{background:var(--opaca-primary-glow) !important;color:var(--opaca-accent) !important;font-weight:600 !important}[data-sidebar=menu-button]:hover{background:hsla(0,0%,100%,.04) !important;transform:translateX(2px);color:var(--opaca-text-bright) !important}[data-slot=skeleton]{overflow:hidden;position:relative}[data-slot=skeleton]::before{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);animation:shimmer 2s infinite}.opaca-breadcrumb{display:flex;align-items:center}.opaca-breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;padding:0;margin:0}.opaca-breadcrumb-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--opaca-text-dim)}.opaca-breadcrumb-link{color:inherit;text-decoration:none;transition:color var(--opaca-transition);cursor:pointer}.opaca-breadcrumb-link:hover{color:var(--opaca-text-bright)}.opaca-breadcrumb-page{font-weight:500;color:var(--opaca-text-bright)}.opaca-breadcrumb-separator{display:flex;align-items:center;justify-content:center;color:var(--opaca-text-dim);opacity:.5}.opaca-breadcrumb-separator svg{width:1rem;height:1rem}.opaca-breadcrumb-ellipsis{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--opaca-text-dim)}.opaca-popover-content{z-index:50;display:flex;width:18rem;flex-direction:column;gap:.625rem;border-radius:var(--opaca-radius-lg);background:var(--opaca-glass-bg);backdrop-filter:var(--opaca-glass-blur);padding:.625rem;font-size:.875rem;color:var(--opaca-text);box-shadow:var(--opaca-glass-shadow);border:1px solid var(--opaca-glass-border);outline:none;animation:opaca-fade-in 200ms var(--opaca-transition)}.opaca-popover-content[data-side=bottom]{animation:popover-slide-down 200ms var(--opaca-transition)}.opaca-popover-content[data-side=left]{animation:popover-slide-left 200ms var(--opaca-transition)}.opaca-popover-content[data-side=right]{animation:popover-slide-right 200ms var(--opaca-transition)}.opaca-popover-content[data-side=top]{animation:popover-slide-up 200ms var(--opaca-transition)}@keyframes popover-slide-down{from{opacity:0;transform:translateY(-8px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popover-slide-up{from{opacity:0;transform:translateY(8px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popover-slide-left{from{opacity:0;transform:translateX(8px) scale(0.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes popover-slide-right{from{opacity:0;transform:translateX(-8px) scale(0.95)}to{opacity:1;transform:translateX(0) scale(1)}}.opaca-popover-title{font-family:var(--opaca-font);font-weight:600;color:var(--opaca-text-bright)}.opaca-popover-description{color:var(--opaca-text-dim);font-size:.75rem}.opaca-context-menu-content{min-width:12rem;background:var(--opaca-popover-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);padding:.5rem;box-shadow:var(--opaca-shadow-lg);overflow:hidden;z-index:50;animation:opaca-popover-in .2s ease-out}.opaca-context-menu-sub-content{min-width:10rem;background:var(--opaca-popover-bg);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-md);padding:.25rem;box-shadow:var(--opaca-shadow-md);overflow:hidden;z-index:51;animation:opaca-popover-in .15s ease-out}.opaca-context-menu-item,.opaca-context-menu-sub-trigger,.opaca-context-menu-checkbox-item,.opaca-context-menu-radio-item{position:relative;display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;color:var(--opaca-text-muted);border-radius:var(--opaca-radius-sm);cursor:default;user-select:none;transition:all .15s ease;outline:none}.opaca-context-menu-item:hover,.opaca-context-menu-item[data-highlighted],.opaca-context-menu-item[data-state=open],.opaca-context-menu-sub-trigger:hover,.opaca-context-menu-sub-trigger[data-highlighted],.opaca-context-menu-sub-trigger[data-state=open],.opaca-context-menu-checkbox-item:hover,.opaca-context-menu-checkbox-item[data-highlighted],.opaca-context-menu-checkbox-item[data-state=open],.opaca-context-menu-radio-item:hover,.opaca-context-menu-radio-item[data-highlighted],.opaca-context-menu-radio-item[data-state=open]{background:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-context-menu-item[data-disabled],.opaca-context-menu-sub-trigger[data-disabled],.opaca-context-menu-checkbox-item[data-disabled],.opaca-context-menu-radio-item[data-disabled]{opacity:.5;pointer-events:none}.opaca-context-menu-item[data-variant=destructive],.opaca-context-menu-sub-trigger[data-variant=destructive],.opaca-context-menu-checkbox-item[data-variant=destructive],.opaca-context-menu-radio-item[data-variant=destructive]{color:var(--opaca-error)}.opaca-context-menu-item[data-variant=destructive]:hover,.opaca-context-menu-item[data-variant=destructive][data-highlighted],.opaca-context-menu-sub-trigger[data-variant=destructive]:hover,.opaca-context-menu-sub-trigger[data-variant=destructive][data-highlighted],.opaca-context-menu-checkbox-item[data-variant=destructive]:hover,.opaca-context-menu-checkbox-item[data-variant=destructive][data-highlighted],.opaca-context-menu-radio-item[data-variant=destructive]:hover,.opaca-context-menu-radio-item[data-variant=destructive][data-highlighted]{background:rgba(239,68,68,.1)}.opaca-context-menu-item[data-inset],.opaca-context-menu-sub-trigger[data-inset],.opaca-context-menu-checkbox-item[data-inset],.opaca-context-menu-radio-item[data-inset]{padding-left:2.25rem}.opaca-context-menu-item svg,.opaca-context-menu-sub-trigger svg,.opaca-context-menu-checkbox-item svg,.opaca-context-menu-radio-item svg{opacity:.7}.opaca-context-menu-label{padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--opaca-text-muted);text-transform:uppercase;letter-spacing:.05em}.opaca-context-menu-label[data-inset]{padding-left:2.25rem}.opaca-context-menu-separator{height:1px;background:var(--opaca-glass-border);margin:.4rem -0.5rem}.opaca-context-menu-shortcut{margin-left:auto;font-size:.75rem;color:var(--opaca-text-muted);opacity:.6}.opaca-asset-manager{display:flex;flex-direction:column;height:100%;color:var(--opaca-text)}.opaca-asset-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:1.5rem;padding:1rem}@media(max-width: 640px){.opaca-asset-grid{grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem}}.opaca-asset-card{position:relative;display:flex;flex-direction:column;background:var(--opaca-surface-elevated);backdrop-filter:var(--opaca-glass-blur);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-lg);overflow:hidden;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer}.opaca-asset-card:hover{transform:translateY(-4px);border-color:var(--opaca-primary);box-shadow:0 8px 24px rgba(0,0,0,.2)}.opaca-asset-card.is-selected{border-color:var(--opaca-primary);box-shadow:0 0 0 2px var(--opaca-primary)}.opaca-asset-card.is-selected::after{content:"✓";position:absolute;top:.5rem;right:.5rem;background:var(--opaca-primary);color:#fff;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:bold;box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-asset-preview{position:relative;aspect-ratio:16/10;background:rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;overflow:hidden}.opaca-asset-preview img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.opaca-asset-card:hover .opaca-asset-preview img{transform:scale(1.05)}.opaca-asset-preview .file-icon-large{color:var(--opaca-text-muted);opacity:.5}.opaca-asset-info{padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.opaca-asset-info .filename{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opaca-asset-info .metadata{font-size:.75rem;color:var(--opaca-text-muted);display:flex;justify-content:space-between}.opaca-asset-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem;background:hsla(0,0%,100%,.02);border-bottom:1px solid var(--opaca-glass-border)}@media(max-width: 768px){.opaca-asset-toolbar{flex-wrap:wrap}}.opaca-asset-search{position:relative;flex:1;min-width:200px}.opaca-asset-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--opaca-text-muted);pointer-events:none}.opaca-asset-search input{width:100%;padding:.5rem 1rem .5rem 2.5rem;background:var(--opaca-surface-elevated);border:1px solid var(--opaca-glass-border);border-radius:var(--opaca-radius-md);color:var(--opaca-text);font-size:.875rem;outline:none;transition:all .2s}.opaca-asset-search input:focus{border-color:var(--opaca-primary);background:hsla(0,0%,100%,.05);box-shadow:0 0 0 2px var(--opaca-primary-glow)}.opaca-asset-filters{display:flex;gap:.5rem}.opaca-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;background:hsla(0,0%,100%,.02);border:2px dashed var(--opaca-glass-border);border-radius:var(--opaca-radius-xl);transition:all .2s;cursor:pointer}.opaca-upload-dropzone:hover,.opaca-upload-dropzone.is-drag-over{background:rgba(var(--opaca-primary-rgb), 0.05);border-color:var(--opaca-primary)}.opaca-upload-dropzone:hover svg,.opaca-upload-dropzone.is-drag-over svg{transform:translateY(-4px);color:var(--opaca-primary)}.opaca-upload-dropzone svg{transition:all .3s cubic-bezier(0.34, 1.56, 0.64, 1);color:var(--opaca-text-muted)}.opaca-upload-dropzone .title{font-weight:600;font-size:1.125rem}.opaca-upload-dropzone .subtitle{font-size:.875rem;color:var(--opaca-text-muted);text-align:center}.opaca-asset-bulk-actions{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--opaca-primary);border-radius:9999px;box-shadow:0 10px 40px rgba(var(--opaca-primary-rgb), 0.4);color:#fff;z-index:100;transition:transform .4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.opaca-asset-bulk-actions.is-visible{transform:translateX(-50%) translateY(0)}.opaca-asset-bulk-actions .selection-count{font-weight:700;font-size:.875rem;padding-right:1.5rem;border-right:1px solid hsla(0,0%,100%,.3)}.opaca-asset-bulk-actions .action-buttons{display:flex;gap:.5rem}
|
|
@@ -13,7 +13,7 @@ export declare function generateRecord(db: DatabaseAdapter, collection: Collecti
|
|
|
13
13
|
/**
|
|
14
14
|
* Topologically sorts collections based on their dependencies.
|
|
15
15
|
*/
|
|
16
|
-
export declare function sortCollections(collections: Collection[]): Collection[];
|
|
16
|
+
export declare function sortCollections(collections: Collection[] | readonly Collection[]): Collection[];
|
|
17
17
|
/**
|
|
18
18
|
* Seeds the database with mock data.
|
|
19
19
|
*/
|
package/dist/config.d.ts
CHANGED
|
@@ -24,11 +24,7 @@ export declare function defineConfig<const TCollections extends readonly Buildab
|
|
|
24
24
|
collections: TCollections;
|
|
25
25
|
globals?: TGlobals;
|
|
26
26
|
}): Omit<OpacaConfig<TResource>, "collections" | "globals"> & {
|
|
27
|
-
collections:
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
globals: {
|
|
31
|
-
[K in keyof TGlobals]: BuiltResource<TGlobals[K]>;
|
|
32
|
-
};
|
|
27
|
+
collections: BuiltResource<TCollections[number]>[];
|
|
28
|
+
globals: BuiltResource<TGlobals[number]>[];
|
|
33
29
|
};
|
|
34
30
|
export {};
|
package/dist/db/adapter.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export declare abstract class BaseDatabaseAdapter implements DatabaseAdapter {
|
|
|
26
26
|
abstract deleteMany?(collection: string, query: any): Promise<number>;
|
|
27
27
|
abstract findGlobal?<T extends object>(slug: string): Promise<T | null>;
|
|
28
28
|
abstract updateGlobal?<T extends object>(slug: string, data: Partial<T>): Promise<T>;
|
|
29
|
-
abstract migrate(collections: Collection[], globals?: Global[]): Promise<void>;
|
|
29
|
+
abstract migrate(collections: Collection[] | readonly Collection[], globals?: Global[] | readonly Global[]): Promise<void>;
|
|
30
30
|
push?: boolean;
|
|
31
31
|
pushDestructive?: boolean;
|
|
32
32
|
migrationDir?: string;
|
|
@@ -32,7 +32,7 @@ export declare class BetterSQLiteAdapter extends BaseDatabaseAdapter {
|
|
|
32
32
|
findGlobal<T extends object>(slug: string): Promise<T | null>;
|
|
33
33
|
updateGlobal<T extends object>(slug: string, data: Partial<T>): Promise<T>;
|
|
34
34
|
runMigrations(): Promise<void>;
|
|
35
|
-
migrate(collections: Collection[], globals?: Global[]): Promise<void>;
|
|
35
|
+
migrate(collections: Collection[] | readonly Collection[], globals?: Global[] | readonly Global[]): Promise<void>;
|
|
36
36
|
}
|
|
37
37
|
export declare function createBetterSQLiteAdapter(path: string, options?: {
|
|
38
38
|
push?: boolean;
|
package/dist/db/better-sqlite.js
CHANGED
|
@@ -62,7 +62,11 @@ class BetterSQLiteAdapter extends BaseDatabaseAdapter {
|
|
|
62
62
|
if (this._db)
|
|
63
63
|
return;
|
|
64
64
|
const { createRequire } = await import("node:module");
|
|
65
|
-
const
|
|
65
|
+
const moduleUrl = typeof import.meta !== "undefined" ? import.meta.url : undefined;
|
|
66
|
+
if (!moduleUrl) {
|
|
67
|
+
throw new Error("Cannot use BetterSQLiteAdapter in this environment: import.meta.url is undefined. If you are using Cloudflare Workers, please use D1Adapter instead.");
|
|
68
|
+
}
|
|
69
|
+
const require2 = createRequire(moduleUrl);
|
|
66
70
|
const Database = require2("better-sqlite3");
|
|
67
71
|
this._rawDb = new Database(this.path);
|
|
68
72
|
const { createOpacaKysely } = await import("../chunk-gzbz5jwy.js");
|
package/dist/db/d1.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare class D1Adapter extends BaseDatabaseAdapter {
|
|
|
39
39
|
findGlobal<T extends object>(slug: string): Promise<T | null>;
|
|
40
40
|
updateGlobal<T extends object>(slug: string, data: Partial<T>): Promise<T>;
|
|
41
41
|
runMigrations(): Promise<void>;
|
|
42
|
-
migrate(collections: Collection[], globals?: Global[]): Promise<void>;
|
|
42
|
+
migrate(collections: Collection[] | readonly Collection[], globals?: Global[] | readonly Global[]): Promise<void>;
|
|
43
43
|
}
|
|
44
44
|
export declare function createD1Adapter(db: OpacaD1Database, options?: {
|
|
45
45
|
push?: boolean;
|
|
@@ -15,8 +15,8 @@ export interface DraftSwapperPluginConfig {
|
|
|
15
15
|
/**
|
|
16
16
|
* Full collection registry to help with query rewriting.
|
|
17
17
|
*/
|
|
18
|
-
collections?: Collection[];
|
|
19
|
-
globals?: Global[];
|
|
18
|
+
collections?: Collection[] | readonly Collection[];
|
|
19
|
+
globals?: Global[] | readonly Global[];
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Kysely plugin that redirects queries to the centralized `_doc_versions` table when in draft mode.
|
|
@@ -5,9 +5,9 @@ import type { Collection, Global } from "../../../types";
|
|
|
5
5
|
*/
|
|
6
6
|
export interface AutoTranslationFallbackPluginConfig {
|
|
7
7
|
/** The list of CMS collections. */
|
|
8
|
-
collections: Collection[];
|
|
8
|
+
collections: Collection[] | readonly Collection[];
|
|
9
9
|
/** The list of CMS globals. */
|
|
10
|
-
globals?: Global[];
|
|
10
|
+
globals?: Global[] | readonly Global[];
|
|
11
11
|
/** The default locale to fallback to (e.g. 'en'). */
|
|
12
12
|
defaultLocale: string;
|
|
13
13
|
/** The currently requested locale (e.g. 'pt'). */
|
|
@@ -5,9 +5,9 @@ import type { Collection, Global } from "../../../types";
|
|
|
5
5
|
*/
|
|
6
6
|
export interface JsonFlattenerPluginConfig {
|
|
7
7
|
/** The list of CMS collections. */
|
|
8
|
-
collections: Collection[];
|
|
8
|
+
collections: Collection[] | readonly Collection[];
|
|
9
9
|
/** The list of CMS globals. */
|
|
10
|
-
globals?: Global[];
|
|
10
|
+
globals?: Global[] | readonly Global[];
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Kysely plugin that automatically handles JSON serialization and deserialization
|
|
@@ -5,9 +5,9 @@ import type { ApiKey, Collection, Global, Session, User } from "../../../types";
|
|
|
5
5
|
*/
|
|
6
6
|
export interface VirtualFieldResolverPluginConfig {
|
|
7
7
|
/** The list of CMS collections. */
|
|
8
|
-
collections: Collection[];
|
|
8
|
+
collections: Collection[] | readonly Collection[];
|
|
9
9
|
/** The list of CMS globals. */
|
|
10
|
-
globals?: Global[];
|
|
10
|
+
globals?: Global[] | readonly Global[];
|
|
11
11
|
/** The current request context (Hono context or similar). */
|
|
12
12
|
req?: any;
|
|
13
13
|
/** The current authenticated user. */
|
|
@@ -10,6 +10,6 @@ export type DialectType = "postgres" | "sqlite" | "d1";
|
|
|
10
10
|
* @param globals The user globals
|
|
11
11
|
* @param options Push options
|
|
12
12
|
*/
|
|
13
|
-
export declare function pushSchema(db: Kysely<any>, dialect: DialectType, collections: Collection[], globals?: Global[], options?: {
|
|
13
|
+
export declare function pushSchema(db: Kysely<any>, dialect: DialectType, collections: Collection[] | readonly Collection[], globals?: Global[] | readonly Global[], options?: {
|
|
14
14
|
pushDestructive?: boolean;
|
|
15
15
|
}): Promise<void>;
|
|
@@ -13,6 +13,6 @@ export interface TableSnapshot {
|
|
|
13
13
|
export interface SchemaSnapshot {
|
|
14
14
|
tables: Record<string, TableSnapshot>;
|
|
15
15
|
}
|
|
16
|
-
export declare function createSchemaSnapshot(collections: Collection[], globals: Global[], dialect: "postgres" | "sqlite" | "d1"): SchemaSnapshot;
|
|
16
|
+
export declare function createSchemaSnapshot(collections: Collection[] | readonly Collection[], globals: Global[] | readonly Global[], dialect: "postgres" | "sqlite" | "d1"): SchemaSnapshot;
|
|
17
17
|
export declare function saveSnapshot(migrationDir: string, snapshotName: string, snapshot: SchemaSnapshot): void;
|
|
18
18
|
export declare function loadLastSnapshot(migrationDir: string): SchemaSnapshot | null;
|