/* WMM Panel — minimal custom styling on top of Pico */
.login-card {
  max-width: 26rem;
  margin: 4rem auto 0;
}
.login-card hgroup h1 {
  margin-bottom: 0;
  font-size: 1.75rem;
}
.error {
  color: var(--pico-color-red-550);
  background: rgba(200, 0, 0, 0.06);
  border-left: 3px solid var(--pico-color-red-550);
  padding: 0.5rem 0.75rem;
  border-radius: 3px;
}
nav ul li strong { font-size: 1.1rem; }

.nav-top { padding: 0.5rem 1rem; border-bottom: 1px solid var(--pico-muted-border-color); background: var(--pico-card-background-color); }
.nav-top .brand { color: inherit; text-decoration: none; }
.nav-top .logout-btn { padding: 0.25rem 0.75rem; margin: 0; }

.flashes { margin: 1rem 0; }
.flash { padding: 0.5rem 0.75rem; border-radius: 3px; margin-bottom: 0.5rem; }
.flash-success { background: rgba(0, 160, 0, 0.08); border-left: 3px solid #2e8b57; }
.flash-warning { background: rgba(200, 150, 0, 0.08); border-left: 3px solid #d19f00; }
.flash-error   { background: rgba(200, 0, 0, 0.08);   border-left: 3px solid var(--pico-color-red-550); }

.dashboard-cards article { text-align: center; }
.dashboard-cards article hgroup h3 { font-size: 2.25rem; margin-bottom: 0; }
.dashboard-cards article hgroup p  { color: var(--pico-muted-color); margin-bottom: 0.5rem; }
.card-danger h3 { color: var(--pico-color-red-550); }
.card-warning h3 { color: #d19f00; }
.card-muted h3 { color: var(--pico-muted-color); }
.card-info h3 { color: var(--pico-color-blue-500); font-size: 1.6rem; }
.warn-inline { color: #d19f00; }

.sync-panel { margin-top: 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.sync-panel form { margin: 0; }

.search-form { display: flex; gap: 0.5rem; margin-bottom: 1rem; align-items: center; }
.search-form input[type=search] { flex: 1; margin: 0; }
.search-form button, .search-form a { margin: 0; }

mark.danger { background: #ffe0e0; color: #b00020; padding: 0.1rem 0.3rem; border-radius: 3px; }
.pay-panel details summary { cursor: pointer; }
.preview-body { padding: 0.75rem; background: #fafafa; border: 1px solid #eee; border-radius: 3px; }
.ok-inline { color: #2e8b57; font-weight: 600; }
.fail-inline { color: var(--pico-color-red-550); }
.danger-zone { border: 1px solid #ffd0d0; background: #fffafa; }
.danger-zone details summary { color: #b00020; }
.danger-btn { background: #b00020; border-color: #b00020; }
.danger-btn:hover { background: #900018; }

#transcript { min-height: 260px; max-height: 60vh; overflow-y: auto; padding: 0.75rem; background: #fbfbfb; border: 1px solid #eee; border-radius: 3px; font-size: 0.95rem; }
.msg { margin: 0.5rem 0; padding: 0.4rem 0.6rem; border-radius: 3px; }
.msg-user { background: #eef4ff; }
.msg-assistant { background: #f5f5f5; }
.msg-decision { color: #666; font-size: 0.9em; }
.msg-tool-result pre { max-height: 240px; overflow: auto; background: #111; color: #f0f0f0; padding: 0.5rem; border-radius: 3px; font-size: 0.85rem; }
.msg-turn-end { color: #888; text-align: right; }
.msg-system { color: #888; }
.msg-fatal { background: #ffe0e0; color: #b00020; }
.cmd-preview { background: #111; color: #f0f0f0; padding: 0.75rem; border-radius: 3px; white-space: pre-wrap; word-break: break-all; max-height: 240px; overflow: auto; }
#approval-modal article { max-width: 640px; }
