@vertebr/admin 0.1.0

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 (48) hide show
  1. package/dist/database/configStore.d.ts +10 -0
  2. package/dist/database/configStore.d.ts.map +1 -0
  3. package/dist/database/configStore.js +34 -0
  4. package/dist/database/configStore.js.map +1 -0
  5. package/dist/database/connector.d.ts +31 -0
  6. package/dist/database/connector.d.ts.map +1 -0
  7. package/dist/database/connector.js +187 -0
  8. package/dist/database/connector.js.map +1 -0
  9. package/dist/database/firestore.d.ts +71 -0
  10. package/dist/database/firestore.d.ts.map +1 -0
  11. package/dist/database/firestore.js +115 -0
  12. package/dist/database/firestore.js.map +1 -0
  13. package/dist/database/index.d.ts +8 -0
  14. package/dist/database/index.d.ts.map +1 -0
  15. package/dist/database/index.js +20 -0
  16. package/dist/database/index.js.map +1 -0
  17. package/dist/database/memory.d.ts +12 -0
  18. package/dist/database/memory.d.ts.map +1 -0
  19. package/dist/database/memory.js +116 -0
  20. package/dist/database/memory.js.map +1 -0
  21. package/dist/database/mongo.d.ts +41 -0
  22. package/dist/database/mongo.d.ts.map +1 -0
  23. package/dist/database/mongo.js +151 -0
  24. package/dist/database/mongo.js.map +1 -0
  25. package/dist/database/postgres.d.ts +46 -0
  26. package/dist/database/postgres.d.ts.map +1 -0
  27. package/dist/database/postgres.js +262 -0
  28. package/dist/database/postgres.js.map +1 -0
  29. package/dist/database/types.d.ts +70 -0
  30. package/dist/database/types.d.ts.map +1 -0
  31. package/dist/database/types.js +3 -0
  32. package/dist/database/types.js.map +1 -0
  33. package/dist/index.d.ts +210 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +650 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/schema.d.ts +18 -0
  38. package/dist/schema.d.ts.map +1 -0
  39. package/dist/schema.js +4 -0
  40. package/dist/schema.js.map +1 -0
  41. package/dist/store.d.ts +12 -0
  42. package/dist/store.d.ts.map +1 -0
  43. package/dist/store.js +36 -0
  44. package/dist/store.js.map +1 -0
  45. package/package.json +45 -0
  46. package/static/assets/index-CSsz_d7k.css +1 -0
  47. package/static/assets/index-D5rhtylJ.js +52 -0
  48. package/static/index.html +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** Shared field schema types (kept separate to avoid circular imports). */
2
+ export type FieldType = "string" | "number" | "boolean" | "datetime" | "richtext" | "enum" | "enum[]" | "file[]";
3
+ export type FieldSchema = {
4
+ type: FieldType;
5
+ label?: string;
6
+ required?: boolean;
7
+ readOnly?: boolean;
8
+ unique?: boolean;
9
+ min?: number;
10
+ max?: number;
11
+ default?: unknown;
12
+ options?: string[];
13
+ };
14
+ export type HandlerContext = {
15
+ env: string;
16
+ request: unknown;
17
+ };
18
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,GACV,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
package/dist/schema.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /** Shared field schema types (kept separate to avoid circular imports). */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":";AAAA,2EAA2E"}
@@ -0,0 +1,12 @@
1
+ /** Pluggable persistence for Vertebr controls / configs. */
2
+ export type ConfigStore = {
3
+ get(id: string, env: string): Promise<Record<string, unknown> | null> | Record<string, unknown> | null;
4
+ set(id: string, env: string, value: Record<string, unknown>): Promise<void> | void;
5
+ };
6
+ /**
7
+ * In-memory store — useful for local demos and tests.
8
+ * Data is keyed by `${env}:${id}` and lost on process restart.
9
+ */
10
+ export declare function memoryStore(seed?: Record<string, Record<string, Record<string, unknown>>>): ConfigStore;
11
+ export declare function mergeConfigValue(defaults: Record<string, unknown>, stored: Record<string, unknown> | null | undefined, patch?: Record<string, unknown>): Record<string, unknown>;
12
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,CACD,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5E,GAAG,CACD,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAC7D,WAAW,CAoBb;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}
package/dist/store.js ADDED
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /** Pluggable persistence for Vertebr controls / configs. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.memoryStore = memoryStore;
5
+ exports.mergeConfigValue = mergeConfigValue;
6
+ /**
7
+ * In-memory store — useful for local demos and tests.
8
+ * Data is keyed by `${env}:${id}` and lost on process restart.
9
+ */
10
+ function memoryStore(seed) {
11
+ const data = new Map();
12
+ if (seed) {
13
+ for (const [env, byId] of Object.entries(seed)) {
14
+ for (const [id, value] of Object.entries(byId)) {
15
+ data.set(`${env}:${id}`, { ...value });
16
+ }
17
+ }
18
+ }
19
+ return {
20
+ get(id, env) {
21
+ const value = data.get(`${env}:${id}`);
22
+ return value ? { ...value } : null;
23
+ },
24
+ set(id, env, value) {
25
+ data.set(`${env}:${id}`, { ...value });
26
+ },
27
+ };
28
+ }
29
+ function mergeConfigValue(defaults, stored, patch) {
30
+ return {
31
+ ...defaults,
32
+ ...(stored ?? {}),
33
+ ...(patch ?? {}),
34
+ };
35
+ }
36
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";AAAA,4DAA4D;;AAkB5D,kCAsBC;AAED,4CAUC;AAtCD;;;GAGG;AACH,SAAgB,WAAW,CACzB,IAA8D;IAE9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;IAExD,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,CAAC,EAAE,EAAE,GAAG;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,CAAC;QACD,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAC9B,QAAiC,EACjC,MAAkD,EAClD,KAA+B;IAE/B,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QACjB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@vertebr/admin",
3
+ "version": "0.1.0",
4
+ "description": "Schema-driven admin control plane — wire resources once, let owners run the app.",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "require": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "static"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc -p tsconfig.json",
20
+ "dev": "tsc -p tsconfig.json --watch",
21
+ "typecheck": "tsc -p tsconfig.json --noEmit",
22
+ "test": "tsx --test test/**/*.test.ts",
23
+ "verify": "npm run typecheck && npm run build && npm run test",
24
+ "prelink": "npm run build",
25
+ "prepublishOnly": "npm run build"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/yaboijams/vertebr.git",
30
+ "directory": "packages/admin"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public",
34
+ "registry": "https://registry.npmjs.org"
35
+ },
36
+ "engines": {
37
+ "node": ">=20"
38
+ },
39
+ "license": "MIT",
40
+ "devDependencies": {
41
+ "@types/node": "^24.13.3",
42
+ "tsx": "^4.20.5",
43
+ "typescript": "^5.9.2"
44
+ }
45
+ }
@@ -0,0 +1 @@
1
+ :root{--vb-bg: #0e1014;--vb-bg-elevated: #161922;--vb-bg-muted: #1e2330;--vb-bg-hover: #252b3a;--vb-border: #2a3142;--vb-border-strong: #3a4358;--vb-text: #f0eee8;--vb-text-muted: #8b93a7;--vb-text-subtle: #6a7285;--vb-accent: #c9a66b;--vb-accent-dim: #9a7d45;--vb-accent-soft: rgba(201, 166, 107, .14);--vb-danger: #e07a72;--vb-danger-soft: rgba(224, 122, 114, .12);--vb-ok: #87a87f;--vb-ok-soft: rgba(135, 168, 127, .14);--vb-font: "IBM Plex Sans", "Segoe UI", sans-serif;--vb-mono: "IBM Plex Mono", ui-monospace, monospace;--vb-radius: 8px;--vb-radius-sm: 6px;--vb-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 18px 48px rgba(0, 0, 0, .45);--vb-sidebar-width: 260px}html:has(.vertebr-root),html:has(.vertebr-login),html:has(.vertebr-loading),html:has(.vertebr-error){background:var(--vb-bg)}html:has(.vertebr-root) body,html:has(.vertebr-login) body,html:has(.vertebr-loading) body,html:has(.vertebr-error) body{margin:0;padding:0;min-height:100vh;background:var(--vb-bg);color:var(--vb-text);font-family:var(--vb-font)}.vertebr-root{box-sizing:border-box;min-height:100vh;display:grid;grid-template-columns:var(--vb-sidebar-width) 1fr;background:radial-gradient(900px 480px at 0% -10%,rgba(201,166,107,.07),transparent 55%),radial-gradient(700px 400px at 100% 100%,rgba(60,80,120,.08),transparent 50%),linear-gradient(180deg,#12151c 0%,var(--vb-bg) 45%);color:var(--vb-text);font-family:var(--vb-font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.vertebr-root *,.vertebr-root *:before,.vertebr-root *:after{box-sizing:border-box}.vertebr-sidebar{position:sticky;top:0;align-self:start;height:100vh;border-right:1px solid var(--vb-border);background:linear-gradient(180deg,#0e1014fa,#12151cf5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.35rem .9rem 1rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.vertebr-sidebar-top{display:flex;flex-direction:column;gap:1.35rem;flex:1;min-height:0}.vertebr-sidebar-bottom{margin-top:auto;padding-top:1rem;border-top:1px solid var(--vb-border)}.vertebr-brand{display:flex;flex-direction:column;gap:.15rem;padding:.15rem .55rem .35rem}.vertebr-brand strong{font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--vb-text)}.vertebr-brand span{color:var(--vb-text-subtle);font-size:.72rem;font-family:var(--vb-mono);letter-spacing:.02em}.vertebr-env{display:flex;flex-direction:column;gap:.4rem;padding:0 .15rem}.vertebr-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;appearance:none;border:1px solid var(--vb-border);background:var(--vb-bg-elevated);color:var(--vb-text);border-radius:var(--vb-radius-sm);padding:.55rem .7rem;font-family:var(--vb-font);font-size:.88rem;font-weight:500;line-height:1.2;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.vertebr-select-trigger:hover{border-color:var(--vb-border-strong);background:var(--vb-bg-muted)}.vertebr-select-trigger:focus-visible,.vertebr-select-trigger[data-state=open]{outline:none;border-color:var(--vb-accent-dim);box-shadow:0 0 0 3px var(--vb-accent-soft)}.vertebr-select-trigger[data-tone=danger]{border-color:#e07a7273;color:#f3c4bf}.vertebr-select-value{display:flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vertebr-select-dot{width:7px;height:7px;border-radius:999px;flex:none;background:var(--vb-ok);box-shadow:0 0 0 3px var(--vb-ok-soft)}.vertebr-select-dot[data-tone=danger]{background:var(--vb-danger);box-shadow:0 0 0 3px var(--vb-danger-soft)}.vertebr-select-dot[data-tone=warning],.vertebr-select-dot[data-tone=warn]{background:var(--vb-accent);box-shadow:0 0 0 3px var(--vb-accent-soft)}.vertebr-select-icon{display:flex;color:var(--vb-text-muted);transition:transform .14s ease}.vertebr-select-trigger[data-state=open] .vertebr-select-icon{transform:rotate(180deg)}.vertebr-select-content{z-index:60;min-width:var(--radix-select-trigger-width);background:var(--vb-bg-elevated);border:1px solid var(--vb-border-strong);border-radius:var(--vb-radius);box-shadow:var(--vb-shadow);overflow:hidden;font-family:var(--vb-font);color:var(--vb-text);animation:vertebr-pop .12s ease-out}@keyframes vertebr-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vertebr-select-viewport{padding:.3rem;display:flex;flex-direction:column;gap:.1rem}.vertebr-select-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:var(--vb-radius-sm);font-size:.88rem;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.vertebr-select-item[data-highlighted]{background:var(--vb-bg-hover)}.vertebr-select-item[data-state=checked]{color:var(--vb-accent)}.vertebr-select-check{margin-left:auto;display:flex;color:var(--vb-accent)}.vertebr-env-lock{margin-left:auto;font-family:var(--vb-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vb-accent);border:1px solid rgba(201,166,107,.3);border-radius:999px;padding:.12rem .4rem;background:var(--vb-accent-soft)}.vertebr-auth{display:flex;flex-direction:column;gap:.5rem;padding:.15rem .2rem .35rem}.vertebr-auth-hint{margin:0;color:var(--vb-text-muted);font-size:.78rem;line-height:1.4;word-break:break-all}.vertebr-auth-input{width:100%;border:1px solid var(--vb-border);background:var(--vb-bg);color:var(--vb-text);border-radius:var(--vb-radius-sm);padding:.55rem .65rem;font:inherit;font-size:.85rem;transition:border-color .14s ease,box-shadow .14s ease}.vertebr-auth-input:focus{outline:none;border-color:var(--vb-accent-dim);box-shadow:0 0 0 3px var(--vb-accent-soft)}.vertebr-auth-actions{display:flex;gap:.5rem}.vertebr-nav{display:flex;flex-direction:column;gap:1.15rem}.vertebr-nav-group{display:flex;flex-direction:column;gap:.15rem}.vertebr-nav-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vb-text-subtle);padding:.2rem .65rem .4rem;font-family:var(--vb-mono);font-weight:500}.vertebr-nav button{appearance:none;border:0;background:transparent;color:var(--vb-text-muted);text-align:left;padding:.48rem .7rem;border-radius:var(--vb-radius-sm);cursor:pointer;font:inherit;font-size:.9rem;font-weight:450;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.vertebr-nav button:hover{background:var(--vb-bg-muted);color:var(--vb-text)}.vertebr-nav button[data-active=true]{background:var(--vb-accent-soft);box-shadow:inset 2px 0 0 var(--vb-accent);color:var(--vb-accent);font-weight:500}.vertebr-nav button:focus-visible,.vertebr-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--vb-accent-soft)}.vertebr-sidebar::-webkit-scrollbar,.vertebr-main::-webkit-scrollbar,.vertebr-table-wrap::-webkit-scrollbar{width:10px;height:10px}.vertebr-sidebar::-webkit-scrollbar-thumb,.vertebr-main::-webkit-scrollbar-thumb,.vertebr-table-wrap::-webkit-scrollbar-thumb{background:var(--vb-bg-muted);border:2px solid transparent;background-clip:content-box;border-radius:999px}.vertebr-sidebar::-webkit-scrollbar-thumb:hover,.vertebr-main::-webkit-scrollbar-thumb:hover,.vertebr-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--vb-border-strong);background-clip:content-box}.vertebr-sidebar::-webkit-scrollbar-track,.vertebr-main::-webkit-scrollbar-track,.vertebr-table-wrap::-webkit-scrollbar-track{background:transparent}.vertebr-main{overflow:auto;min-width:0;display:flex;flex-direction:column}.vertebr-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.6rem 2rem 1.15rem;border-bottom:1px solid rgba(42,49,66,.8);background:linear-gradient(180deg,#0e1014f5,#0e1014db);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vertebr-content{padding:1.5rem 2rem 3rem;min-width:0}.vertebr-heading-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.vertebr-header h1{margin:0;font-size:1.55rem;font-weight:600;letter-spacing:-.03em;line-height:1.15}.vertebr-header p{margin:.4rem 0 0;color:var(--vb-text-muted);font-size:.9rem}.vertebr-env-badge{font-family:var(--vb-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--vb-border);border-radius:999px;padding:.22rem .6rem;color:var(--vb-text-muted);background:#ffffff08}.vertebr-env-badge[data-tone=danger]{color:#f3c4bf;border-color:#e07a7273;background:var(--vb-danger-soft)}.vertebr-env-badge[data-tone=warn],.vertebr-env-badge[data-tone=warning]{color:#e8d0a0;border-color:#c9a66b73;background:var(--vb-accent-soft)}.vertebr-env-badge[data-tone=neutral]{color:var(--vb-ok);border-color:#87a87f66;background:var(--vb-ok-soft)}.vertebr-panel{background:var(--vb-bg-elevated);border:1px solid var(--vb-border);border-radius:12px;box-shadow:var(--vb-shadow);overflow:hidden}.vertebr-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-bottom:1px solid var(--vb-border);background:#ffffff05}.vertebr-panel-head h2{margin:0;font-size:.72rem;font-family:var(--vb-mono);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--vb-text-subtle)}.vertebr-count{font-family:var(--vb-mono);font-size:.7rem;color:var(--vb-text-subtle);border:1px solid var(--vb-border);border-radius:999px;padding:.12rem .5rem}.vertebr-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.vertebr-row-actions .vertebr-btn{padding:.35rem .6rem;font-size:.78rem}.vertebr-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:1.35rem 1.5rem 1.5rem}.vertebr-metric-card{border:1px solid var(--vb-border);border-radius:var(--vb-radius);background:#ffffff05;padding:1rem 1.05rem 1.1rem;min-height:110px;display:flex;flex-direction:column;gap:.35rem}.vertebr-metric-card[data-tone=ok]{border-color:#87a87f66;background:var(--vb-ok-soft)}.vertebr-metric-card[data-tone=warn]{border-color:#c9a66b66;background:var(--vb-accent-soft)}.vertebr-metric-card[data-tone=danger]{border-color:#e07a7266;background:var(--vb-danger-soft)}.vertebr-metric-label{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--vb-mono);color:var(--vb-text-subtle)}.vertebr-metric-value{margin:0;font-size:1.75rem;font-weight:600;letter-spacing:-.03em;line-height:1.1}.vertebr-metric-hint{margin:.15rem 0 0;font-size:.78rem;color:var(--vb-text-muted);line-height:1.35}.vertebr-resource-edit{display:flex;flex-direction:column}.vertebr-table-wrap{overflow:auto}.vertebr-table{width:100%;border-collapse:collapse;font-size:.9rem}.vertebr-table th,.vertebr-table td{padding:.8rem 1.1rem;border-bottom:1px solid var(--vb-border);text-align:left;vertical-align:top}.vertebr-table th{color:var(--vb-text-subtle);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--vb-mono);font-weight:500;background:#ffffff06}.vertebr-table tbody tr{transition:background .1s ease}.vertebr-table tbody tr:hover{background:#ffffff05}.vertebr-table tr:last-child td{border-bottom:0}.vertebr-empty{padding:3rem 1.5rem;text-align:center;color:var(--vb-text-muted);font-size:.92rem}.vertebr-form{display:flex;flex-direction:column;min-height:0}.vertebr-form-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(220px,22vw,320px),1fr));gap:1.1rem 1.25rem;padding:1.35rem 1.5rem 1.25rem;align-items:start}.vertebr-field{display:grid;gap:.35rem;align-content:start}.vertebr-field[data-span=wide]{grid-column:span 2}.vertebr-field[data-span=full]{grid-column:1 / -1}.vertebr-field label,.vertebr-field>span{font-size:.78rem;font-weight:500;color:var(--vb-text-muted);letter-spacing:.01em}.vertebr-field input[type=text],.vertebr-field input[type=number],.vertebr-field input[type=password],.vertebr-field input[type=email],.vertebr-field textarea{width:100%;border:1px solid var(--vb-border);background:var(--vb-bg);color:var(--vb-text);border-radius:var(--vb-radius-sm);padding:.58rem .75rem;font:inherit;font-size:.9rem;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.vertebr-field textarea{resize:vertical;min-height:4.5rem;line-height:1.5;padding-top:.65rem}.vertebr-field input:hover,.vertebr-field textarea:hover{border-color:var(--vb-border-strong)}.vertebr-field input:focus,.vertebr-field textarea:focus{outline:none;border-color:var(--vb-accent-dim);box-shadow:0 0 0 3px var(--vb-accent-soft);background:#12151c}.vertebr-field input[readonly],.vertebr-field textarea[readonly]{opacity:.65;cursor:default}.vertebr-switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border:1px solid var(--vb-border);border-radius:var(--vb-radius-sm);background:#ffffff04;grid-column:1 / -1}.vertebr-switch-row label{font-size:.88rem;font-weight:500;color:var(--vb-text);font-family:var(--vb-font)}.vertebr-switch{width:40px;height:22px;background:var(--vb-bg-muted);border-radius:999px;position:relative;border:1px solid var(--vb-border);cursor:pointer;flex:none;transition:background .14s ease,border-color .14s ease}.vertebr-switch[data-state=checked]{background:#c9a66b59;border-color:var(--vb-accent-dim)}.vertebr-switch-thumb{display:block;width:16px;height:16px;background:var(--vb-text);border-radius:999px;transform:translate(2px);transition:transform .14s ease,background .14s ease;margin-top:2px}.vertebr-switch[data-state=checked] .vertebr-switch-thumb{transform:translate(18px);background:var(--vb-accent)}.vertebr-actions{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.5rem;border-top:1px solid var(--vb-border);background:linear-gradient(180deg,#161922a6,#12151cf2);position:sticky;bottom:0}.vertebr-actions-spacer{flex:1}.vertebr-dirty{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--vb-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--vb-accent)}.vertebr-dirty:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--vb-accent);box-shadow:0 0 0 3px var(--vb-accent-soft)}.vertebr-kbd{font-family:var(--vb-mono);font-size:.68rem;color:var(--vb-text-subtle);border:1px solid var(--vb-border);border-bottom-width:2px;border-radius:4px;padding:.1rem .35rem}.vertebr-btn{appearance:none;border:1px solid var(--vb-border);background:var(--vb-bg-muted);color:var(--vb-text);border-radius:var(--vb-radius-sm);padding:.52rem .95rem;font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.vertebr-btn:hover:not(:disabled){background:var(--vb-bg-hover);border-color:var(--vb-border-strong)}.vertebr-btn:active:not(:disabled){transform:translateY(1px)}.vertebr-btn-primary{background:linear-gradient(180deg,#d4b27a 0%,var(--vb-accent) 100%);border-color:#b89255;color:#1a140c;font-weight:600;box-shadow:0 1px #fff3 inset}.vertebr-btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#dbbc88,#d0ad72);border-color:#c4a574}.vertebr-btn:disabled{opacity:.5;cursor:not-allowed}.vertebr-status{font-family:var(--vb-mono);font-size:.75rem;color:var(--vb-text-muted);letter-spacing:.02em}.vertebr-status[data-tone=ok]{color:var(--vb-ok)}.vertebr-status[data-tone=danger]{color:var(--vb-danger)}.vertebr-loading,.vertebr-error{min-height:100vh;display:grid;place-items:center;background:var(--vb-bg);color:var(--vb-text);font-family:var(--vb-font)}.vertebr-login{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(900px 500px at 50% 0%,rgba(201,166,107,.1),transparent 60%),var(--vb-bg);color:var(--vb-text);font-family:var(--vb-font)}.vertebr-login-card{width:min(100%,400px);display:grid;gap:1.25rem;padding:1.6rem;border:1px solid var(--vb-border);border-radius:12px;background:var(--vb-bg-elevated);box-shadow:var(--vb-shadow)}.vertebr-login-card h1{margin:0;font-size:1.5rem;letter-spacing:-.02em}.vertebr-login-card p{margin:.4rem 0 0;color:var(--vb-text-muted);line-height:1.5}.vertebr-login-form{display:grid;gap:.9rem}.vertebr-error{color:var(--vb-danger)}@media(max-width:720px){.vertebr-form-fields{grid-template-columns:1fr}.vertebr-field[data-span=wide]{grid-column:1 / -1}}@media(max-width:860px){.vertebr-root{grid-template-columns:1fr}.vertebr-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--vb-border)}.vertebr-main{padding:1.25rem 1rem 2rem}}