:root{--ink:#1a1a1a;--ink-2:#2d2d2d;--muted:#8a8580;--muted-light:#c8c3bc;--paper:#fbfaf6;--paper-2:#f3f1ea;--paper-3:#ebe8df;--accent:#3d6fb8;--accent-soft:#d8e3f3;--good:#3b7d4f;--good-soft:#d8e8dc;--warn:#b5892a;--warn-soft:#f3e4bf;--bad:#a3402c;--bad-soft:#ecc8c0;--shadow:2px 3px 0 #0000000d;--field-bg:#fff;--field-bg-dirty:#fff7e8;--sc-identity:#6b7280;--sc-edges:#3d6fb8;--sc-risk:#a3402c;--sc-fees:#7c5fa3;--sc-venue:#3d8b8b;--sc-timers:#b5892a;--sc-flags:#3b7d4f;--sc-other:#8a8580;--syn-key:#64748b;--syn-num:#b45309;--syn-str:#047857;--syn-true:#047857;--syn-false:#64748b;--syn-null:#b91c1c;--syn-json:#7c3aed;--card-band-pct:8%}[data-theme=dark]{--ink:#e8e4d8;--ink-2:#d0ccc0;--muted:#807a72;--muted-light:#3a3733;--paper:#15140f;--paper-2:#1f1d18;--paper-3:#28251f;--accent:#6b9bd9;--accent-soft:#1f2f48;--good:#6ab07c;--good-soft:#1c2e22;--warn:#d4a84e;--warn-soft:#2e2618;--bad:#d56a55;--bad-soft:#2e1c18;--shadow:2px 3px 0 #0006;--field-bg:#1a1814;--field-bg-dirty:#2a2418;--sc-identity:#9aa4b4;--sc-edges:#7aaeee;--sc-risk:#e08164;--sc-fees:#c1a5e6;--sc-venue:#7bc8c8;--sc-timers:#e5b65a;--sc-flags:#7fc28f;--sc-other:#8f8a82;--syn-key:#7dcfff;--syn-num:#e0af68;--syn-str:#9ece6a;--syn-true:#9ece6a;--syn-false:#a896c9;--syn-null:#f7768e;--syn-json:#bb9af7;--card-band-pct:18%}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.4}button,input,select,textarea{color:inherit;font:inherit}.app-shell{grid-template-columns:260px 1fr;height:100vh;display:grid}.sidebar{border-right:1.2px solid var(--ink);background:var(--paper-2);flex-direction:column;display:flex;overflow:hidden}.sidebar-head,.topbar,.footer{align-items:center;display:flex}.sidebar-head{justify-content:space-between;gap:8px;padding:14px}.brand{font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px;font-weight:700}.search{border:1.2px solid var(--ink);color:var(--muted);background:var(--paper);border-radius:6px;align-items:center;gap:6px;margin:0 14px 10px;padding:5px 8px;display:flex}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0}.sidebar-actions{grid-template-columns:1fr 1fr;gap:6px;margin:0 14px 10px;display:grid}.auth-user{border:1px solid var(--muted-light);background:var(--paper);border-radius:6px;align-items:center;gap:8px;margin:0 14px 12px;padding:8px;display:flex}.avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-family:IBM Plex Sans,system-ui,sans-serif;font-weight:700;display:inline-flex}.auth-meta{flex:1;min-width:0}.auth-name,.auth-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-name{font-family:IBM Plex Sans,system-ui,sans-serif;font-weight:600}.auth-email{color:var(--muted);font-size:10px}.tree{flex:1;padding:0 8px 12px;overflow:auto}.strategy-row{text-transform:uppercase;letter-spacing:.05em;cursor:pointer;align-items:center;gap:6px;padding:4px 6px;display:flex}.strategy-count{color:var(--muted);border:1px solid var(--muted-light);letter-spacing:0;background:var(--paper);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;font-size:10px;line-height:1;display:inline-flex}.bot-list{border-left:1px dotted var(--muted-light);margin-left:10px;padding-left:6px}.bot-row{cursor:pointer;border-left:3px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;display:flex}.bot-row:hover{background:var(--paper-3)}.bot-row.active{background:var(--accent-soft);border-left-color:var(--accent)}.bot-name,.bot-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bot-meta{color:var(--muted);font-size:10px}.draft-dot,.redis-dot{border-radius:999px;width:7px;height:7px;display:inline-block}.draft-dot{background:var(--warn)}.main{background:var(--paper);flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{border-bottom:1.2px solid var(--ink);flex-wrap:wrap;gap:10px;padding:10px 18px}.crumbs{align-items:center;gap:6px;display:flex}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.tabs{border-bottom:1px solid var(--muted-light);background:var(--paper-2);gap:2px;padding:0 18px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px}.tab.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:700}.body{flex:1;padding:18px;overflow:auto}.body-empty{height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.edit-grid{grid-template-columns:160px 1fr;align-items:start;gap:14px;display:grid}.rail{gap:2px;display:grid;position:sticky;top:0}.rail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:10px}.rail-link{border:0;border-left:2px solid var(--rail-color);text-align:left;cursor:pointer;background:0 0;border-radius:0 4px 4px 0;padding:5px 10px}.rail-link:hover{background:var(--paper-3)}.panel{border:1.3px solid var(--ink);border-left:4px solid var(--panel-color,var(--ink));box-shadow:var(--shadow);background:var(--paper);border-radius:8px;margin-bottom:14px;overflow:hidden}.panel-head{border-bottom:1px solid var(--muted-light);background:color-mix(in srgb, var(--panel-color,var(--ink)) var(--card-band-pct), transparent);align-items:baseline;gap:8px;padding:10px 14px;display:flex}.panel-title{text-transform:uppercase;letter-spacing:.06em;color:var(--panel-color,var(--ink));font-family:IBM Plex Sans,system-ui,sans-serif;font-size:11.5px;font-weight:700}.panel-meta{color:var(--muted);margin-left:auto;font-size:10px}.panel-body{padding:12px 14px}.field-grid{grid-template-columns:1fr 1fr;gap:6px 24px;display:grid}.risk-field-grid{grid-template-columns:1fr 1fr}.risk-field-grid .field{grid-template-columns:minmax(180px,.9fr) minmax(140px,.7fr)}.credential-grid{flex-wrap:wrap;gap:8px;display:flex}.credential-identity{border:1px solid var(--muted-light);background:var(--paper-2);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:inline-flex}.credential-identity span{color:var(--muted);text-transform:uppercase;font-size:10px}.credential-identity strong{color:var(--ink);font-size:12px}.credential-empty{color:var(--muted);font-size:12px}.field{border-bottom:1px dotted var(--muted-light);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:8px;padding:4px 0;display:grid}.field-key{color:var(--syn-key);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field.dirty .field-key{color:var(--warn)}.field input,.field select{border:1px solid var(--muted-light);background:var(--field-bg);text-align:right;font-variant-numeric:tabular-nums;border-radius:4px;width:100%;min-width:0;padding:3px 6px}.field.dirty input,.field.dirty select{border-color:var(--warn);background:var(--field-bg-dirty)}.field.invalid input{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.field-num input{color:var(--syn-num)}.field-str input,.field-str select{color:var(--syn-str)}.field-json input{color:var(--syn-json);text-align:left}.field-null input{color:var(--syn-null)}.bool-field{justify-content:flex-end;align-items:center;gap:8px;min-height:22px;display:flex}.bool-toggle{cursor:pointer;flex:none;width:28px;height:16px;display:inline-flex;position:relative}.bool-toggle input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.bool-toggle span{border:1px solid var(--muted-light);background:var(--field-bg);border-radius:999px;width:100%;height:100%;transition:background-color .12s,border-color .12s}.bool-toggle span:after{content:"";background:var(--muted);border-radius:50%;width:8px;height:8px;transition:transform .12s,background-color .12s;position:absolute;top:4px;left:4px}.bool-toggle input:checked+span{border-color:var(--good);background:var(--good-soft)}.field.dirty .bool-toggle input:not(:checked)+span{border-color:var(--warn);background:var(--field-bg-dirty)}.bool-toggle input:checked+span:after{background:var(--good);transform:translate(12px)}.bool-toggle input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.bool-toggle input:disabled+span{opacity:.5;cursor:not-allowed}.json-preview{border:1px solid var(--muted-light);background:var(--field-bg);max-height:54vh;color:var(--syn-json);white-space:pre-wrap;border-radius:6px;margin:0;padding:10px;font-size:10.5px;overflow:auto}.diff-preview{border:1.3px solid var(--ink);box-shadow:var(--shadow);background:var(--paper);border-radius:8px;overflow:hidden}.diff-head,.diff-row{grid-template-columns:minmax(180px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:0;display:grid}.diff-head{z-index:1;border-bottom:1px solid var(--muted-light);background:var(--paper-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;position:sticky;top:-18px}.diff-head span,.diff-key,.diff-value{border-right:1px solid var(--muted-light);padding:7px 10px}.diff-head span:last-child,.diff-value:last-child{border-right:0}.diff-body{max-height:calc(100vh - 190px);overflow:auto}.diff-row{border-bottom:1px dotted var(--muted-light)}.diff-row.changed{background:color-mix(in srgb, var(--warn-soft) 45%, transparent)}.diff-key{color:var(--syn-key);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diff-row.changed .diff-key{color:var(--warn);font-weight:700}.diff-value{min-height:30px;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:10.5px;overflow:auto}.diff-value.changed{background:var(--field-bg-dirty);box-shadow:inset 3px 0 0 var(--warn)}.diff-value.missing{color:var(--bad);font-style:italic}.diff-empty{color:var(--muted);text-align:center;padding:28px}.kv-grid{grid-template-columns:max-content 1fr;gap:6px 14px;display:grid}.kv-k{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.history-list,.validation-list{gap:8px;display:grid}.history-item,.validation-item{border:1px solid var(--muted-light);background:var(--field-bg);border-radius:6px;padding:8px}.history-head{align-items:center;gap:8px;display:flex}.history-diff-button{margin-left:auto;padding:3px 8px;font-size:10px}.history-diff{margin-top:10px}.history-diff .diff-preview{box-shadow:none}.history-diff .diff-body{max-height:320px}.validation-item.error{border-color:var(--bad);background:var(--bad-soft)}.validation-item.warn{border-color:var(--warn);background:var(--warn-soft)}.footer{border-top:1px solid var(--muted-light);background:var(--paper-2);color:var(--muted);gap:16px;padding:6px 18px;font-size:10px}.footer-right{margin-left:auto}.redis-indicator{align-items:center;gap:6px;display:inline-flex}.redis-indicator.live{color:var(--good)}.redis-indicator.live .redis-dot{background:var(--good)}.redis-indicator.down{color:var(--bad)}.redis-indicator.down .redis-dot{background:var(--bad)}.redis-dot{background:var(--muted-light)}.button,.icon-button{border:1.3px solid var(--ink);cursor:pointer;background:0 0;border-radius:6px}.button{text-transform:uppercase;letter-spacing:.04em;height:26px;padding:0 10px;font-size:11px}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--paper-3)}.button:disabled,.icon-button:disabled{opacity:.35;cursor:not-allowed}.button.primary{background:var(--ink);color:var(--paper)}.button.danger{color:var(--bad);border-color:var(--bad)}.icon-button{justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.pill{border:1px solid var(--muted-light);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.pill.good{color:var(--good);border-color:var(--good);background:var(--good-soft)}.pill.warn{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.pill.accent{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.dialog-backdrop{z-index:20;background:#0000006b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:1.3px solid var(--ink);background:var(--paper);width:min(520px,100%);box-shadow:var(--shadow);border-radius:8px}.dialog-head,.dialog-actions{padding:12px 14px}.dialog-head{border-bottom:1px solid var(--muted-light);font-family:IBM Plex Sans,system-ui,sans-serif;font-weight:700}.dialog-body{padding:14px}.dialog textarea{resize:vertical;border:1px solid var(--muted-light);background:var(--field-bg);border-radius:6px;width:100%;min-height:100px;padding:8px}.dialog-field{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:6px;margin-bottom:12px;font-size:10px;display:grid}.dialog-field input{border:1px solid var(--muted-light);background:var(--field-bg);width:100%;min-width:0;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:6px;padding:7px 8px}.dialog-meta{color:var(--muted)}.dialog-actions{border-top:1px solid var(--muted-light);justify-content:flex-end;gap:8px;display:flex}.login-screen{isolation:isolate;color:#f6f0e5;background:radial-gradient(circle at 16% 14%,#6b9bd933,#0000 30rem),radial-gradient(circle at 88% 82%,#3b7d4f2e,#0000 28rem),linear-gradient(135deg,#11130f 0%,#181713 46%,#0f1113 100%);place-items:center;min-height:100vh;padding:32px;display:grid;position:relative;overflow:hidden}.login-screen:before,.login-screen:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.login-screen:before{opacity:.38;background-image:linear-gradient(#fbfaf609 1px,#0000 1px),linear-gradient(90deg,#fbfaf607 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(#0000,#000 16% 82%,#0000);mask-image:linear-gradient(#0000,#000 16% 82%,#0000)}.login-screen:after{opacity:.2;background:repeating-linear-gradient(90deg,#ffffff05 0 1px,#0000 1px 3px)}.login-scrim{z-index:-1;pointer-events:none;position:absolute;inset:-22%;transform:rotate(-8deg)}.login-scrim-band{will-change:transform, opacity;position:absolute;inset:0;transform:translate(0,0)}.login-scrim-band-a{opacity:.95;background:linear-gradient(106deg,#0000 0% 22%,#3d6fb805 32%,#6b9bd947 43%,#d8e3f32e 49%,#3b7d4f24 56%,#0000 70% 100%);animation:22s cubic-bezier(.42,0,.18,1) infinite alternate login-scrim-drift-a}.login-scrim-band-b{opacity:.58;background:linear-gradient(104deg,#0000 0% 30%,#b5892a1a 41%,#fbfaf638 50%,#6b9bd91f 59%,#0000 74% 100%);animation:28s cubic-bezier(.42,0,.18,1) infinite alternate login-scrim-drift-b;transform:translate(-8%,9%)scale(1.08)}.login-scrim-band-c{opacity:.62;background:linear-gradient(108deg,#0000 0% 48%,#3b7d4f29 58%,#6b9bd921 66%,#0000 81% 100%);animation:34s cubic-bezier(.42,0,.18,1) infinite alternate login-scrim-drift-c;transform:translate(9%,-8%)scale(1.14)}@keyframes login-scrim-drift-a{0%{opacity:.78;transform:translate(-5%,2%)scale(1.04)}to{opacity:1;transform:translate(5%,-3%)scale(1.1)}}@keyframes login-scrim-drift-b{0%{opacity:.44;transform:translate(-10%,8%)scale(1.08)}to{opacity:.66;transform:translate(4%,1%)scale(1.14)}}@keyframes login-scrim-drift-c{0%{opacity:.44;transform:translate(8%,-8%)scale(1.14)}to{opacity:.68;transform:translate(-3%,4%)scale(1.2)}}.login-brand{letter-spacing:.02em;color:#fbfaf6;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:16px;font-weight:700;position:absolute;top:28px;left:32px}.login-panel{background:#11130fb8;border:1px solid #fbfaf647;border-radius:12px;width:min(420px,100%);padding:32px;box-shadow:0 24px 80px #0000003d}@media (prefers-reduced-motion:reduce){.login-scrim-band-a,.login-scrim-band-b,.login-scrim-band-c{animation:none}}.login-panel h1{margin:0 0 8px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:28px;font-weight:700}.login-panel p{color:#fbfaf69e;margin:0 0 24px;font-size:13px;line-height:1.5}.login-panel .button{border-color:#fbfaf6db;width:100%}.login-panel .button.primary{color:#11130f;background:#fbfaf6}.login-error{color:var(--bad);margin-top:14px;font-size:12px}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.edit-grid,.field-grid,.risk-field-grid .field{grid-template-columns:1fr}.login-screen{padding:24px}.login-brand{top:20px;left:24px}.login-panel{padding:24px}}
