opacacms 0.3.16 → 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.
Files changed (134) hide show
  1. package/dist/admin/{stores → features/collections}/admin-queries.d.ts +1 -1
  2. package/dist/admin/{ui/views → features/collections}/collection-list-view.d.ts +1 -1
  3. package/dist/admin/{ui/views → features/collections}/document-edit-view.d.ts +2 -1
  4. package/dist/admin/{ui/views → features/collections}/global-edit-view.d.ts +1 -1
  5. package/dist/admin/{ui/components → features/collections}/versions-sheet.d.ts +3 -3
  6. package/dist/admin/{ui/views → features/dashboard}/dashboard-view.d.ts +1 -1
  7. package/dist/admin/{ui/components/media/AssetManagerModal.d.ts → features/media/components/asset-manager-modal.d.ts} +1 -2
  8. package/dist/admin/features/media/media-registry-view.d.ts +7 -0
  9. package/dist/admin/{ui/components/PluginSettingsForm.d.ts → features/settings/plugin-settings-form.d.ts} +3 -3
  10. package/dist/admin/{ui/views → features/settings}/settings-view.d.ts +2 -2
  11. package/dist/admin/{stores → features/ui-shell}/config.d.ts +1 -1
  12. package/dist/admin/{stores → features/ui-shell}/ui.d.ts +1 -1
  13. package/dist/admin/index.d.ts +8 -8
  14. package/dist/admin/index.js +4 -4
  15. package/dist/admin/ui/{components/ui → core}/blocks.d.ts +1 -1
  16. package/dist/admin/ui/core/breadcrumbs.d.ts +21 -0
  17. package/dist/admin/ui/{components/ui → core}/button.d.ts +4 -4
  18. package/dist/admin/ui/{components/ui → core}/collapsible.d.ts +2 -2
  19. package/dist/admin/ui/core/context-menu.d.ts +29 -0
  20. package/dist/admin/ui/core/dialog.d.ts +20 -0
  21. package/dist/admin/ui/{components/ui → core}/group.d.ts +2 -2
  22. package/dist/admin/ui/core/index.d.ts +17 -0
  23. package/dist/admin/ui/{components/ui → core}/input.d.ts +2 -2
  24. package/dist/admin/ui/{components/ui → core}/join.d.ts +1 -1
  25. package/dist/admin/ui/core/label.d.ts +4 -0
  26. package/dist/admin/ui/core/popover.d.ts +10 -0
  27. package/dist/admin/ui/{components/ui → core}/radio-group.d.ts +2 -2
  28. package/dist/admin/ui/{components/ui → core}/relationship.d.ts +1 -1
  29. package/dist/admin/ui/{components/ui → core}/scroll-area.d.ts +1 -1
  30. package/dist/admin/ui/core/select.d.ts +15 -0
  31. package/dist/admin/ui/{components/ui → core}/sheet.d.ts +6 -6
  32. package/dist/admin/ui/core/sidebar.d.ts +69 -0
  33. package/dist/admin/ui/core/skeleton.d.ts +2 -0
  34. package/dist/admin/ui/core/switch.d.ts +6 -0
  35. package/dist/admin/ui/core/table.d.ts +10 -0
  36. package/dist/admin/ui/core/tabs.d.ts +11 -0
  37. package/dist/admin/ui/hooks/use-mobile.d.ts +1 -0
  38. package/dist/admin/ui/{admin-client.d.ts → layout/admin-client.d.ts} +1 -1
  39. package/dist/admin/ui/{admin-layout.d.ts → layout/admin-layout.d.ts} +2 -2
  40. package/dist/admin/ui/{components → shared}/column-visibility-toggle.d.ts +1 -1
  41. package/dist/admin/ui/{components → shared}/detail-sheet.d.ts +2 -2
  42. package/dist/admin/ui/{components/fields/ArrayField.d.ts → shared/fields/array-field.d.ts} +1 -1
  43. package/dist/admin/ui/shared/fields/blocks-field.d.ts +25 -0
  44. package/dist/admin/ui/{components/fields/BooleanField.d.ts → shared/fields/boolean-field.d.ts} +1 -1
  45. package/dist/admin/ui/{components/fields/CollapsibleField.d.ts → shared/fields/collapsible-field.d.ts} +1 -1
  46. package/dist/admin/ui/{components/fields/FileField.d.ts → shared/fields/file-field.d.ts} +13 -3
  47. package/dist/admin/ui/{components/fields/GroupField.d.ts → shared/fields/group-field.d.ts} +1 -1
  48. package/dist/admin/ui/shared/fields/index.d.ts +28 -0
  49. package/dist/admin/ui/{components/fields/JoinField.d.ts → shared/fields/join-field.d.ts} +1 -1
  50. package/dist/admin/ui/{components/fields/RelationshipField.d.ts → shared/fields/relationship-field.d.ts} +1 -1
  51. package/dist/admin/ui/{components → shared}/fields/richtext-editor/index.d.ts +2 -2
  52. package/dist/admin/ui/{components/fields/richtext-editor/nodes/ImageNode.d.ts → shared/fields/richtext-editor/nodes/image-node.d.ts} +3 -3
  53. package/dist/admin/ui/{components/fields/TabsField.d.ts → shared/fields/tabs-field.d.ts} +1 -1
  54. package/dist/admin/ui/{components/fields/VirtualField.d.ts → shared/fields/virtual-field.d.ts} +1 -1
  55. package/dist/admin/ui/{components → shared}/toast.d.ts +1 -1
  56. package/dist/admin/webcomponent.js +34 -34
  57. package/dist/admin.css +1 -1
  58. package/dist/{chunk-5y0mkt7x.js → chunk-2abqb0h6.js} +2 -2
  59. package/dist/{chunk-m83ybzf8.js → chunk-hrxq1x98.js} +1 -1
  60. package/dist/{chunk-nch158fe.js → chunk-y3ehzvp4.js} +1 -1
  61. package/dist/{chunk-vmz9ncf1.js → chunk-yw9w63kr.js} +3 -3
  62. package/dist/cli/commands/init.d.ts +1 -0
  63. package/dist/cli/core/seeding/auto-seed.d.ts +1 -1
  64. package/dist/cli/index.js +28 -3
  65. package/dist/config.d.ts +2 -6
  66. package/dist/db/adapter.d.ts +1 -1
  67. package/dist/db/better-sqlite.d.ts +1 -1
  68. package/dist/db/better-sqlite.js +587 -9
  69. package/dist/db/bun-sqlite.js +590 -9
  70. package/dist/db/d1.d.ts +1 -1
  71. package/dist/db/d1.js +605 -9
  72. package/dist/db/index.d.ts +0 -5
  73. package/dist/db/index.js +0 -35
  74. package/dist/db/kysely/plugins/draft-swapper.d.ts +2 -2
  75. package/dist/db/kysely/plugins/i18n-fallback.d.ts +2 -2
  76. package/dist/db/kysely/plugins/json-flattener.d.ts +2 -2
  77. package/dist/db/kysely/plugins/virtual-field-resolver.d.ts +2 -2
  78. package/dist/db/kysely/schema-builder.d.ts +1 -1
  79. package/dist/db/kysely/snapshot/snapshot-manager.d.ts +1 -1
  80. package/dist/db/postgres.js +613 -9
  81. package/dist/db/sqlite.d.ts +1 -1
  82. package/dist/db/sqlite.js +602 -9
  83. package/dist/runtimes/bun.js +1 -1
  84. package/dist/runtimes/cloudflare-workers.js +1 -1
  85. package/dist/runtimes/next.js +1 -1
  86. package/dist/runtimes/node.js +1 -1
  87. package/dist/server.js +4 -4
  88. package/dist/types.d.ts +3 -3
  89. package/package.json +25 -7
  90. package/dist/admin/ui/components/Table.d.ts +0 -10
  91. package/dist/admin/ui/components/fields/BlocksField.d.ts +0 -17
  92. package/dist/admin/ui/components/fields/index.d.ts +0 -28
  93. package/dist/admin/ui/components/ui/breadcrumbs.d.ts +0 -7
  94. package/dist/admin/ui/components/ui/dialog.d.ts +0 -27
  95. package/dist/admin/ui/components/ui/index.d.ts +0 -17
  96. package/dist/admin/ui/components/ui/label.d.ts +0 -3
  97. package/dist/admin/ui/components/ui/select.d.ts +0 -37
  98. package/dist/admin/ui/components/ui/tabs.d.ts +0 -17
  99. package/dist/admin/ui/views/media-registry-view.d.ts +0 -7
  100. package/dist/chunk-5b9eqr34.js +0 -608
  101. package/dist/chunk-dz5bh1bd.js +0 -586
  102. package/dist/chunk-nz6xhtja.js +0 -601
  103. package/dist/chunk-qsefknd3.js +0 -593
  104. package/dist/chunk-tsmhn78f.js +0 -616
  105. /package/dist/admin/{stores → features/auth}/auth.d.ts +0 -0
  106. /package/dist/admin/{ui/views → features/auth}/login-view.d.ts +0 -0
  107. /package/dist/admin/{ui/components → features/collections}/data-detail-view.d.ts +0 -0
  108. /package/dist/admin/{ui/views → features/init}/init-view.d.ts +0 -0
  109. /package/dist/admin/{stores → features/media}/media.d.ts +0 -0
  110. /package/dist/admin/{stores → features/ui-shell}/column-visibility.d.ts +0 -0
  111. /package/dist/admin/{stores → features/ui-shell}/query.d.ts +0 -0
  112. /package/dist/admin/ui/{components/ui → core}/accordion.d.ts +0 -0
  113. /package/dist/admin/ui/{components/ui → core}/alert-dialog.d.ts +0 -0
  114. /package/dist/admin/ui/{components/ui → core}/separator.d.ts +0 -0
  115. /package/dist/admin/ui/{components/ui → core}/tooltip.d.ts +0 -0
  116. /package/dist/admin/ui/{components/ui → core}/utils.d.ts +0 -0
  117. /package/dist/admin/ui/{components → shared}/custom-alert.d.ts +0 -0
  118. /package/dist/admin/ui/{components/fields/DateField.d.ts → shared/fields/date-field.d.ts} +0 -0
  119. /package/dist/admin/ui/{components/fields/FieldLabel.d.ts → shared/fields/field-label.d.ts} +0 -0
  120. /package/dist/admin/ui/{components/fields/NumberField.d.ts → shared/fields/number-field.d.ts} +0 -0
  121. /package/dist/admin/ui/{components/fields/RadioField.d.ts → shared/fields/radio-field.d.ts} +0 -0
  122. /package/dist/admin/ui/{components/fields/richtext-editor/nodes/ImageComponent.d.ts → shared/fields/richtext-editor/nodes/image-component.d.ts} +0 -0
  123. /package/dist/admin/ui/{components/fields/richtext-editor/plugins/ComponentPickerPlugin.d.ts → shared/fields/richtext-editor/plugins/component-picker-plugin.d.ts} +0 -0
  124. /package/dist/admin/ui/{components/fields/richtext-editor/plugins/EditableSyncPlugin.d.ts → shared/fields/richtext-editor/plugins/editable-sync-plugin.d.ts} +0 -0
  125. /package/dist/admin/ui/{components/fields/richtext-editor/plugins/NotionToolbarPlugin.d.ts → shared/fields/richtext-editor/plugins/notion-toolbar-plugin.d.ts} +0 -0
  126. /package/dist/admin/ui/{components/fields/richtext-editor/plugins/SimpleToolbarPlugin.d.ts → shared/fields/richtext-editor/plugins/simple-toolbar-plugin.d.ts} +0 -0
  127. /package/dist/admin/ui/{components/fields/richtext-editor/plugins/ValueSyncPlugin.d.ts → shared/fields/richtext-editor/plugins/value-sync-plugin.d.ts} +0 -0
  128. /package/dist/admin/ui/{components/fields/RowField.d.ts → shared/fields/row-field.d.ts} +0 -0
  129. /package/dist/admin/ui/{components/fields/SelectField.d.ts → shared/fields/select-field.d.ts} +0 -0
  130. /package/dist/admin/ui/{components/fields/TextAreaField.d.ts → shared/fields/text-area-field.d.ts} +0 -0
  131. /package/dist/admin/ui/{components/fields/TextField.d.ts → shared/fields/text-field.d.ts} +0 -0
  132. /package/dist/admin/ui/{components → shared}/fields/utils.d.ts +0 -0
  133. /package/dist/admin/ui/{components → shared}/link.d.ts +0 -0
  134. /package/dist/admin/ui/{components → shared}/plugin-iframe.d.ts +0 -0
package/dist/admin.css CHANGED
@@ -1 +1 @@
1
- :root{--opaca-bg: #09090b;--opaca-sidebar-bg: #0c0c0f;--opaca-card-bg: #111114;--opaca-surface: #16161a;--opaca-border: #1e1e24;--opaca-border-hover: #2a2a32;--opaca-text: #e4e4e7;--opaca-text-muted: #71717a;--opaca-text-dim: #52525b;--opaca-primary: #7c3aed;--opaca-primary-hover: #6d28d9;--opaca-primary-glow: rgba(124, 58, 237, 0.15);--opaca-accent: #a78bfa;--opaca-error: #f87171;--opaca-error-bg: rgba(248, 113, 113, 0.08);--opaca-success: #34d399;--opaca-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;--opaca-radius: 4px;--opaca-radius-lg: 6px;--opaca-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);--opaca-sidebar-width: 320px;--opaca-sidebar-collapsed-width: 68px;--opaca-surface-bright: #1f1f23;--opaca-surface-accent: rgba(167, 139, 250, 0.08);--opaca-surface-accent-hover: rgba(167, 139, 250, 0.12);--opaca-border-accent: rgba(167, 139, 250, 0.3);--opaca-text-bright: #ffffff;--opaca-accent-rgb: 167, 139, 250}@keyframes opaca-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes opaca-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes opaca-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes opaca-pulse{0%,100%{transform:scale(1);opacity:.2}50%{transform:scale(1.4);opacity:0}}.opaca-spin{animation:opaca-spin 1s linear infinite}.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.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.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-color:var(--opaca-sidebar-bg);border-right:1px solid var(--opaca-border);height:100%;display:flex;flex-direction:column;transition:width var(--opaca-transition),padding var(--opaca-transition);z-index:100;overflow:visible;backdrop-filter:blur(10px)}.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}.opaca-sidebar.collapsed .opaca-sidebar-toggle{right:-12px}.opaca-sidebar-inner{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1.25rem .75rem}.opaca-logo{font-size:.875rem;font-weight:600;letter-spacing:-0.01em;padding:0 .75rem;margin-bottom:2rem;color:var(--opaca-accent);transition:all var(--opaca-transition);white-space:nowrap;display:flex;align-items:center;min-height:32px}.opaca-logo-mini{width:32px;height:32px;background-color:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.2);color:var(--opaca-accent);display:flex;align-items:center;justify-content:center;border-radius:var(--opaca-radius);font-size:.875rem;font-weight:700}.opaca-nav{flex:1;display:flex;flex-direction:column;min-height:0}.opaca-nav-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;color:var(--opaca-text-muted);text-decoration:none;border-radius:var(--opaca-radius);transition:all var(--opaca-transition);margin-bottom:1px;font-size:.8125rem;font-weight:400;white-space:nowrap;overflow:hidden;border:1px solid rgba(0,0,0,0)}.opaca-nav-item:hover{background-color:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-nav-item.active{background-color:var(--opaca-primary-glow);color:var(--opaca-accent);font-weight:600;box-shadow:inset 2px 0 0 0 var(--opaca-primary)}.opaca-nav-label{transition:opacity var(--opaca-transition)}.opaca-nav-footer{border-top:1px solid var(--opaca-border);padding-top:.75rem;margin-top:auto;padding-bottom:.5rem}.opaca-sidebar-toggle{position:absolute;top:25px;right:-12px;width:24px;height:24px;background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:50%;color:var(--opaca-text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:101;transition:all var(--opaca-transition);box-shadow:0 2px 4px rgba(0,0,0,.1)}.opaca-sidebar-toggle:hover{border-color:var(--opaca-accent);color:var(--opaca-accent);background-color:var(--opaca-surface)}.opaca-content{flex:1;padding:2.5rem;overflow-y:auto;height:100%;scroll-behavior:smooth}.opaca-content.full-bleed{padding:0;overflow:hidden;height:100%}.opaca-content-inner{margin:0 auto;width:100%;height:100%}.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(1px)}.opaca-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.opaca-title{font-size:1.375rem;font-weight:600;letter-spacing:-0.02em;color:var(--opaca-text)}.opaca-subtitle{color:var(--opaca-text-muted);font-size:.8125rem;margin-top:.25rem}.opaca-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:1rem}.opaca-form-group{margin-bottom:1.5rem}.opaca-card{background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);padding:1.25rem;transition:border-color var(--opaca-transition)}.opaca-card:hover{border-color:var(--opaca-border-hover)}.opaca-table-container{background-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);overflow:hidden;position:relative}.opaca-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(9,9,11,.6);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10;animation:opaca-fade-in 200ms ease-out}.opaca-table{width:100%;border-collapse:collapse}.opaca-table th{text-align:left;padding:.625rem 1rem;background-color:var(--opaca-surface);color:var(--opaca-text-dim);font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--opaca-border)}.opaca-table td{padding:.625rem 1rem;border-bottom:1px solid var(--opaca-border);font-size:.8125rem;color:var(--opaca-text)}.opaca-table tr:last-child td{border-bottom:none}.opaca-table tr:hover td{background-color:hsla(0,0%,100%,.01)}.opaca-table-wrapper{position:relative;width:100%;overflow:auto;border-radius:var(--opaca-radius-lg);border:1px solid var(--opaca-border);background:var(--opaca-card-bg);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.opaca-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.opaca-table-wrapper::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.opaca-table-wrapper::-webkit-scrollbar-thumb{background:var(--opaca-border);border-radius:10px}.opaca-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--opaca-text-dim)}.opaca-new-table{width:100%;caption-side:bottom;font-size:.875rem;border-collapse:collapse}.opaca-new-table .opaca-badge{padding:.2rem .5rem;font-size:.7rem;border-radius:4px;background:var(--opaca-surface);color:var(--opaca-text-muted);border:1px solid var(--opaca-border)}.opaca-new-table .opaca-btn-outline{background:rgba(0,0,0,0);border-color:var(--opaca-border);color:var(--opaca-text-muted)}.opaca-new-table .opaca-btn-outline:hover{border-color:var(--opaca-primary);color:var(--opaca-primary)}.opaca-table-header{background-color:hsla(0,0%,100%,.02);border-bottom:1px solid var(--opaca-border)}.opaca-table-head{position:sticky;top:0;z-index:10;background-color:var(--opaca-card-bg);height:3.5rem;padding:0 1rem;text-align:left;vertical-align:middle;font-weight:600;color:var(--opaca-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;min-width:120px;transition:color .2s ease;box-shadow:inset 0 -1px 0 var(--opaca-border)}.opaca-table-head:hover{color:var(--opaca-text)}.opaca-table-head>div{display:flex;align-items:center;white-space:nowrap;gap:.5rem}.opaca-table-row{border-bottom:1px solid var(--opaca-border);transition:background-color var(--opaca-transition)}.opaca-table-row:last-child{border-bottom:0}.opaca-table-row:hover{background-color:var(--opaca-surface)}.opaca-table-cell{padding:1rem;vertical-align:middle;color:var(--opaca-text);font-size:.875rem;border-bottom:1px solid var(--opaca-border);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opaca-table-cell.opaca-cell-interactive{cursor:pointer;transition:all .2s ease;border-bottom:2px solid rgba(0,0,0,0)}.opaca-table-cell.opaca-cell-interactive:hover{background-color:hsla(0,0%,100%,.04);color:var(--opaca-primary);border-bottom-color:var(--opaca-primary)}.opaca-table-footer{background-color:hsla(0,0%,100%,.02);font-weight:500}.opaca-table-caption{margin-top:1rem;font-size:.875rem;color:var(--opaca-text-muted)}.opaca-item-button:hover{background-color:hsla(0,0%,100%,.05) !important;border-color:var(--opaca-primary) !important}.opaca-item-button.active{background-color:rgba(var(--opaca-primary-rgb), 0.1) !important;border-color:var(--opaca-primary) !important;color:var(--opaca-primary)}.opaca-ui-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--opaca-radius);font-size:.875rem;font-weight:500;transition:all var(--opaca-transition);cursor:pointer;border:1px solid rgba(0,0,0,0);outline:none}.opaca-ui-btn:focus-visible{box-shadow:0 0 0 2px var(--opaca-bg),0 0 0 4px var(--opaca-primary)}.opaca-ui-btn:disabled{pointer-events:none;opacity:.5}.opaca-ui-btn-size-default{height:2.25rem;padding:.5rem 1rem}.opaca-ui-btn-size-sm{height:2rem;padding:0 .75rem;font-size:.75rem}.opaca-ui-btn-size-lg{height:2.5rem;padding:0 2rem}.opaca-ui-btn-size-icon{height:2.25rem;width:2.25rem;padding:0}.opaca-ui-btn-default{background-color:var(--opaca-primary);color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.opaca-ui-btn-default:hover{background-color:var(--opaca-primary-hover)}.opaca-ui-btn-destructive{background-color:var(--opaca-error);color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.opaca-ui-btn-destructive:hover{background-color:#ef4444}.opaca-ui-btn-outline{border-color:var(--opaca-border);background-color:rgba(0,0,0,0);color:var(--opaca-text);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.opaca-ui-btn-outline:hover{background-color:hsla(0,0%,100%,.05)}.opaca-ui-btn-secondary{background-color:var(--opaca-surface);color:var(--opaca-text);border-color:var(--opaca-border);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.opaca-ui-btn-secondary:hover{background-color:hsla(0,0%,100%,.05)}.opaca-ui-btn-ghost{background-color:rgba(0,0,0,0);color:var(--opaca-text)}.opaca-ui-btn-ghost:hover{background-color:hsla(0,0%,100%,.05)}.opaca-ui-btn-link{background-color:rgba(0,0,0,0);color:var(--opaca-primary);text-decoration:underline;text-underline-offset:4px}.opaca-ui-btn-link:hover{text-decoration:none}.opaca-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--opaca-radius);font-weight:500;font-size:.8125rem;cursor:pointer;transition:all var(--opaca-transition);border:none;font-family:inherit;line-height:1.4}.opaca-btn-primary{background-color:var(--opaca-primary);color:#fff}.opaca-btn-primary:hover{background-color:var(--opaca-primary-hover)}.opaca-btn-primary:disabled{opacity:.6;cursor:not-allowed}.opaca-btn-outline{background-color:rgba(0,0,0,0);border:1px solid var(--opaca-border);color:var(--opaca-text-muted)}.opaca-btn-outline:hover{border-color:var(--opaca-border-hover);color:var(--opaca-text);background-color:hsla(0,0%,100%,.02)}.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{display:flex;height:2.25rem;width:100%;border-radius:var(--opaca-radius);border:1px solid var(--opaca-border);background-color:var(--opaca-surface);padding:.25rem .75rem;font-size:.875rem;color:var(--opaca-text);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);transition:border-color var(--opaca-transition),box-shadow var(--opaca-transition);outline:none}.opaca-ui-input::placeholder{color:var(--opaca-text-dim)}.opaca-ui-input:focus-visible{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary)}.opaca-ui-input:disabled{cursor:not-allowed;opacity:.5}.opaca-ui-input[type=file]{border:0;background-color:rgba(0,0,0,0);font-size:.875rem;font-weight:500}.opaca-label{display:block;font-size:.75rem;font-weight:500;margin-bottom:.375rem;color:var(--opaca-text-muted);text-transform:uppercase;letter-spacing:.03em}.opaca-input{width:100%;padding:.5rem .75rem;border-radius:var(--opaca-radius);background-color:var(--opaca-surface);border:1px solid var(--opaca-border);color:var(--opaca-text);font-family:inherit;font-size:.8125rem;transition:border-color var(--opaca-transition),box-shadow var(--opaca-transition);outline:none}.opaca-input::placeholder{color:var(--opaca-text-dim)}.opaca-input:focus{border-color:var(--opaca-primary);box-shadow:0 0 0 1px var(--opaca-primary-glow)}.opaca-input.error{border-color:var(--opaca-error)}.opaca-input.error:focus{box-shadow:0 0 0 1px 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}.opaca-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;user-select:none;gap:.75rem}.opaca-switch input{position:absolute;opacity:0;width:0;height:0}.opaca-switch input:checked+.opaca-switch-track{background-color:var(--opaca-accent);border-color:var(--opaca-accent)}.opaca-switch input:checked+.opaca-switch-track .opaca-switch-thumb{left:18px}.opaca-switch input:disabled+.opaca-switch-track{background:var(--opaca-border);cursor:not-allowed;opacity:.6}.opaca-switch-track{width:36px;height:20px;background-color:var(--opaca-surface);border:1px solid var(--opaca-border);border-radius:20px;position:relative;transition:all var(--opaca-transition)}.opaca-switch-thumb{width:14px;height:14px;background-color:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:all var(--opaca-transition);box-shadow:0 2px 4px rgba(0,0,0,.2)}.opaca-switch-label{font-size:.8125rem;font-weight:500}.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-color:var(--opaca-card-bg);border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);padding:2rem}.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-ui-dialog-portal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.opaca-ui-dialog-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.8);backdrop-filter:blur(4px);transition:opacity .2s;border:none;padding:0;margin:0;cursor:default;width:100%;height:100%}.opaca-ui-dialog-wrapper{position:relative;z-index:10000;width:100%;height:100%;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.opaca-ui-dialog-content{pointer-events:auto;position:relative;width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;border-radius:var(--opaca-radius-lg);border:1px solid var(--opaca-border);background-color:var(--opaca-card-bg);padding:1.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.3),0 8px 10px -6px rgba(0,0,0,.2);color:var(--opaca-text);animation:opacaDialogIn .2s cubic-bezier(0.16, 1, 0.3, 1)}.opaca-ui-dialog-content.opaca-dialog-max-w{max-width:425px}@keyframes opacaDialogIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.opaca-ui-dialog-header{display:flex;flex-direction:column;gap:.375rem;text-align:center}@media(min-width: 640px){.opaca-ui-dialog-header{text-align:left}}.opaca-ui-dialog-title{font-size:1.125rem;font-weight:600;line-height:1;letter-spacing:-0.025em;color:var(--opaca-text)}.opaca-ui-dialog-description{font-size:.875rem;color:var(--opaca-text-muted)}.opaca-ui-dialog-footer{display:flex;flex-direction:column-reverse;margin-top:1rem;gap:.5rem}@media(min-width: 640px){.opaca-ui-dialog-footer{flex-direction:row;justify-content:flex-end;gap:.5rem}}.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%}.media-registry-header{margin-bottom:2rem;flex-shrink:0}.media-registry-header .opaca-title{font-size:1.5rem;font-weight:600;letter-spacing:-0.025em}.media-registry-header .opaca-subtitle{font-size:.875rem;color:var(--opaca-text-muted);margin-top:.25rem}.media-registry-header-actions{display:flex;gap:.75rem}.media-registry-icon-mr{margin-right:.5rem}.media-registry-body{flex:1;display:flex;flex-direction:column;padding:0;overflow:visible;border:none;background:rgba(0,0,0,0)}.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);margin-bottom:1.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.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:140px;flex-shrink:0}.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-toggle-btn{padding:.4rem;border-radius:var(--opaca-radius, 0.375rem);border:none;cursor:pointer;transition:all .2s;background:rgba(0,0,0,0);color:var(--opaca-text-dim);display:flex;align-items:center;justify-content:center}.media-registry-toggle-btn:hover{color:#fff}.media-registry-toggle-btn.active{background-color:var(--opaca-primary);color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.media-registry-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1.5rem;margin-top:.5rem}.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}.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{pointer-events:auto;min-width:8rem;overflow:hidden;background-color:var(--opaca-card-bg);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:top}@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:.375rem .5rem;font-size:.8125rem;color:var(--opaca-text-muted);border-radius:var(--opaca-radius);cursor:pointer;transition:all var(--opaca-transition);border:none;background:rgba(0,0,0,0);text-align:left}.opaca-ui-select-item:hover{background-color:hsla(0,0%,100%,.05);color:var(--opaca-text)}.opaca-ui-select-item[data-selected=true]{background-color:var(--opaca-primary-glow);color:var(--opaca-accent);font-weight:500}.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-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-ui-tabs{display:flex;flex-direction:column;width:100%}.opaca-ui-tabs-list{display:flex;background-color:var(--opaca-surface);padding:.25rem;border-radius:var(--opaca-radius-lg);overflow-x:auto;gap:.25rem;align-items:center;justify-content:flex-start;border:1px solid var(--opaca-border)}.opaca-ui-tabs-trigger{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--opaca-radius);padding:.5rem 1rem;font-size:.8125rem;font-weight:500;color:var(--opaca-text-muted);background-color:rgba(0,0,0,0);border:none;cursor:pointer;transition:all var(--opaca-transition)}.opaca-ui-tabs-trigger:hover{color:var(--opaca-text);background-color:hsla(0,0%,100%,.05)}.opaca-ui-tabs-trigger[data-state=active]{background-color:var(--opaca-primary);color:#fff;box-shadow:0 4px 12px var(--opaca-primary-glow)}.opaca-ui-tabs-trigger:disabled{opacity:.5;cursor:not-allowed}.opaca-ui-tabs-content{margin-top:1rem;padding:1.25rem;border:1px solid var(--opaca-border);border-radius:var(--opaca-radius-lg);background-color:rgba(0,0,0,0);color:var(--opaca-text)}.opaca-ui-tabs-content[data-state=inactive]{display:none}.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) forwards;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)}}
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}
@@ -2251,12 +2251,12 @@ function createAPIRouter(config, settings = {}, env = {}) {
2251
2251
  if (isRestEnabled) {
2252
2252
  mountCollectionRoutes(router, config, state);
2253
2253
  mountGlobalRoutes(router, config, state);
2254
- mountIncomingWebhookRoutes(router, config);
2255
2254
  }
2255
+ mountIncomingWebhookRoutes(router, config);
2256
2256
  if (isGraphQLEnabled) {
2257
2257
  const graphqlPath = config.api?.graphql?.path || "/graphql";
2258
2258
  const schema = generateGraphQLSchema(config, state);
2259
- router.use(graphqlPath, async (c, next) => {
2259
+ router.all(graphqlPath, async (c, next) => {
2260
2260
  try {
2261
2261
  const { graphqlServer } = await import("@hono/graphql-server");
2262
2262
  return graphqlServer({
@@ -1,4 +1,4 @@
1
- // src/admin/stores/ui.ts
1
+ // src/admin/features/ui-shell/ui.ts
2
2
  import { persistentAtom } from "@nanostores/persistent";
3
3
  import { atom } from "nanostores";
4
4
  var $toasts = atom([]);
@@ -12,7 +12,7 @@ import {
12
12
  openSheet,
13
13
  registerSidebarItem,
14
14
  toggleSidebar
15
- } from "./chunk-m83ybzf8.js";
15
+ } from "./chunk-hrxq1x98.js";
16
16
  import"./chunk-8sqjbsgt.js";
17
17
  export {
18
18
  toggleSidebar,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  notify
3
- } from "./chunk-m83ybzf8.js";
3
+ } from "./chunk-hrxq1x98.js";
4
4
  import"./chunk-8sqjbsgt.js";
5
5
 
6
- // src/admin/stores/auth.ts
6
+ // src/admin/features/auth/auth.ts
7
7
  import { atom, computed } from "nanostores";
8
8
 
9
9
  // src/admin/auth-client.ts
@@ -19,7 +19,7 @@ var authClient = new Proxy({}, {
19
19
  }
20
20
  });
21
21
 
22
- // src/admin/stores/auth.ts
22
+ // src/admin/features/auth/auth.ts
23
23
  var $session = atom(null);
24
24
  var $isAuthPending = atom(true);
25
25
  var $user = computed($session, (session) => session?.user ?? null);
@@ -1,3 +1,4 @@
1
+ export declare function initCommand(target?: string, example?: string): Promise<void>;
1
2
  declare const _default: import("citty").CommandDef<{
2
3
  readonly target: {
3
4
  readonly type: "positional";
@@ -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/cli/index.js CHANGED
@@ -1886,6 +1886,7 @@ var require_picocolors = __commonJS((exports, module) => {
1886
1886
  // src/cli/commands/init.ts
1887
1887
  var exports_init = {};
1888
1888
  __export(exports_init, {
1889
+ initCommand: () => initCommand,
1889
1890
  default: () => init_default
1890
1891
  });
1891
1892
  import fs3 from "node:fs";
@@ -1915,6 +1916,30 @@ function detectFramework(pkgJsonPath) {
1915
1916
  return "unknown";
1916
1917
  }
1917
1918
  }
1919
+ async function initCommand(target, example) {
1920
+ const fs4 = await import("node:fs");
1921
+ const { resolve: resolve2 } = await import("node:path");
1922
+ const targetDir = target ? resolve2(process.cwd(), target) : process.cwd();
1923
+ if (!fs4.existsSync(targetDir)) {
1924
+ fs4.mkdirSync(targetDir, { recursive: true });
1925
+ }
1926
+ if (example === "sqlite-basic") {
1927
+ const configCode = `
1928
+ import { defineConfig } from 'opacacms';
1929
+ import { createBunSQLiteAdapter } from 'opacacms/db/bun-sqlite';
1930
+
1931
+ export default defineConfig({
1932
+ appName: "Opaca Blog (SQLite)",
1933
+ db: createBunSQLiteAdapter('local.db'),
1934
+ collections: []
1935
+ });`;
1936
+ fs4.writeFileSync(resolve2(targetDir, "opaca.config.ts"), configCode);
1937
+ fs4.writeFileSync(resolve2(targetDir, "package.json"), JSON.stringify({ name: target }, null, 2));
1938
+ } else {
1939
+ fs4.writeFileSync(resolve2(targetDir, "opaca.config.ts"), "export default {}");
1940
+ fs4.writeFileSync(resolve2(targetDir, "package.json"), JSON.stringify({ name: target }, null, 2));
1941
+ }
1942
+ }
1918
1943
  var import_picocolors, init_default;
1919
1944
  var init_init = __esm(() => {
1920
1945
  init_dist3();
@@ -2267,9 +2292,9 @@ console.log('\uD83D\uDE80 OpacaCMS Backend Listening on http://localhost:3001');
2267
2292
  3. Start your dev server!`, "Next Steps");
2268
2293
  if (dbType === "better-sqlite3") {
2269
2294
  Vt2(import_picocolors.default.yellow(`WARNING: better-sqlite3 relies on C++ native bindings.
2270
- ` + `It often fails to compile or locate bindings on newer Node.js versions (e.g. 20/22).
2271
- ` + `If you encounter 'Could not locate bindings file' errors during development,
2272
- ` + "consider switching to 'bun-sqlite' (if using Bun) or PostgreSQL."), "Important Note");
2295
+ It often fails to compile or locate bindings on newer Node.js versions (e.g. 20/22).
2296
+ If you encounter 'Could not locate bindings file' errors during development,
2297
+ consider switching to 'bun-sqlite' (if using Bun) or PostgreSQL.`), "Important Note");
2273
2298
  }
2274
2299
  Gt(`Build something awesome! \uD83C\uDF88`);
2275
2300
  }
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
- [K in keyof TCollections]: BuiltResource<TCollections[K]>;
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 {};
@@ -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;