/* P0 components only. Navigation, page geometry and theme use existing styles. */
.global-safety-bar {
  position: sticky;
  top: 68px;
  z-index: 35;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 12px var(--page-gutter, 16px);
  border-bottom: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.safety-summary {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 8px 16px;
  min-width: 0;
}

.safety-item {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
  min-width: 0;
}

.safety-label,
.safety-item small,
.safety-freshness {
  color: var(--detail-text, var(--muted));
}

.safety-value,
.safety-item small {
  overflow-wrap: anywhere;
}

.safety-value[data-tone=success] { color: #176b49; }
.safety-value[data-tone=warning] { color: #8a4c0b; }
.safety-value[data-tone=danger] { color: #b62236; }

.safety-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-left: auto;
}

.safety-actions button { min-height: 36px; }
.safety-freshness { flex-basis: 100%; margin: 0; line-height: 1.6; }

.global-safety-bar.safety-stale:not(.safety-hard) {
  background: #fff7e8;
  border-bottom-color: #bc7b20;
}

.global-safety-bar.safety-hard {
  background: #fff0f2;
  border-bottom: 2px solid #b62236;
}

.safety-notice,
.safety-inline-message {
  flex: 1 0 100%;
  min-width: 0;
  margin: 0;
  color: #b62236;
  overflow-wrap: anywhere;
}

.safety-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  border-top: 1px solid currentColor;
  padding-top: 8px;
}

.safety-notice p { flex: 1 1 240px; margin: 0; }
.global-safety-bar [hidden] { display: none; }

.robot-confirm-dialog {
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 48px);
  margin: auto;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  color: var(--text);
  box-shadow: 0 20px 60px #0004;
  overflow: auto;
}

.robot-confirm-dialog::backdrop { background: #09142794; }
.robot-confirm-dialog:not([open]) { display: none; }
.confirm-dialog-heading { margin: 0 0 12px; font-size: 20px; line-height: 1.5; }
.confirm-dialog-body { white-space: pre-line; margin: 0 0 16px; line-height: 1.7; overflow-wrap: anywhere; }

.confirm-ack {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 16px 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
}

.confirm-ack input { width: 18px; height: 18px; flex: none; margin: 2px 0 0; }
.confirm-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; margin-top: 24px; }
.confirm-dialog-actions button { min-width: 100px; min-height: 36px; }

.global-safety-bar :is(a, button):focus-visible,
.robot-confirm-dialog :is(button, input):focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}

body.dark .safety-value[data-tone=success] { color: #8ee1b2; }
body.dark .safety-value[data-tone=warning] { color: #ffd08a; }
body.dark .safety-value[data-tone=danger],
body.dark .safety-notice,
body.dark .safety-inline-message { color: #ffb1bc; }
body.dark .global-safety-bar.safety-stale:not(.safety-hard) { background: #44351f; }
body.dark .global-safety-bar.safety-hard { background: #482b38; }

@media (max-width: 720px) {
  .global-safety-bar { top: 64px; padding-block: 8px; gap: 8px; }
  .safety-summary { flex-basis: 100%; gap: 6px 12px; }
  .safety-actions { width: 100%; justify-content: flex-end; }
  .robot-confirm-dialog { padding: 16px; }
  .confirm-dialog-actions button { flex: 1 1 100px; }
}
