* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #f4f5f7; color: #222; font-size: 14px;
  display: flex; flex-direction: column; overflow: hidden;
}

header {
  background: #2c3e50; color: #fff;
  padding: 8px 12px; display: flex; align-items: center;
  gap: 8px; flex-wrap: wrap; flex-shrink: 0;
}
header h1 { font-size: 14px; margin: 0; font-weight: 600; white-space: nowrap; }
header .spacer { flex: 1; }
header button {
  background: #3498db; color: #fff; border: none;
  padding: 7px 10px; border-radius: 4px; cursor: pointer;
  font-size: 12px; white-space: nowrap;
}
header button:active { background: #2980b9; }
header button.alt { background: #16a085; }
header button.alt:active { background: #12876f; }
header button.danger { background: #95a5a6; }

.hidden { display: none; }