/* Member Portal 1.01 — site styles. Kept minimal so the site template's look carries through. */
.mp { max-width: 960px; }
.mp-intro p { margin-bottom: .6rem; }
.mp-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: .25rem 1.25rem; align-items: start; margin-bottom: .9rem; }
.mp-row > label, .mp-row > .mp-lbl { font-weight: 600; padding-top: .45rem; }
.mp-ctrl { max-width: 360px; min-width: 0; }
.mp-ctrl.mp-wide { max-width: none; }
.mp-ctrl .form-check { padding-top: .45rem; }
.mp-req { color: #b42318; }
.mp-err { color: #b42318; font-size: .9rem; margin-top: .2rem; }
.mp-row.mp-invalid input, .mp-row.mp-invalid select { border-color: #b42318; }
.mp-hint { color: #5b636c; font-size: .9rem; }
.mp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mp-card { border: 1px solid rgba(0,0,0,.12); border-radius: .5rem; padding: 1.25rem; margin-bottom: 1.25rem; }
.mp-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .35rem 1.25rem; margin: 0; }
.mp-dl dt { color: #5b636c; font-weight: 400; }
.mp-dl dd { margin: 0; overflow-wrap: anywhere; }
.mp-readonly { padding: .45rem .6rem; background: rgba(0,0,0,.04); border-radius: .3rem; }
.mp-table { width: 100%; border-collapse: collapse; }
.mp-table th, .mp-table td { padding: .5rem .6rem; border-bottom: 1px solid rgba(0,0,0,.1); text-align: left; vertical-align: top; }
.mp-scroll { overflow-x: auto; }
.mp-badge { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-size: .85rem; background: rgba(0,0,0,.07); }
.mp-badge.ok { background: #ddf0e5; color: #1b6c45; }
.mp-badge.warn { background: #fcefc9; color: #765600; }
.mp-badge.bad { background: #fae2df; color: #a6261d; }
@media (max-width: 640px) {
  .mp-row { grid-template-columns: minmax(0, 1fr); }
  .mp-row > label, .mp-row > .mp-lbl { padding-top: 0; }
  .mp-ctrl { max-width: none; }
}
