*{box-sizing:border-box}html,body,#root{height:100%}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font);line-height:1.35}:root{--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--radius-sm: 8px;--radius-lg: 10px;--shadow-sm: 0 8px 18px rgba(2, 6, 23, .06);--shadow-md: 0 10px 26px rgba(2, 6, 23, .1);--color-bg: #f6f7fa;--color-surface: #ffffff;--color-border: #d9dde8;--color-text: #111827;--color-text-muted: #4b5563;--color-accent: #0ea5e9;--color-accent-weak: rgba(14, 165, 233, .13);--color-danger: #e11d48;--color-success: #16a34a;--color-active-mark: #22c55e;--table-row-hover: rgba(14, 165, 233, .06);--table-row-active: rgba(14, 165, 233, .12);--z-modal: 1000;--z-popover: 1100;--z-toast: 2000}html[data-theme=dark]{--color-bg: #111a24;--color-surface: #172434;--color-border: #2a3a52;--color-text: #d2d9e6;--color-text-muted: #a9b4c7;--color-accent: #38bdf8;--color-accent-weak: rgba(56, 189, 248, .14);--table-row-hover: rgba(56, 189, 248, .1);--table-row-active: rgba(56, 189, 248, .16)}.container{width:100%;max-width:none;margin:0;padding:12px}.mono{font-family:var(--mono)}.muted{color:var(--color-text-muted)}.page-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.title{font-size:1.2rem;margin:0;font-weight:950}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.theme-toggle:hover{background:color-mix(in srgb,var(--color-surface) 65%,var(--color-bg) 35%)}.theme-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}html[data-theme=light] .theme-toggle .icon-sun,html[data-theme=dark] .theme-toggle .icon-moon{display:none}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.toolbar__left,.toolbar__right{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.nav{display:inline-flex;gap:.2rem;padding:.15rem;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.nav a{text-decoration:none;color:var(--color-text-muted);padding:.35rem .55rem;border-radius:calc(var(--radius-lg) - 2px);font-weight:900;font-size:.88rem}.nav__button{border:none;background:transparent;color:var(--color-text-muted);padding:.35rem .55rem;border-radius:calc(var(--radius-lg) - 2px);font-weight:900;font-size:.88rem;cursor:pointer}.nav__button:disabled{opacity:.55;cursor:not-allowed}.nav a.is-active{background:var(--color-accent-weak);color:color-mix(in srgb,var(--color-accent) 90%,var(--color-text))}.kbd-hint{color:var(--color-text-muted);font-size:.9rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:.6rem}.btn{appearance:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:.6rem .85rem;font-weight:700;font-size:.95rem;background:transparent;color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;-webkit-user-select:none;user-select:none;text-decoration:none;transition:background .12s ease,transform 80ms ease,border-color .12s ease,box-shadow .12s ease}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 40%,transparent);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn__icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.btn__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.btn--sm{padding:.45rem .7rem;font-size:.9rem}.btn--solid{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--color-accent) 24%,transparent)}.btn--solid:hover{background:color-mix(in srgb,var(--color-accent) 92%,#000 8%)}.btn--outline{border-color:var(--color-border);background:var(--color-surface)}.btn--outline:hover{border-color:color-mix(in srgb,var(--color-border) 60%,var(--color-accent) 40%);background:color-mix(in srgb,var(--color-surface) 88%,var(--color-accent-weak) 12%)}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover{background:color-mix(in srgb,var(--color-surface) 65%,var(--color-bg) 35%)}.btn--danger{border-color:color-mix(in srgb,var(--color-danger) 30%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:color-mix(in srgb,var(--color-danger) 88%,var(--color-text))}.btn--danger:hover{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 14%,var(--color-surface))}html[data-theme=dark] .btn--solid{background:color-mix(in srgb,var(--color-accent) 46%,#64748b 54%);border-color:color-mix(in srgb,var(--color-accent) 46%,#64748b 54%);color:#0f1824e6;box-shadow:0 0 0 0 transparent}html[data-theme=dark] .btn--solid:hover{background:color-mix(in srgb,var(--color-accent) 40%,#64748b 60%)}.table{width:100%;border-collapse:separate;border-spacing:0;border:none;background:var(--color-surface)}.table th,.table td{padding:.35rem .45rem;border-bottom:1px solid var(--color-border);font-size:.88rem;vertical-align:top;text-align:left}.table th{font-weight:900;background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg) 20%)}.table tr:last-child td{border-bottom:none}.table tr[data-row]{cursor:pointer}.table tr[data-row]:hover{background:var(--table-row-hover)}.table tr.is-active{background:var(--table-row-active);outline:2px solid color-mix(in srgb,var(--color-accent) 28%,transparent);outline-offset:-2px}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto;background:var(--color-surface)}.local-toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.45rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 85%,var(--color-bg) 15%);margin-bottom:.55rem}.select,textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.45rem .55rem;background:var(--color-surface);color:var(--color-text);font-family:var(--mono)}textarea{min-height:120px;resize:vertical}.combobox{position:relative;display:flex;align-items:center;flex:1}.combobox__input{padding-right:2rem;appearance:none;-webkit-appearance:none}.combobox__icon{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;cursor:pointer;pointer-events:auto;color:var(--color-text);opacity:.7}.combobox__list{position:absolute;left:0;right:0;top:calc(100% + 6px);max-height:260px;overflow-y:auto;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:var(--z-popover)}.combobox__option{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);padding:.4rem .55rem;text-align:left;font-size:.9rem;font-weight:700;font-family:var(--mono);cursor:pointer;width:100%}.combobox__option:hover,.combobox__option.is-active{border-color:color-mix(in srgb,var(--color-border) 60%,var(--color-accent) 40%);background:color-mix(in srgb,var(--color-surface) 88%,var(--color-accent-weak) 12%)}.toast-stack{position:fixed;bottom:12px;right:12px;display:flex;flex-direction:column;gap:10px;z-index:var(--z-toast);pointer-events:none}html[data-theme=dark],html[data-theme=dark] *{scrollbar-color:rgba(207,215,230,.35) rgba(15,24,36,.85)}html[data-theme=dark] ::-webkit-scrollbar{width:12px;height:12px}html[data-theme=dark] ::-webkit-scrollbar-track{background:#0f1824d9}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#cfd7e64d;border-radius:999px;border:3px solid rgba(15,24,36,.85)}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#cfd7e666}.toast{width:min(420px,calc(100vw - 24px));border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.75rem .85rem;background:var(--color-surface);box-shadow:var(--shadow-md);pointer-events:auto;display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:start;animation:toast-fade 5s ease forwards}.toast--success{border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border));background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface))}.toast--error{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.toast__title{font-weight:900;margin-bottom:.15rem}.toast__text{color:var(--color-text-muted)}.toast__close{border:none;background:transparent;cursor:pointer;color:var(--color-text-muted);padding:.2rem;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;border-radius:10px}.toast__close:hover{background:color-mix(in srgb,var(--color-surface) 65%,var(--color-bg) 35%)}.toast__close:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 40%,transparent);outline-offset:2px}@keyframes toast-fade{0%,80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal{width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:.75rem}.modal pre{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg) 20%);color:var(--color-text);border-radius:var(--radius-lg);padding:.6rem;overflow:auto;font-size:.88rem}.global-dialog-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.global-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:.85rem}.global-dialog__title{font-weight:600;margin-bottom:.5rem}.global-dialog__body{display:flex;flex-direction:column;gap:.55rem}.global-dialog__hint{font-size:.92rem;color:var(--color-muted)}.global-dialog__list{display:grid;gap:.4rem}.global-dialog__item{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.global-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.8rem}.editor-popover{position:fixed;z-index:var(--z-popover);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);padding:.55rem}.editor-popover__toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.45rem}.editor-popover__toolbar .select{width:34ch}.editor-popover__footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.45rem}.feed-panel{height:100%;overflow:hidden}.feed-panel__container{height:100%;display:flex;flex-direction:column}.page-top__right{display:inline-flex;align-items:center;gap:.45rem}.feed-panel__help-button{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:900;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.feed-panel__help-button:hover{background:color-mix(in srgb,var(--color-surface) 65%,var(--color-bg) 35%)}.scheduler-indicator{width:34px;height:34px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;padding:0;appearance:none;cursor:pointer;color:inherit}.scheduler-indicator svg{width:32px;height:32px}.scheduler-segment{stroke:transparent;stroke-width:1px}.scheduler-segment--ok{fill:#22c55e}.scheduler-segment--warning{fill:#f59e0b}.scheduler-segment--error{fill:#ef4444}.scheduler-segment--paused{fill:#94a3b8}.scheduler-segment--current{stroke:#fff}.scheduler-segment-current-fill{fill:#fff}.scheduler-indicator__strike{stroke:#ef4444;stroke-width:6px;stroke-linecap:round}.feed-panel__layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:.8rem;margin-top:.8rem}.feed-panel__table-panel{flex:1;min-height:0}.feed-panel__table-wrap{height:100%;max-height:none}.feed-panel .toolbar__center{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}.feed-panel__filters{display:flex;align-items:center;justify-content:center;gap:.4rem;flex:0 0 auto}.feed-panel__filter-select{height:32px;flex:0 0 auto;min-width:0;max-width:none;resize:none;border-radius:4px;padding:0 8px}.feed-panel__filter-select--client{width:200px}.feed-panel__filter-select--activity{width:112px}.feed-panel__filter-select--platform{width:176px}.feed-panel__journal-panel{flex:0 0 auto}.feed-panel__journal-title{font-weight:900;margin:0 0 .35rem;font-size:.92rem}.feed-panel__journal-box{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto;max-height:122px;background:var(--color-surface)}.feed-panel__journal-box table{width:100%;border-collapse:collapse}.feed-panel__journal-box td{border-bottom:1px solid var(--color-border);padding:.28rem .45rem;font-size:.86rem;white-space:nowrap}.feed-panel__journal-box tr:last-child td{border-bottom:none}.feed-panel__journal-row--ok{color:color-mix(in srgb,var(--color-success) 70%,var(--color-text))}.feed-panel__journal-row--warning{color:color-mix(in srgb,#f59e0b 70%,var(--color-text))}.feed-panel__journal-row--error{color:color-mix(in srgb,var(--color-danger) 70%,var(--color-text))}.feed-panel__journal-row--info{color:var(--color-text)}.feed-panel__cell--union{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.conversion-chip{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.conversion-result{color:var(--color-text-muted);white-space:normal;word-break:break-word;display:block}.conversion-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.result-pill{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.78rem;font-weight:900;text-transform:uppercase;border:1px solid var(--color-border)}.result-pill--ok{border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border));background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface));color:color-mix(in srgb,var(--color-success) 75%,var(--color-text))}.result-pill--warning{border-color:color-mix(in srgb,#f59e0b 45%,var(--color-border));background:color-mix(in srgb,#f59e0b 10%,var(--color-surface));color:color-mix(in srgb,#f59e0b 75%,var(--color-text))}.result-pill--error{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:color-mix(in srgb,var(--color-danger) 75%,var(--color-text))}.result-pill--info{border-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg) 20%);color:var(--color-text-muted)}.result-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:var(--color-danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-danger) 20%,transparent)}.result-dot--error{background:var(--color-danger)}.conversion-description{color:var(--color-text-muted);font-size:.86rem;white-space:normal;word-break:break-word}.conversion-timestamp{white-space:nowrap}.feed-panel__dropdown{position:relative}.feed-panel__dropdown-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;display:flex;flex-direction:column;gap:.2rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:var(--z-popover)}.feed-panel__dropdown-item{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);padding:.4rem .55rem;text-align:left;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap}.feed-panel__dropdown-item:hover{border-color:color-mix(in srgb,var(--color-border) 60%,var(--color-accent) 40%);background:color-mix(in srgb,var(--color-surface) 88%,var(--color-accent-weak) 12%)}.feed-panel__dropdown-item:disabled{opacity:.55;cursor:not-allowed}.feed-panel__dropdown-item:disabled:hover{border-color:transparent;background:transparent}.schedule-cell{position:relative;display:flex;flex-direction:column}.schedule-history{position:absolute;top:2px;left:0;right:0;display:grid;gap:1px;height:3px;pointer-events:none}.schedule-segment{border-radius:999px;background:transparent}.schedule-segment--stop{background:#7ccf8f}.schedule-segment--start{background:#22c55e}.schedule-segment--timeout{background:#f59e0b}.schedule-segment--killed{background:#ef4444}.schedule-segment--inactive{background:transparent}.schedule-text{font-weight:500;font-size:inherit;line-height:inherit}.schedule-cell--with-stripe .schedule-text{margin-top:4px;line-height:calc(1em - 4px)}.schedule-cell--with-stripe{padding:2px 0}.schedule-text--stop{color:#5fbf77}.active-state-mark,.schedule-text--start{color:var(--color-active-mark)}.schedule-text--timeout{color:#f59e0b}.schedule-text--killed{color:#ef4444}.schedule-text--inactive{color:var(--color-text-muted)}.pipeline-cell{display:flex;align-items:center;min-height:18px}.pipeline-history{--pipeline-history-gap: 1px;--pipeline-segment-line-overhang: 50%;flex:1;display:grid;gap:var(--pipeline-history-gap);height:15px;overflow:visible}.pipeline-cell--with-stripe .pipeline-history{margin-right:.35rem}.pipeline-segment{--pipeline-segment-color: transparent;border:none;padding:0;background:linear-gradient(var(--pipeline-segment-color),var(--pipeline-segment-color)) top / 100% calc(100% - 3px) no-repeat;border-radius:2px;cursor:pointer;position:relative;min-width:0;height:15px;overflow:visible}.pipeline-segment--ok{--pipeline-segment-color: #22c55e}.pipeline-segment--warning{--pipeline-segment-color: #f59e0b}.pipeline-segment--error{--pipeline-segment-color: #ef4444}.pipeline-segment--empty{cursor:default}.pipeline-segment--with-publish-diff:before{content:"";position:absolute;top:40%;left:50%;width:5px;height:9px;border:solid var(--color-bg);border-width:0 2.5px 3.5px 0;transform:translate(-50%,-60%) rotate(45deg);pointer-events:none;z-index:2}.pipeline-segment--with-unresolved-publish-diff:after{content:"";position:absolute;left:calc(-1 * var(--pipeline-segment-line-overhang));bottom:0;width:100%;height:2px;border-radius:999px;background:var(--color-danger);pointer-events:none;z-index:1}.pipeline-history>.pipeline-segment--with-unresolved-publish-diff:first-child:after{left:0;width:50%}.schema-constructor{height:100%;overflow:hidden}.schema-constructor__container{height:100%;display:flex;flex-direction:column}.schema-constructor__panel{flex:1;min-height:0;display:flex;flex-direction:column}.schema-constructor__table-wrap{flex:1;min-height:0}.schema-constructor__target{font-weight:400}.schema-constructor__target--required{color:var(--color-accent)}.schema-constructor__target--url{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}.schema-constructor__target--missing{color:var(--color-text-muted);opacity:.7}.schema-constructor__table-wrap .table td:has(.schema-constructor__target-input){padding:0}.schema-constructor__target-input{border:none;border-radius:0;padding:6px 10px;width:100%;height:100%;display:block;background:transparent;box-shadow:none;font-size:inherit;font-family:inherit;color:inherit}.schema-constructor__target-input:focus{outline:2px solid var(--color-accent);outline-offset:-2px;background:var(--color-surface);z-index:1;position:relative}.schema-constructor__required-header{width:3rem;text-align:center}.schema-constructor__required-cell{text-align:center}.schema-constructor__checkbox{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;width:20px;height:20px}.schema-constructor__checkbox input{position:absolute;opacity:0;width:0;height:0}.schema-constructor__checkmark{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);opacity:.25;transition:opacity .12s ease,color .12s ease}.schema-constructor__checkbox input:checked+.schema-constructor__checkmark{color:var(--color-accent);opacity:1}.schema-constructor__checkmark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.schema-constructor__expr-button{width:100%;text-align:left;border:none;background:transparent;color:inherit;font-family:inherit;font-size:inherit;padding:0;cursor:pointer}.schema-constructor__expr-button:hover{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-accent) 55%,transparent)}.schema-constructor__expr-button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 40%,transparent);outline-offset:2px;border-radius:6px}.schema-constructor__options-cell{max-width:0}.schema-constructor__options-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-constructor__popover-backdrop{position:fixed;inset:0;z-index:var(--z-popover)}.schema-constructor__icon-btn{padding:.45rem .55rem}.schema-constructor__info-wrap{position:relative}.schema-constructor__info-icon{font-weight:700;font-family:inherit}.schema-constructor__info-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-popover);min-width:320px;max-width:420px;max-height:360px;overflow-y:auto;padding:.6rem .75rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 12px 24px #0000001f;font-size:.9rem}.schema-constructor__options-popover{display:flex;flex-direction:column;gap:.45rem}.schema-constructor__options-textarea{width:100%;min-height:200px;resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.6rem;font-size:.88rem;background:color-mix(in srgb,var(--color-surface) 85%,var(--color-bg) 15%);color:var(--color-text)}.schema-constructor__options-footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.schema-constructor__options-help{position:relative;display:flex;align-items:center}.schema-constructor__options-help-btn{width:28px;height:28px;padding:0;border-radius:6px;font-weight:700}.schema-constructor__options-help-popover{position:absolute;left:0;bottom:calc(100% + 8px);z-index:var(--z-popover);min-width:260px;max-width:320px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.5rem .6rem;box-shadow:var(--shadow-md);font-size:.82rem;line-height:1.35}.schema-constructor__info-grid{display:grid;gap:.45rem}.schema-constructor__info-row{display:grid;gap:.25rem}.schema-constructor__info-row pre{margin:0;white-space:pre-wrap;word-break:break-word}.schema-constructor__check{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.35rem .45rem;margin-bottom:.45rem;font-size:.86rem;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg) 20%)}.schema-constructor__check--ok{border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border));background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface))}.schema-constructor__check--error{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.schema-constructor__expr-textarea{width:100%;min-height:120px}.schema-constructor__popover-actions{display:flex;align-items:center;gap:.35rem}.schema-constructor .toolbar{flex-wrap:nowrap}.schema-constructor .toolbar__center{flex:1;text-align:center;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-constructor .toolbar__right{min-width:0;flex-wrap:nowrap;overflow:visible}.schema-constructor__toolbar-actions{display:flex;align-items:center;gap:.35rem;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden}.schema-constructor__toolbar-system{display:flex;align-items:center;gap:12px;flex:0 0 auto;margin-left:16px;padding-left:16px;border-left:1px solid currentColor}.schema-constructor .toolbar__right .select{width:auto;min-width:20ch;max-width:52ch;flex:0 1 36ch}.schema-constructor .toolbar__right .schema-constructor__index-level{min-width:6ch;max-width:8ch;width:6ch;flex:0 0 6ch}.schema-constructor .toolbar__right .btn{white-space:nowrap}.schema-constructor .local-toolbar{flex-wrap:nowrap;overflow-x:auto}.schema-constructor .local-toolbar .select{width:auto;min-width:18ch}.schema-constructor .local-toolbar .btn{white-space:nowrap}.schema-constructor__dropdown{position:relative;display:inline-block}.schema-constructor__dropdown-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;display:flex;flex-direction:column;gap:.2rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:var(--z-popover)}.schema-constructor__dropdown-item{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);padding:.4rem .55rem;text-align:left;font-size:.9rem;font-weight:700;cursor:pointer;width:100%}.schema-constructor__dropdown-item:hover{border-color:color-mix(in srgb,var(--color-border) 60%,var(--color-accent) 40%);background:color-mix(in srgb,var(--color-surface) 88%,var(--color-accent-weak) 12%)}.mapping-form{display:flex;flex-direction:column;height:100%;min-height:0}.mapping-form__main{flex:1;padding:16px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.mapping-form__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mapping-form__meta{display:grid;grid-template-columns:1fr;gap:4px}.mapping-form__table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;min-height:0}.mapping-form .panel{display:flex;flex-direction:column;min-height:0;flex:1}.mapping-form .table{border-collapse:collapse;border:none}.mapping-form .table th,.mapping-form .table td{border:1px solid var(--color-border);padding:6px 10px;vertical-align:middle}.mapping-form .table th{font-weight:900;background:color-mix(in srgb,var(--color-surface) 90%,var(--color-bg) 10%);position:sticky;top:0;z-index:2}.mapping-form .table td:has(.input),.mapping-form .table td:has(.select){padding:0}.mapping-form .table td .input,.mapping-form .table td .select{border:none;border-radius:0;padding:6px 10px;width:100%;height:100%;display:block;background:transparent;box-shadow:none;font-size:inherit;font-family:inherit}.mapping-form .table td .input:focus,.mapping-form .table td .select:focus{outline:2px solid var(--color-accent);outline-offset:-2px;background:var(--color-surface);z-index:1;position:relative}.mapping-form__key-cell,.mapping-form__value-cell{min-width:300px}.mapping-form__error-mark{width:8px;min-width:8px;border-right:none!important}.mapping-form__error-mark.is-error{background:var(--color-danger)}.mapping-form__info-panel{border-top:1px solid var(--color-border);padding:10px 16px;background:color-mix(in srgb,var(--color-surface) 70%,var(--color-bg) 30%)}.mapping-form__info-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.mapping-form__messages{display:grid;gap:6px;max-height:160px;overflow:auto}.mapping-form__message{padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.mapping-form__message--error{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-border))}.mapping-form__message--ok{border-color:color-mix(in srgb,var(--color-success) 55%,var(--color-border))}.toolbar__right{display:flex;align-items:center;gap:8px}.toolbar__separator{width:1px;height:20px;background:var(--color-border);margin:0 4px}.service-log{height:100%;min-height:0;display:flex;flex-direction:column}.service-log__main{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px;overflow:hidden}.service-log__title{display:inline-flex;align-items:center;min-height:34px;padding:0 .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-accent-weak);color:var(--color-text);font-weight:900}.service-log__filters{display:flex;align-items:center;gap:8px;overflow-x:auto;white-space:nowrap}.service-log__field{flex:0 0 auto;min-width:0;display:inline-flex;flex-direction:row;align-items:center;gap:6px;color:var(--color-text-muted);font-size:.86rem;font-weight:800}.service-log__field--spaced{margin-left:.6em}.service-log__field .input,.service-log__field .select{min-height:34px;color:var(--color-text);padding:.35rem .45rem}.service-log__field--date .input{width:132px;color:var(--color-text-muted);font-weight:400;opacity:.58}.service-log__field--user .select,.service-log__field--type .select{width:96px}.service-log__field--severity .select{width:118px}.service-log__field--event .input,.service-log__field--details .input{width:150px}.service-log__field--limit{margin-left:auto;max-width:none;font-weight:400}.service-log__field--limit .input{width:50px}.service-log__apply{flex:0 0 auto;align-self:center;min-height:34px;margin-left:.6em;white-space:nowrap;width:auto}.service-log__clear{flex:0 0 auto;align-self:center;min-height:34px;margin-left:.6em;white-space:nowrap;width:auto;font-weight:400;font-style:italic;opacity:.72;box-shadow:none}.service-log__found{margin-left:2ch;color:var(--color-text-muted);font-size:.9rem;font-weight:400}.service-log__limit-input{appearance:textfield;-moz-appearance:textfield}.service-log__limit-input::-webkit-outer-spin-button,.service-log__limit-input::-webkit-inner-spin-button{margin:0;appearance:none;-webkit-appearance:none}.service-log__message{padding:14px 16px;font-weight:800}.service-log__message--error{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.service-log__table-panel{flex:1;min-height:0;display:flex;flex-direction:column}.service-log__table-wrap{flex:1;min-height:0}.service-log .table{border-collapse:collapse}.service-log .table th{position:sticky;top:0;z-index:1}.service-log .table td{vertical-align:middle}.service-log__sort{width:100%;border:none;background:transparent;color:inherit;font:inherit;font-weight:900;text-align:left;padding:0;cursor:pointer}.service-log__sort:hover{color:var(--color-accent)}.service-log__date{white-space:nowrap}.service-log__event-name--warning{color:color-mix(in srgb,#f59e0b 70%,var(--color-text))}.service-log__event-name--error{color:color-mix(in srgb,var(--color-danger) 70%,var(--color-text))}.service-log__details-cell{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color-text)}.service-log__details-cell:hover{color:var(--color-accent);text-decoration:underline}.service-log__details-cell:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:1100px){.service-log__filters{flex-wrap:wrap}}@media(max-width:720px){.service-log__main{padding:10px}.service-log__filters{align-items:flex-start}}.app-shell{height:100vh;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font)}.auth-page{min-height:100%;display:grid;place-items:center;padding:24px;position:relative}.auth-page__theme{position:absolute;top:16px;right:16px}.auth-card{width:min(360px,100%);display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-card--status{align-items:center;font-weight:800}.auth-card__title{margin:0;font-size:1.25rem}.auth-field{display:flex;flex-direction:column;gap:6px;color:var(--color-text-muted);font-size:.9rem;font-weight:700}.auth-field__heading{min-height:1.2em;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.auth-inline-error{min-width:0;color:var(--color-danger);font-style:italic;font-weight:400;text-align:right;white-space:nowrap}.auth-inline-error--hidden{visibility:hidden}.auth-field .input{color:var(--color-text)}.input{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:.6rem .7rem;font:inherit}.input:focus{outline:3px solid color-mix(in srgb,var(--color-accent) 30%,transparent);border-color:var(--color-accent)}.auth-card__error{border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-sm);padding:8px 10px;color:var(--color-danger);font-weight:700}.auth-user-menu{position:relative}.auth-user-menu__button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);min-height:32px;padding:0 10px;font-weight:400;cursor:pointer}.auth-user-menu__button:hover{background:color-mix(in srgb,var(--color-surface) 70%,var(--color-bg) 30%)}.auth-user-menu__popover{position:absolute;right:0;top:calc(100% + 6px);min-width:170px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:var(--z-popover)}.auth-user-menu__item{width:100%;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--color-text);padding:8px 10px;text-align:left;white-space:nowrap;font-weight:700;cursor:pointer}.auth-user-menu__item:hover{background:var(--color-accent-weak)}.password-dialog{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--color-bg) 72%,transparent);z-index:calc(var(--z-popover) + 10)}.password-dialog__card{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.password-dialog__title{margin:0;font-size:1.25rem}.password-dialog__actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.password-field{display:flex;align-items:stretch;width:100%}.password-field__input{border-top-right-radius:0;border-bottom-right-radius:0}.password-field__toggle{width:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid var(--color-border);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.password-field__toggle:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 70%,var(--color-bg) 30%)}.password-field__toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 30%,transparent);outline-offset:2px}.password-field__icon{width:18px;height:18px}
