.mbgp-page {
  min-height: 65vh;
  background: #f3f1eb;
  padding: 4rem 1.25rem 6rem;
  color: #252923;
  font-family: "DM Sans", Arial, sans-serif;
}
.mbgp-portal { max-width: 1100px; margin: 0 auto; }
.mbgp-heading { max-width: 740px; margin-bottom: 2rem; }
.mbgp-eyebrow { color: #9d7c44; font-size: .78rem; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.mbgp-heading h1 { font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.1; margin: .5rem 0 1rem; }
.mbgp-heading p { color: #595f58; max-width: 660px; }
.mbgp-panel { background: #fff; border: 1px solid #e3e0d7; border-radius: 12px; padding: clamp(1.25rem, 4vw, 2.5rem); margin: 1.25rem 0; box-shadow: 0 8px 26px rgba(0,0,0,.04); }
.mbgp-panel h2 { font-size: 1.55rem; margin: 0 0 1rem; color: #242920; }
.mbgp-panel-heading, .mbgp-session { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.mbgp-panel-heading h2 { margin: 0; }
.mbgp-panel-heading > span, .mbgp-small { color: #5f655f; font-size: .88rem; }
.mbgp-session { font-size: .95rem; color: #4a4d47; }
.mbgp-portal a { color: #806337; }
.mbgp-portal input[type="text"], .mbgp-portal input[type="password"] { box-sizing: border-box; display: block; width: 100%; max-width: 100%; padding: .85rem; margin: .45rem 0 1rem; border-radius: 6px; border: 1px solid #aaa99f; background: #fff; color: #252923; }
.mbgp-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip-path: inset(50%); }
.mbgp-dropzone { display: flex; flex-direction: column; align-items: center; gap: .35rem; cursor: pointer; text-align: center; padding: 2rem 1rem; margin: 1rem 0; border: 2px dashed #b69a67; border-radius: 9px; background: #faf8f2; transition: border-color .15s ease, background-color .15s ease; }
.mbgp-dropzone:hover, .mbgp-dropzone.mbgp-dragging { border-color: #87632b; background: #eee5d3; }
.mbgp-dropzone:focus-visible, .mbgp-dropzone:focus-within { outline: 3px solid #ae8c4b; outline-offset: 2px; }
.mbgp-dropzone strong { font-size: 1.13rem; color: #282d27; }
.mbgp-dropzone span:not(.mbgp-drop-icon) { color: #64675f; }
.mbgp-dropzone small { font-size: .82rem; color: #64675f; }
.mbgp-drop-icon { color: #aa8140; line-height: 1; font-size: 2.5rem; }
.mbgp-contact-test-note { padding: 1rem; background: #fff5d7; border: 2px solid #b38a31; border-radius: 5px; color: #4e391d; font-weight: 750; }
.mbgp-test-status { display: block; margin-top: .5rem; font-weight: 500; }
.site-footer .footer-bottom.mbgp-has-credit { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: 1rem; }
.site-footer .footer-bottom.mbgp-has-credit > :last-child { justify-self: end; text-align: right; }
.site-footer .footer-bottom .mbgp-design-credit { justify-self: center; text-align: center; white-space: nowrap; color: #a8a69f; font-size: 11px; line-height: 1.5; }
.site-footer .mbgp-design-credit a { color: #d5b77a; font-weight: 600; text-decoration: none; }
.site-footer .mbgp-design-credit a:hover { text-decoration: underline; }
.site-footer .mbgp-design-credit a:focus-visible { outline: 2px solid #d5b77a; outline-offset: 3px; }
@media (max-width: 820px) {
  .site-footer .footer-bottom.mbgp-has-credit { grid-template-columns: 1fr; justify-items: center; row-gap: .5rem; }
  .site-footer .footer-bottom.mbgp-has-credit > :last-child { justify-self: center; text-align: center; }
}
.mbgp-portal input:focus-visible, .mbgp-portal button:focus-visible, .mbgp-portal a:focus-visible { outline: 3px solid #ae8c4b; outline-offset: 2px; }
.mbgp-button, .mbgp-login input[type="submit"] { display: inline-block; background: #ae8a4f; color: #fff; font-weight: 800; border: 0; border-radius: 5px; padding: .95rem 1.55rem; cursor: pointer; }
.mbgp-button:hover, .mbgp-login input[type="submit"]:hover { background: #84642f; }
.mbgp-login { max-width: 520px; }
.mbgp-login label { display: block; font-weight: 700; }
.mbgp-login .login-remember label { display: flex; gap: .5rem; align-items: center; font-weight: 400; }
.mbgp-notice { border-left: 4px solid #5b8a63; background: #edf7ee; padding: 1rem; margin: 1rem 0; }
.mbgp-notice.mbgp-error, .mbgp-warning { color: #9b3730; border-left-color: #b74740; }
.mbgp-selected { display: grid; gap: .65rem; margin: 1rem 0; }
.mbgp-selected-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px, 1fr); gap: 1rem; align-items: center; }
.mbgp-selected-item span { overflow-wrap: anywhere; font-size: .92rem; }
.mbgp-selected-item input[type="text"] { margin: 0; }
.mbgp-recent { display: grid; grid-template-columns: repeat(auto-fill,minmax(140px,1fr)); gap: 1rem; }
.mbgp-photo { border: 1px solid #e3e0d7; border-radius: 7px; overflow: hidden; background: #fafaf7; }
.mbgp-photo img { display: block; width: 100%; height: 130px; object-fit: cover; }
.mbgp-photo span { display: block; padding: .65rem; font-size: .82rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
@media (max-width: 620px) {
  .mbgp-page { padding: 2rem 1rem 3rem; }
  .mbgp-selected-item { grid-template-columns: 1fr; gap: .35rem; }
}
