:root{--ink:#252a34;--muted:#747b87;--line:#e3e6eb;--paper:#fff;--canvas:#f5f6f8;--blue:#315aa4;--blue-soft:#eaf0fa;--green:#237357;--green-soft:#eaf5ef;--amber:#936415;--amber-soft:#fcf3de;--red:#b14646;--red-soft:#fbeeee;--radius:8px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-size:13px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.42}button{background:white;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-weight:500}button:hover:not(:disabled){background:#f1f3f7;border-color:#c7ced8}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover:not(:disabled){background:#264b8c}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #87a8df;outline-offset:2px}input,select{border:1px solid #d5dbe3;border-radius:6px;background:white;color:var(--ink);padding:8px 10px;min-width:0}input:focus,select:focus{outline:2px solid #bacde9;outline-offset:1px}h1,h2,h3,p{margin:0}h1{font-family:"Avenir Next",-apple-system,sans-serif;font-size:28px;line-height:1.3;font-weight:650;letter-spacing:-.8px}h2{font-size:16px;letter-spacing:-.2px}h3{font-size:13px;font-weight:600}svg{flex-shrink:0}.muted{color:var(--muted)}.mono{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px}.num{font-variant-numeric:tabular-nums}.app-header{height:68px;display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);gap:44px;background:var(--paper)}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:15px;white-space:nowrap}.brand:hover{text-decoration:none}.brand strong{font-family:"Avenir Next",sans-serif;letter-spacing:-.8px;font-size:24px;font-weight:650}.brand-divider{height:22px;width:1px;background:var(--line);margin:0 8px}.brand>span:last-child{color:var(--muted);font-size:13px}.main-nav{display:flex;align-self:stretch;gap:28px}.main-nav button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 2px;color:var(--muted);font-size:13px}.main-nav button.active{border-bottom-color:var(--blue);color:var(--blue)}.main-nav button:hover:not(:disabled){background:none;border-color:var(--blue)}.connection{margin-left:auto;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%}.status-dot.stale{background:var(--amber)}.shell{display:flex;height:calc(100dvh - 68px);min-height:0}.sidebar{width:240px;flex-shrink:0;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:26px 14px 0;background:#f8f9fb}.side-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 18px}.segmented{display:flex;background:#e9edf2;border-radius:7px;padding:3px;gap:2px}.segmented button{flex:1;background:none;border:0;font-size:12px;padding:7px 3px;color:#677080;white-space:nowrap}.segmented button.active{background:white;color:var(--ink);box-shadow:0 1px 3px #18203115}.catalog-search{display:flex;align-items:center;gap:5px;padding:16px 7px 12px;color:var(--muted)}.catalog-search>span{font-size:22px;line-height:1}.catalog-search input{border:none;background:none;padding:4px;width:100%;font-size:12px}.set-list{overflow:auto;flex:1;padding-bottom:18px}.dataset{width:100%;text-align:left;display:flex;align-items:center;gap:9px;background:none;border:1px solid transparent;padding:11px 10px;margin:2px 0;border-radius:7px}.dataset svg{color:#8d97a7}.dataset .dataset-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.dataset .dataset-count{font-size:11px;color:#818b9a;font-variant-numeric:tabular-nums}.dataset.active{background:var(--blue-soft);color:var(--blue);border-color:#e1e9f7}.dataset.active svg,.dataset.active .dataset-count{color:var(--blue)}.side-description{font-size:11px;line-height:1.5;color:var(--muted);margin:4px 8px 12px}.side-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:18px 8px;color:var(--muted);font-size:11px}.side-footer strong{font-weight:500;color:#5f6978;display:block;margin-bottom:4px}.side-footer span{display:block}.readonly-icon{font-size:20px}main{flex:1;min-width:0;overflow:auto;position:relative;display:flex;flex-direction:column}.page-top{padding:29px 30px 0;background:var(--paper)}.title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.title-line .spacer{flex:1}.subtitle{color:var(--muted);font-size:12px;line-height:1.6;margin:7px 0 20px}.badge{display:inline-flex;align-items:center;border-radius:5px;padding:4px 7px;font-size:10px;line-height:1;white-space:nowrap;color:#626d7e;background:#eef1f5;font-weight:500}.badge.clean{background:var(--blue-soft);color:var(--blue)}.badge.raw{background:#f0eef8;color:#76608c}.badge.good{background:var(--green-soft);color:var(--green)}.badge.warning{background:var(--amber-soft);color:var(--amber)}.badge.bad{background:var(--red-soft);color:var(--red)}.subnav{display:flex;gap:25px;margin-top:12px}.subnav button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:11px 0 13px;background:none;color:var(--muted);font-size:12px}.subnav button.active{color:var(--ink);border-bottom-color:var(--ink)}.subnav button:hover:not(:disabled){background:none}.explorer-body{border-top:1px solid var(--line);display:flex;flex:1;min-height:0;background:var(--paper)}.records{min-width:0;flex:1;display:flex;flex-direction:column}.lineage-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);padding:12px 30px;border-top:1px solid var(--line);background:#fafbfd;font-size:11px}.lineage-strip button{padding:4px 7px;font-size:11px;border-color:#e0e5ec;background:white}.lineage-strip .pipeline-name{font-size:10px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.toolbar{padding:18px 24px 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.record-search{display:flex;align-items:center;gap:9px;flex:1;min-width:200px}.search-input-wrap{display:flex;align-items:center;gap:7px;border:1px solid #d5dbe3;border-radius:6px;padding:0 10px;flex:1}.search-input-wrap svg{color:#8b96a5}.search-input-wrap input{border:0;width:100%;outline:none;padding:9px 0;background:none}.search-input-wrap:focus-within{outline:2px solid #bacde9}.toolbar button,.toolbar summary{font-size:12px}.tool-detail{position:relative}.tool-detail>summary{list-style:none;border:1px solid var(--line);padding:8px 11px;border-radius:6px;cursor:pointer;user-select:none}.tool-detail>summary::-webkit-details-marker{display:none}.tool-detail[open]>summary{background:var(--blue-soft);color:var(--blue)}.popover{position:absolute;top:40px;right:0;z-index:12;background:white;border:1px solid var(--line);padding:16px;box-shadow:0 8px 32px #202c421c;border-radius:9px;width:310px}.popover h3{margin-bottom:12px}.popover label.field{display:block;font-size:11px;color:var(--muted);margin:10px 0 5px}.popover input:not([type=checkbox]),.popover select{width:100%;margin-bottom:7px}.column-options{max-height:320px;overflow:auto}.column-options label{display:flex;gap:9px;padding:7px 2px;font-size:12px}.filter-chips{padding:0 24px 10px;display:flex;flex-wrap:wrap;gap:6px}.filter-chip{border:1px solid #dce5f3;background:#f3f6fb;border-radius:5px;color:#526785;font-size:11px;padding:4px 7px;display:flex;gap:7px;align-items:center}.filter-chip button{background:none;border:none;padding:0 2px;color:#687f9f}.results-line{padding:4px 24px 13px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:12px}.table-scroll{overflow:auto;flex:1;min-height:130px}.data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;table-layout:fixed}.data-table th{position:sticky;top:0;z-index:2;background:#f8f9fb;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#697485;font-size:11px;font-weight:500;height:39px;padding:0 15px}.data-table th:first-child{padding-left:24px}.data-table th button{padding:0;border:none;background:none;text-align:left;width:100%;font-size:11px;color:inherit}.data-table td{height:62px;border-bottom:1px solid #edf0f4;padding:10px 15px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}.data-table td:first-child{padding-left:24px}.data-table tbody tr:hover{background:#f7f9fc}.data-table tbody tr.selected{background:#edf3fc}.cell-primary{display:block;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34415a}.record-button{border:0;background:none;padding:0;text-align:left;max-width:100%;font-size:12px;line-height:1.6;color:inherit}.record-button:hover:not(:disabled){background:none;color:var(--blue)}.cell-secondary{display:block;font-size:10px;color:#8b93a0;line-height:1.5;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.null{color:#b6bdc7}.pagination{padding:13px 24px;display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);background:white}.pagination .spacer{flex:1}.pagination button{padding:6px 10px;font-size:11px}.empty{padding:60px 24px;color:var(--muted);text-align:center;line-height:1.7}.empty h2{color:var(--ink);margin-bottom:8px}.empty.small{padding:25px 10px;font-size:12px}.empty button{margin-top:12px}.error-panel{margin:20px 24px;background:var(--red-soft);border:1px solid #efd4d4;color:var(--red);padding:16px;border-radius:8px;line-height:1.6;overflow-wrap:anywhere}.error-panel button{margin-top:10px}.inspector{width:410px;min-width:310px;max-width:45%;border-left:1px solid var(--line);background:#fcfcfd;overflow:auto}.inspector-head{padding:22px;position:sticky;top:0;background:#fcfcfd;z-index:3;border-bottom:1px solid var(--line)}.inspector-head .title-line{flex-wrap:nowrap;align-items:flex-start}.inspector h2{line-height:1.45;overflow-wrap:anywhere;font-size:16px}.icon-button{border:none;background:none;padding:3px 5px;color:var(--muted);font-size:18px;line-height:1}.inspector-head .mono{overflow-wrap:anywhere;line-height:1.6;margin-top:10px;color:var(--muted);font-size:10px}.inspector-content{padding:22px}.inspector-content h3{margin:22px 0 12px}.inspector-content h3:first-child{margin-top:0}.record-fields{margin:0}.record-fields>div{padding:10px 0;border-bottom:1px solid #eaeef3}.record-fields dt{font-size:11px;color:var(--muted);margin-bottom:6px}.record-fields dd{margin:0;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.record-fields dd pre{white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.65;margin:0}.record-fields details summary{color:var(--blue);cursor:pointer;font-size:11px;margin-top:8px}.record-fields .bool{font-size:11px}.relation{display:block;background:white;border:1px solid var(--line);border-radius:7px;padding:12px;margin:8px 0;line-height:1.6;width:100%;text-align:left}.relation small{display:block;color:var(--muted);font-size:10px;margin-top:2px;overflow-wrap:anywhere}.relation-label{display:flex;justify-content:space-between;gap:6px}.record-json{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;padding:15px;background:#f0f2f6;border-radius:7px;line-height:1.7}.inspector-tabs{display:flex;gap:8px;margin-top:15px}.inspector-tabs button{padding:5px 10px;font-size:11px}.inspector-tabs button.active{background:var(--blue-soft);border-color:#dbe5f5;color:var(--blue)}.download-link{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:6px;margin-bottom:6px;font-size:12px;background:white}.progress-body{padding:28px 30px 40px;max-width:1600px;width:100%;margin:0 auto}.processing-top{border-bottom:1px solid var(--line);padding-bottom:0}.live-control{font-size:11px;display:flex;align-items:center;gap:9px;color:var(--muted)}.live-control button{font-size:11px;padding:6px 10px}.status-banner{display:flex;align-items:center;gap:14px;margin-bottom:23px}.status-symbol{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:17px}.status-symbol.warning{background:var(--amber-soft);color:var(--amber)}.status-banner h2{font-size:17px;font-weight:600}.status-banner p{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:24px;overflow:hidden}.metric{padding:21px 24px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric-label{font-size:12px;color:#647083}.metric-value{font-family:"Avenir Next",sans-serif;letter-spacing:-1px;font-weight:550;font-size:32px;margin:9px 0 5px;line-height:1.2;font-variant-numeric:tabular-nums}.metric-value small{font-size:13px;letter-spacing:0;margin-left:3px;color:var(--muted)}.metric-note{font-size:10px;color:var(--muted);line-height:1.6}.metric-value.bad{color:var(--red)}.section-box{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:22px;overflow:hidden}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 23px;gap:15px}.section-heading p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.section-heading .minor{font-size:11px;color:var(--muted)}.metric-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.metric-table th{background:#f8f9fb;border-block:1px solid var(--line);font-size:10px;font-weight:500;color:var(--muted);padding:11px 20px}.metric-table td{padding:15px 20px;border-bottom:1px solid #edf0f4;vertical-align:middle}.metric-table tr:last-child td{border-bottom:0}.metric-table td.number,.metric-table th.number{text-align:right;font-variant-numeric:tabular-nums}.metric-table .pipe-title{display:block;font-weight:550;margin-bottom:6px;font-size:12px}.pipe-route{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.text-link{padding:0;background:none;border:none;color:var(--blue);font-size:inherit;text-align:left}.text-link:hover:not(:disabled){background:none;text-decoration:underline}.coverage-bar{height:4px;width:100%;min-width:70px;background:#edf0f5;border-radius:3px;overflow:hidden;margin-top:7px}.coverage-bar span{display:block;height:100%;background:#83a8a0;border-radius:3px}.section-foot{padding:13px 23px;font-size:10px;color:var(--muted);line-height:1.7;background:#fafbfd;border-top:1px solid var(--line)}.chart{height:130px;display:flex;gap:5px;align-items:flex-end;padding:8px 24px 0}.chart-column{flex:1;height:100%;display:flex;align-items:flex-end;border-bottom:1px solid #d8dfeb;position:relative}.chart-column>div{width:100%;background:#7798ca;border-radius:3px 3px 0 0;min-height:2px}.chart-column:last-child>div{background:#b5c7e2}.chart-labels{display:flex;justify-content:space-between;padding:11px 24px 18px;font-size:10px;color:var(--muted)}.chart-zero{padding:0 24px 4px;font-size:11px;color:var(--muted)}.metric-scroll{overflow:auto}.diagnostic-note{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:20px}.streams{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:22px}.stream{padding:20px;border:1px solid var(--line);border-radius:8px;background:white}.stream h3{font-size:12px;overflow-wrap:anywhere;margin-bottom:14px}.stream .num{font-size:23px;letter-spacing:-.5px;margin-bottom:8px}.stream p{font-size:11px;color:var(--muted);line-height:1.7}.connection-body{padding:25px 30px;overflow:auto;flex:1;background:var(--canvas)}.flow-head,.flow-row{display:grid;grid-template-columns:minmax(130px,1fr) 28px minmax(150px,1.1fr) 28px minmax(130px,1fr);align-items:center;gap:10px}.flow-head{padding:0 16px 12px;font-size:11px;color:var(--muted)}.flow-row{padding:15px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:white}.flow-node{border:1px solid var(--line);border-radius:7px;padding:14px;text-align:left;min-width:0;background:#fcfcfd;width:100%;display:block}.flow-node strong{font-size:12px;display:block;margin:7px 0;overflow-wrap:anywhere;font-weight:550}.flow-node small{color:var(--muted);font-size:10px}.flow-node.active-node{border-color:#b7c9e6;background:#f3f7fd}.flow-arrow{color:#a3aebe;text-align:center}.flow-step{padding:10px;text-align:center;min-width:0;overflow-wrap:anywhere}.flow-step strong{font-size:11px;font-weight:500;display:block;margin-bottom:8px}.flow-step small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.flow-sources{display:flex;flex-direction:column;gap:5px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#2e3c53;color:white;padding:12px 20px;border-radius:8px;font-size:12px;box-shadow:0 4px 15px #0002;z-index:40}.failure-detail{color:var(--red);font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 22px;line-height:1.6;border-top:1px solid var(--line)}[hidden]{display:none!important}.processing-mode .sidebar{display:none}.loading-line{font-size:11px;color:var(--muted);padding:20px 24px}.record-scroll-hint{display:none}
.processor-table{min-width:980px}.processor-diagnostics{margin-top:7px;font-size:10px}.processor-diagnostics>summary{color:var(--blue);cursor:pointer;width:max-content}.processor-diagnostics>div{margin-top:9px;padding:11px;background:#f8f9fb;border:1px solid var(--line);border-radius:6px;min-width:270px}.broker-consumer-detail+.broker-consumer-detail{border-top:1px solid var(--line);margin-top:9px;padding-top:9px}.broker-consumer-detail dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 9px;margin:7px 0 0}.broker-consumer-detail dt{color:var(--muted)}.broker-consumer-detail dd{margin:0;overflow-wrap:anywhere}.broker-consumer-detail>p{margin-top:7px;line-height:1.6}.broker-diagnostics>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 23px;cursor:pointer}.broker-diagnostics>summary::-webkit-details-marker{display:none}.broker-diagnostics>summary strong{display:block;font-size:13px}.broker-diagnostics>summary small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.broker-diagnostics[open]>summary{border-bottom:1px solid var(--line)}
.import-table{min-width:1120px}.run-duration{font-variant-numeric:tabular-nums}.connector-history-row>td{padding:0 20px 10px!important;background:#fafbfd}.connector-history{font-size:10px}.connector-history>summary{list-style:none;color:var(--blue);cursor:pointer;width:max-content;padding:7px 0}.connector-history>summary::-webkit-details-marker{display:none}.connector-history>summary span{color:var(--muted);margin-left:5px}.connector-history>summary:focus-visible{outline:2px solid #bacde9;outline-offset:3px;border-radius:2px}.connector-history>div{border:1px solid var(--line);border-radius:7px;background:white;margin:3px 0 5px;overflow:hidden}.connector-history table{width:100%;border-collapse:collapse;min-width:850px;font-size:10px}.connector-history table th{padding:9px 11px;background:#f8f9fb;border-bottom:1px solid var(--line);color:var(--muted);font-weight:500}.connector-history table td{padding:10px 11px;border-bottom:1px solid #edf0f4;white-space:nowrap}.connector-history table tr:last-child td{border-bottom:0}.notification-evidence{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.notification-evidence>div{background:#fafbfd;padding:10px 12px}.notification-evidence span{display:block;color:var(--muted);margin-bottom:5px}.notification-evidence strong{font-size:11px;font-weight:550;font-variant-numeric:tabular-nums}.notification-evidence>p{grid-column:1/-1;background:#fafbfd;color:var(--muted);line-height:1.6;padding:8px 12px}.history-diagnostic{color:var(--muted);line-height:1.6;padding:11px 12px}
.processor-runtime-row>td{padding:0 20px 12px!important;background:#fafbfd}
.processor-runtime>summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;padding:11px 14px}
.processor-runtime>summary::-webkit-details-marker{display:none}
.processor-runtime>summary::before{content:"›";font-size:19px;line-height:1;color:var(--muted)}
.processor-runtime[open]>summary::before{transform:rotate(90deg)}
.processor-runtime>summary>span:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.processor-runtime>summary strong{font-size:12px;color:var(--blue)}
.processor-runtime>summary small,.heartbeat-age{font-size:11px;color:var(--muted)}
.processor-runtime>summary .minor{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap}
.processor-runtime[open]>summary{border-radius:7px 7px 0 0;background:#f7f9fc}
.processor-runtime-body{border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;background:white}
.processor-runtime-body>section{min-width:0;padding:18px}
.processor-runtime-body>section+section{border-top:1px solid var(--line)}
.processor-runtime-body h3{font-size:12px;color:var(--ink)}
.worker-lanes-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.worker-lanes-heading p{font-size:11px;color:var(--muted);margin-top:5px}
.batch-legend{display:flex;gap:14px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.batch-legend>span{display:flex;align-items:center;gap:6px}
.batch-legend i{display:block;width:12px;height:8px;border-radius:2px}
.batch-segment.succeeded,.batch-legend .succeeded{background:var(--green)}
.batch-segment.failed,.batch-legend .failed{background:repeating-linear-gradient(135deg,var(--red),var(--red) 3px,#cf7e7e 3px,#cf7e7e 5px)}
.batch-segment.remaining,.batch-legend .remaining{background:#dfe7f3}
.worker-lane{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);border:1px solid var(--line);border-radius:6px;margin-top:10px;overflow:hidden}
.worker-lane-identity{display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:#f8f9fb;padding:16px;border-right:1px solid var(--line)}
.worker-name{font-size:12px;font-weight:600;overflow-wrap:anywhere;max-width:100%}
.worker-version{font-size:10px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}
.worker-health{display:flex;align-items:center;gap:7px;margin-top:5px}
.worker-health-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;border:2px solid var(--amber)}
.worker-lane[data-health="healthy"] .worker-health-dot{border-color:var(--green);background:var(--green)}
.worker-lane[data-health="digest-mismatch"] .worker-health-dot{background:var(--amber)}
.worker-lane-activity{padding:14px 18px;min-width:0}
.worker-activity-heading{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);line-height:1.5}
.worker-activity-heading>span:first-child{color:var(--ink);font-weight:500}
.worker-empty{font-size:12px;color:var(--muted);line-height:1.7;margin-top:14px;max-width:70ch}
.active-batch{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}
.batch-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.batch-heading strong{font-size:12px;font-weight:600}
.batch-elapsed{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.batch-progress{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#596477;margin-top:12px;line-height:1.5;font-variant-numeric:tabular-nums}
.batch-progress strong{font-weight:500}
.batch-progress-track{display:flex;height:10px;border-radius:3px;overflow:hidden;background:#edf0f5;margin-top:7px}
.batch-segment{display:block;height:100%;flex-shrink:0}
.batch-progress-track.unknown{background:repeating-linear-gradient(135deg,#edf0f5,#edf0f5 5px,#fafbfd 5px,#fafbfd 10px)}
.batch-evidence{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);line-height:1.6;margin-top:8px}
.batch-status{font-size:12px;line-height:1.6;color:var(--ink);margin-top:8px;overflow-wrap:anywhere;white-space:pre-wrap}
.worker-history h3{margin-bottom:12px}
.worker-run-table{width:100%;border-collapse:collapse;min-width:620px;font-size:11px}
.worker-run-table th{background:#f8f9fb;color:var(--muted);font-weight:500;padding:10px;border-bottom:1px solid var(--line)}
.worker-run-table td{padding:11px 10px;border-bottom:1px solid #edf0f4;white-space:nowrap}
.worker-run-table .number{text-align:right;font-variant-numeric:tabular-nums}
.worker-run-table tr:last-child td{border-bottom:0}
.processor-runtime+.processor-diagnostics{margin:8px 2px 0}
.processor-runtime+.processor-diagnostics>div{max-width:720px}
@media(max-width:900px){.worker-lane{grid-template-columns:minmax(140px,180px) minmax(0,1fr)}.worker-lane-activity{padding:14px}.batch-elapsed{margin-left:0}}
@media(max-width:600px){.worker-lane{grid-template-columns:1fr}.worker-lane-identity{border-right:0;border-bottom:1px solid var(--line)}.worker-lanes-heading{align-items:flex-start}.processor-runtime-body>section{padding:12px}}
@media(min-width:1600px){.inspector{width:480px}.sidebar{width:255px}}
@media(max-width:1100px){.sidebar{width:210px;padding-inline:10px}.page-top{padding:24px 22px 0}.lineage-strip{padding-inline:22px}.progress-body{padding:23px 22px}.org-body,.author-body{padding:0 22px 30px}.metric{padding:18px}.metric-table td,.metric-table th{padding-inline:14px}.inspector{width:350px;min-width:280px}.toolbar{padding-inline:18px}.data-table{min-width:550px}.app-header{gap:30px;padding-inline:20px}}
@media(max-width:800px){.sidebar{width:190px}.side-heading{padding-bottom:12px}.segmented button{font-size:11px}.app-header{height:60px;gap:25px;padding-inline:16px}.shell{height:calc(100dvh - 60px)}.connection{font-size:0}.main-nav{gap:20px}.brand strong{font-size:21px}.brand-divider,.brand>span:last-child{display:none}.inspector{position:fixed;right:0;top:60px;bottom:0;z-index:20;max-width:90vw;width:440px;box-shadow:-15px 0 50px #22365326}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.flow-head,.flow-row{grid-template-columns:minmax(100px,1fr) 15px minmax(105px,1fr) 15px minmax(100px,1fr);gap:5px}.flow-node{padding:10px}.connection-body{padding:20px;overflow:auto}.flow-row,.flow-head{min-width:500px}.metric-table{min-width:720px}.progress-body{padding:20px}.live-control{flex-wrap:wrap}.title-line{gap:8px}.subtitle{margin-bottom:16px}h1{font-size:24px}.processor-runtime-body{grid-template-columns:1fr}.processor-runtime-body>section+section{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:560px){.app-header{gap:20px}.main-nav{gap:16px}.main-nav button{font-size:12px}.sidebar{width:154px;padding-inline:7px;padding-top:20px}.dataset{padding:10px 6px;gap:6px}.dataset svg{width:13px}.dataset .dataset-name{font-size:11px}.dataset .dataset-count{display:none}.side-description{font-size:10px}.side-heading{font-size:12px;padding-inline:5px}.segmented{flex-direction:column}.catalog-search{padding-inline:2px}.catalog-search input{font-size:11px}.page-top{padding:20px 17px 0}.lineage-strip{padding:12px 17px}.toolbar{padding:14px 12px 10px}.record-search{min-width:100%;gap:5px}.record-search button{padding-inline:8px}.popover{position:fixed;top:190px;left:50%;transform:translateX(-50%);width:min(310px,90vw)}.side-footer{padding-inline:2px;font-size:9px}.readonly-icon{display:none}.pagination{padding-inline:12px;gap:8px}.filter-chips,.results-line{padding-inline:12px}.progress-body{padding:16px}.org-body,.author-body{padding:0 16px 24px}.metric{padding:15px}.metric-value{font-size:27px}.section-heading{padding:17px}.inspector{width:94vw;max-width:94vw}.connection-body{padding:15px}.live-control{margin-top:5px}.processing-top .title-line{align-items:flex-start}.processing-top .spacer{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.model-mode>.sidebar{display:none}
.ontology-layout{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start;flex:1;border-top:1px solid var(--line)}
.ontology-index{padding:24px 14px;background:#f8f9fb;min-width:0;border-right:1px solid var(--line);align-self:stretch}
.ontology-index section+section{margin-top:26px}
.ontology-index h2{font-size:12px;padding:0 10px 10px;color:var(--muted)}
.ontology-type{display:block;width:100%;text-align:left;border:1px solid transparent;background:none;margin:2px 0;padding:10px}
.ontology-type span,.ontology-type small{display:block;overflow-wrap:anywhere}
.ontology-type small{font-size:10px;color:var(--muted);margin-top:5px}
.ontology-type.active{background:var(--blue-soft);color:var(--blue);border-color:#e1e9f7}
.ontology-index .ontology-note{font-size:11px;padding:0 10px}
.ontology-content{min-width:0;background:white;padding:28px 30px}
.ontology-details>h3{margin-top:24px;margin-bottom:10px}
.ontology-details>.title-line>h2{font-size:23px}
.ontology-id{font-size:11px;color:var(--muted);margin-top:7px;overflow-wrap:anywhere}
.ontology-authority{border-left:3px solid var(--blue);padding:3px 0 3px 15px;margin:23px 0;max-width:80ch;line-height:1.7}
.ontology-authority p,.ontology-note{font-size:12px;line-height:1.7;color:var(--muted)}
.ontology-family{font-size:12px;line-height:2;margin:10px 0}
.ontology-producers{margin:20px 0;line-height:1.8}
.ontology-producers p{margin-top:10px}
.ontology-producers small,.ontology-producers span:not(.badge){display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.ontology-table-scroll{max-width:100%;overflow:auto}
.ontology-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.ontology-table th{font-weight:500;color:var(--muted);background:#f8f9fb;padding:11px;border-bottom:1px solid var(--line)}
.ontology-table td{padding:12px 11px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;max-width:240px}
.ontology-table td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.ontology-relationship{padding:16px 0;border-bottom:1px solid var(--line);line-height:1.7}
.ontology-relationship p+p{font-size:11px;color:var(--muted)}
.ontology-route{display:block;font-size:11px;line-height:1.6;color:#586779;margin:9px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.ontology-operations{border-top:1px solid var(--line);padding-top:26px;margin-top:32px}
.ontology-operations>.ontology-note{margin:10px 0 18px;max-width:80ch}
.ontology-callable{border:1px solid var(--line);border-radius:6px;margin-top:10px}
.ontology-callable>summary{padding:14px;cursor:pointer;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ontology-callable>summary strong{margin-right:auto}
.ontology-callable-body{border-top:1px solid var(--line);padding:16px;line-height:1.7;font-size:12px}
.ontology-callable-body>p{max-width:80ch;color:var(--muted)}
.ontology-contract{margin-top:15px;color:var(--muted)}
.ontology-contract>summary{cursor:pointer}
.ontology-retired{margin-top:22px;color:var(--muted);font-size:12px}
.ontology-retired>summary{cursor:pointer;padding:10px}
.ontology-contract pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}
.callable-parameters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:16px 0}.callable-parameters label,.business-read-form label{display:flex;flex-direction:column;gap:6px;font-size:12px}.callable-parameters small{font-size:10px;color:var(--muted)}.callable-parameters input,.callable-parameters select,.callable-parameters textarea,.business-read-form input{width:100%;border:1px solid var(--line);border-radius:5px;padding:9px;background:white;color:inherit;font:inherit}.callable-form>button{margin-top:12px}.callable-result,.callable-review{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:6px}.callable-review button+button{margin-left:8px}.callable-result pre,.callable-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;margin:12px 0}.callable-result details{margin-top:12px}.business-reads{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.business-reads>p{margin:10px 0}.business-read-form{display:grid;gap:12px;margin:14px 0}.business-read-form>button{justify-self:start}.business-reads>details,.business-inspector>details{padding:12px 0;border-bottom:1px solid var(--line)}.business-reads summary,.business-inspector summary{cursor:pointer}.business-inspector{margin-bottom:24px}.business-record{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.business-record small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.business-results{margin-top:12px}.business-results>button{margin-top:12px}.eligible-result{font-size:12px;margin:10px 0}.segmented button{font-size:11px}
@media(max-width:800px){.ontology-layout{grid-template-columns:190px minmax(0,1fr)}.ontology-content{padding:22px}.ontology-index{padding:20px 10px}}
@media(max-width:560px){.ontology-layout{grid-template-columns:1fr}.ontology-index{border-right:0;border-bottom:1px solid var(--line);max-height:220px;overflow:auto}.ontology-type{font-size:12px}.ontology-content{padding:20px 17px}.ontology-details>.title-line>h2{font-size:20px}.ontology-table{font-size:11px}.ontology-table td,.ontology-table th{padding:9px}.main-nav{gap:12px}.app-header{gap:15px}}
.metrics-snapshots { display:flex; flex-wrap:wrap; gap:8px 24px; margin:0 0 18px; }
.metrics-snapshots > div { min-width:0; overflow-wrap:anywhere; }
.metrics-snapshots .snapshot-explanation { flex-basis:100%; }
.snapshot-error { display:block; max-width:70ch; }
.catalog-categories{display:grid;grid-template-columns:1fr;width:100%}
.catalog-categories button{padding:7px 9px;text-align:left}
.dataset-label{flex:1;min-width:0}
.dataset-label .dataset-name{display:block}
.dataset-kind{display:block;color:var(--muted);font-size:9px;margin-top:3px;font-weight:400}
.dataset.active .dataset-kind{color:#617ba6}
.lineage-strip{display:block;padding:9px 30px}
.lineage-strip>summary{cursor:pointer;width:max-content;color:var(--blue);padding:3px 0}
.lineage-strip>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 0 3px}
.lineage-strip>div>.spacer{flex:1}
.ontology-data{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
.ontology-data>summary,.ontology-technical>summary,.ontology-all-operations>summary,.ontology-relationship-technical>summary{cursor:pointer;color:var(--blue)}
.ontology-data>section{margin-top:18px}
.ontology-family-overview{border:1px solid #dbe5f5;background:#f8faff;border-radius:8px;padding:20px;margin-bottom:30px}
.ontology-family-overview>div:first-child{margin-bottom:15px}
.ontology-family-overview>div:first-child p{margin-top:6px}
.ontology-families{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.ontology-family-card{display:grid;grid-template-columns:minmax(95px,.8fr) 24px minmax(120px,1.2fr);align-items:center;min-width:0;background:white;border:1px solid var(--line);border-radius:7px;padding:14px}
.ontology-family-card h3{font-size:15px}
.ontology-family-card p{color:var(--muted);font-size:10px;line-height:1.55;margin-top:5px}
.ontology-family-line{height:1px;background:#cbd7e9;position:relative;margin-inline:5px}
.ontology-family-line::after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:1px solid #9fb4d3;border-right:1px solid #9fb4d3;transform:rotate(45deg)}
.ontology-family-members{display:flex;flex-wrap:wrap;gap:6px}
.ontology-family-members .text-link{background:var(--blue-soft);border:1px solid #dbe5f5;border-radius:5px;padding:6px 8px;text-decoration:none}
.ontology-description{font-size:13px;line-height:1.65;margin-top:13px;max-width:72ch;color:#566173}
.ontology-details>.ontology-family{margin:12px 0 0}
.ontology-section-title{margin-top:26px!important}
.ontology-eligible .text-link{font-size:11px}
.ontology-relationship-technical{margin-top:7px;font-size:11px}
.ontology-relationship-technical>summary{width:max-content}
.ontology-technical{margin-top:28px;border:1px solid var(--line);border-radius:7px}
.ontology-technical>summary{padding:14px;font-weight:550}
.ontology-technical>div{border-top:1px solid var(--line);padding:4px 16px 18px}
.ontology-related-data{margin-top:14px}
.ontology-related-data>h3{margin-bottom:4px}
.ontology-operations{border-top:1px solid var(--line);padding-top:26px;margin-top:32px}
.ontology-all-operations{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}
.ontology-all-operations>summary{font-weight:550;padding:8px 0}
.ontology-all-operations>div{padding:8px 0 20px}
.flow-node small,.ontology-producers span>small{display:block;overflow-wrap:anywhere}
.business-inspector summary>small,.record-fields dt>small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}
@media(max-width:560px){.lineage-strip{padding-inline:17px}.ontology-family-overview{padding:16px;margin-bottom:22px}.ontology-family-card{grid-template-columns:1fr}.ontology-family-line{height:18px;width:1px;margin:7px 0 7px 10px}.ontology-family-line::after{right:-3px;top:auto;bottom:0;transform:rotate(135deg)}.ontology-families{grid-template-columns:1fr}.ontology-technical>div{padding-inline:12px}}
@media(max-width:430px){.app-header{padding-inline:10px;gap:10px}.brand{gap:6px}.brand svg{width:18px}.brand strong{font-size:18px}.main-nav{gap:9px;flex:1}.main-nav button{font-size:11px}.connection{margin-left:0}.sidebar{width:145px}.ontology-content{padding-inline:14px}.ontology-index{max-height:210px}}

/* MCP: switches per declaration */
.shell.mcp-mode .sidebar { display: none; }
.mcp-toolbar { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 12px; position: sticky; top: 0; z-index: 3; background: var(--bg, #f6f6f7); padding: 8px 0; }
#mcp-search { flex: 1; max-width: 420px; padding: 7px 10px; border: 1px solid var(--line, #d8d8dc); border-radius: 8px; font: inherit; }
.mcp-connect { flex: 1; font-size: 12.5px; }
.mcp-connect summary { cursor: pointer; padding: 7px 0; }
.mcp-connect p { margin: 4px 0; }
.mcp-snippet { margin: 6px 0; padding: 8px 10px; border-radius: 8px; background: rgba(127,127,127,0.12); font-size: 12px; white-space: pre-wrap; word-break: break-all; }
.mcp-on { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; min-height: 26px; }
.mcp-chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 4px 2px 9px; border-radius: 999px; background: rgba(94,106,210,0.12); color: var(--accent, #5e6ad2); font-size: 12px; }
.mcp-chip .muted { font-size: 11px; }
.mcp-chip-x { border: none; background: none; cursor: pointer; color: inherit; font-size: 14px; line-height: 1; padding: 0 5px; border-radius: 999px; }
.mcp-chip-x:hover { background: rgba(94,106,210,0.2); }
.mcp-group { margin: 0 0 10px; border: 1px solid var(--line, #d8d8dc); border-radius: 10px; background: var(--panel, #fff); }
.mcp-group summary { display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; list-style: none; }
.mcp-group summary::-webkit-details-marker { display: none; }
.mcp-group summary::before { content: "▸"; color: var(--muted, #6e6e73); font-size: 11px; }
.mcp-group[open] summary::before { content: "▾"; }
.mcp-group-title { font-weight: 600; }
.mcp-count { font-size: 12px; color: var(--muted, #6e6e73); }
.mcp-count.lit { color: var(--accent, #5e6ad2); }
.mcp-group summary .spacer { flex: 1; }
.mcp-bulk { font: inherit; font-size: 12px; padding: 3px 9px; border: 1px solid var(--line, #d8d8dc); border-radius: 6px; background: transparent; cursor: pointer; color: var(--muted, #6e6e73); }
.mcp-bulk:hover { color: var(--ink, #1c1c1e); border-color: var(--accent, #5e6ad2); }
.mcp-hint { margin: 0; padding: 0 14px 8px 32px; font-size: 12px; }
.mcp-target { padding: 8px 14px 2px 32px; font-size: 12px; color: var(--muted, #6e6e73); }
.mcp-rows { display: grid; }
.mcp-row { display: grid; grid-template-columns: 36px minmax(180px, 1fr) minmax(0, 2fr) minmax(0, 1.4fr); gap: 12px; align-items: center; padding: 6px 14px; border-top: 1px solid var(--line, #eeeef0); cursor: pointer; font-size: 13px; }
.mcp-row:hover { background: rgba(127,127,127,0.06); }
.mcp-row.on strong { color: var(--accent, #5e6ad2); }
.mcp-name, .mcp-desc, .mcp-params { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mcp-params { font-size: 11.5px; }
.mcp-tag { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 999px; font-size: 10.5px; border: 1px solid var(--line, #d8d8dc); color: var(--muted, #6e6e73); vertical-align: 1px; }
.switch { position: relative; display: inline-block; width: 32px; height: 18px; flex: none; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch span { position: absolute; inset: 0; border-radius: 999px; background: rgba(127,127,127,0.35); transition: background 120ms; cursor: pointer; }
.switch span::before { content: ""; position: absolute; width: 14px; height: 14px; left: 2px; top: 2px; border-radius: 50%; background: #fff; transition: transform 120ms; }
.switch input:checked + span { background: var(--accent, #5e6ad2); }
.switch input:checked + span::before { transform: translateX(14px); }
.switch input:disabled + span { opacity: 0.5; cursor: default; }

.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 16px}.dash-tile{background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 12px}.dash-tile .n{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.dash-tile .l{font-size:11px;color:var(--muted);margin-top:3px}.dash-tile.bad{border-color:#e0a4a0;background:#fff5f4}.dash-tile.warning{border-color:#e6cd93;background:#fffaec}
.dash-table{min-width:1080px}.dash-table tr[data-attention="bad"] td:first-child{box-shadow:inset 3px 0 0 #c33}.dash-table tr[data-attention="warning"] td:first-child{box-shadow:inset 3px 0 0 #d9a520}.dash-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.dash-events td{vertical-align:top}.dash-attempts{margin-top:6px;font-size:10px}.dash-attempts>summary{color:var(--blue);cursor:pointer;width:max-content}.dash-attempts-body{margin-top:6px}.dash-inner{min-width:640px;font-size:11px}.section-box+.section-box,.dash-columns+.section-box,.section-box+.dash-columns{margin-top:16px}
.log-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.log-filters select,.log-filters input[type=search]{font:inherit;font-size:12px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:#fff}.log-filters input[type=search]{min-width:280px;flex:1}.log-check{font-size:12px;display:flex;gap:6px;align-items:center;color:var(--muted)}
.log-table{min-width:900px;font-size:11.5px}.log-table td{vertical-align:top}.log-table tr[data-attention="bad"] td:first-child{box-shadow:inset 3px 0 0 #c33}.log-table tr[data-attention="warning"] td:first-child{box-shadow:inset 3px 0 0 #d9a520}.log-message{white-space:pre-wrap;word-break:break-word;max-width:900px}.log-logger{font-size:10px;margin-right:4px}.log-trace{margin-top:4px;font-size:10px}.log-trace summary{color:var(--blue);cursor:pointer;width:max-content}.log-trace pre{margin:4px 0 0;font-size:10px;white-space:pre-wrap;max-height:320px;overflow:auto;background:#f6f6f4;padding:6px;border-radius:4px}

/* The page gutter every other view has. These two grew their own markup and never got one, so
   the tables sat against the window edge while the heading above them was inset by thirty. */
.org-body,.author-body{padding:0 30px 40px;max-width:1600px;width:100%;margin:0 auto}
.org-section{margin:0 0 30px}.org-section h2{font-size:14px;margin:0 0 5px}.org-section>.muted{margin:0 0 14px;font-size:12px;line-height:1.6;max-width:760px}
.org-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.org-table th{text-align:left;font-size:11px;color:var(--muted);font-weight:600;padding:11px 16px;border-bottom:1px solid var(--line)}
.org-table td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.org-table tr:last-child td{border-bottom:none}
.org-picker{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted);margin:0 0 20px;flex-wrap:wrap}
.org-picker select{font-size:12px;padding:6px 9px;max-width:420px}
.org-add{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}
.org-add input[type=text]{font:inherit;font-size:12px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;min-width:240px}
.org-add button{font:inherit;font-size:12px;padding:6px 14px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer}
.org-add button:hover{background:#f6f6f4}
.switch-line{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);cursor:pointer}
.notice.error{border:1px solid #e0a4a0;background:#fff5f4;color:#8a2b24;padding:8px 12px;border-radius:6px;font-size:12px;margin:0 0 14px}

.author-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}
.author-list{display:flex;flex-direction:column;gap:2px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;padding:8px;max-height:calc(100vh - 220px);overflow:auto}
.author-group{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:10px 0 4px;padding:0 6px}
.author-item{display:flex;flex-direction:column;gap:1px;text-align:left;font:inherit;font-size:12px;padding:6px 8px;border:none;background:none;border-radius:5px;cursor:pointer}
.author-item:hover{background:#f2f2f0}.author-item.active{background:#e8eef8}
.author-item.built{cursor:default;opacity:.65}.author-item.built:hover{background:none}
.author-item.new{color:var(--blue);font-weight:600}
.author-item span{font-size:11px}.author-empty{font-size:12px;margin:0 0 0 8px}
.author-pane{min-width:0}
.author-editor{background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;padding:14px}
.author-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 10px}
.author-editor label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}
.author-editor input{font:inherit;font-size:12px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:#111}
.author-editor input[readonly]{background:#f6f6f4;color:var(--muted)}
.author-note-field{margin:0 0 10px}
.author-editor textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fbfbf9;resize:vertical;box-sizing:border-box}
.author-actions{display:flex;gap:8px;align-items:center;margin:10px 0 0}
.author-actions button{font:inherit;font-size:12px;padding:6px 14px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer}
.author-actions button[type=submit]{background:var(--blue,#1a56b0);border-color:var(--blue,#1a56b0);color:#fff}
.author-actions .spacer{flex:1}
#author-note{margin-top:10px}
.notice.good{border:1px solid #a8cba0;background:#f4fbf3;color:#2b6524;padding:8px 12px;border-radius:6px;font-size:12px}
.notice.error ul{margin:6px 0 0;padding-left:18px}

/* Whether anything is running a declaration: a dot beside the name, and a line in the editor.
   A declaration nothing hosts looks identical to one that is running until this says otherwise. */
.author-state {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-left: 6px; vertical-align: middle; flex: none;
}
.author-state.good { background: var(--good, #2f9e44); }
.author-state.warn { background: var(--warn, #e8a33d); }
.author-state.bad { background: var(--bad, #d64545); }
.author-state-line {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.85rem; color: var(--muted, #767676);
}
.author-state-line .author-state { margin-left: 0; }
.author-state-line.bad { color: var(--bad, #d64545); }
.author-state-line.warn { color: var(--warn, #b8791f); }

/* A declaration whose code is in an image: read, not edited. */
.author-item.built{width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:7px;padding:9px 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.author-item.built:hover:not(:disabled){background:#f1f3f7}
.author-item.built.active{background:var(--blue-soft);border-color:#e1e9f7;color:var(--blue)}
.author-reading{background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;padding:22px 24px}
.author-reading .title-line{margin-bottom:20px}
.author-reading h2{font-size:16px}
.author-facts{margin:0;display:grid;gap:0}
.author-facts>div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:12px 0;border-top:1px solid #eef0f4}
.author-facts>div:first-child{border-top:0;padding-top:0}
.author-facts dt{font-size:11px;color:var(--muted)}
.author-facts dd{margin:0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.author-facts code{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px;background:#f2f4f8;border-radius:4px;padding:1px 5px}
@media(max-width:700px){.author-facts>div{grid-template-columns:1fr;gap:4px}}

/* Reading only: the notice that says so, and the body where a declaration carries its own code. */
.author-notice{font-size:11px;line-height:1.7;color:var(--muted);background:#fafbfd;border:1px solid var(--line);border-radius:8px;padding:13px 16px;margin:0 0 18px;max-width:900px}
.author-source{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px;line-height:1.75;background:#f7f8fa;border:1px solid var(--line);border-radius:7px;padding:16px;margin:20px 0 0;overflow:auto;white-space:pre;color:#31405a}

/* The MCP page, made readable.
   Three things made it hard: it ran edge to edge like the Organisation and Processors pages did;
   the name column was a free fraction, so on a wide screen it stretched to some four hundred
   pixels and put every description that far from the name it belongs to; and the rows were tight
   enough that ninety-four of them ran together. */
.mcp-toolbar,.mcp-on,.mcp-group{max-width:1500px;margin-inline:auto}
.mcp-toolbar{padding-inline:30px;margin-bottom:14px}
.mcp-on{padding-inline:30px}
.mcp-group{margin-bottom:12px}
@media(min-width:1561px){.mcp-group{margin-inline:auto}}
/* Name close to its description, and a parameter list that has a width of its own. */
.mcp-row{grid-template-columns:36px minmax(190px,290px) minmax(0,1fr) minmax(0,230px);gap:18px;padding:9px 14px}
.mcp-row .mcp-desc{color:var(--muted)}
.mcp-rows>.mcp-row:first-child{border-top-color:var(--line)}
/* The chips are a summary of what is on, and with ninety-four on they were a wall above the
   thing they summarise. Bounded, and scrolled when there are more than a few rows of them. */
.mcp-on{max-height:96px;overflow:auto;padding-block:2px}
.mcp-group summary{padding:12px 14px}
.mcp-hint{padding-bottom:10px}
@media(max-width:1100px){.mcp-toolbar,.mcp-on{padding-inline:22px}.mcp-row{grid-template-columns:36px minmax(160px,240px) minmax(0,1fr);gap:14px}.mcp-row .mcp-params{display:none}}
@media(max-width:560px){.mcp-toolbar,.mcp-on{padding-inline:16px}.mcp-row{grid-template-columns:36px minmax(0,1fr);gap:10px}.mcp-row .mcp-desc{display:none}}

.org-add input[type=email]{font:inherit;font-size:12px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;min-width:240px}
.org-role{font:inherit;font-size:12px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:#fff}
.org-register{margin:0 0 20px;font-size:12px}
.org-register>summary{cursor:pointer;color:var(--blue);width:fit-content;padding:2px 0}
.org-register>.muted{margin:10px 0 12px;line-height:1.6;max-width:760px}
.org-register-form input{min-width:170px}
.notice.minted{border:1px solid #c8b78a;background:#fffcf2;color:#5a4a1e;padding:14px 16px;border-radius:8px;margin:0 0 16px;max-width:760px;line-height:1.6}
.minted-secret{display:block;margin:12px 0;padding:11px 13px;background:#fff;border:1px solid #e2d8b8;border-radius:6px;font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;overflow-wrap:anywhere;user-select:all}
.minted-actions{display:flex;gap:9px}

.identity{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-left:18px;white-space:nowrap}
.identity-who{overflow:hidden;text-overflow:ellipsis;max-width:260px}
.identity button{font-size:11px}
.signed-out .sidebar{display:none}
.signed-out .main-nav{visibility:hidden}
/* Somebody registered elsewhere: the registry is still theirs, this application's data is not. */
.outside .main-nav button:not([data-view="organisation"]){display:none}
.signin{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px;background:#0f0f10}.signin-mark{width:64px;height:64px;border-radius:15px;background:#1b1b1d;color:#fff;display:grid;place-items:center}.signin-button{background:#fafafa;color:#141416;border-radius:9px;padding:13px 0;font-size:13px;font-weight:500;width:100%;max-width:340px;text-align:center}.signin-button:hover{background:#fff;text-decoration:none}.signin-refused{color:#f0a0a0;font-size:12px;line-height:1.6;max-width:340px;text-align:center;margin:0}

body.signed-out .app-header{display:none}body.signed-out main{background:#0f0f10}
