/* Small additions on top of Pico's classless styles. */
:root {
  --sc-ok: #2e7d32;
  --sc-warn: #b26a00;
  --sc-error: #c62828;
}

header nav .brand { text-decoration: none; }

form.inline { display: inline; margin: 0; }
form.inline button { margin: 0; width: auto; }

button.link {
  background: none;
  border: none;
  padding: 0;
  color: var(--pico-primary);
  text-decoration: underline;
  cursor: pointer;
}
button.danger { --pico-background-color: var(--sc-error); --pico-border-color: var(--sc-error); }

.flash { padding: 0.6rem 0.9rem; border-left: 4px solid var(--pico-primary); background: var(--pico-card-background-color); }
.flash.success { border-color: var(--sc-ok); }
.flash.warning { border-color: var(--sc-warn); }
.flash.error { border-color: var(--sc-error); }

.errorlist { color: var(--sc-error); list-style: none; padding: 0; margin: 0 0 0.5rem; }
.muted { color: var(--pico-muted-color); }

.badge {
  display: inline-block;
  padding: 0.05rem 0.5rem;
  border-radius: 1rem;
  font-size: 0.8em;
  background: var(--pico-secondary-background);
  color: var(--pico-secondary-inverse);
}
.badge.gm { background: var(--pico-primary-background); color: var(--pico-primary-inverse); }

.heading-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.heading-row > * { margin-bottom: 0.5rem; }

.grid-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0 1rem; align-items: end; }

.invite-link { display: flex; gap: 0.5rem; }
.invite-link input { margin: 0; font-family: var(--pico-font-family-monospace); font-size: 0.85em; }
.invite-link button { margin: 0; width: auto; white-space: nowrap; }

.table-wrap { overflow-x: auto; }
