button,input {font:inherit}
.signal-actions {display:flex;gap:8px;margin-left:auto;align-self:center}
.signal-button {border:1px solid #386176;border-radius:8px;background:#142b3b;color:#e8f2ff;padding:10px 14px;cursor:pointer;min-height:44px}
.signal-button:focus-visible,summary:focus-visible,input:focus-visible {outline:2px solid #38d9c5;outline-offset:3px}
.signal-button.primary {background:#38d9c5;color:#08202a;font-weight:bold}
.signal-button:disabled {opacity:.5;cursor:wait}
#alert-dialog {width:min(580px,calc(100% - 24px));max-height:90vh;max-height:90dvh;overflow:auto;background:#101f30;color:#e8f2ff;border:1px solid #386176;border-radius:16px;padding:22px}
#alert-dialog::backdrop {background:#000b}
#alert-dialog h2 {color:#38d9c5;margin:0 0 12px;font-size:22px}
#alert-dialog p {line-height:1.5;color:#b9cbd7}
#alert-close {float:right;margin-left:8px}
.alert-fields {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.alert-fields label {display:flex;flex-direction:column;gap:7px;font-size:13px}
#alert-dialog input:not([type=checkbox]) {width:100%;min-height:44px;border:1px solid #4b6378;background:#081522;color:#fff;border-radius:7px;padding:9px;font-size:16px}
#alert-dialog fieldset {border:1px solid #386176;border-radius:8px;margin:16px 0;padding:12px}
#alert-dialog fieldset label {display:block;padding:8px 0}
#alert-dialog input[type=checkbox] {accent-color:#38d9c5;width:20px;height:20px;vertical-align:middle;margin-right:8px}
#alert-feedback {white-space:pre-line}
#alert-dialog [hidden] {display:none!important}
.signal-legend summary {cursor:pointer;font-weight:bold;color:#38d9c5;padding:6px 0}
.signal-legend {max-height:55vh;overflow:auto}
body.map-expanded .map-shell {position:fixed;inset:0;z-index:1100;background:#080f1a}
body.map-expanded #map {height:100vh;height:100dvh;min-height:0;border-radius:0}
body.map-expanded {overflow:hidden}
#map-expand {position:absolute;right:12px;bottom:26px;z-index:950;box-shadow:0 4px 15px #0008}
@media(max-width:600px) {
  header {padding:10px 12px}
  h1 {font-size:16px;letter-spacing:.8px}
  .subtitle {font-size:11px;margin-top:4px}
  .stats {padding:7px 8px;gap:6px;flex-wrap:nowrap;align-items:stretch}
  .stat {min-width:0;flex:1;padding:7px 9px;border-radius:8px}
  .stat-label {font-size:10px}
  .stat-value {font-size:18px;margin-top:3px}
  .signal-actions {margin-left:0;flex:none}
  #open-alerts {padding:8px;font-size:12px}
  .radar-layout {display:block;margin:0 0 12px}
  #map {height:calc(100vh - 140px);height:calc(100dvh - 140px);min-height:320px;border-radius:0}
  .layer-menu {right:8px;top:8px;width:210px;max-width:calc(100% - 65px)}
  .layer-menu summary {min-height:44px}
  .layer-menu:not([open]) {width:145px}
  .layer-content {max-height:55vh;overflow:auto}
  #aircraft-panel {display:none;height:auto;min-height:0;margin:12px 8px;padding:14px}
  #aircraft-panel.has-selection {display:block}
  #panel-close {min-width:44px;min-height:44px}
  #alert-dialog {padding:16px}
  .alert-fields {gap:12px}
  footer {font-size:11px;padding:0 10px 8px}
}
@media(max-width:360px) {.alert-fields {grid-template-columns:1fr}}
