/* Compact, colour-coded forms: thin solid tints separate each group; small labels, slim fields. */
.fg-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;margin:4px 0 8px}
/* The section title already names the upload area; its label stays for screen readers. */
.fg-wide label[for=adminMediaFiles]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fg{--tone:#8466bd;--tint:#f6f2fc;--edge:#e0d5f2;margin:0;min-width:0;padding:7px 9px 9px;border:1px solid var(--edge);border-top:3px solid var(--tone);border-radius:12px;background:var(--tint)}
.fg-teal{--tone:#3f9e91;--tint:#f0f8f6;--edge:#cfe9e3}
.fg-gold{--tone:#c99232;--tint:#fcf7ec;--edge:#efdfb8}
.fg-coral{--tone:#e0705f;--tint:#fdf3f1;--edge:#f4d0c9}
.fg-wide{grid-column:1/-1}
.fg legend{float:left;width:100%;padding:0;margin:0 0 5px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tone)}
.fg-grid{clear:both;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:5px 7px}
.fg-grid>*{min-width:0}
.fg-full{grid-column:1/-1}
.fg label{display:block;margin:0 0 2px!important;font-size:11px!important;font-weight:500!important;letter-spacing:0!important;color:#5f5668!important;text-transform:none}
.fg label small{font-weight:400;color:#8b8291}
.fg .field{min-height:34px;margin:0;padding:5px 9px;border:1px solid var(--edge);border-radius:8px;background:#fff;font-size:13.5px}
.fg .field:focus{outline:none;border-color:var(--tone);box-shadow:0 0 0 2px color-mix(in srgb,var(--tone) 22%,transparent)}
.fg textarea.field{min-height:46px;resize:vertical}
.fg input[type=file].field{padding:8px;border:1px dashed var(--tone);background:#fff}
.fg .helper,.fg .mp-state{margin:4px 0 0;font-size:11.5px;line-height:1.35;color:#7a7183}
.fg .helper:empty,.fg .mp-state:empty{display:none}
#adminMediaPreview{margin:6px 0 0!important}
#createForm .pf-media{border:1px solid #e0d5f2;border-top:3px solid #8466bd;border-radius:12px;background:#f6f2fc;padding:8px}
#createForm .pf-note{font-size:12.5px;padding:6px 10px;border-color:#e0d5f2;background:#faf8fd;color:#5f5668}
#createForm{gap:8px}
#adminForm>.row{margin-top:4px}

/* Other forms: sign-in, password reset, wallet and PIN screens, chat and report boxes. */
#authView .profile-form,#adminView .profile-form{border-radius:14px}
#authForm,#resetForm{display:grid;gap:2px;padding:10px 12px 12px;border:1px solid #e0d5f2;border-top:3px solid #8466bd;border-radius:12px;background:#faf8fd}
#authForm label,#resetForm label,#mzForm label{margin:6px 0 2px!important;font-size:11.5px!important;font-weight:600!important;letter-spacing:0!important;color:#6a4fa0!important}
#authForm .field,#resetForm .field,#mzForm .field{min-height:38px;padding:7px 11px;border:1px solid #e0d5f2;border-radius:9px;margin:0}
#authForm .helper{margin:6px 0;font-size:12px}
#mzForm{display:grid;gap:4px}
#mzForm>*{min-width:0}

@media(max-width:780px){
  .fg-wrap{grid-template-columns:1fr;gap:7px}
  .fg-grid{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}
  .fg .field,#authForm .field,#resetForm .field,#mzForm .field{font-size:16px;min-height:36px}
}
/* The Super Admin note: a slim teal strip instead of a large green box. */
#adminView .profile-form>div[style*="edf5ef"]{padding:8px 12px!important;margin-bottom:8px!important;border:1px solid #cfe9e3!important;border-left:3px solid #3f9e91!important;border-radius:12px!important;background:#f0f8f6!important}
#adminView .profile-form>div[style*="edf5ef"] strong{color:#2f7f74!important;font-weight:600}
#adminView .profile-form>div[style*="edf5ef"] .helper{margin:2px 0 6px!important;font-size:12px}

/* Sign-up and auth controls extracted from the page to keep its loading budget. */
.google-signup{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:58px;padding:13px 18px;border:1px solid #747775;border-radius:14px;background:#fff;color:#1f1f1f;font-size:17px;font-weight:700;box-shadow:0 3px 12px #34203314}.google-signup svg{flex:0 0 28px}.google-signup:hover{background:#f8faff}.google-signup:focus-visible{outline:3px solid #4285f4;outline-offset:3px}.auth-divider{text-align:center;color:var(--muted);margin:16px 0;font-size:13px}

/* Compact, colour-separated administration and forms. */
.member-list td{padding:10px;vertical-align:top;overflow-wrap:anywhere}
.member-list td.admin-actions{display:table-cell}
.member-list .admin-actions .btn{margin:0 4px 4px 0}
.member-list .status-notice{margin:5px 0 0;padding:5px 7px;font-size:12px;line-height:1.3;border-left-width:3px}
.member-list .status-notice strong{display:block;margin:0 0 2px}
.member-list .helper{font-size:12px;line-height:1.3}
.profile-form{padding:10px 12px}
.profile-form label{font-size:12px;font-weight:850;margin:6px 0 3px}
.profile-form .field{padding:8px 10px;min-height:38px;margin-bottom:3px;font-size:14px}
.profile-form textarea.field{min-height:62px}
#adminForm>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0;padding:7px 9px;border:1px solid #c4a2f1;border-left:3px solid #9661d2;border-radius:9px;background:#f8f3ff}
#adminForm>.row>div{min-width:0}
#adminForm>.row:nth-of-type(2n){background:#effaf7;border-color:#65c5b4;border-left-color:#159a87}
#adminForm>.row:nth-of-type(3n){background:#fffaed;border-color:#e6bc61;border-left-color:#c48c18}
#adminForm>.row:nth-of-type(4n){background:#fff3f3;border-color:#eece9e;border-left-color:#d7a354}
.pf-grid{gap:6px}
.pf-grid>.pf-f{min-width:0;padding:6px 8px;border:1px solid #cfb0ee;border-left:3px solid #9964ce;border-radius:8px;background:#faf6ff}
.pf-grid>.pf-f:nth-child(3n+2){background:#effaf7;border-color:#74c9b8;border-left-color:#189a85}
.pf-grid>.pf-f:nth-child(3n){background:#fff9ed;border-color:#e6bd69;border-left-color:#cc9427}
.pf-grid label{margin:0 0 3px;font-size:12px;font-weight:850}
#authForm,#resetForm{padding:9px 11px;border:1px solid #c6a4e6;border-left:3px solid #9760c9;border-radius:10px;background:#faf6ff}
#mzForm{padding:9px 11px;border:1px solid #7dcbbb;border-left:3px solid #199d89;border-radius:10px;background:#f2fbf8}
#mzForm label{font-weight:850;margin:6px 0 3px}
#mzForm .field{min-height:38px;padding:8px 10px}
@media(max-width:700px){
 .member-list-wrap{overflow:visible!important;border:0!important;border-radius:0!important}
 table.member-list{display:block;min-width:0!important;width:100%!important}
 .member-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .member-list tbody{display:grid;gap:6px}
 .member-list tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px 10px;border:1px solid #efdaba;border-left:4px solid #ecaa48;border-radius:10px;background:#fff}
 .member-list tbody tr:nth-child(4n+2){border-left-color:#159f92}
 .member-list tbody tr:nth-child(4n+3){border-left-color:#9d6ad1}
 .member-list tbody tr:nth-child(4n){border-left-color:#dca828}
 .member-list td{display:block;min-width:0;padding:0;border:0!important}
 .member-list .member-identity{grid-column:1;grid-row:1}
 .member-list .member-identity strong{font-size:14px;line-height:1.3}
 .member-list .member-location{grid-column:1;grid-row:2;font-size:12px;color:var(--muted);line-height:1.3}
 .member-list .member-state{grid-column:2;grid-row:1/3;max-width:145px;text-align:right}
 .member-list .admin-status{font-size:11px;padding:3px 7px}
 .member-list .status-notice{max-width:145px;text-align:left;font-size:11px;padding:4px 6px}
 .member-list td.admin-actions{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:5px;margin-top:4px}
 .member-list .admin-actions .btn{min-height:36px;padding:6px 10px;font-size:12px;margin:0;white-space:normal}
 .member-list .admin-actions .btn:last-child{color:#b46c23;border-color:#f0d6b0;background:#fffcf7}
 .member-list .empty{grid-column:1/-1}
}
