/* FIG: a shared, dark glass workspace. Existing telemetry uses these same tokens. */
:root, :root[data-theme="dark"] {
  color-scheme: dark;
  --brand: #c2a3f7;
  --brand-bright: #dac6ff;
  --brand-soft: #30243f;
  --brand-grid: rgba(195,163,247,.055);
  --canvas: #100e19;
  --surface: #1b1827;
  --surface-raised: #252033;
  --surface-muted: #15121f;
  --text: #f0ecf6;
  --text-soft: #a8a0b9;
  --border: rgba(208,189,240,.13);
  --border-strong: rgba(208,189,240,.27);
  --nav: #171321;
  --nav-hover: rgba(199,168,255,.09);
  --nav-text: #b2a8c5;
  --low: #91dfbc;
  --low-soft: #1a342e;
  --medium: #edbd81;
  --medium-soft: #392b23;
  --high: #f294ae;
  --high-soft: #3c2332;
  --offline: #91879f;
  --shadow: 0 12px 36px rgba(5,3,12,.2), inset 0 1px 0 rgba(255,255,255,.035);
  --ink: var(--text);
  --muted: var(--text-soft);
  --line: var(--border);
  --bg: var(--canvas);
  --teal: var(--brand);
  --green: var(--low);
  --yellow: var(--medium);
  --red: var(--high);
  --fig-glass: linear-gradient(135deg,rgba(48,39,65,.73),rgba(25,23,37,.77));
}
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  background: radial-gradient(ellipse at 83% 0%,rgba(99,65,142,.22),transparent 48%),radial-gradient(ellipse at 9% 60%,rgba(61,84,89,.11),transparent 40%),var(--canvas);
  background-attachment: fixed;
  color: var(--text);
  font: 14px/1.6 "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:radial-gradient(rgba(213,184,255,.1) .6px,transparent .6px); background-size:28px 28px; mask-image:linear-gradient(transparent,#000); }
::selection { background: #7853aa; color: #fff; }
* { scrollbar-width: thin; scrollbar-color: #51445f transparent; }
img,svg,canvas { max-width:100%; }
button,input,select,textarea { font:inherit; }
input,select,textarea { max-width:100%; color:var(--text); background:var(--surface-muted); border:1px solid var(--border); border-radius:11px; padding:11px 14px; }
input::placeholder,textarea::placeholder { color:#8a809c; }
select option { color:var(--text); background:var(--surface); }
a { color:var(--brand); text-underline-offset:4px; }
button,.button { min-height:42px; border:1px solid transparent; border-radius:11px; background:#bea0ed; color:#20152e; padding:10px 17px; font-size:12px; font-weight:650; transition:background .18s,border-color .18s,box-shadow .18s,transform .18s; }
button:hover,.button:hover { background:#d0b8f7; color:#20152e; box-shadow:0 4px 20px #b688f329; }
.button.secondary { border-color:var(--border-strong); color:var(--text); background:rgba(191,160,237,.08); }
.button.secondary:hover { background:rgba(191,160,237,.16); }
button.danger { background:var(--high-soft); border-color:#f294ae55; color:var(--high); }
:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px #b88ce517; }
[hidden] { display:none!important; }
h1,h2,h3 { font-weight:600; line-height:1.25; letter-spacing:-.035em; color:var(--text); overflow-wrap:anywhere; }
h1 { font-size:38px; margin:7px 0 14px; }
h2 { font-size:22px; }
h3 { font-size:18px; }
p { color:var(--text-soft); }
.eyebrow { font-size:10px; font-weight:650; color:var(--brand); letter-spacing:1.5px; }
.fig-icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.fig-icon { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.fig-skip-link { position:fixed; top:-70px; left:20px; z-index:100; background:var(--brand); color:var(--canvas); padding:12px 20px; border-radius:12px; }
.fig-skip-link:focus { top:14px; }
/* Floating navigation rail */
body > #app-sidebar { position:fixed; inset:16px auto 16px 16px; z-index:40; width:224px; padding:24px 14px 16px; border:1px solid var(--border); border-radius:23px; background:linear-gradient(165deg,rgba(39,31,54,.84),rgba(20,19,29,.91)); box-shadow:var(--shadow); backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px); overflow-y:auto; }
.sidebar-top { display:flex; align-items:center; padding:0 4px; }
.brand { display:flex; align-items:center; gap:10px; margin:0; text-decoration:none; color:var(--text); }
.brand:hover { color:#fff; }
.brand .fig-mark { flex:none; width:43px; height:47px; border:0; border-radius:0; filter:drop-shadow(0 4px 10px #ba7ce429); transition:transform .22s; }
.brand:hover .fig-mark { transform:rotate(-9deg) translateY(-2px); }
.brand .fig-wordmark { display:block; width:auto; height:auto; border:0; border-radius:0; color:inherit; font-weight:400; }
.brand .fig-wordmark strong { display:block; font-size:33px; line-height:1; letter-spacing:-1.5px; font-weight:700; }
.fig-brand-dot,.brand .fig-brand-dot { display:inline; width:auto; height:auto; border:0; color:var(--low); }
.fig-wordmark small { display:block; color:var(--text-soft); font-size:8px; line-height:1.5; margin-top:7px; letter-spacing:.2px; white-space:nowrap; }
#app-nav { display:grid; gap:4px; margin-top:30px; }
.fig-nav-label { margin:17px 13px 6px; color:#82768f; font-size:10px; font-weight:600; letter-spacing:.6px; }
.fig-nav-label:first-child { margin-top:0; }
#app-nav a { display:flex; align-items:center; gap:12px; min-height:42px; padding:10px 13px; border:1px solid transparent; border-radius:11px; font-size:12px; color:var(--nav-text); }
#app-nav a:hover { color:var(--text); background:var(--nav-hover); border-color:var(--border); }
#app-nav a[aria-current="page"] { color:#eee1ff; border-color:#c9a2fa26; background:linear-gradient(100deg,#ba8df029,#cba7ff0a); box-shadow:inset 0 1px 0 #ffffff06,0 3px 12px #0000000c; }
#app-nav a .fig-icon { width:18px; height:18px; opacity:.82; }
.fig-nav-active-dot { display:none; margin-left:auto; width:5px; height:5px; background:var(--brand); border-radius:50%; box-shadow:0 0 8px #d3b3fd66; }
[aria-current="page"] .fig-nav-active-dot { display:block; }
.fig-nav-tag { margin-left:auto; padding:1px 6px; border:1px solid var(--border); border-radius:5px; color:var(--text-soft); font-size:8px; }
.fig-sidebar-note { margin:30px 9px 22px; padding:16px 12px; border:1px solid #c9a2fa13; border-radius:14px; background:radial-gradient(ellipse at 90% 5%,#7856972b,transparent 70%); }
.fig-sidebar-note p { font-size:10px; line-height:1.7; margin:11px 0 0; }
.fig-sidebar-note strong { font-weight:500; color:#cdc2dc; }
.fig-note-orbit { display:block; width:24px; height:24px; border:1px solid #c7aceb50; border-radius:50%; position:relative; }
.fig-note-orbit:after { content:""; position:absolute; inset:5px; border:1px solid #92dfbc80; border-radius:50%; box-shadow:8px -7px 0 -4px var(--low); }
#app-sidebar .user { margin-top:auto; display:flex; align-items:center; gap:9px; padding:15px 4px 0; border-top:1px solid var(--border); }
.fig-avatar { display:grid; place-items:center; width:33px; height:33px; flex:none; border:1px solid #c9a2fa30; border-radius:11px; background:linear-gradient(140deg,#604b7a,#31293e); color:#e3d0fc; font-size:12px; }
.fig-user-name { min-width:0; flex:1; }
.fig-user-name strong { display:block; overflow:hidden; text-overflow:ellipsis; font-size:11px; font-weight:500; }
.fig-user-name small { display:block; color:#8f829f; font-size:9px; }
.user .fig-signout { display:grid; place-items:center; padding:0; width:32px; min-height:36px; background:transparent; color:var(--text-soft); }
.fig-signout .fig-icon { width:17px; }
.menu-toggle { display:none; }
.fig-menu-scrim { position:fixed; inset:0; width:100%; height:100%; z-index:35; background:#09070f99; border:0; border-radius:0; backdrop-filter:blur(5px); }
.fig-menu-scrim:hover { background:#09070f99; }
.fig-mobile-dock { display:none; }
/* Workspace chrome */
body > main { margin-left:254px; padding:0 32px 25px; background:transparent; min-width:0; }
body.fig-shared > main { margin-left:0; max-width:1560px; margin-right:auto; margin-inline:auto; }
main > .fig-topbar { height:89px; margin:0 0 27px; padding:0; border-color:var(--border); background:transparent; backdrop-filter:none; gap:20px; }
.fig-workspace-name { display:flex; gap:13px; align-items:center; font-size:11px; color:var(--text-soft); }
.fig-workspace-symbol { display:grid; place-items:center; width:27px; height:27px; border:1px solid var(--border-strong); border-radius:8px; background:#c2a3f70a; color:#d2bfdc; font-size:12px; }
.fig-workspace-divider { color:#6d5d7c; }
.fig-workspace-current { color:#cdc2da; }
.fig-global-search { display:flex; align-items:center; width:278px; min-width:0; gap:10px; padding:0 12px; border:1px solid var(--border); background:rgba(21,17,31,.45); border-radius:11px; }
.fig-global-search .fig-icon { width:16px; height:16px; color:#90839f; }
.fig-global-search input { width:100%; min-width:0; height:38px; padding:0; font-size:11px; background:transparent; border:0; box-shadow:none; }
.fig-global-search:focus-within { border-color:var(--brand); }
.fig-global-search input:focus { box-shadow:none; }
.fig-global-search kbd { display:grid; place-items:center; width:18px; height:19px; flex:none; border:1px solid var(--border); border-radius:4px; color:#9584a6; font-size:10px; }
.fig-shared-label { display:flex; gap:9px; align-items:center; color:var(--text-soft); font-size:12px; }
.fig-page-footer { display:flex; justify-content:space-between; gap:20px; padding-top:24px; margin-top:40px; border-top:1px solid var(--border); font-size:10px; color:#81758f; }
.fig-page-footer > span:first-child { color:#c1b0d2; font-weight:650; }
.fig-page-footer > span:first-child > span:last-child { font-weight:400; margin-left:8px; color:#81758f; }
/* Shared glass surfaces across monitoring, research, and operational pages. */
.panel,.asset,.metrics article,.research-record,.research-kpis article,.lab-metrics article,.national-metrics article,.asset-detail-metrics article {
  border:1px solid var(--border); border-radius:18px; background:var(--fig-glass); box-shadow:var(--shadow); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.panel { padding:23px; }
.hero,.asset-detail-hero,.research-hero,.docs-hero,.lab-hero,.facility-hero { border:1px solid var(--border-strong); border-radius:22px; padding:30px; background:radial-gradient(ellipse at 100% 0%,#b389e61f,transparent 60%),var(--fig-glass); box-shadow:var(--shadow); backdrop-filter:blur(20px); }
.hero:after { opacity:.25; }
.hero h1,.asset-detail-hero h1,.research-hero h1,.lab-hero h1 { font-size:34px; font-weight:600; letter-spacing:-1px; }
.hero p,.research-hero p:not(.eyebrow),.lab-hero p:not(.eyebrow) { color:var(--text-soft); }
.research-hero .eyebrow { color:var(--brand); }
.metrics { gap:14px; margin:20px 0 30px; }
.metrics article { padding:19px; }
.metrics article:before { display:none; }
.metrics label,.metrics small,.asset small { text-transform:none; letter-spacing:.1px; font-size:11px; }
.metrics b { font-size:28px; font-weight:550; letter-spacing:-1px; }
.metrics .state { font-size:10px!important; font-weight:650; letter-spacing:.2px; }
.state,.severity,.risk-chip,.facility-condition { border-radius:7px; font-weight:600; }
.section-head { margin:26px 0 16px; }
.section-head h2,.panel h2 { font-weight:550; font-size:19px; }
.technical-grid { gap:16px; }
.technical-asset { border-top:1px solid var(--border-strong); padding:0; }
.asset:hover,.research-record:hover,.experimental-card:hover { border-color:#cda9ff5c; box-shadow:0 14px 36px #08060f44,inset 0 1px 0 #dfbaff15; transform:translateY(-3px); }
.asset-title-row { padding-top:12px; padding-bottom:16px; }
.asset-title-row h3 { font-size:18px; }
.asset-type { color:var(--brand); font-size:9px; font-weight:600; }
.sparkline-panel { border-radius:10px; background:#120e1b55; border-color:#c0a3eb14; }
.technical-readings { padding:16px; }
.technical-readings small { font-size:9px; }
.technical-readings strong { font-size:17px; font-weight:600; }
.technical-asset footer { background:rgba(16,12,24,.2); padding:12px 16px; }
.health-number b { font-weight:500; }
.store-code-badge { background:linear-gradient(145deg,#7859a7,#4b3966); border-color:#c9a4f75c; border-radius:13px; box-shadow:0 5px 24px #110b1d44; }
.store-service-strip { margin-top:-10px; border-left:1px solid var(--border-strong); }
.store-service-issue { min-width:0; }
.store-service-actions a,.provider-contact-actions a { border-color:var(--border-strong); border-radius:10px; font-size:11px; }
.store-service-actions a:first-child,.provider-contact-actions .provider-call { background:var(--brand); color:#24172f; }
.refresh-indicator { text-transform:none; letter-spacing:.1px; font-size:10px; background:#97debd0b; color:var(--low)!important; border-color:#97debd24; }
.asset-detail-metrics article { padding:15px; border-radius:12px; }
.detail-history { gap:16px; flex-wrap:wrap; margin-top:25px; }
.detail-history nav { flex-wrap:wrap; }
.detail-history nav a { min-height:36px; padding:8px 14px; font-size:11px; border-radius:8px; }
.detail-history nav a.active,.detail-history nav a:hover { background:var(--brand); color:#24172f; }
.detail-breadcrumb { gap:12px; flex-wrap:wrap; }
.detail-signal { padding:20px; }
.detail-chart-wrap { height:190px; }
.detail-signal-head strong { font-size:26px; font-weight:500; }
.signal-stats small,.reed-summary-grid small { font-size:9px; }
.signal-stats b { font-size:12px; }
.door-hero-metric strong { font-weight:650; }
.door-hero-metric small { font-size:9px; }
.door-event { border-color:var(--border); }
.event p,.record-prose p,.research-record p,.experimental-card p,.work span { color:var(--text-soft); }
.event { padding:18px 0; }
.event>div { min-width:0; overflow-wrap:anywhere; }
.event strong { font-weight:600; }
.table { border-radius:16px; }
.table th { font-size:10px; text-transform:none; letter-spacing:.3px; padding:17px 15px; }
.table td { font-size:12px; padding:17px 15px; }
.table tr:hover td { background:#c2a3f707; }
.table td small { margin-top:4px; }
.filter input { border-radius:11px; }
.flash { color:var(--low); background:var(--low-soft); border-color:#91dfbc33; border-radius:12px; }
.research-filters input,.research-filters select { border-radius:10px; }
.research-record { padding:22px; }
.research-record h3 { margin:20px 0 12px; }
.research-kpis b { color:var(--text); font-weight:550; }
.research-admin { background:var(--brand); color:#24172f; }
.document-list a { overflow-wrap:anywhere; }
.document-list a>span:last-child { min-width:0; }
.document-icon { flex:none; }
.related-grid a,.tag { border-color:var(--border); background:#b595d80b; border-radius:10px; color:var(--text-soft); }
.experimental-card { transition:transform .2s,box-shadow .2s,border-color .2s; }
.experimental-card .button { margin-top:auto; }
.experimental-card-note { color:var(--text-soft); }
.lab-device-header { background:linear-gradient(130deg,#9d74c513,transparent); }
.lab-device-grid,.lab-reading-grid { min-width:0; }
.lab-device-grid strong,.lab-reading strong { overflow-wrap:anywhere; }
.lab-reading,.lab-reading.preview { background:#b48ace08; border-color:var(--border); }
.lab-contract code,pre { overflow-wrap:anywhere; white-space:pre-wrap; color:var(--brand); }
.stream-card,.stream-card-body { background:var(--surface); border-radius:16px; }
.stream-card { padding:0; border-color:var(--border); }
.stream-card-body { border-radius:0; }
.stream-modal-panel { border-radius:22px; border-color:var(--border-strong); background:var(--surface); }
.share-links { background:#c2a3f708; border:1px solid var(--border); border-radius:12px; padding:14px 18px; }
.share-link-row input { background:var(--surface-muted); border:1px solid var(--border); border-radius:10px; padding:12px; }
.national-store-row,.national-store-detail { border-radius:12px; }
.map-state-fill { fill:#2c243b; }
.map-state-line { stroke:#c1a2ec24; }
.national-map-wrap { background:radial-gradient(ellipse at center,#9e72d71a,transparent),#16131f; border-radius:14px; }
.national-store-pin { cursor:pointer; outline:none; }
.national-pin-halo { fill:var(--surface-muted); stroke:var(--border-strong); stroke-width:1; }
.national-store-pin.healthy .national-pin-halo { stroke:var(--low); }
.national-store-pin.attention .national-pin-halo { stroke:var(--medium); }
.national-store-pin.critical .national-pin-halo { stroke:var(--high); }
.national-store-pin:hover .national-pin-halo,.national-store-pin:focus .national-pin-halo,.national-store-pin.is-selected .national-pin-halo { stroke:var(--brand); stroke-width:2.5; fill:var(--brand-soft); }
@media(min-width:1600px) { body > main { padding-inline:46px; } }
@media(max-height:820px) and (min-width:901px) { .fig-sidebar-note { display:none; } #app-nav { margin-bottom:24px; } }
@media(max-width:1200px) { body > main { padding-inline:24px; } .fig-workspace-current,.fig-workspace-divider { display:none; } .asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .columns { grid-template-columns:minmax(0,1fr); } }
@media(max-width:900px) {
  html { scroll-padding-top:90px; }
  body > #app-sidebar { position:sticky; top:0; left:0; width:100%; height:auto; max-height:100dvh; padding:12px 20px; border-width:0 0 1px; border-radius:0; background:rgba(22,17,33,.88); overflow-y:auto; }
  .sidebar-top { padding:0; gap:14px; }
  .brand .fig-mark { width:35px; height:39px; }
  .brand .fig-wordmark strong { font-size:28px; }
  .fig-wordmark small { font-size:8px; margin-top:4px; }
  .menu-toggle { display:flex; align-items:center; gap:8px; min-height:42px; padding:7px 11px; color:var(--text-soft); border:1px solid var(--border); border-radius:10px; background:#c2a3f707; }
  .menu-toggle-label { font-size:10px; text-transform:none; letter-spacing:0; }
  .menu-toggle span:first-child { font-size:10px; }
  #app-sidebar #app-nav { display:none; margin:20px 0; border:0; padding:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
  #app-sidebar.is-open #app-nav { display:grid; }
  .fig-nav-label { grid-column:1/-1; margin-top:9px; }
  #app-nav a { padding:11px; font-size:12px; min-height:44px; }
  #app-sidebar .fig-sidebar-note,#app-sidebar .user { display:none; }
  #app-sidebar.is-open .user { display:flex; margin:0; padding-top:12px; }
  #app-sidebar .user form { margin:0; }
  body.fig-menu-open { overflow:hidden; }
  body > main { margin-left:0; padding:0 24px calc(90px + env(safe-area-inset-bottom)); }
  main > .fig-topbar { height:68px; min-height:0; margin-bottom:24px; gap:18px; }
  .fig-global-search { width:270px; flex:0 1 270px; }
  .fig-global-search input { height:39px; }
  .fig-mobile-dock { position:fixed; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); z-index:30; bottom:calc(12px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(420px,calc(100% - 32px)); padding:7px; gap:4px; border:1px solid #d7baff29; border-radius:22px; background:rgba(31,24,44,.9); box-shadow:0 10px 35px #07040d80,inset 0 1px 0 #ffffff09; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
  .fig-mobile-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:48px; padding:5px; color:#9889aa; border:0; border-radius:15px; font-size:9px; text-decoration:none; }
  .fig-mobile-dock a[aria-current="page"] { color:#e1cafc; background:linear-gradient(135deg,#c7a0f12b,#c7a0f108); }
  .fig-mobile-dock a:hover { color:var(--text); background:#c7a0f113; }
  .fig-mobile-dock .fig-icon { width:18px; height:18px; }
  .fig-page-footer { margin-top:28px; }
  .fig-page-footer > span:last-child { display:none; }
  .asset-grid,.chart-grid,.detail-signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-lower,.asset-activity-grid,.record-layout { grid-template-columns:minmax(0,1fr); }
  .store-service-strip { grid-template-columns:minmax(0,1fr); }
  .store-service-issue { padding:12px 0; border:0; border-block:1px solid var(--border); }
  .store-service-actions { grid-template-columns:1fr 1fr; }
  .research-filters { grid-template-columns:1fr 1fr; }
  .research-layout,.national-operations-layout,.docs-grid,.facility-detail-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  body > #app-sidebar { padding:12px 17px; }
  body > main { padding-inline:17px; }
  .fig-workspace-name { display:none; }
  .fig-global-search { width:100%; flex:1; padding-inline:12px; }
  .fig-global-search input { font-size:16px; }
  .fig-global-search input::placeholder { font-size:12px; }
  main > .fig-topbar { height:63px; margin-bottom:20px; }
  .fig-global-search kbd { display:none; }
  h1 { font-size:32px; }
  .hero,.asset-detail-hero,.research-hero,.docs-hero,.lab-hero,.facility-hero { padding:23px 19px; border-radius:19px; }
  .hero h1,.asset-detail-hero h1,.research-hero h1,.lab-hero h1 { font-size:29px; }
  .hero,.research-hero,.lab-hero { flex-direction:column; align-items:stretch; gap:18px; }
  .hero.compact { display:block; }
  .panel { padding:19px 16px; }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-block:15px 24px; }
  .metrics article { padding:15px 13px; }
  .metrics b { font-size:25px; }
  .metrics article:last-child:nth-child(odd) { grid-column:1/-1; }
  .asset-grid,.chart-grid,.detail-signal-grid { grid-template-columns:minmax(0,1fr); }
  .technical-asset { padding:0; }
  .asset-detail-metrics { grid-template-columns:1fr 1fr; }
  .asset-detail-metrics article { flex-direction:column; align-items:flex-start; gap:4px; }
  .asset-detail-metrics strong { text-align:left; }
  .section-head { align-items:flex-start; gap:10px; flex-wrap:wrap; }
  .facility-identity { gap:14px; align-items:flex-start; flex-direction:column; }
  .store-code-badge { min-width:0; min-height:0; padding:10px 15px; }
  .store-code-badge strong { font-size:21px; }
  .store-code-badge small { font-size:8px; }
  .store-detail-nav { flex-wrap:wrap; margin-bottom:15px; }
  .detail-history { gap:13px; margin-top:20px; }
  .detail-history nav { display:flex; gap:5px; }
  .detail-history nav a { padding:9px 15px; min-height:40px; }
  .detail-breadcrumb > span { font-size:10px; }
  .door-hero-metric strong { font-size:26px; }
  .door-hero-metric small { font-size:8px; }
  .door-event { grid-template-columns:78px minmax(0,1fr); gap:8px; }
  .door-event-duration { grid-column:2; text-align:left; }
  .detail-chart-wrap { height:185px; }
  .filter { flex-wrap:wrap; }
  .filter input { width:100%; flex:1 1 190px; }
  input,select,textarea,.research-filters input,.research-filters select { font-size:16px; }
  .research-filters,.research-records,.research-sidebar,.research-kpis,.related-grid,.experimental-grid,.docs-grid { grid-template-columns:minmax(0,1fr); }
  .research-admin { white-space:normal; }
  .research-kpis { grid-template-columns:1fr 1fr; }
  .research-record { padding:20px; }
  .research-meta { overflow-wrap:anywhere; }
  .lab-device-header { flex-direction:column; gap:16px; padding:22px 18px; }
  .lab-device-grid { grid-template-columns:1fr 1fr; }
  .lab-device-grid>div { padding:18px 14px; }
  .lab-device-grid strong { font-size:20px; }
  .lab-reading-grid { grid-template-columns:1fr; padding:16px; }
  .lab-reading { padding:20px 16px; }
  .lab-contract { display:block; padding:20px 16px; }
  .lab-contract code { display:block; margin-top:16px; font-size:11px; }
  .table { max-width:100%; margin-inline:0; }
  .docs-table { overflow-x:auto; }
  .technical-steps li { min-width:0; }
  .stream-modal-panel { width:calc(100% - 22px); max-height:90dvh; }
  .stream-modal-info { min-width:0; }
  .fig-shared-label { font-size:10px; gap:6px; }
  .fig-shared-brand .fig-mark { width:32px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
