/* EcoTracer UI-5 / Revision 295.1. One register language, inspired by the accepted
   Accounting Overview calculator register. One DOM population; width changes layout only.
   Card-first fallback works without container-query support. Never scroll rows sideways. */
.eco-register {
    min-inline-size: 0; max-inline-size: 100%; container: eco-register / inline-size;
    border: var(--eco-border-width) solid var(--eco-border-color-strong);
    border-radius: var(--eco-radius-panel);
    background: var(--eco-surface);
    color: var(--eco-color-text); font-family: var(--eco-font-body); overflow-wrap: anywhere;
}
.eco-register *, .eco-register *::before, .eco-register *::after { box-sizing: border-box; }
.eco-register [hidden] { display: none !important; }
.eco-register-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--eco-space-5); padding: var(--eco-space-6) var(--eco-space-8); border-block-end: var(--eco-border-width) solid var(--eco-border-color); background: var(--eco-panel-background); border-radius: var(--eco-radius-panel) var(--eco-radius-panel) 0 0; }
.eco-register-heading > * { min-inline-size: 0; }
.eco-register-heading h2 { margin: var(--eco-space-2) 0; color: var(--eco-color-text); font: var(--eco-weight-heading) var(--eco-font-size-section)/var(--eco-line-height-heading) var(--eco-font-heading); }
.eco-register-heading p { margin: var(--eco-space-2) 0 0; color: var(--eco-color-text-muted); font-size: var(--eco-font-size-metadata); }
.eco-form.eco-register-controls { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--eco-space-4); padding: var(--eco-space-6) var(--eco-space-8); margin: 0; }
.eco-register-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--eco-space-3); min-inline-size: 0; }
.eco-register-toolbar > * { min-inline-size: 0; max-inline-size: 100%; }
.eco-register-toolbar .eco-register-search { flex: 1 1 14rem; }
.eco-register-toolbar .eco-register-size { flex: 0 1 5rem; }
.eco-register-toolbar .eco-register-order { flex: 1 1 10rem; }
.eco-register-toolbar label { font-size: var(--eco-font-size-metadata); }
.eco-register-filters { min-inline-size: 0; }
.eco-register-filters[open] { grid-column: 1 / -1; }
.eco-register-filters > summary { display: list-item; min-block-size: var(--eco-control-min-height); padding: var(--eco-control-padding-block) var(--eco-control-padding-inline); border: var(--eco-border-width) solid var(--eco-border-color-strong); border-radius: var(--eco-radius-medium); background: var(--eco-control-background); color: var(--eco-control-ink); font-size: var(--eco-font-size-button); font-weight: var(--eco-weight-emphasis); cursor: pointer; }
.eco-register-filters > summary::marker { color: var(--eco-color-cyan); }
.eco-register-filter-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--eco-space-5); padding: var(--eco-space-6); margin-block-start: var(--eco-space-3); border: var(--eco-border-width) solid var(--eco-border-color); border-radius: var(--eco-radius-medium); background: var(--eco-field-background); }
.eco-register-filter-fields .eco-actions { grid-column: 1 / -1; margin: 0; }
.eco-register-chips, .eco-register-context { display: flex; align-items: center; flex-wrap: wrap; gap: var(--eco-space-3); padding: 0 var(--eco-space-8) var(--eco-space-5); font-size: var(--eco-font-size-metadata); }
.eco-register-chip, .eco-register-context > span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--eco-space-3); min-inline-size: 0; max-inline-size: 100%; padding: var(--eco-space-3) var(--eco-space-4); border: var(--eco-border-width) solid var(--eco-border-color); border-radius: var(--eco-radius-medium); background: var(--eco-field-background); color: var(--eco-color-cyan-soft); line-height: var(--eco-line-height-metadata); overflow-wrap: anywhere; text-decoration: none; }
.eco-register-chip { min-block-size: var(--eco-control-min-height); }
.eco-register-chip:hover { border-color: var(--eco-color-cyan); color: var(--eco-color-text); }
.eco-register-context > span { color: var(--eco-color-text-muted); }
.eco-register-tools, .eco-register-sort { display: flex; flex-wrap: wrap; align-items: center; gap: var(--eco-space-3); min-inline-size: 0; }
.eco-register-tools { justify-content: space-between; padding: var(--eco-space-3) var(--eco-space-8) var(--eco-space-5); color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); }
.eco-register-tools .eco-actions { margin: 0; }
.eco-sort-arrow, .eco-page-button { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 auto; min-inline-size: var(--eco-control-min-height); min-block-size: var(--eco-control-min-height); padding: var(--eco-space-3); border: var(--eco-border-width) solid var(--eco-border-color-strong); border-radius: var(--eco-radius-small); background: var(--eco-control-background); color: var(--eco-control-ink); font-size: var(--eco-font-size-button); text-decoration: none; }
.eco-sort-arrow[aria-current], .eco-page-button[aria-current] { border-color: var(--eco-color-cyan); color: var(--eco-color-text); background: var(--eco-control-background); }
.eco-register-columns { display: none; }
.eco-register-body { display: grid; gap: var(--eco-space-3); min-inline-size: 0; padding: var(--eco-space-4); margin: 0; list-style: none; }
.eco-record { min-inline-size: 0; margin: 0; border: var(--eco-border-width) solid var(--eco-border-color-strong); border-radius: var(--eco-radius-medium); background: var(--eco-card-background); overflow-wrap: anywhere; }
.eco-record-grid { display: grid; grid-template-columns: minmax(0, 1fr); min-inline-size: 0; margin: 0; }
.eco-record-grid > * { min-inline-size: 0; padding: var(--eco-space-5); border-block-end: var(--eco-border-width) solid var(--eco-border-color); }
.eco-record-grid > :last-child { border-block-end: 0; }
.eco-record-label { display: block; color: var(--eco-color-text-muted); font-size: var(--eco-font-size-register-heading); font-weight: var(--eco-weight-label); line-height: var(--eco-line-height-metadata); margin-block-end: var(--eco-space-2); }
.eco-record-identity h3 { margin: var(--eco-space-2) 0; color: var(--eco-color-text); font: var(--eco-weight-heading) var(--eco-font-size-panel)/var(--eco-line-height-heading) var(--eco-font-heading); }
.eco-record p { margin: var(--eco-space-2) 0; color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-body); }
.eco-record small { display: block; color: var(--eco-color-text-muted); font-size: var(--eco-font-size-metadata); line-height: var(--eco-line-height-metadata); }
.eco-record-value { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: end; gap: var(--eco-space-3); min-inline-size: 0; padding: var(--eco-space-4); border: var(--eco-border-width) solid var(--eco-border-color); border-radius: var(--eco-radius-small); background: var(--eco-field-background); color: var(--eco-color-cyan); font-variant-numeric: tabular-nums; }
.eco-record-value strong { min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; font: var(--eco-weight-heading) var(--eco-font-size-section)/var(--eco-line-height-heading) var(--eco-font-heading); }
.eco-record-value span { color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); overflow-wrap: anywhere; }
.eco-record-actions { display: flex; flex-wrap: wrap; gap: var(--eco-space-3); margin-block-start: var(--eco-space-4); }
.eco-record-details { margin: 0; padding: var(--eco-space-4) var(--eco-space-5); border-block-start: var(--eco-border-width) solid var(--eco-border-color); }
.eco-record-details > summary { min-block-size: var(--eco-control-min-height); padding-block: var(--eco-space-3); color: var(--eco-color-cyan-soft); font-size: var(--eco-font-size-button); cursor: pointer; }
.eco-record-details > summary > span { margin-inline-start: var(--eco-space-3); }
.eco-record-details .eco-facts { margin-block: var(--eco-space-5); }
.eco-register-totals { display: flex; flex-wrap: wrap; gap: var(--eco-space-5); align-items: baseline; min-inline-size: 0; padding: var(--eco-space-6); border: var(--eco-border-width) solid var(--eco-border-color); border-radius: var(--eco-radius-medium); background: var(--eco-field-background); }
.eco-register-totals strong { color: var(--eco-color-cyan-soft); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.eco-register-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--eco-space-5); margin-block-start: var(--eco-space-3); padding: var(--eco-space-6); border-block-start: var(--eco-border-width) solid var(--eco-border-color); color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); }
.eco-page-links, .eco-page-sizes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--eco-space-3); }
.eco-register-range small { display: block; color: var(--eco-color-text-muted); }
/* Existing semantic tables share the same row/card material; keep genuine table roles and
   column headers for assistive technology when CSS changes visual display. */
.eco-register-table { display: block; inline-size: 100%; max-inline-size: 100%; margin: 0; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: var(--eco-color-text); font-size: var(--eco-font-size-body); }
.eco-register-table thead { position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.eco-register-table tbody { display: grid; gap: var(--eco-space-3); padding: var(--eco-space-4); }
.eco-register-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); min-inline-size: 0; border: var(--eco-border-width) solid var(--eco-border-color-strong); border-radius: var(--eco-radius-medium); background: var(--eco-card-background); }
.eco-register-table :is(th,td) { min-inline-size: 0; max-inline-size: 100%; padding: var(--eco-space-5); text-align: start; vertical-align: top; overflow-wrap: anywhere; white-space: normal; }
.eco-register-table td { display: block; border-block-end: var(--eco-border-width) solid var(--eco-border-color); font-variant-numeric: tabular-nums; }
.eco-register-table td:last-child { border-block-end: 0; }
.eco-register-table td[colspan] { grid-column: 1 / -1; }
.eco-register-table small { display: block; color: var(--eco-color-text-muted); font-size: var(--eco-font-size-metadata); }
.eco-cell-label { display: block; margin-block-end: var(--eco-space-2); color: var(--eco-color-cyan-soft); font-size: var(--eco-font-size-register-heading); font-weight: var(--eco-weight-label); }
.eco-register :is(a,button,input,select,summary,[tabindex]):focus-visible { outline: var(--eco-focus-width) solid var(--eco-focus-color); outline-offset: var(--eco-focus-offset); }
.eco-register :is(a,button):hover { border-color: var(--eco-color-cyan); }
.eco-register :is(.eco-action,.eco-link) { max-inline-size: 100%; }
.eco-sr-only { position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@container eco-register (min-width: 36rem) {
    .eco-form.eco-register-controls { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
    .eco-register-table tbody tr { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@container eco-register (min-width: 68rem) {
    .eco-register-columns, .eco-record-grid { display: grid; grid-template-columns: var(--eco-register-columns, minmax(0,1.25fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.05fr)); }
    .eco-register-columns { padding-inline: var(--eco-space-4); color: var(--eco-color-text-muted); font-size: var(--eco-font-size-register-heading); font-weight: var(--eco-weight-label); background: var(--eco-field-background); }
    .eco-register-columns > span { min-inline-size: 0; padding: var(--eco-space-4) var(--eco-space-5); }
    .eco-record-grid > * { border-block-end: 0; border-inline-end: var(--eco-border-width) solid var(--eco-border-color); }
    .eco-record-grid > :last-child { border-inline-end: 0; }
    .eco-record-value strong { font-size: var(--eco-font-size-panel); }
    .eco-register-table { display: table; border-spacing: 0 var(--eco-space-3); }
    .eco-register-table thead { display: table-header-group; position: static; inline-size: auto; block-size: auto; margin: 0; overflow: visible; clip-path: none; white-space: normal; }
    .eco-register-table thead tr { display: table-row; }
    .eco-register-table th { color: var(--eco-color-text-muted); font-size: var(--eco-font-size-register-heading); font-weight: var(--eco-weight-label); }
    .eco-register-table tbody { display: table-row-group; padding: 0; }
    .eco-register-table tbody tr { display: table-row; }
    .eco-register-table td { display: table-cell; border-block: var(--eco-border-width) solid var(--eco-border-color); background: var(--eco-card-background); border-radius: 0; }
    .eco-register-table td + td { border-inline-start: var(--eco-border-width) solid var(--eco-border-color); }
    .eco-register-table td:first-child { border-inline-start: var(--eco-border-width) solid var(--eco-border-color); border-start-start-radius: var(--eco-radius-small); border-end-start-radius: var(--eco-radius-small); }
    .eco-register-table td:last-child { border-block-end: var(--eco-border-width) solid var(--eco-border-color); border-inline-end: var(--eco-border-width) solid var(--eco-border-color); border-start-end-radius: var(--eco-radius-small); border-end-end-radius: var(--eco-radius-small); }
    .eco-cell-label { display: none; }
}
@media (prefers-reduced-motion: reduce) { .eco-register * { scroll-behavior: auto; } }
@media (forced-colors: active) {
    .eco-register, .eco-record, .eco-record-value, .eco-register-heading, .eco-register-columns, .eco-register-filter-fields, .eco-register-totals, .eco-register-table :is(tr,td), .eco-page-button, .eco-sort-arrow, .eco-register-chip { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
    .eco-register a, .eco-page-button, .eco-sort-arrow { color: LinkText; }
    .eco-page-button[aria-current], .eco-sort-arrow[aria-current] { outline: 2px solid Highlight; }
}
@media print { .eco-register, .eco-record, .eco-record-value, .eco-register-table :is(tr,td) { background: white; color: black; box-shadow: none; } .eco-register-tools, .eco-register-controls, .eco-register-pager { display: none; } }

/* Revision 296.2. Accounting-inspired technical register. Shared table primitive,
   compact integrated query bar and in-flow filters. Old file-card rules are removed.
   Column layout follows available width; no transforms, fixed row heights or clipping. */
.eco-register--technical {
    margin-block-start: var(--eco-space-6);
    background: linear-gradient(115deg, rgba(8,35,53,.94), rgba(3,20,33,.97));
    border-color: var(--eco-border-color-strong);
    box-shadow: inset 0 1px 0 rgba(147,234,255,.06);
}
.eco-register--technical .eco-technical-query { position: relative; min-inline-size: 0; margin: 0; padding: var(--eco-space-6); border-block-end: 1px solid var(--eco-border-color-strong); }
.eco-technical-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: var(--eco-space-5); min-inline-size: 0; }
.eco-technical-toolbar > * { min-inline-size: 0; max-inline-size: 100%; }
.eco-technical-heading { grid-column: 1 / -1; padding-inline-end: 9.5rem; }
.eco-technical-heading h2 { margin: 0; font: var(--eco-weight-heading) var(--eco-font-size-panel)/1.35 var(--eco-font-heading); color: var(--eco-color-text); }
.eco-technical-heading p { margin: .25rem 0 0; font: var(--eco-font-size-metadata)/1.5 var(--eco-font-body); color: var(--eco-color-text-secondary); }
.eco-technical-heading p span { color: var(--eco-color-text-muted); }
.eco-register--technical :is(a,button,summary).eco-technical-action {
    display: inline-flex; align-items: center; justify-content: space-between; gap: .6rem;
    min-inline-size: 0; max-inline-size: 100%; min-block-size: 2.5rem;
    margin: 0; padding: .45rem .7rem; border: 1px solid var(--eco-control-border);
    border-radius: var(--eco-radius-small); background: var(--eco-control-background);
    color: var(--eco-color-cyan-soft); font: var(--eco-weight-emphasis) var(--eco-font-size-button)/1.35 var(--eco-font-body);
    text-align: start; text-decoration: none; text-transform: none; letter-spacing: normal;
    white-space: normal; overflow-wrap: anywhere; box-shadow: inset 0 1px 0 rgba(147,234,255,.06); cursor: pointer;
    transition: background-color var(--eco-transition-fast,120ms), border-color var(--eco-transition-fast,120ms);
}
.eco-register--technical .eco-technical-action > span[aria-hidden] { flex: 0 0 auto; color: var(--eco-color-cyan); font-size: 1.05rem; }
.eco-register--technical :is(a,button,summary).eco-technical-action:hover { color: var(--eco-color-text); background: var(--eco-control-hover); border-color: var(--eco-color-cyan); }
.eco-register--technical .eco-technical-query :is(input[type="search"],input[type="text"],select) {
    display: block; inline-size: 100%; min-inline-size: 0; max-inline-size: 100%; min-block-size: 2.5rem;
    padding: .45rem .6rem; margin: 0; border: 1px solid var(--eco-border-color-strong); border-radius: var(--eco-radius-small);
    background: var(--eco-field-background); color: var(--eco-color-text); font: var(--eco-font-size-body)/1.4 var(--eco-font-body);
    box-shadow: none; color-scheme: dark;
}
.eco-technical-query input::placeholder { color: var(--eco-color-text-muted); opacity: 1; }
.eco-technical-query svg { inline-size: 1rem; block-size: 1rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; }
.eco-technical-search { display: flex; align-items: stretch; min-inline-size: 0; }
.eco-technical-search > label { display: flex; flex: 1 1 auto; align-items: center; gap: .5rem; min-inline-size: 0; padding-inline-start: .65rem; border: 1px solid var(--eco-border-color-strong); border-inline-end: 0; border-radius: var(--eco-radius-small) 0 0 var(--eco-radius-small); background: var(--eco-field-background); color: var(--eco-color-cyan-soft); }
.eco-register--technical .eco-technical-search input[type="search"] { border: 0; background: transparent; }
.eco-register--technical .eco-technical-search button { flex: 0 0 2.5rem; justify-content: center; border-radius: 0 var(--eco-radius-small) var(--eco-radius-small) 0; }
.eco-technical-size { display: flex; align-items: center; flex-wrap: nowrap; gap: .5rem; color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); }
.eco-technical-size > span { flex: 0 0 auto; white-space: nowrap; }
.eco-register--technical .eco-technical-size select { inline-size: 4.5rem; flex: 0 0 4.5rem; }
.eco-technical-filters > summary { position: absolute; inset-block-start: var(--eco-space-6); inset-inline-end: var(--eco-space-6); inline-size: 8.6rem; list-style: none; }
.eco-technical-filters > summary::-webkit-details-marker { display: none; }
.eco-technical-filters > summary b { color: var(--eco-color-cyan); font-variant-numeric: tabular-nums; }
.eco-technical-chevron { flex: 0 0 .4rem; inline-size: .4rem; block-size: .4rem; border-inline-end: 1px solid currentColor; border-block-end: 1px solid currentColor; transform: rotate(45deg); }
.eco-technical-filters[open] .eco-technical-chevron { transform: rotate(225deg); }
.eco-technical-filter-drawer { margin-block-start: var(--eco-space-6); padding-block-start: var(--eco-space-6); border-block-start: 1px solid var(--eco-border-color); }
.eco-technical-filter-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: var(--eco-space-6); }
.eco-technical-filter-fields > label { display: grid; align-content: start; gap: .4rem; min-inline-size: 0; color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); }
.eco-technical-filter-fields small { color: var(--eco-color-text-muted); line-height: 1.5; }
.eco-technical-filter-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--eco-space-5); margin-block-start: var(--eco-space-5); }
.eco-technical-check { display: inline-flex; align-items: center; gap: .6rem; min-block-size: 2.5rem; min-inline-size: 0; font-size: var(--eco-font-size-body); color: var(--eco-color-text-secondary); }
.eco-register--technical .eco-technical-query input[type="checkbox"] { display: inline-block; flex: 0 0 1rem; inline-size: 1rem; block-size: 1rem; min-block-size: 0; min-inline-size: 0; margin: 0; padding: 0; accent-color: var(--eco-color-cyan); }
.eco-register--technical :is(.eco-register-chips,.eco-register-context) { padding: var(--eco-space-4) var(--eco-space-6); margin: 0; border-block-end: 1px solid var(--eco-border-color); }
.eco-register--technical .eco-register-chip { min-block-size: 2.5rem; padding: .4rem .6rem; }
.eco-register--technical .eco-empty { margin: var(--eco-space-6); }
.eco-register--technical .eco-technical-table { font-size: var(--eco-font-size-body); }
.eco-register--technical .eco-technical-table tbody { gap: var(--eco-space-5); padding: var(--eco-space-4); }
.eco-register--technical .eco-technical-table tbody tr { background: linear-gradient(110deg,rgba(11,39,57,.9),rgba(4,24,38,.96)); box-shadow: inset 0 1px 0 rgba(147,234,255,.035); }
.eco-register--technical .eco-technical-table :is(th,td) { padding: var(--eco-space-5); vertical-align: middle; }
.eco-technical-table .eco-technical-identity-body { display: flex; align-items: center; gap: var(--eco-space-4); min-inline-size: 0; }
.eco-technical-identity-body > div { min-inline-size: 0; }
.eco-technical-emblem { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.8rem; inline-size: 2.8rem; block-size: 2.8rem; border: 1px solid var(--eco-border-color-strong); border-radius: 50%; box-shadow: inset 0 0 0 4px rgba(82,217,255,.06); color: var(--eco-color-cyan); font: var(--eco-weight-heading) var(--eco-font-size-panel)/1 var(--eco-font-heading); }
.eco-technical-emblem--drawing { flex-basis: 4.2rem; inline-size: 4.2rem; border: 0; border-radius: 0; box-shadow: none; }
.eco-technical-emblem--drawing .eco-blueprint-grid { display: none; }
.eco-technical-eyebrow { display: block; color: var(--eco-color-cyan-soft); font: var(--eco-weight-label) var(--eco-font-size-eyebrow)/1.5 var(--eco-font-heading); letter-spacing: .055em; }
.eco-technical-table h3 { margin: .25rem 0 .4rem; color: var(--eco-color-text); font: var(--eco-weight-heading) 1rem/1.4 var(--eco-font-heading); }
.eco-technical-table small { margin-block-start: .35rem; font-size: var(--eco-font-size-metadata); line-height: 1.5; overflow-wrap: anywhere; }
.eco-technical-context > strong { display: block; margin-block: .35rem; font-weight: var(--eco-weight-emphasis); }
.eco-technical-context-code { display: inline-block; max-inline-size: 100%; margin-block-start: .5rem; padding: .15rem .4rem; border: 1px solid var(--eco-border-color-strong); border-radius: .2rem; color: var(--eco-color-cyan-soft); font-size: var(--eco-font-size-eyebrow); }
.eco-technical-table .eco-technical-field-label { margin-block-start: .65rem; }
.eco-technical-system-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(4.5rem,.32fr); align-items: center; gap: var(--eco-space-4); }
.eco-technical-display { min-inline-size: 0; margin: 0; border: 1px solid var(--eco-border-color-strong); border-radius: .25rem; background: rgba(1,17,29,.72); box-shadow: inset 0 1px 6px rgba(0,0,0,.3); }
.eco-technical-blueprint { display: block; inline-size: 100%; block-size: auto; color: var(--eco-color-cyan); }
.eco-blueprint-grid { opacity: .18; }
.eco-blueprint-path { stroke: var(--eco-color-gold); }
.eco-blueprint-module { stroke: var(--eco-color-green); }
.eco-technical-display figcaption { padding: .2rem .4rem; border-block-start: 1px solid var(--eco-border-color); color: var(--eco-color-text-muted); font: var(--eco-font-size-eyebrow)/1.4 var(--eco-font-body); }
.eco-technical-readouts { display: grid; gap: .65rem; min-inline-size: 0; margin: 0; }
.eco-technical-readouts dt { color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); line-height: 1.4; }
.eco-technical-readouts dd { margin: .2rem 0 0; color: var(--eco-color-cyan); font: var(--eco-weight-heading) 1.375rem/1.15 var(--eco-font-heading); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.eco-technical-facts { display: grid; gap: .3rem; margin: 0 0 .65rem; }
.eco-technical-facts > div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .35rem .5rem; min-inline-size: 0; }
.eco-technical-facts dt { min-inline-size: 0; color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); }
.eco-technical-facts dd { margin: 0; color: var(--eco-color-text); font-weight: var(--eco-weight-emphasis); font-variant-numeric: tabular-nums; }
.eco-register--technical .eco-status { max-inline-size: 100%; padding: .25rem .45rem; font-size: var(--eco-font-size-eyebrow); overflow-wrap: anywhere; white-space: normal; }
.eco-technical-actions { display: grid; gap: .4rem; }
.eco-technical-actions .eco-technical-action { inline-size: 100%; }
.eco-technical-notes { min-inline-size: 0; margin-block-start: .35rem; color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); }
.eco-technical-notes > summary { min-block-size: 2rem; padding-block: .4rem; color: var(--eco-color-cyan-soft); cursor: pointer; }
.eco-technical-notes p { margin: .25rem 0 .4rem; color: var(--eco-color-text-secondary); font-size: var(--eco-font-size-metadata); line-height: 1.5; }
.eco-technical-summary-note { margin: 0; padding: 0 var(--eco-space-6) var(--eco-space-5); color: var(--eco-color-text-muted); font-size: var(--eco-font-size-metadata); line-height: 1.5; }
.eco-register--technical .eco-register-pager { margin: 0; padding: var(--eco-space-5) var(--eco-space-6); }
.eco-register--technical .eco-page-button { min-inline-size: 2.5rem; min-block-size: 2.5rem; background: var(--eco-field-background); }
@container eco-register (max-width: 30rem) {
    .eco-technical-heading { padding-inline-end: 0; }
    .eco-technical-search { grid-column: 1 / -1; }
    .eco-technical-size { grid-column: 1; }
    .eco-technical-filters > summary { position: static; inline-size: auto; max-inline-size: 100%; margin-block-start: var(--eco-space-5); }
}
@container eco-register (min-width: 36rem) {
    .eco-technical-table .eco-technical-identity { grid-column: 1 / -1; }
    .eco-technical-table .eco-technical-context { grid-column: 1; grid-row: 2; }
    .eco-technical-table .eco-technical-evidence { grid-column: 2; grid-row: 2; }
    .eco-technical-table .eco-technical-system, .eco-technical-table .eco-technical-open { grid-column: 1 / -1; }
    .eco-technical-system-body { grid-template-columns: minmax(0,1fr) minmax(5rem,.35fr); }
    .eco-technical-display { max-inline-size: 25rem; }
    .eco-technical-actions { grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
}
@container eco-register (min-width: 48rem) {
    .eco-technical-toolbar { grid-template-columns: minmax(11rem,1fr) minmax(12rem,24rem) auto; padding-inline-end: 9.5rem; }
    .eco-technical-heading { grid-column: auto; padding: 0; }
}
@container eco-register (min-width: 68rem) {
    .eco-register--technical .eco-technical-table { border-spacing: 0; }
    .eco-register--technical .eco-technical-table tbody { padding: 0; }
    .eco-register--technical .eco-technical-table td { background: transparent; border-block: 0; border-block-end: 1px solid var(--eco-border-color-strong); border-radius: 0; }
    .eco-register--technical .eco-technical-table td:first-child { border-inline-start: 0; border-radius: 0; }
    .eco-register--technical .eco-technical-table td:last-child { border-inline-end: 0; border-radius: 0; }
    .eco-register--technical .eco-technical-table tbody tr:last-child td { border-block-end: 0; }
    .eco-register--technical .eco-technical-table th { padding-block: .75rem; color: var(--eco-color-cyan-soft); background: rgba(4,30,47,.82); border-block-end: 1px solid var(--eco-border-color-strong); font-size: var(--eco-font-size-eyebrow); letter-spacing: .04em; text-transform: uppercase; }
    .eco-technical-col-identity { width: 24%; }
    .eco-technical-col-context { width: 16%; }
    .eco-technical-col-system { width: 28%; }
    .eco-technical-col-evidence { width: 16%; }
    .eco-technical-col-open { width: 16%; }
    .eco-technical-system-body { grid-template-columns: minmax(0,1fr) minmax(4.5rem,.32fr); }
    .eco-technical-actions { grid-template-columns: minmax(0,1fr); }
}
@media (pointer: coarse) {
    .eco-register--technical :is(a,button,summary).eco-technical-action, .eco-register--technical .eco-page-button, .eco-register--technical .eco-register-chip, .eco-technical-notes > summary, .eco-technical-check { min-block-size: 2.75rem; }
    .eco-register--technical .eco-technical-query :is(input[type="search"],input[type="text"],select) { min-block-size: 2.75rem; font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .eco-register--technical :is(a,button,summary).eco-technical-action { transition: none; } }
@media (forced-colors: active) {
    .eco-register--technical, .eco-register--technical .eco-technical-table :is(tr,th,td), .eco-technical-display, .eco-register--technical :is(a,button,summary).eco-technical-action { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
    .eco-register--technical a.eco-technical-action { color: LinkText; }
    .eco-register--technical .eco-technical-query :is(input[type="search"],input[type="text"],select) { background: Field; color: FieldText; border-color: ButtonText; }
}
@media print { .eco-technical-query { display: none; } .eco-register--technical .eco-technical-table :is(tr,th,td), .eco-technical-display { background: white; color: black; box-shadow: none; } }

/* Revision296.4: the schematic gets the full system-cell width so the bus
   remains legible. Its bound readouts share a compact row beneath the drawing. */
.eco-technical-art { display: block; inline-size: 100%; max-inline-size: 100%; block-size: auto; object-fit: contain; }
.eco-technical-display:has(.eco-technical-art) { inline-size: 100%; background: var(--eco-color-background); }
.eco-technical-system-body:has(.eco-technical-art) { grid-template-columns: minmax(0,1fr); }
.eco-technical-system-body:has(.eco-technical-art) .eco-technical-readouts { grid-template-columns: repeat(auto-fit,minmax(min(100%,6rem),1fr)); gap: .5rem 1rem; }
.eco-technical-emblem--drawing .eco-technical-art { max-block-size: 2.8rem; object-fit: contain; }
