:root{--catalis-navy: #013970;--catalis-navy-700: #012a54;--catalis-navy-100: rgba(1, 57, 112, .08);--catalis-navy-tint: rgba(1, 57, 112, .04);--catalis-mint: #2e9e7d;--catalis-mint-300: #5cbfa3;--catalis-mint-100: #cde8df;--color-error: #d32f2f;--color-warning: #c43e00;--color-warning-light: #fef3e2;--color-warning-text: #92400e;--color-success: #2e7d32;--color-success-light: #e6f4ea;--color-info: #01579b;--color-info-light: #e8f0fb;--color-danger-bg: #fde8e8;--color-danger-text: #991b1b;--color-danger-cell: #fdf2f2;--color-danger-badge: #fecaca;--color-diff-cell: #fef8ea;--color-diff-value-bg: rgba(217, 119, 6, .12);--color-diff-value-fg: #78350f;--bg-canvas: #ffffff;--bg-surface: #ffffff;--bg-appbar: #f8fafd;--bg-drawer: #eceef1;--bg-subtle: #f5f6f8;--bg-hover: rgba(0, 0, 0, .04);--bg-input: #fafbfc;--fg-primary: rgba(0, 0, 0, .87);--fg-secondary: rgba(0, 0, 0, .6);--fg-disabled: rgba(0, 0, 0, .38);--fg-code: #9c1d5a;--fg-on-navy: #ffffff;--line-default: #e8e8e8;--line-input: rgba(0, 0, 0, .23);--divider: rgba(0, 0, 0, .12);--shell-appbar: 64px;--shell-rail: 56px;--shell-drawer-open: 300px;--shell-drawer-mini: 56px;--shell-footer: 40px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-xs: 2px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-pill: 9999px;--elev-1: 0 1px 2px rgba(0,0,0,.08);--elev-2: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--elev-4: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--elev-8: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.08);--elev-16: 0 24px 64px rgba(0,0,0,.3);--font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--letter-caps: .08em}html,body,#root{height:100%;margin:0;padding:0;background:var(--bg-canvas)}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--fg-primary);-webkit-font-smoothing:antialiased}code,.cx-code{font-family:var(--font-mono);color:var(--fg-code);font-size:.9em}.cx-shell{display:grid;grid-template-columns:var(--shell-rail) auto 1fr;grid-template-rows:var(--shell-appbar) 1fr var(--shell-footer);height:100vh;overflow:hidden}.cx-appbar{grid-column:1 / -1;background:var(--bg-appbar);border-bottom:1px solid var(--line-default);display:flex;align-items:center;padding:0 var(--sp-4);gap:var(--sp-3)}.cx-brand-sub{color:var(--catalis-mint);font:400 .6rem/1 Roboto;letter-spacing:1.5px;text-transform:uppercase}.cx-avatar{width:36px;height:36px;border-radius:50%;background:var(--catalis-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:500;font-size:.9rem}.cx-rail{background:var(--bg-canvas);border-right:1px solid var(--line-default);display:flex;flex-direction:column;padding:var(--sp-2) 0}.cx-rail-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:64px;width:100%;border:none;background:transparent;cursor:pointer;color:var(--fg-secondary);font:400 .68rem/1 Roboto;letter-spacing:.02em;border-left:3px solid transparent;transition:background .12s ease-out,color .12s ease-out}.cx-rail-item:hover{background:var(--bg-hover);color:var(--fg-primary)}.cx-rail-item.active{background:var(--bg-drawer);color:var(--catalis-mint);border-left-color:var(--catalis-mint)}.cx-rail-spacer{flex:1}.cx-drawer{background:var(--bg-drawer);border-right:1px solid var(--line-default);overflow-y:auto}.cx-drawer.empty{width:0;border-right:none}.cx-drawer.open{width:var(--shell-drawer-open)}.cx-drawer-group-label{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-2);font:500 .8rem/1 Roboto;color:var(--fg-secondary)}.cx-drawer-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3) var(--sp-2) 36px;border:none;background:transparent;cursor:pointer;font:400 .875rem/1.4 Roboto;color:var(--fg-primary);text-align:left}.cx-drawer-item:hover{background:#0000000a}.cx-drawer-item.active{background:var(--catalis-navy-100);color:var(--catalis-navy)}.cx-main{overflow:auto;padding:14px 20px 40px;background:var(--bg-canvas)}.cx-footer{grid-column:1 / -1;background:var(--bg-canvas);border-top:1px solid var(--line-default);display:flex;align-items:center;justify-content:flex-end;padding:0 var(--sp-4);font:400 .75rem/1 Roboto;color:var(--fg-disabled)}.cx-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin:var(--sp-3) 0 var(--sp-4)}.cx-page-title{font:400 1.5rem/1.2 Roboto;margin:0}.cx-page-sub{font:400 .875rem/1.5 Roboto;color:var(--fg-secondary);max-width:64ch;margin-top:var(--sp-1)}.cx-page-actions{display:flex;gap:var(--sp-2)}.fs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.fs-stats.fs-stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.fs-stats.fs-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.fs-stat{display:flex;align-items:center;gap:var(--sp-3);background:var(--bg-surface);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);box-shadow:var(--elev-2)}.fs-stat .material-icons,.fs-stat .MuiSvgIcon-root{font-size:28px}.fs-stat-num{font:400 1.75rem/1 Roboto;color:var(--fg-primary)}.fs-stat-lbl{font:400 .75rem/1.4 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps);color:var(--fg-secondary)}.fs-stat-tone-primary .MuiSvgIcon-root{color:var(--catalis-navy)}.fs-stat-tone-success .MuiSvgIcon-root{color:var(--color-success)}.fs-stat-tone-warning .MuiSvgIcon-root{color:var(--color-warning)}.fs-stat-tone-muted .MuiSvgIcon-root{color:var(--fg-secondary)}.fs-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-3)}.fs-search{flex:1 1 280px;min-width:280px;max-width:480px}.fs-filter-pill{position:relative;display:inline-flex;align-items:center;height:40px;border:1px solid var(--line-input);border-radius:var(--r-sm);padding:0 var(--sp-3) 0 var(--sp-3);background:#fff}.fs-filter-pill .fs-filter-label{font:500 .65rem/1 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps);color:var(--fg-secondary);position:absolute;top:-7px;left:10px;background:#fff;padding:0 4px}.fs-filter-pill select{border:none;background:transparent;outline:none;padding-right:24px;font:400 .875rem/1 Roboto;color:var(--fg-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:120px}.fs-filter-pill:after{content:"";position:absolute;right:10px;top:50%;width:8px;height:8px;border-right:2px solid var(--fg-secondary);border-bottom:2px solid var(--fg-secondary);transform:translateY(-70%) rotate(45deg);pointer-events:none}.fs-grid-wrap{background:var(--bg-surface);border-radius:var(--r-md);box-shadow:var(--elev-2);overflow:hidden}.fs-grid table{width:100%;border-collapse:collapse}.fs-grid thead th{font:500 .72rem/1 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps);color:var(--fg-secondary);text-align:left;padding:var(--sp-3) var(--sp-3);border-bottom:2px solid var(--line-default);background:var(--bg-surface)}.fs-grid tbody td{padding:var(--sp-3);border-bottom:1px solid var(--line-default);vertical-align:top;font:400 .875rem/1.4 Roboto}.fs-grid tbody tr{cursor:pointer;transition:background .12s ease-out}.fs-grid tbody tr:hover{background:var(--bg-hover)}.fs-grid tbody tr:last-child td{border-bottom:none}.fs-grid .fs-empty{padding:40px;text-align:center;color:var(--fg-secondary)}.fs-cell-name{font:400 .8rem/1.4 Roboto;color:var(--fg-secondary);margin-top:2px}.cfg-scope{display:flex;align-items:center;gap:var(--sp-1);font:400 .8rem/1.4 Roboto;color:var(--fg-secondary)}.cfg-scope .MuiSvgIcon-root{font-size:14px}.fs-toggle{width:36px;height:20px;position:relative;border:none;background:transparent;cursor:pointer;padding:0}.fs-toggle-track{position:absolute;top:2px;right:0;bottom:2px;left:0;height:16px;border-radius:8px;background:#00000042;transition:background .15s ease-out}.fs-toggle-thumb{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:#fafafa;box-shadow:var(--elev-2);transition:left .15s ease-out,background .15s ease-out}.fs-toggle.on .fs-toggle-track{background:#2e9e7d80}.fs-toggle.on .fs-toggle-thumb{background:var(--catalis-mint);left:16px}.fs-state-row{display:grid;gap:var(--sp-3);margin-top:var(--sp-2)}.fs-state-row-2{grid-template-columns:1fr 1fr}.fs-state-card{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-default);border-radius:var(--r-md);background:#fff;cursor:pointer;transition:background .12s ease-out,border-color .12s ease-out}.fs-state-card:hover{background:var(--bg-hover)}.fs-state-card.active{border:2px solid var(--catalis-navy);background:var(--catalis-navy-tint);padding:calc(var(--sp-3) - 1px) calc(var(--sp-4) - 1px)}.fs-state-card .MuiSvgIcon-root{font-size:28px;color:var(--fg-secondary)}.fs-state-card.on.active .MuiSvgIcon-root{color:var(--color-success)}.fs-state-card.off.active .MuiSvgIcon-root{color:#0006}.fs-state-card-label{font:500 1rem/1 Roboto}.fs-state-card-desc{font:400 .8rem/1.4 Roboto;color:var(--fg-secondary)}.fs-fg-row{padding:var(--sp-4) 0;border-top:1px solid var(--line-default)}.fs-fg-row:first-child{padding-top:0;border-top:none}.fs-fg-label{font:500 .9rem/1.2 Roboto}.fs-fg-hint{font:400 .8rem/1.4 Roboto;color:var(--fg-secondary);margin-top:2px}.fs-fg-hint strong{color:var(--fg-primary);font-weight:600}.fs-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.fs-chip-toggle{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 var(--sp-2);border:1px solid var(--line-input);border-radius:var(--r-pill);background:#fff;cursor:pointer;font:400 .8rem/1 Roboto;color:var(--fg-primary);transition:background .12s,color .12s,border-color .12s}.fs-chip-toggle:hover{background:var(--bg-hover)}.fs-chip-toggle.on{background:var(--catalis-navy);color:#fff;border-color:var(--catalis-navy)}.fs-chip-toggle .MuiSvgIcon-root{font-size:16px}.fs-preview-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-3)}.fs-preview-result{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md)}.fs-preview-result .MuiSvgIcon-root{font-size:28px}.fs-preview-on{background:var(--color-success-light)}.fs-preview-on .MuiSvgIcon-root{color:var(--color-success)}.fs-preview-off{background:var(--bg-subtle)}.fs-preview-off .MuiSvgIcon-root{color:#0006}.fs-preview-label{font:500 .9rem/1 Roboto}.fs-preview-reason{font:400 .8rem/1.4 Roboto;color:var(--fg-secondary);margin-top:2px}.fs-save-row{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3)}.fs-history{position:relative;padding:var(--sp-2) 0}.fs-history-row{display:grid;grid-template-columns:16px 1fr;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) 0;position:relative}.fs-history-row:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--line-default)}.fs-history-row:first-child:before{top:50%}.fs-history-row:last-child:before{bottom:50%}.fs-history-dot{position:relative;z-index:1;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--catalis-mint)}.fs-history-what{font:400 .875rem/1.4 Roboto;color:var(--fg-primary)}.fs-history-meta{font:400 .75rem/1.4 Roboto;color:var(--fg-secondary);margin-top:2px}.fs-detail-summary{background:var(--bg-surface);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-4);box-shadow:var(--elev-2)}.fs-detail-key{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.fs-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-4);margin-top:var(--sp-3)}.fs-detail-meta-lbl{font:500 .7rem/1 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps);color:var(--fg-secondary);margin-bottom:2px}.fs-detail-meta-val{font:500 .95rem/1.3 Roboto;color:var(--fg-primary)}.fs-tabs{display:flex;gap:var(--sp-4);border-bottom:1px solid var(--line-default);margin-bottom:var(--sp-4)}.cfg-type-segmented{display:inline-flex;border:1px solid var(--line-input);border-radius:var(--r-sm);overflow:hidden}.cfg-type-segmented button{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border:none;background:#fff;cursor:pointer;font:500 .8rem/1 Roboto;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.04em}.cfg-type-segmented button+button{border-left:1px solid var(--line-input)}.cfg-type-segmented button.active{background:var(--catalis-navy);color:#fff}.cfg-value-edit,.cfg-seq-edit{display:flex;flex-direction:column;gap:var(--sp-3)}.cfg-value-help{display:flex;align-items:flex-start;gap:var(--sp-2);font:400 .8rem/1.4 Roboto;color:var(--fg-secondary)}.cfg-value-help .MuiSvgIcon-root{font-size:16px;color:var(--catalis-navy);margin-top:1px}.cfg-value-textarea{width:100%;font:400 .9rem/1.5 Roboto Mono,monospace;background:var(--bg-input);border:1px solid var(--line-input);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-3);resize:vertical}.cfg-value-textarea:focus{outline:none;border:2px solid var(--catalis-navy);padding:calc(var(--sp-3) - 1px)}.cfg-value-textarea.err{border-color:var(--color-warning)}.cfg-value-err{display:flex;align-items:center;gap:var(--sp-1);font:400 .75rem/1.4 Roboto;color:var(--color-warning)}.cfg-value-preview{font-family:var(--font-mono);font-size:.85em;background:#0000000a;color:var(--fg-code);padding:2px 6px;border-radius:var(--r-xs)}.cfg-seq-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-3)}.cfg-seq-current-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);background:var(--catalis-navy-100);color:var(--catalis-navy);border-radius:var(--r-sm);font:500 .95rem/1 var(--font-mono);width:100%;box-sizing:border-box}.cfg-seq-current-badge .MuiSvgIcon-root{font-size:16px}.cfg-seq-preview{background:var(--bg-subtle);border-radius:var(--r-md);padding:var(--sp-3)}.cfg-seq-preview-label{font:500 .65rem/1 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps);color:var(--fg-secondary);margin-bottom:var(--sp-2)}.cfg-seq-preview-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.cfg-seq-preview-chip{font:500 .8rem/1 var(--font-mono);padding:6px 10px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line-default);color:var(--fg-primary)}.cfg-seq-preview-chip.first{background:var(--catalis-navy);color:#fff;border-color:var(--catalis-navy)}.cfg-copy-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px dashed var(--line-default);background:#fff;border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.cfg-copy-title{font:500 .9rem/1.2 Roboto}.cfg-copy-sub{font:400 .8rem/1.4 Roboto;color:var(--fg-secondary)}.cfg-banner{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-4)}.cfg-banner.success{background:var(--color-success-light)}.cfg-banner.success .MuiSvgIcon-root{color:var(--color-success)}.cfg-banner.warning{background:var(--color-warning-light)}.cfg-banner.warning .MuiSvgIcon-root{color:var(--color-warning)}.cfg-banner.info{background:var(--color-info-light)}.cfg-banner.info .MuiSvgIcon-root{color:var(--catalis-navy)}.cfg-diff-modal{background:#fff;border-radius:var(--r-md);box-shadow:var(--elev-16);width:min(1280px,96vw);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.cfg-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-default)}.cfg-modal-title{font:400 1.4rem/1.2 Roboto}.cfg-modal-sub{font:400 .8rem/1.4 Roboto;color:var(--fg-secondary)}.cfg-diff-toolbar{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line-default);flex-wrap:wrap}.cfg-diff-counts{margin-left:auto;display:flex;gap:var(--sp-2)}.cfg-diff-pill{display:inline-flex;align-items:center;gap:var(--sp-1);padding:4px 10px;border-radius:var(--r-pill);font:500 .75rem/1 Roboto}.cfg-diff-pill-amber{background:var(--color-warning-light);color:var(--color-warning-text)}.cfg-diff-pill-red{background:var(--color-danger-bg);color:var(--color-danger-text)}.cfg-diff-pill .MuiSvgIcon-root{font-size:14px}.cfg-diff-body{overflow:auto;flex:1}.cfg-diff-table{width:100%;border-collapse:collapse}.cfg-diff-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-appbar);font:500 .72rem/1 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps);color:var(--fg-secondary);text-align:left;padding:var(--sp-3);border-bottom:1px solid var(--line-default)}.cfg-diff-table tbody td{padding:var(--sp-3);border-bottom:1px solid var(--line-default);vertical-align:top;font:400 .8rem/1.4 Roboto}.cfg-diff-keycell .cfg-diff-key{font:500 .85rem/1.2 var(--font-mono);color:var(--fg-code)}.cfg-diff-keycell .cfg-diff-desc{font:400 .75rem/1.4 Roboto;color:var(--fg-secondary);margin-top:2px}.cfg-diff-missing-badge{display:inline-block;background:var(--color-danger-badge);color:var(--color-danger-text);padding:2px 8px;border-radius:var(--r-pill);font:500 .7rem/1 Roboto;text-transform:uppercase;letter-spacing:var(--letter-caps)}.cfg-diff-cell-missing{background:var(--color-danger-cell);text-align:center}.cfg-diff-cell-differs{background:var(--color-diff-cell)}.cfg-diff-cell-differs .cfg-value-preview{background:var(--color-diff-value-bg);color:var(--color-diff-value-fg)}.cfg-modal-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line-default);display:flex;justify-content:flex-end;gap:var(--sp-2)}.cx-row{display:flex;align-items:center;gap:var(--sp-2)}.cx-spacer{flex:1}.cx-mono{font-family:var(--font-mono)}.cx-uppercase{text-transform:uppercase;letter-spacing:var(--letter-caps)}.cfg-value-cell{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
