.dashboard-strip { flex:0 0 auto; width:100%; min-height:40px; padding:0 5px 4px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; background:transparent; color:var(--muted); text-align:left; overflow:visible; }
.dashboard-lights-button:hover { background:transparent; outline:1px solid #46525b; outline-offset:4px; }
.dashboard-lights-button:disabled { opacity:1; }
.dashboard-lights { display:flex; align-items:center; gap:15px; overflow:visible; }
.warning-lamp { --lamp-color:#ffc74b; position:relative; color:#566168; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:25px; height:28px; }
.warning-lamp.red { --lamp-color:#ff6759; }
.warning-lamp svg { position:absolute; left:-40%; top:-37.5%; width:180%; height:175%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; overflow:visible; pointer-events:none; }
.warning-lamp .lamp-halo { opacity:0; }
.warning-lamp.is-lit { color:var(--lamp-color); }
.warning-lamp.is-lit .lamp-halo { opacity:1; }
.warning-lamp.is-flashing { animation:cel-warning .5s steps(1,end) infinite; }
.warning-lamp.is-flashing .lamp-halo { animation:cel-halo .5s steps(1,end) infinite; }
@keyframes cel-warning { 50% { color:#566168; } }
@keyframes cel-halo { 50% { opacity:0; } }
.dashboard-status { font-family:var(--mono); font-size:.75rem; line-height:1.2; }
.dashboard-status > span { margin-left:5px; color:var(--amber); font-size:1rem; }
.ignition-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.ignition-controls button { padding:10px 6px; font-size:.875rem; }
.ignition-controls [aria-pressed="true"] { color:var(--amber); border-color:#a38038; background:#302b1e; opacity:1; }
.dashboard-detail-lights { display:grid; gap:0; }
.warning-detail { display:flex; gap:17px; padding:15px 0; border-top:1px solid var(--line); }
.warning-detail .warning-lamp { width:35px; height:37px; margin-top:3px; }
.warning-detail h3 { font-family:var(--body); font-size:1rem; line-height:1.4; display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; }
.warning-detail h3 small { font-family:var(--mono); font-size:.75rem; color:var(--muted); font-weight:400; }
#dialog-content .warning-detail p { margin:5px 0 0; font-size:.875rem; line-height:1.55; color:var(--muted); }
#dialog-content .dashboard-footnote { font-size:.8125rem; color:var(--muted); margin-top:14px; }
@media(max-width:750px) {
  .dashboard-strip { padding:0 15px 4px; gap:8px; }
  .dashboard-lights { gap:9px; }
  .warning-lamp { width:22px; height:25px; }
  .dashboard-status { max-width:100px; text-align:right; }
}
@media(max-width:370px) {
  .dashboard-lights { gap:5px; }
  .warning-lamp { width:21px; }
  .dashboard-strip { padding-left:12px; padding-right:12px; }
}
@media(prefers-reduced-motion:reduce) { .warning-lamp.is-flashing,.warning-lamp.is-flashing .lamp-halo { animation:none; } }

/* Independent lights and key controls keep ignition accessible without a dialog. */
/* Paint the halo inside an expanded SVG, outside the native button's content.
   The transparent button is only the accessible hit target over the lights. */
.dashboard-indicators { position:relative; display:flex; align-items:center; flex:0 0 auto; min-height:36px; overflow:visible; }
#dashboard-lamps { display:block; }
.dashboard-lights-button { position:absolute; inset:0; width:100%; height:100%; appearance:none; -webkit-appearance:none; padding:0; background:transparent; border-radius:6px; }
.quick-ignition { display:flex; align-items:center; gap:8px; flex:0 0 auto; margin-left:auto; }
.ignition-keys { display:flex; gap:5px; }
.ignition-keys button { width:35px; min-height:32px; padding:3px; border:1px solid #354048; border-radius:7px; background:#141b20; color:#737f87; font:600 .875rem var(--mono); }
.ignition-keys button[aria-pressed=true] { color:#fff; text-shadow:0 0 4px #fff,0 0 10px #ffffff88; border-color:#75848d; box-shadow:inset 0 0 7px #ffffff0b; opacity:1; }
.ignition-state { display:block; flex:0 0 6ch; inline-size:6ch; text-align:right; white-space:nowrap; font:500 .75rem var(--mono); color:#b4c0c7; line-height:1; }
@media(max-width:750px) {
  .dashboard-strip { gap:7px; }
  .dashboard-lights { gap:6px; }
  .warning-lamp { width:21px; }
  .ignition-keys { gap:4px; }
  .ignition-keys button { width:31px; }
}
@media(max-width:370px) {
  .dashboard-strip { padding-left:10px; padding-right:10px; gap:5px; }
  .dashboard-lights { gap:2px; }
  .warning-lamp { width:20px; }
  .quick-ignition { gap:6px; }
  .ignition-keys button { width:28px; }
}
/* Long reference values wrap in both Help and the technical hotline. */
#info-dialog { overflow-x:hidden; }
#dialog-content,#hotline-message { min-width:0; overflow-wrap:anywhere; }
#dialog-content .reference-table,#hotline-message .reference-table { width:100%; table-layout:fixed; }
#dialog-content .reference-table th,#dialog-content .reference-table td,
#hotline-message .reference-table th,#hotline-message .reference-table td { white-space:normal; overflow-wrap:anywhere; vertical-align:top; }
#dialog-content .reference-table th:first-child { width:44%; }
#dialog-content .voltage-math { white-space:normal; overflow-wrap:anywhere; }

.repair-moment { max-width:640px; margin:0 auto; padding:22px 0; }
.repair-moment > img { display:block; margin:26px 0 20px; border-radius:13px; }
.repair-moment h2 { font-size:2rem; }
.repair-phase { margin:14px 0 22px; font:500 1rem var(--mono); color:var(--amber); }
.repair-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.repair-sequence span { font-size:.875rem; color:var(--muted); border-top:3px solid var(--line); padding-top:12px; }
.repair-sequence b { display:block; font:500 1.1rem var(--mono); margin-bottom:6px; }
.repair-sequence .reached { border-color:var(--amber); color:var(--text); }
