/* Local telemetry workflow, in the same calm visual language. */
.data-shell { max-width: 1160px; padding-top: 46px; }
.data-heading { display: flex; justify-content: space-between; align-items: center; gap: 35px; margin-bottom: 32px; }
.data-heading .hero-title { margin-top: 12px; font-size: 44px; }
.data-heading .lede { max-width: 545px; }
.live-craft-picker { display: grid; gap: 7px; min-width: 220px; }
.live-craft-picker label, .live-craft-picker > span { color: var(--muted); font-size: 12px; }
.live-craft-picker select, .field-mapping select { width: 100%; border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--ink); padding: 11px 12px; font-size: 13px; }
.stream-context-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 0 1px 18px; color: var(--muted); font-size: 12px; }
.stream-context-bar > a { margin-left: auto; }
.synthetic-badge { display: inline-flex; align-items: center; padding: 3px 7px; border: 1px solid #dce7df; border-radius: 4px; background: #f4f7f2; color: #586e5e; font: 500 10px/1.4 var(--sans); letter-spacing: .03em; vertical-align: middle; white-space: nowrap; }
.connection-card { padding: 27px 28px; }
.stream-empty { padding: 38px 15px 40px; text-align: center; }
.stream-source-icon { display: grid; place-items: center; width: 51px; height: 51px; margin: 0 auto 20px; border-radius: 50%; background: #edf4f0; color: var(--teal); font-size: 31px; }
.stream-empty h2 { overflow-wrap: anywhere; font: 400 29px/1.3 var(--serif); letter-spacing: -.4px; }
.stream-empty p { max-width: 520px; margin: 13px auto 23px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.stream-empty .stream-actions { justify-content: center; }
.stream-empty .stream-footnote { font-size: 11px; margin-bottom: 0; }
.live-organisation-summary { margin-bottom: 24px; }
.spacecraft-view-title { margin:0 0 24px;font:400 30px/1.2 var(--serif);letter-spacing:-.5px }
.spacecraft-product .detail-content>.card { margin-bottom:24px }
.live-organisation-summary .card-header { align-items: center; gap: 16px; }
.live-organisation-directory { margin-top: 18px; }
.live-organisation-craft { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); }
.live-organisation-craft strong { display: block; font-size: 15px; }
.live-organisation-craft small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.live-retained-mappings { display: grid; gap: 14px; margin-top: 18px; }
@media (max-width: 640px) {
 .live-organisation-craft { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
 .live-organisation-craft > .stream-footnote { grid-row: 2; }
 .live-organisation-craft > a { grid-column: 2; grid-row: 1 / 3; }
 .live-organisation-summary .card-header { align-items: flex-start; flex-wrap: wrap; }
}
.stream-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; padding: 10px 14px; color: white; background: var(--teal-dark); font-size: 12px; font-weight: 500; min-height: 38px; }
.primary-button:hover { background: #254f46; }
.primary-button:disabled { background: #e8ede7; color: #647466; }
.stream-row-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.stream-row-heading h2 { margin-top: 6px; font: 400 25px/1.3 var(--serif); }
.stream-row-heading p { margin-top: 6px; font-size: 13px; color: var(--muted); }
.stream-status { display: inline-flex; align-items: center; gap: 7px; color: #3e6e60; font-size: 11px; white-space: nowrap; }
.stream-status > i { height: 5px; width: 5px; border-radius: 50%; background: currentColor; }
.stream-status.quiet { color: #727967; }
.stream-reading-row { display: flex; align-items: center; gap: 20px; padding: 28px 0 27px; }
.stream-value { font-size: 44px; line-height: 1.2; font-weight: 450; letter-spacing: -1.7px; }
.stream-value small { color: var(--muted); font-size: 19px; font-weight: 400; letter-spacing: 0; }
.stream-reading-context { color: var(--muted); font-size: 11px; line-height: 1.8; }
.stream-reading-row > .stream-actions { margin-left: auto; }
.added-label { color: var(--teal); font-size: 12px; }
.stream-times { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 18px 0; border-top: 1px solid var(--line); gap: 20px; }
.stream-times dt { color: var(--muted); font-size: 11px; }
.stream-times dd { margin: 5px 0 0; font-size: 13px; }
.stream-times dd small { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
.stream-source-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.stream-source-line > span { flex-basis: 100%; }
.stream-footnote { color: var(--muted); font-size: 11px; line-height: 1.7; }
.stream-inline-note { padding: 12px 14px; margin-top: 17px; border: 1px solid #e8e5d9; border-radius: 6px; background: #faf9f4; color: #666a59; font-size: 12px; line-height: 1.7; }
.stream-diagnostics { margin-top: 25px; border-top: 1px solid var(--line); padding-top: 17px; }
.stream-diagnostics > summary, .history-records > summary { color: #4e695c; font-size: 12px; cursor: pointer; }
.stream-diagnostics > summary > span { float: right; color: var(--muted); font-size: 11px; }
.stream-diagnostics p, .history-records p { margin-top: 13px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.record-counts { display: flex; flex-wrap: wrap; gap: 12px; margin: 17px 0; color: var(--muted); font-size: 11px; }
.mapping-summary { display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 7px 16px; font-size: 12px; }
.mapping-summary dt { color: var(--muted); }
.mapping-summary dd { margin: 0; overflow-wrap: anywhere; }
.diagnostic-list { margin-top: 22px; display: grid; gap: 12px; }
.diagnostic-list article { border: 1px solid var(--line); border-radius: 6px; padding: 13px; }
.diagnostic-list strong { color: #5a6b5b; text-transform: capitalize; font-size: 12px; }
.diagnostic-list p { margin: 3px 0 6px; }
.diagnostic-list small { color: var(--muted); font-size: 10px; }
.diagnostic-list details { margin-top: 8px; font-size: 11px; }
.diagnostic-list pre { overflow: auto; background: #f5f7f2; padding: 12px; color: var(--muted); border-radius: 4px; }
.data-explainer { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding: 32px 3px 13px; }
.data-explainer h3 { font: 400 19px/1.35 var(--serif); margin-top: 8px; }
.data-explainer p { color: var(--muted); font-size: 12px; line-height: 1.8; margin-top: 10px; }
.live-home-widget { margin: 0 0 24px; padding: 23px 26px 19px; }
.live-home-widget h2 { font: 400 22px/1.3 var(--serif); margin-top: 6px; }
.live-widget-grid { display: grid; grid-template-columns: minmax(190px,.65fr) minmax(0,1.5fr); align-items: center; gap: 25px; padding: 23px 0 14px; }
.live-reading-button { text-align: left; padding: 0; }
.live-reading-button strong { display: block; font-size: 39px; line-height: 1.25; font-weight: 450; letter-spacing: -1px; }
.live-reading-button strong small { color: var(--muted); font-size: 18px; font-weight: 400; }
.live-reading-button span { display: block; color: var(--muted); font-size: 11px; margin-top: 7px; }
.live-reading-button span b { color: var(--teal); margin-left: 8px; font-size: 16px; font-weight: 400; }
.live-widget-grid > div > p { margin-top: 7px; }
.live-chart { width: 100%; max-width: none; }
.live-chart text { fill: var(--muted); font: 10px var(--sans); }
.live-widget-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding-top: 13px; color: var(--muted); font-size: 11px; }
.live-dialog { width: min(730px,calc(100% - 32px)); max-width: none; padding: 27px 30px; max-height: calc(100dvh - 40px); }
.live-dialog h2 { margin: 5px 0 0; font: 400 28px/1.25 var(--serif); }
.live-dialog h3 { font-weight: 500; font-size: 14px; }
.live-dialog p { font-size: 13px; line-height: 1.8; }
.history-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.history-heading .close-button { flex: 0 0 auto; }
.history-summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 23px; }
.history-summary strong { display: block; font-size: 35px; font-weight: 450; margin: 7px 0 0; letter-spacing: -.8px; }
.history-summary small { color: var(--muted); font-size: 17px; font-weight: 400; }
.history-summary p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.short-comparison { padding: 20px; margin: 22px 0; border: 1px solid var(--line); border-radius: 6px; background: #f7f9f4; }
.short-comparison h3 { font: 400 22px/1.3 var(--serif); margin: 8px 0; }
.short-comparison p { margin: 12px 0 0; font-size: 12px; }
.comparison-windows { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; padding: 11px 0 0; }
.comparison-windows span, .comparison-windows small { display: block; color: var(--muted); font-size: 11px; line-height: 1.8; }
.comparison-windows strong { display: block; font-weight: 500; font-size: 19px; padding: 5px 0; }
.history-records { padding-top: 19px; margin-top: 2px; border-top: 1px solid var(--line); }
.history-table-wrap { overflow-x: auto; max-width: 100%; scrollbar-width: thin; margin-top: 12px; }
.history-table-wrap table { width: 100%; border-collapse: collapse; color: var(--muted); font-size: 11px; white-space: nowrap; }
.history-table-wrap :is(th,td) { border-bottom: 1px solid var(--line); padding: 8px 11px; text-align: left; font-weight: 400; }
.history-table-wrap th { color: #536d5d; background: #f5f8f2; }
.history-table-wrap :is(th,td):first-child { padding-left: 8px; }
.history-table-wrap td:last-child { font-family: ui-monospace,monospace; font-size: 10px; }
.mapping-intro { margin: 0 0 18px !important; }
.mapping-intro .synthetic-badge { margin-left: 8px; }
.source-sample { padding: 15px; border-radius: 6px; background: #f5f8f3; }
.source-sample small { display: block; color: var(--muted); font-size: 11px; margin-top: 12px; }
.field-mapping { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 20px; margin: 23px 0; }
.field-mapping label > span, .fixed-mapping > span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.fixed-mapping strong { font-weight: 500; font-size: 12px; }
.mapping-check { display: flex; gap: 10px; align-items: flex-start; margin: 15px 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.mapping-check input { margin-top: 5px; accent-color: var(--teal); flex: 0 0 auto; }
.mapping-check input:focus-visible, summary:focus-visible, input:focus-visible { outline: 3px solid #6ea99b; outline-offset: 3px; }
.mapping-error { color: #7d6650 !important; font-size: 12px !important; margin: 12px 0 !important; }
.mapping-form-actions, .mapping-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 20px; }
@media(max-width:750px) {
 .data-heading { align-items: flex-start; }
 .data-heading .hero-title { font-size: 35px; }
 .live-craft-picker { min-width: 180px; }
 .stream-reading-row { flex-wrap: wrap; }
 .stream-reading-row > .stream-actions { flex-basis: 100%; margin: 0; }
 .data-explainer { gap: 22px; }
 .live-widget-grid { grid-template-columns: 1fr; gap: 18px; }
 .live-home-widget .card-header { flex-wrap: wrap; }
}
@media(max-width:560px) {
 .data-shell { padding-top: 28px; }
 .data-heading { display: block; margin-bottom: 23px; }
 .data-heading .hero-title { font-size: 35px; }
 .live-craft-picker { margin-top: 22px; }
 .live-craft-picker > span { font-size: 11px; }
 .connection-card, .live-home-widget { padding: 21px 18px; }
 .stream-context-bar { gap: 8px; }
 .stream-context-bar > a { margin: 0; }
 .stream-empty { padding: 23px 0; }
 .stream-empty h2 { font-size: 26px; }
 .stream-empty p { font-size: 13px; }
 .stream-row-heading { flex-wrap: wrap; gap: 12px; }
 .stream-row-heading h2 { font-size: 24px; }
 .stream-reading-row { gap: 14px; padding: 23px 0; }
 .stream-value { font-size: 39px; }
 .stream-times { grid-template-columns: 1fr; gap: 12px; }
 .stream-times > div { display: flex; justify-content: space-between; gap: 10px; }
 .stream-times dd { margin: 0; text-align: right; }
 .stream-diagnostics > summary > span { display: block; float: none; margin: 5px 0 0 14px; }
 .mapping-summary { grid-template-columns: 100px minmax(0,1fr); }
 .data-explainer { grid-template-columns: 1fr; gap: 22px; padding-top: 27px; }
 .live-home-widget h2 { font-size: 22px; }
 .live-dialog { width: calc(100% - 20px); padding: 22px 18px; max-height: calc(100dvh - 24px); }
 .live-dialog h2 { font-size: 25px; }
 .history-summary { flex-wrap: wrap; }
 .short-comparison { padding: 16px; }
 .comparison-windows { gap: 17px; }
 .field-mapping { grid-template-columns: 1fr; gap: 15px; }
 .source-sample { padding: 12px; }
 .history-table-wrap table { font-size: 11px; }
 .stream-actions { gap: 10px 13px; }
}

/* A working source connection and current observations are separate signals. */
.stream-indicators { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; font-size: 11px; }
.connection-indicator, .freshness-indicator { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.connection-indicator strong, .freshness-indicator strong { font-weight: 500; }
.connection-indicator small, .freshness-indicator small { font-size: 11px; color: var(--muted); font-weight: 400; }
.connection-indicator { color: #66766e; }
.connection-indicator.working { color: #3f7569; }
.connection-link { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.reading-chain { border: 0; padding: 3px 2px; margin: -3px -2px; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.reading-chain:not(:disabled):is(:hover,:focus-visible) .connection-link { color: var(--danger, #a33434); }
.reading-chain:disabled { cursor: default; opacity: .7; }
.live-dialog:has(.source-management) { width: min(520px, calc(100vw - 32px)); }
.source-management { display: grid; gap: 13px; }
.source-management > p { margin: 0; font-size: 12px; line-height: 1.7; }
.source-management-list { display: grid; gap: 8px; }
.source-management-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.source-management-row > div { display: grid; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.source-management-row small { color: var(--muted); }
.source-management-row button { flex-shrink: 0; }
.freshness-indicator { color: #6f7467; }
.freshness-indicator.live { color: #3f7569; }
.freshness-indicator > i { width: 5px; height: 5px; background: currentColor; border-radius: 50%; margin: 0 2px 0 6px; }
.indicator-context { color: var(--muted); font-size: 10px; }
@media(max-width:560px) {
 .stream-indicators { align-items: flex-start; gap: 8px; flex-basis: 100%; }
 .history-summary .stream-indicators { padding-top: 4px; }
}
/* Status labels retain their quiet scale beside the history measurement. */
.history-summary .stream-indicators strong { display: inline; margin: 0; font-size: 11px; line-height: 1.5; font-weight: 500; letter-spacing: normal; }
/* Source setup keeps connections, measurements and Home widgets distinct. */
.data-heading-tools { display: grid; gap: 18px; justify-items: end; min-width: 220px; }
.add-source-button { min-width: 120px; }
.measurement-list { display: grid; gap: 22px; }
.measurement-card .stream-row-heading > div:first-child { max-width: 620px; }
.measurement-card .stream-row-heading p { max-width: 540px; line-height: 1.65; }
.measurement-card .eyebrow { font-size: 10px; letter-spacing: .09em; }
.archived-badge { display: inline-flex; color: #74756d; background: #f2f3ee; border: 1px solid #dfe2d9; padding: 4px 8px; border-radius: 5px; font-size: 11px; white-space: nowrap; }
.archived-indicators > small { font-size: 10px; color: var(--muted); }
.source-setup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 22px 0; }
.source-setup-grid label > span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 7px; }
.source-setup-grid select, .history-version-line select { width: 100%; border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--ink); padding: 11px 12px; font-size: 13px; }
.source-choices { border: 0; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.source-choices legend { padding: 0; margin-bottom: 8px; font-size: 12px; color: var(--muted); }
.source-choice { display: flex; align-items: flex-start; gap: 10px; padding: 17px 14px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; background: #fff; }
.source-choice:has(input:checked) { border-color: #5e8f81; background: #f7faf6; }
.source-choice:has(input:focus-visible) { outline: 3px solid #6ea99b; outline-offset: 3px; }
.source-choice input { margin: 3px 0 0; accent-color: var(--teal); }
.source-choice strong { display: block; font-size: 13px; font-weight: 500; }
.source-choice small { display: block; margin-top: 6px; line-height: 1.7; font-size: 11px; color: var(--muted); }
.source-choice-state { display: block; font-size: 10px; line-height: 1.7; color: #65736a; margin-top: 13px; }
.review-sample { display: grid; grid-template-columns: minmax(0,1fr) minmax(210px,1fr); gap: 28px; padding: 21px; }
.review-sample strong { display: block; font-size: 33px; line-height: 1.3; font-weight: 450; letter-spacing: -.8px; margin-top: 9px; }
.review-sample strong small { display: inline; font-size: 17px; font-weight: 400; margin: 0; }
.review-sample p { font-size: 11px; line-height: 1.8; color: var(--muted); margin-top: 10px; }
.review-sample dl { display: grid; gap: 11px; margin: 0; align-content: center; }
.review-sample dl div { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 10px; }
.review-sample dt { font-size: 11px; color: var(--muted); }
.review-sample dd { font-size: 12px; margin: 0; }
.mapping-detail { margin-top: 22px; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.mapping-detail > summary { cursor: pointer; font-size: 12px; color: #4e695c; }
.mapping-detail > p { margin-top: 13px; font-size: 12px; color: var(--muted); }
.mapping-detail .field-mapping { margin-top: 15px; margin-bottom: 15px; }
.mapping-detail .raw-sample { font-size: 11px; color: var(--muted); }
.raw-sample pre { margin-top: 10px; padding: 12px; background: #f7f9f5; border-radius: 5px; max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 10px/1.7 ui-monospace,monospace; }
.mapping-validation { color: var(--muted); font-size: 12px !important; min-height: 22px; }
.history-version-line { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 24px; }
.history-version-line h3 { font: 400 21px/1.4 var(--serif); }
.history-version-line p { font-size: 11px; margin-top: 6px; color: var(--muted); }
.history-version-line > label { max-width: 330px; min-width: 220px; }
.history-version-line > label > span { display: block; font-size: 11px; color: var(--muted); margin-bottom: 7px; }
.history-version-line select { font-size: 11px; padding: 9px; }
.disconnect-list { padding: 16px 20px; margin: 18px 0; border: 1px solid var(--line); border-radius: 6px; list-style: none; color: var(--muted); font-size: 12px; }
.disconnect-list li { padding: 6px 0; line-height: 1.6; }
.disconnect-list li span { color: #546c5e; margin-left: 8px; }
@media(max-width:750px) {
 .data-heading-tools { min-width: 190px; }
 .source-choices { grid-template-columns: 1fr; }
 .review-sample { gap: 20px; grid-template-columns: minmax(0,1fr) minmax(190px,1fr); }
 .history-version-line { flex-wrap: wrap; gap: 16px; }
 .history-version-line > label { max-width: none; width: 100%; }
}
@media(max-width:560px) {
 .data-heading-tools { display: flex; flex-direction: column; align-items: stretch; gap: 18px; margin-top: 23px; }
 .data-heading-tools .live-craft-picker { margin-top: 0; }
 .add-source-button { align-self: flex-start; }
 .measurement-list { gap: 18px; }
 .source-setup-grid { grid-template-columns: 1fr; gap: 16px; }
 .source-choice { padding: 16px 12px; }
 .review-sample { grid-template-columns: 1fr; gap: 18px; padding: 17px; }
 .review-sample dl { padding-top: 15px; border-top: 1px solid #e1e8df; gap: 10px; }
 .review-sample dl div { grid-template-columns: 100px minmax(0,1fr); }
 .mapping-actions { flex-wrap: wrap; }
 .live-widget-footer .stream-actions { row-gap: 12px; }
 .history-version-line > label { min-width: 0; }
}
.measurement-heading-tools { display: flex; align-items: flex-start; gap: 15px; margin-left: auto; }
.source-menu-line { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; }
.entity-action-field { display: grid; gap: 8px; margin: 20px 0; }
.entity-action-field span { font-size: 12px; color: var(--muted); }
.entity-action-field input { width: 100%; border: 1px solid var(--line); border-radius: 7px; padding: 12px; background: #fff; color: var(--ink); font: 13px var(--sans); }
.trash-panel { margin-top: 3px; padding: 18px 21px; border: 1px solid var(--line); border-radius: 7px; font-size: 12px; color: var(--muted); }
.trash-panel summary { cursor: pointer; }
.trash-panel > p { margin-top: 15px; line-height: 1.7; font-size: 12px; }
.trash-item { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding: 13px 0; }
.trash-item small { display: block; margin-top: 4px; }
@media(max-width:560px) {
 .measurement-heading-tools { margin-left: 0; width: 100%; justify-content: space-between; }
 .measurement-heading-tools .stream-indicators { flex-basis: auto; }
}
.entity-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 9px; }
.entity-label-chip { display: inline-flex; padding: 3px 7px; border: 1px solid #e2e5de; background: #f6f7f3; border-radius: 4px; color: #6b746b; font: 10px/1.4 var(--sans); white-space: nowrap; }
.label-overflow { position: relative; font-size: 10px; }
.label-overflow > summary { list-style: none; cursor: pointer; padding: 3px 6px; border: 1px solid #e2e5de; border-radius: 4px; color: #6b746b; }
.label-overflow > summary::-webkit-details-marker { display: none; }
.label-overflow > div { display: flex; flex-wrap: wrap; gap: 5px; min-width: 180px; max-width: 260px; position: absolute; top: calc(100% + 6px); left: 0; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: 0 7px 18px #2e443c12; z-index: 9; }
.measurement-card .stream-row-heading > div:first-child { min-width: 0; }
.measurement-card .stream-row-heading h2, .live-home-widget h2 { overflow-wrap: anywhere; }

.measurement-card:focus-visible, .stream-source-line:focus-visible, .live-home-widget:focus-visible { outline: 2px solid #6ea99b; outline-offset: 3px; }
.stream-undo-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 6px; background: #f6f8f3; color: var(--muted); font-size: 12px; line-height: 1.7; }
.stream-undo-note > button { flex-shrink: 0; }
.source-choice:has(input:disabled) { color: var(--muted); background: #f5f6f2; cursor: default; }
/* Colour belongs to a small label dot; chip surfaces and text remain neutral. */
.label-color-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; border: 1px solid #626f63; background: #7c8794; }
.label-color-dot[data-label-color="stone"] { background: #7c8794; }
.label-color-dot[data-label-color="sage"] { background: #249a62; }
.label-color-dot[data-label-color="sky"] { background: #238be0; }
.label-color-dot[data-label-color="amber"] { background: #c27d0f; }
.label-color-dot[data-label-color="rose"] { background: #e45b81; }
.label-color-dot[data-label-color="violet"] { background: #9d6aec; }
.entity-label-chip { align-items: center; gap: 6px; }
.trash-histories { margin-top: 11px; font-size: 11px; }
.trash-histories > summary { color: #4e695c; cursor: pointer; }
.trash-histories > div { display: grid; justify-items: start; gap: 10px; margin-top: 13px; }
.trash-histories button { text-align: left; font-size: 11px; line-height: 1.6; }
.trash-histories button small { font-size: 10px; }

.label-editor { position: fixed; z-index: 95; width: 240px; max-width: calc(100vw - 16px); padding: 11px; border: 1px solid #dce3dc; border-radius: 7px; background: #fff; box-shadow: 0 5px 18px #263c321b; color: var(--ink); }
.label-editor[hidden] { display: none; }
.label-editor .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#label-editor-name { width: 100%; height: 30px; padding: 0 8px; border: 1px solid #d5dfd5; border-radius: 4px; background: #fff; color: var(--ink); font: 12px var(--sans); }
#label-editor-name[aria-invalid='true'] { border-color: #b45252; box-shadow: inset 0 0 0 1px #b45252; }
.label-editor-colors { display: flex; justify-content: space-between; border: 0; padding: 0; margin: 8px 0; }
.label-editor-swatch { position: relative; width: 26px; height: 26px; cursor: pointer; }
.label-editor-swatch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.label-editor-swatch-circle { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid transparent; border-radius: 50%; }
.label-editor-swatch .label-color-dot { width: 13px; height: 13px; }
.label-editor-swatch input:checked ~ .label-editor-swatch-circle { border-color: #43574b; }
.label-editor-swatch input:focus-visible ~ .label-editor-swatch-circle { outline: 2px solid #43574b; outline-offset: 2px; }
.label-editor-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; }
.label-editor-actions .primary-button { min-height: 26px; padding: 4px 10px; font-size: 11px; border-radius: 4px; }
.label-editor-actions .text-link { font-size: 11px; }

.reading-editor { width: 320px; box-sizing: border-box; max-height: calc(100dvh - 16px); overflow: auto; padding: 14px; border-radius: 5px; background: var(--surface, #fff); }
.reading-editor form { display: grid; gap: 11px; }
.reading-editor-heading { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.reading-editor-field { display: grid; gap: 5px; font-size: 11px; }
.reading-editor-field input, .reading-editor-field select { box-sizing: border-box; width: 100%; min-height: 30px; border: 1px solid var(--line, #d5dfd5); border-radius: 3px; padding: 5px 7px; background: var(--surface, #fff); color: var(--ink); font: 12px var(--sans); }
.reading-editor p { margin: 0; font-size: 11px; line-height: 1.6; }
.reading-editor .label-editor-colors { align-items: center; flex-wrap: wrap; margin: 0; gap: 4px; }
.reading-editor legend { padding: 0; margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.reading-editor-clear-dot { width: 13px; height: 13px; box-sizing: border-box; border: 1px dashed var(--muted, #6d776e); border-radius: 50%; background: transparent; }
.reading-editor-labels { margin: 0; padding: 0; border: 0; }
.reading-editor-labels > div { display: grid; gap: 7px; max-height: 130px; overflow: auto; }
.reading-editor-labels label { display: flex; align-items: center; gap: 6px; color: var(--ink); font-size: 11px; }
.reading-editor-labels input { margin: 0; }
.reading-editor-new-label { display: grid; grid-template-columns: minmax(0, 1fr) 84px; gap: 8px; }
.reading-editor-hint { color: var(--muted); }
.context-menu-inline-group { margin: 2px 3px 4px 16px; padding-left: 5px; border-left: 1px solid var(--line, #dce3dc); }
.context-menu-inline-group .context-menu-item { font-size: 11px; }
.context-menu-swatches { display: flex; align-items: center; justify-content: space-between; gap: 2px; padding: 5px 9px 8px; }
.context-menu .context-menu-swatch { display: grid; grid-template-columns: 1fr; place-items: center; flex: 0 0 25px; width: 25px; height: 28px; min-height: 28px; padding: 0; border: 1px solid transparent; border-radius: 50%; }
.context-menu-swatch.is-selected { border-color: var(--control-line, #53635d); }
.context-menu-swatch .context-menu-color-dot { margin: 0; width: 13px; height: 13px; flex: 0 0 13px; }
.context-menu-swatch .context-menu-clear-dot { box-sizing: border-box; border: 1px dashed var(--muted, #6d776e); background: transparent; }
#reading-editor-error:not(:empty) { color: var(--danger, #b45252); }
.reading-color-dot { vertical-align: middle; }
.reading-labels { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 5px 0; color: var(--muted); font: 10px/1.5 var(--sans); }
.reading-label-text { display: inline-flex; align-items: center; gap: 5px; border: 0; padding: 0; background: transparent; overflow-wrap: anywhere; }

/* Operator-owned spacecraft metadata uses the same reviewed local dialog. */
.spacecraft-action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.spacecraft-field { display: grid; gap: 8px; margin: 22px 0; }
.spacecraft-field > span { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.spacecraft-field small { font-size: 12px; line-height: 1.6; color: var(--muted); font-weight: 400; }
.spacecraft-field input, .source-setup-grid input { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 7px; padding: 12px; background: white; color: var(--ink); font: inherit; }
.source-setup-grid input[readonly] { background: var(--paper, #f7f8f5); }
.source-setup-grid label > small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.spacecraft-record { margin-bottom: 24px; }
.spacecraft-record .card-header { gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.spacecraft-metadata { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; margin: 28px 0; }
.spacecraft-metadata dt { color: var(--muted); font-size: 12px; margin-bottom: 9px; }
.spacecraft-metadata dd { margin: 0; font-size: 15px; }
.spacecraft-metadata dd small { display: block; color: var(--muted); font-size: 11px; line-height: 1.7; margin-top: 8px; }
.spacecraft-record summary { font-size: 13px; cursor: pointer; }
.record-identity { overflow-wrap: anywhere; }
.spacecraft-metadata-history { list-style: none; padding: 0; margin-top: 18px; }
.spacecraft-metadata-history li { display: grid; gap: 7px; border-top: 1px solid var(--line); padding: 15px 0; font-size: 12px; }
.spacecraft-metadata-history li strong { font-weight: 500; }
.spacecraft-metadata-history li small { color: var(--muted); }
@media (max-width: 600px) { .spacecraft-metadata { grid-template-columns: 1fr; gap: 20px; } .spacecraft-action-row { width: 100%; } }

/* Public mean orbit data has its own source, time and review boundary. */
.public-orbit-card { margin-bottom: 28px; }
.public-orbit-card .card-header { align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.public-orbit-card .card-header h2 { margin-bottom: 0; }
.public-orbit-badge { display: inline-flex; border: 1px solid var(--line); border-radius: 4px; padding: 3px 7px; color: var(--muted); background: #f7f8f6; font-size: 10px; white-space: nowrap; }
.orbit-object { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 12px; margin: 24px 0 12px; font-size: 13px; }
.orbit-object strong { font-weight: 500; overflow-wrap: anywhere; }
.orbit-object > span:last-child { color: var(--muted); }
.orbit-time-context { color: var(--muted); font-size: 12px; line-height: 1.9; }
.orbit-time-context strong { color: var(--ink); font-weight: 400; }
.orbit-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 25px 0; }
.orbit-facts > div { min-width: 0; padding-top: 16px; border-top: 1px solid var(--line); }
.orbit-facts dt { color: var(--muted); font-size: 12px; line-height: 1.6; }
.orbit-facts dd { margin: 10px 0; font-size: 27px; line-height: 1.25; font-weight: 400; }
.orbit-facts dd > small { color: var(--muted); font-size: 14px; }
.orbit-facts p { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 10px 0 0; }
.orbit-meaning, .orbit-cache-note { color: var(--muted); font-size: 12px; line-height: 1.8; }
.orbit-cache-note { font-size: 11px; margin-top: 18px; }
.orbit-notice { padding: 12px 15px; border-left: 2px solid #b7c7bf; background: #f7f8f5; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.orbit-source-details, .orbit-history, .orbit-fallback { margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--line); }
.orbit-source-details summary, .orbit-history summary, .orbit-fallback summary { cursor: pointer; font-size: 12px; line-height: 1.6; }
.orbit-source-details p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.orbit-provenance { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 22px 0; font-size: 12px; }
.orbit-provenance dt { color: var(--muted); margin-bottom: 7px; }
.orbit-provenance dd { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.orbit-provenance dd small { display: block; color: var(--muted); font-size: 11px; }
.form-orbit-lookup { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin: -7px 0 18px; }
.form-orbit-lookup > small { color: var(--muted); font-size: 11px; }
.form-orbit-review:not(:empty) { padding: 2px 18px 18px; margin: 18px 0 24px; border: 1px solid var(--line); border-radius: 7px; background: #fafbf9; }
.form-orbit-review .orbit-facts { gap: 16px; }
.form-orbit-review .orbit-facts dd { font-size: 22px; }
.spacecraft-test-data > .stream-footnote { margin-bottom: 22px; max-width: 650px; }
@media (max-width: 680px) {
 .orbit-facts { grid-template-columns: 1fr; gap: 14px; }
 .orbit-facts dd { font-size: 28px; }
 .orbit-facts p { max-width: 430px; }
 .orbit-provenance { grid-template-columns: 1fr; gap: 15px; }
 .form-orbit-review:not(:empty) { padding: 2px 13px 15px; }
 .form-orbit-lookup { align-items: flex-start; }
 .form-orbit-lookup > small { flex-basis: 100%; }
}

/* Explicit member permissions stay native, labelled and usable at narrow widths. */
.account-preview .member-capabilities { grid-column: 2 / -1; min-width: 0; margin-top: 4px; }
.account-preview .member-capabilities fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 7px; }
.account-preview .member-capabilities legend { padding: 0 5px; font-size: 11px; color: var(--muted); }
.account-preview .member-capabilities label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; }
.account-preview .member-capabilities input[type="checkbox"] { width: 16px; height: 16px; margin: 0; padding: 0; accent-color: var(--teal); }
.account-preview .member-capabilities input:focus-visible { outline: 2px solid var(--focus, var(--teal)); outline-offset: 3px; }
.account-preview .member-capabilities .hint { margin: 8px 0 0; }
.account-preview .member-capabilities .error:empty { display: none; }
.spacecraft-delete-button { color: var(--danger, #a33434); border-color: currentColor; background: var(--surface, white); }
.context-menu-item.dangerous .context-menu-check { color: var(--danger, #a33434); position: relative; }
.context-menu-item.dangerous .context-menu-check::before { content: ''; display: block; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M9 6V3h6v3M5 6l1 15h12l1-15M10 10v7M14 10v7'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M9 6V3h6v3M5 6l1 15h12l1-15M10 10v7M14 10v7'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 600px) { .account-preview .member-capabilities { grid-column: 1 / -1; } .account-preview .member-capabilities fieldset { align-items: flex-start; flex-direction: column; } .spacecraft-trash-panel .trash-item { flex-wrap: wrap; } }

/* Public ISS values keep their source dictionary and literal clock context. */
.iss-public-badge { color: var(--ink); background: var(--surface-alt); border-color: var(--line); }
.iss-provenance .mapping-summary dd { overflow-wrap: anywhere; }
.iss-original { margin-top: 9px; font-size: 11px; }
.iss-original summary { cursor: pointer; color: var(--muted); }
.iss-original pre { max-width: 100%; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ink); background: var(--surface-alt); border: 1px solid var(--line); border-radius: 6px; padding: 10px; }
.iss-chart-boundary { padding: 15px 0; font-size: 12px; line-height: 1.7; }

/* Shared component definitions keep synthetic provenance next to the value. */
.spacecraft-components { margin: 22px 0; padding: 24px; }
.spacecraft-components > p, .component-illustration { color: var(--muted); font-size: 12px; line-height: 1.8; }
.component-illustration { padding: 12px 15px; border-left: 2px solid var(--line); }
.component-definition-list { display: grid; gap: 12px; margin-top: 18px; }
.component-definition-list article { border-top: 1px solid var(--line); padding-top: 14px; }
.component-definition-list h3 { font-size: 15px; margin: 0 0 10px; }
.component-definition-list ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0; list-style: none; }
.component-definition-list li { display: grid; gap: 5px; min-width: 0; font-size: 12px; }
.component-definition-list li span, .component-definition-list li small { color: var(--muted); overflow-wrap: anywhere; }
.component-reading-fields { display: grid; gap: 16px; margin: 15px 0; }
.component-reading-field { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 7px; min-width: 0; }
.component-reading-field legend { font-size: 12px; padding: 0 5px; }
.component-reading-field label { display: grid; gap: 7px; font-size: 12px; min-width: 0; }
.component-reading-field input, .component-reading-field select { box-sizing: border-box; width: 100%; min-width: 0; font: inherit; color: var(--ink); border: 1px solid var(--line); background: var(--surface); border-radius: 5px; padding: 10px; }
.component-reading-field input:focus-visible, .component-reading-field select:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.component-reading-field button { justify-self: start; }
.component-synthetic-chart { color: var(--teal); margin: 18px 0; }
.component-synthetic-chart svg { display: block; width: 100%; max-height: 180px; }
.component-synthetic-chart figcaption { font-size: 11px; line-height: 1.6; color: var(--muted); }
.component-synthetic-reading .mapping-summary dd { overflow-wrap: anywhere; }
@media (max-width: 600px) { .component-definition-list ul, .component-reading-field { grid-template-columns: 1fr; } .spacecraft-components { padding: 18px; } .spacecraft-components .card-header { flex-wrap: wrap; gap: 12px; } }

.component-calculation-note { grid-column: 1 / -1; font-size: 11px; line-height: 1.6; color: var(--muted); margin: 0; }
.component-reading-field small { font-size: 11px; color: var(--muted); }
.component-calculation-status { padding: 10px; border: 1px solid var(--line); border-radius: 5px; }
