:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--bg0: #07080c;--bg1: #0c0e14;--surface: #12151c;--surface-hover: #181c27;--elevated: #1a1f2c;--border: #2a3142;--border-strong: #3d475d;--text: #f1f4f9;--text-secondary: #9ba6bc;--muted: #6b7689;--accent: #3dd6c7;--accent-dim: color-mix(in srgb, var(--accent) 18%, transparent);--accent-text: #0d2523;--focus: color-mix(in srgb, var(--accent) 55%, #ffffff);--danger: #f0718b;--danger-bg: color-mix(in srgb, var(--danger) 12%, var(--surface));--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 32px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 4px 16px rgba(0, 0, 0, .25);--ease: cubic-bezier(.25, .1, .25, 1)}body:has(app-root.theme-public){--font-sans: "Nunito Sans", system-ui, -apple-system, sans-serif;background-color:#f4f5f7;background-image:none;color:#111318}body:has(app-root.theme-public) a{color:inherit}body:has(app-root.theme-product){--font-sans: "Nunito Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--bg0: #0a0a0a;--bg1: #0f0f0f;--surface: #171717;--surface-hover: #1f1f1f;--elevated: #1c1c1c;--border: #2b2b2b;--border-strong: #3a3a3a;--text: #f5f5f5;--text-secondary: #e0e0e0;--muted: #a0a0a0;--accent: #ffffff;--accent-dim: rgba(255, 255, 255, .08);--accent-text: #0a0a0a;--focus: rgba(255, 255, 255, .45);--danger: #ef4444;--danger-bg: color-mix(in srgb, var(--danger) 12%, var(--surface));--warn: #f59e0b;--warn-text: #fcd34d;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 40px rgba(0, 0, 0, .55);--shadow-sm: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 4px 16px rgba(0, 0, 0, .35);background-color:var(--bg0);background-image:none;font-family:var(--font-sans);color:var(--text)}body:has(app-root.theme-product) .btn-primary{background:#fff;color:#0a0a0a;border-color:#fff;box-shadow:none}body:has(app-root.theme-product) .btn-primary:hover{background:#e8e8e8;filter:none;box-shadow:none;border-color:#e8e8e8}body:has(app-root.theme-product) .btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-strong)}body:has(app-root.theme-product) .btn-ghost:hover{background:#222;color:var(--text);border-color:#4a4a4a}body:has(app-root.theme-product) .btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}body:has(app-root.theme-product) .btn{border-radius:var(--radius-sm)}body:has(app-root.theme-product) .btn-sm{border-radius:var(--radius-sm)}body:has(app-root.theme-product) .code{color:var(--text-secondary);background:#2c2c2c;border:1px solid #2c2c2c;font-weight:500;border-radius:4px}body:has(app-root.theme-product) .badge-success{background:#1a1a1a;color:#e0e0e0;border-color:#333}body:has(app-root.theme-product) .badge-muted{background:#1a1a1a;color:var(--muted);border-color:#333}body:has(app-root.theme-product) .panel{background:var(--surface);border-color:var(--border);box-shadow:none}body:has(app-root.theme-product) .data-table thead{background:#141414}body:has(app-root.theme-product) .data-table th{font-size:.68rem;letter-spacing:.06em;color:var(--muted);border-bottom-color:var(--border)}body:has(app-root.theme-product) .data-table tbody tr:nth-child(2n){background:#0a0a0a73}body:has(app-root.theme-product) .data-table tbody tr:hover{background:var(--surface-hover)}body:has(app-root.theme-product) .data-table td{border-bottom-color:#222}body:has(app-root.theme-product) .catalog-row.is-selected{background:#222}body:has(app-root.theme-product) .catalog-row.is-selected:hover{background:#262626}body:has(app-root.theme-product) .page-title{font-weight:700;letter-spacing:-.02em;color:#fff}body:has(app-root.theme-product) .page-subtitle{color:var(--muted)}body:has(app-root.theme-product) .form input[type=text],body:has(app-root.theme-product) .form input[type=search],body:has(app-root.theme-product) .form input[type=number],body:has(app-root.theme-product) .form textarea,body:has(app-root.theme-product) .form select{background:#0f0f0f;border-color:var(--border)}body:has(app-root.theme-product) .form input:focus-visible,body:has(app-root.theme-product) .form textarea:focus-visible,body:has(app-root.theme-product) .form select:focus-visible{border-color:#666;box-shadow:0 0 0 3px #ffffff14}body:has(app-root.theme-product) .catalog-detail{background:var(--surface);border-left-color:var(--border);box-shadow:-12px 0 40px #0000008c}body:has(app-root.theme-product) .catalog-edit-footer{background:#121212}body:has(app-root.theme-product) .link-edit{color:#f5f5f5}body:has(app-root.theme-product) .link-edit:hover{background:#ffffff14;color:#fff}body:has(app-root.theme-product) a{color:#f5f5f5}body:has(app-root.theme-product) a:hover{color:#fff}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg0);background-image:radial-gradient(ellipse 100% 80% at 50% -30%,rgba(61,214,199,.09),transparent 55%),radial-gradient(ellipse 80% 50% at 100% 0%,rgba(99,102,241,.06),transparent 45%),linear-gradient(180deg,var(--bg1) 0%,var(--bg0) 100%);min-height:100vh}a{color:var(--accent);transition:color .15s var(--ease)}a:hover{color:color-mix(in srgb,var(--accent) 88%,#ffffff)}.page{width:100%;animation:pageIn .35s var(--ease)}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page{animation:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-title-block{display:flex;flex-direction:column;gap:.25rem}.page-title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--text)}.page-subtitle{margin:0;font-family:var(--font-mono);font-size:.8rem;font-weight:500;color:var(--muted);letter-spacing:.02em}.page-header-actions{display:flex;align-items:center;gap:.5rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.panel-pad{padding:1.25rem 1.5rem}.table-scroll{overflow-x:auto;margin:0 -1px}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table thead{background:color-mix(in srgb,var(--elevated) 90%,var(--bg0))}.data-table th{padding:.75rem 1.25rem;text-align:left;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:.85rem 1.25rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);vertical-align:middle;color:var(--text)}.data-table tbody tr{transition:background .12s var(--ease)}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .col-actions{width:1%;white-space:nowrap;text-align:right}.cell-actions{display:inline-flex;align-items:center;gap:.5rem;justify-content:flex-end}.code{font-family:var(--font-mono);font-size:.86em;font-weight:500;color:color-mix(in srgb,var(--accent) 82%,var(--text));background:color-mix(in srgb,var(--accent) 8%,var(--bg0));padding:.15rem .45rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.text-truncate{max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-success{background:color-mix(in srgb,var(--accent) 16%,var(--bg0));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.badge-muted{background:color-mix(in srgb,var(--muted) 14%,var(--bg0));color:var(--text-secondary);border:1px solid var(--border)}.badge-warn{background:color-mix(in srgb,var(--warn, #c9a227) 18%,var(--bg0));color:var(--warn-text, #8a7300);border:1px solid color-mix(in srgb,var(--warn, #c9a227) 35%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .12s var(--ease)}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 100%,#fff) 0%,var(--accent) 100%);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 50%,#000);box-shadow:0 1px #ffffff38 inset,0 4px 12px #3dd6c733}.btn-primary:hover{filter:brightness(1.06);text-decoration:none;box-shadow:0 1px #ffffff47 inset,0 6px 16px #3dd6c747}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover{background:var(--elevated);color:var(--text);border-color:var(--border-strong);text-decoration:none}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 18%,var(--surface));text-decoration:none}.btn-sm{padding:.35rem .65rem;font-size:.8125rem;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.link-edit{font-weight:600;font-size:.875rem;text-decoration:none;color:var(--accent);padding:.35rem .5rem;margin:-.35rem -.5rem;border-radius:6px;transition:background .12s var(--ease)}.link-edit:hover{background:var(--accent-dim);text-decoration:none}.form{display:grid;gap:1.15rem;max-width:32rem}.form.field-filters{max-width:none}.field-filters-grid{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:end}.field-filter{min-width:7.5rem;margin:0}.field-filter-grow{flex:1;min-width:12rem}.form-card{max-width:36rem;margin-inline:auto}.form label{display:grid;gap:.4rem}.form label>span:first-child{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.form-hint{margin:-.35rem 0 .15rem;font-size:.85rem;color:var(--text-secondary);line-height:1.45;max-width:40rem}.form input[type=text],.form input[type=search],.form input[type=number],.form textarea,.form select{width:100%;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg1);color:var(--text);font:inherit;font-size:.9375rem;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.form textarea{resize:vertical;min-height:5.5rem;line-height:1.45}.form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%239ba6bc' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;padding-right:2.25rem}.form input:disabled{opacity:.55;cursor:not-allowed}.form input:focus-visible,.form textarea:focus-visible,.form select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.form .checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:.65rem}.form .checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--accent);cursor:pointer}.form .checkbox span{text-transform:none!important;letter-spacing:normal!important;font-size:.9375rem!important;font-weight:500!important;color:var(--text)!important}.form .category-fieldset{display:grid;gap:.55rem;margin:0;padding:0;border:0}.form .category-fieldset legend{padding:0;margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--muted)}.form .category-empty{margin:0;font-size:.9rem;color:var(--muted)}.form-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:.25rem;padding-top:.25rem}.linked-columns-fieldset,.entity-checkboxes{margin:0;padding:0;border:none;min-width:0}.linked-columns-fieldset legend,.entity-checkboxes legend{padding:0;margin-bottom:.35rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.error{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);font-size:.875rem;font-weight:500}.muted{color:var(--muted)}.empty-state{margin:0;padding:2.5rem 1.5rem;text-align:center;color:var(--text-secondary);font-size:.9375rem}.loading-line{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9375rem}.loading-line:before{content:"";width:1rem;height:1rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-line:before{animation:none;border-top-color:var(--border)}}h2{margin:0;font-size:1.25rem;font-weight:650}h3.result-heading{margin:0 0 .65rem;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}h3.result-heading:not(:first-child){margin-top:1.5rem}.query-help{margin:0 0 1.25rem;max-width:48rem;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.query-help strong{color:var(--text);font-weight:600}.query-editor-panel .query-label{display:grid;gap:.45rem;margin-bottom:1rem}.query-editor-panel .query-label>span{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.query-textarea{width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg1);color:var(--text);font-family:var(--font-mono);font-size:.875rem;line-height:1.5;resize:vertical;min-height:6.5rem;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.query-textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.query-actions{display:flex;gap:.65rem;flex-wrap:wrap}.sql-block{margin:0 0 .25rem;padding:1rem 1.1rem;border-radius:var(--radius-sm);background:var(--bg0);border:1px solid var(--border);font-family:var(--font-mono);font-size:.8rem;line-height:1.55;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.result-section{margin-top:1.5rem}.warnings{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:color-mix(in srgb,#fbbf24 10%,var(--bg0));border:1px solid color-mix(in srgb,#fbbf24 35%,var(--border))}.warning-line{margin:.25rem 0;font-size:.875rem;color:#fde68a}.nxtql-hero{position:relative;margin:0 0 1.5rem;padding:1.5rem 1.6rem 1.65rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--elevated) 96%,#6366f1) 0%,var(--surface) 55%,var(--surface) 100%);box-shadow:0 1px #ffffff0d inset,0 12px 40px #00000047;overflow:hidden}.nxtql-hero-glow{position:absolute;inset:-40% -20% auto auto;width:min(22rem,70vw);height:min(22rem,70vw);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent) 0%,transparent 68%);pointer-events:none;opacity:.85}.nxtql-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;max-width:42rem}.nxtql-badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg0));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))}.nxtql-title{margin:0;padding:0;line-height:1;font-size:clamp(2rem,6vw,2.75rem);font-weight:800;letter-spacing:-.06em}.nxtql-title-text{background:linear-gradient(115deg,#7af3e6 0%,var(--accent) 38%,color-mix(in srgb,var(--accent) 70%,#818cf8) 72%,#a5b4fc 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 24px color-mix(in srgb,var(--accent) 25%,transparent))}.nxtql-tagline{margin:.35rem 0 0;font-size:.95rem;line-height:1.55;color:var(--text-secondary);max-width:38rem}.nxtql-help{padding:.85rem 1rem;border-left:3px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb,var(--surface) 65%,var(--bg0))}.nxtql-editor-panel{position:relative;border-color:color-mix(in srgb,var(--accent) 18%,var(--border));box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.nxtql-editor-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius) 0 0 var(--radius);background:linear-gradient(180deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 40%,#6366f1) 100%);pointer-events:none}.nxtql-textarea{min-height:7rem;font-size:.9rem;line-height:1.55}.btn-nxtql{padding-left:1.35rem;padding-right:1.35rem;font-weight:650;letter-spacing:.02em;box-shadow:0 1px #ffffff26 inset,0 4px 20px color-mix(in srgb,var(--accent) 28%,transparent)}.btn-nxtql:not(:disabled):hover{box-shadow:0 1px #fff3 inset,0 6px 28px color-mix(in srgb,var(--accent) 38%,transparent)}.nxtql-result{border-color:color-mix(in srgb,var(--border-strong) 70%,var(--border))}.catalog-page{position:relative}.catalog-overlay-backdrop{position:fixed;inset:0;z-index:40;background:color-mix(in srgb,#0b1020 45%,transparent);opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}.catalog-overlay-backdrop.is-open{opacity:1;pointer-events:auto}.catalog-detail{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(26rem,100vw);overflow:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 40px #00000047;transform:translate(100%);transition:transform .32s var(--ease);pointer-events:none}.catalog-detail.is-open{transform:translate(0);pointer-events:auto}.catalog-detail--validation-editor{width:min(56rem,96vw)}.catalog-row{cursor:pointer}.catalog-row:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-2px}.catalog-row.is-selected{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.catalog-row.is-selected:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.catalog-edit-panel{display:flex;flex-direction:column;min-height:100%}.catalog-edit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.15rem .9rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.catalog-edit-title-block{min-width:0}.catalog-edit-title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;word-break:break-word}.catalog-edit-subtitle{margin:.35rem 0 0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.catalog-edit-close{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--border);border-radius:8px;background:var(--elevated);color:var(--text-secondary);font-size:1.35rem;line-height:1;cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.catalog-edit-close:hover{color:var(--text);background:var(--surface-hover)}.catalog-edit-error{margin:.75rem 1.15rem 0}.catalog-edit-form{display:flex;flex-direction:column;flex:1;min-height:calc(100vh - 4.5rem)}.catalog-edit-body{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.15rem 1.25rem;flex:1}.catalog-edit-footer{display:flex;flex-direction:column;gap:.85rem;margin-top:auto;padding:1rem 1.15rem 1.25rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--elevated) 70%,var(--surface));position:sticky;bottom:0}.catalog-edit-save{width:100%}.catalog-edit-delete{align-self:flex-start}.catalog-modal-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.5rem 1rem;background:color-mix(in srgb,#0b1020 55%,transparent);backdrop-filter:blur(4px);animation:catalogModalIn .2s var(--ease)}@keyframes catalogModalIn{0%{opacity:0}to{opacity:1}}.catalog-modal-card{width:min(100%,24rem);padding:1.15rem 1.25rem 1.25rem;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:catalogModalCardIn .22s var(--ease)}@keyframes catalogModalCardIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.catalog-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.catalog-modal-title{margin:0;font-size:1.05rem;font-weight:650;line-height:1.3;color:var(--text)}.catalog-modal-close{flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1}.catalog-modal-body{margin:0 0 1.15rem;font-size:.9rem;line-height:1.45;color:var(--text-secondary)}.catalog-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}
