/* Laboratory portal integration; upstream plots and bundled fonts are retained. */
:root { --teal: #075788; --bg: #f4f7fa; }
.portal-header { background: #fff; font-family: "Segoe UI", "Microsoft YaHei", sans-serif; border-bottom: 1px solid #dce5ed; }
.portal-identity { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 3.5vw; }
.portal-identity a { color: #132d42; font-size: 22px; font-weight: 750; text-decoration: none; }
.portal-identity span { color: #29485f; font-size: 14px; font-weight: 650; }
.portal-nav { display: flex; flex-wrap: wrap; gap: 26px; padding: 0 3.5vw; background: #f5f7fa; }
.portal-nav a { color: #254357; padding: 15px 0; text-decoration: none; font-weight: 650; border-bottom: 3px solid transparent; }
.portal-nav a[aria-current] { color: #075788; border-bottom-color: #075788; }
.topbar { height: 58px; background: #fafcfe; }
.brandmark { background: #075788; }
.intro h1 { font-size: clamp(24px, 2.3vw, 34px); color: #084b76; }
.intro p { font-size: 14px; max-width: 750px; line-height: 1.8; }
.bench-scope { grid-column: 1 / -1; color: #5a6e7d; border-left: 3px solid #779ab5; padding: 9px 14px; font-size: 13px; background: #eaf0f6; }
.run-controls { display: flex; gap: 8px; margin-top: 12px; }
.run-controls button { flex: 1; padding: 8px; background: #edf3f8; border: 1px solid #cad9e5; color: #075788; font: 13px "Segoe UI", "Microsoft YaHei", sans-serif; min-height: 40px; }
.run-controls button[aria-pressed="true"] { color: #fff; background: #075788; }
.portal-footer { padding: 26px 3.5vw; background: #0b2c43; color: #e2edf5; display: flex; justify-content: space-between; gap: 20px; font: 13px "Segoe UI", "Microsoft YaHei", sans-serif; }
.portal-footer a { color: inherit; }
.connection { min-width: 110px; }
.portal-header, .portal-header *, .portal-footer, .portal-footer * { font-family: "Segoe UI", "Microsoft YaHei", sans-serif !important; }
@media(min-width:701px) {
  .intro { grid-row: 1; }
  .bench-scope { grid-row: 2; margin: 0; }
  .throttle-panel { grid-row: 3 / 6; }
}
@media(min-width:1000px) {
  .metrics { grid-row: 3; }
  .monitor-panel { grid-row: 4; }
  .throttle-panel { grid-row: 3 / 5; }
}
@media(max-width:700px) {
  .portal-identity { padding: 16px; }
  .portal-identity a { font-size: 19px; }
  .portal-identity span { display: none; }
  .portal-nav { gap: 22px; padding: 0 16px; font-size: 13px; }
  .portal-nav a { padding: 11px 0; }
  .topbar { padding: 0 16px; }
  .brand { font-size: 17px; }
  .bench-scope { margin-bottom: 8px; font-size: 12px; }
  body { padding-bottom: calc(160px + env(safe-area-inset-bottom)); }
  .portal-footer { flex-direction: column; padding-bottom: 26px; }
  .run-controls { margin-top: 8px; }
  .run-controls { grid-column: 1 / -1; grid-row: 3; }
  .throttle-panel { grid-template-rows: 28px 45px auto; }
  .intro { display: block; }
  .intro h1 { font-size: 21px; }
  .intro .eyebrow { display: none; }
  .statusbar { flex-wrap: wrap; }
}
