/* gbd_portal — the app's own rules on top of smkit's sm.css (accent: deep green).
   No inline styles, no external resources. */

/* ---------- home: brand cards ---------- */

.gbd-brands { margin-top: 1.25rem; }
.gbd-brands > p { grid-column: 1 / -1; }

a.gbd-brand {
  display: flex; flex-direction: column; gap: .35rem;
  color: var(--ink); text-decoration: none;
  border-top: 4px solid var(--accent);
  min-height: 9rem;
}
a.gbd-brand > * + * { margin-top: 0; }
a.gbd-brand:hover { border-color: var(--accent-strong); box-shadow: var(--shadow-lg); color: var(--ink); }
a.gbd-brand:focus-visible { outline: 3px solid var(--accent-text); outline-offset: 2px; }

.gbd-brand__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.gbd-brand__name { font-size: 1.25rem; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.gbd-brand__time { font-size: .9rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.gbd-brand__go { margin-top: auto; padding-top: .6rem; font-weight: 600; color: var(--accent-text); }

[data-gbd-empty] { margin-top: 1.25rem; }
[data-gbd-error] { margin-top: 1rem; }

/* ---------- registration: brand checkboxes ---------- */

.gbd-fieldset .sm-hint { margin-top: 0; }

/* ---------- /admin/users: brand × level matrix ---------- */

.gbd-matrix { display: grid; gap: .35rem; min-width: 18.5rem; }
.gbd-matrix__row { display: flex; align-items: center; gap: .5rem; }
.gbd-matrix__row > label { flex: 0 0 5.5rem; font-size: .875rem; font-weight: 600; overflow-wrap: anywhere; }
.gbd-matrix__row > select.sm-input { flex: 0 0 auto; width: auto; min-width: 7rem; }
.gbd-matrix__row > .sm-badge { flex: 0 0 auto; }

.gbd-scope { margin-top: .5rem; padding-top: .5rem; border-top: 1px dashed var(--line); }
.gbd-scope__title { font-size: .8rem; font-weight: 600; color: var(--ink-2); }
.gbd-scope .sm-check { min-height: 1.9rem; padding: .15rem 0; font-size: .875rem; }

@media (max-width: 767px) {
  .gbd-matrix { min-width: 0; width: 100%; }
  .gbd-matrix__row { flex-wrap: wrap; }
  .gbd-matrix__row > label { flex-basis: 100%; }
}
