:root {
  --brand-blue: #2563eb;
  --brand-blue-hover: #1d4ed8;
  --brand-blue-soft: #eff6ff;
  --brand-blue-line: #bfdbfe;
  --brand-ink: #172554;
  --accent: var(--brand-blue);
}
.brand, .brand-light, .text-link, .connection-check, h1 span,
.select-arrow, .price, .footer > button:hover { color: var(--brand-blue); }
.primary:not(:disabled) { background: var(--brand-blue); }
.primary:not(:disabled):hover { background: var(--brand-blue-hover); }
.demo-pill > span { background: var(--brand-blue); }
.brand-icon { background: var(--brand-blue); }
.phone-scene { background: radial-gradient(ellipse, #dbeafe 0, transparent 66%); }
.orbit { border-color: var(--brand-blue-line); }
.phone {
  border-color: var(--brand-blue);
  background: linear-gradient(145deg, #fff, var(--brand-blue-soft));
  box-shadow: 14px 19px 35px #2563eb22, inset 0 0 0 2px var(--brand-blue-line);
}
.island { background: var(--brand-blue); }
.phone-check { color: #fff; background: var(--brand-blue); box-shadow: 0 0 0 7px #dbeafe; }
.phone > span, .phone small { color: var(--brand-ink); }
.float-icon, .service-icon, .result-icon { color: var(--brand-blue); background: var(--brand-blue-soft); }
.input-shell:focus-within { border-color: var(--brand-blue); box-shadow: 0 0 0 3px #2563eb1f; }
.select-shell select:focus-visible { border-color: var(--brand-blue); outline-color: #2563eb33; }
.charge-confirm input { accent-color: var(--brand-blue); }
button:focus-visible, a:focus-visible, summary:focus-visible { outline-color: var(--brand-blue); }
.scenario-buttons button[aria-pressed=true] { background: var(--brand-blue-soft); color: var(--brand-blue); border-color: var(--brand-blue-line); }
/* ON/OFF labels are readable status fields, independent of the blue brand. */
.status-on, .status-off, .test-layout .status-on, .test-layout .status-off,
.test-layout .fmi-on, .test-layout .fmi-off {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  padding: 7px 12px;
  border-radius: 6px;
  color: #fff;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}
.status-on, .test-layout .status-on, .test-layout .fmi-on { background: #b42318; }
.status-off, .test-layout .status-off, .test-layout .fmi-off { background: #067647; }
