.member-page { margin: 0; min-height: 100dvh; background: radial-gradient(circle at 85% 12%, rgba(212,170,99,.20), transparent 28rem),linear-gradient(135deg,#173b32,#09221c); color: #173b32; font-family: 'DM Sans',Arial,sans-serif; }
.member-shell { min-height: 100dvh; padding: clamp(22px,5vh,55px) 16px; display:grid; place-items:center; }
.member-card { box-sizing: border-box; width: min(100%, 510px); background:#f8f5ee; border-radius:27px; padding:clamp(24px,5vw,42px); box-shadow: 0 25px 80px rgba(3,18,14,.26); }
/* Carregamento do perfil: reutiliza o indicador circular da página de escalas. */
.member-card--loading { display:grid; justify-items:center; gap:14px; text-align:center; color:#173b32; }
.member-card--loading .loading-spinner { display:block; }
.member-card h1 { color:#142c25; margin: 8px 0 14px; font-family:'DM Serif Display',Georgia,serif; font-weight:400; font-size:clamp(2.4rem,8vw,3.5rem); line-height:1.03; }
.member-back { color: #245749; font-size:.82rem; font-weight:700; text-decoration:none; display:inline-block; margin-bottom:27px; }
.member-header { display:flex; align-items:center; gap:12px; }
.member-mark { display:grid; width:42px; height:42px; place-items:center; border-radius:100%; background:#d4aa63; }
.member-mark img { width:23px; height:23px; }
/* Foto do participante selecionado no formulário de login. */
.member-mark { overflow:hidden; flex-shrink:0; }
.member-mark--photo { background:#d4aa63; box-shadow:0 3px 12px rgba(14,42,30,.14); }
.member-mark--photo img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }

.member-eyebrow { color:#225647; font-size:.71rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.member-lead { color:#66746c; font-size:.94rem; line-height:1.6; margin-bottom:26px; }
.member-form { display:grid; gap:11px; }
.member-form label { color:#234b3f; font-size:.76rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin-top:8px; }
.member-form select, .member-form input { min-width:0; width:100%; border:1px solid #d5dcd7; background:white; border-radius:13px; min-height:50px; padding:11px 15px; font:inherit; color:#1b392e; box-sizing:border-box; }
.member-form select:focus-visible, .member-form input:focus-visible { outline:2px solid #d4aa63; outline-offset:2px; }
.member-password-row { display:flex; position:relative; }
.member-password-row input { padding-right:90px; }
.member-password-row button { position:absolute; right:6px; top:6px; bottom:6px; padding:0 12px; background:#edf2ef; border:0; border-radius:10px; color:#214b3e; font-size:.78rem; font-weight:700; cursor:pointer; }
.member-primary,.member-secondary,.member-photo-picker { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:46px; border-radius:24px; border:1px solid transparent; font:700 .87rem 'DM Sans',sans-serif; padding:12px 20px; cursor:pointer; text-decoration:none; transition:filter .18s ease,transform .18s ease; }
.member-primary { background:#173b32; color:#fff; width:100%; margin-top:11px; }
.member-primary:hover,.member-secondary:hover,.member-photo-picker:hover { filter:brightness(1.1); transform:translateY(-1px); }
.member-primary:disabled, .member-secondary:disabled { opacity:.6; cursor:wait; }
.member-secondary { color:#245246; border-color:#dae2da; background:#fff; }
.member-footnote { margin:21px 0 0; color:#627168; font-size:.79rem; line-height:1.55; }
.member-feedback { margin:12px 0 0; border-radius:10px; padding:12px; background:#eaf4ee; color:#204c35; font-size:.85rem; line-height:1.5; }
.member-feedback--error { background:#fff0ed; color:#9d2720; }
.member-page [hidden] { display:none !important; }
.member-card--profile { width:min(100%,600px); }
.member-profile-identity { display:flex; align-items:center; gap:16px; padding:20px; background:rgba(231,236,228,.62); border-radius:20px; margin:20px 0; }
.member-profile-avatar { width:85px; height:85px; flex:0 0 85px; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:#d4aa63; box-shadow:0 6px 20px rgba(0,0,0,.08); }
.member-profile-avatar img { width:100%; height:100%; display:block; object-fit:cover; }
.member-profile-avatar img[src$="usuario.svg"] { width:52px; height:52px; object-fit:contain; }
.member-profile-identity small { color:#6c7e73; font-size:.76rem; display:block; }
.member-profile-identity strong { color:#173b32; font-size:1.27rem; display:block; overflow-wrap:anywhere; }
.member-picture-action { display:grid; gap:10px; justify-items:start; margin-top:18px; }
.member-photo-picker { background:#173b32; color:#fff; }
.member-picture-action small,.member-selected p { color:#65776a; font-size:.78rem; line-height:1.6; }
.member-selected { margin-top:22px; border:1px solid #d7e0d7; background:#fff; padding:20px; border-radius:18px; display:grid; gap:12px; justify-items:center; }
.member-selected strong { color:#214739; }
.member-actions { display:flex; flex-wrap:wrap; gap:9px; width:100%; }
.member-actions > * { flex:1 1 150px; }
.member-actions .member-primary { margin-top:0; }
.member-profile-footer { border-top:1px solid #dde4da; margin-top:30px; padding-top:20px; text-align:right; }
.member-secondary--logout { color:#913b35; }
.member-card--profile .member-crop-overlay { color:#173b32; }
@media (max-width:470px) { .member-card { border-radius:20px; padding:23px 19px; } .member-shell { padding:18px 12px; } .member-profile-identity { padding:15px; } .member-profile-avatar { width:70px; height:70px; flex-basis:70px; } }
.member-card--profile > .member-eyebrow { display:block; margin:0 0 16px; }

/* Área do participante em tela inteira, mantendo a identidade visual do site */
.member-page--profile { background:#f8f5ee; }
.member-dashboard { min-height:100dvh; background:#f8f5ee; }
.member-dashboard__header { padding:24px max(22px,calc((100vw - 1240px)/2)); background:linear-gradient(115deg,#0d281f,#173b32 75%,#245344); color:#fff; }
.member-dashboard__top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.member-dashboard__back { color:#f5f1e8; font-size:.85rem; font-weight:700; text-decoration:none; }
.member-dashboard__brand { color:#e6c181; letter-spacing:.16em; font-size:.7rem; font-weight:800; }
.member-dashboard__intro { display:flex; align-items:center; gap:25px; padding:clamp(35px,6vw,60px) 0 30px; }
.member-dashboard__portrait { width:118px;height:118px;flex-basis:118px;outline:4px solid rgba(212,170,99,.7); }
.member-dashboard__intro h1 { font:400 clamp(2.2rem,6vw,4rem)/1.06 'DM Serif Display',serif; margin:8px 0 10px; color:#fff; }
.member-dashboard__intro p { margin:0; max-width:630px; color:#e3e7db; line-height:1.55; }
.member-eyebrow--light { color:#eac787; }
.member-dashboard__layout { display:grid; grid-template-columns:225px minmax(0,1fr); gap:clamp(20px,3vw,44px); max-width:1300px; margin:0 auto; padding:35px 26px 80px; }
.member-dashboard__nav { display:flex; flex-direction:column;gap:7px;align-self:start;position:sticky;top:20px; }
.member-dashboard__tab,.member-dashboard__logout { font:700 .9rem 'DM Sans',sans-serif; text-align:left;border:0;border-radius:12px; padding:15px 17px;cursor:pointer;background:transparent;color:#265044; }
.member-dashboard__tab:hover { background:#e8eee7; }
.member-dashboard__tab.is-current { background:#173b32; color:#fff; }
.member-dashboard__logout { margin-top:30px; border:1px solid #dfd9ce;color:#96372d; background:#fff; }
.member-dashboard__content { min-width:0; }
.member-dashboard__section-title { margin-bottom:24px; }
.member-dashboard__section-title h2 { color:#173b32; font:400 clamp(2rem,4vw,2.9rem)/1.14 'DM Serif Display',serif; margin:8px 0; }
.member-dashboard__section-title p,.member-dashboard__muted { color:#64736a;line-height:1.6; }
.member-dashboard__grid { display:grid;grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);gap:18px; }
.member-dashboard__card { border:1px solid #e2e6df; background:#fff;border-radius:20px;padding:clamp(18px,3vw,29px);box-shadow:0 10px 25px rgba(11,40,31,.035); }
.member-dashboard__card h3 {font:400 1.5rem 'DM Serif Display',serif;color:#173b32;margin:0 0 6px;}
.member-dashboard__label { display:block; font-weight:800; color:#244a3e; margin:21px 0 9px;font-size:.8rem; }
.member-dashboard__card textarea,.member-dashboard__search input {box-sizing:border-box;width:100%;padding:14px;border-radius:12px;border:1px solid #cdd9d0;background:#fff;font:inherit;color:#173b32;resize:vertical;}
.member-dashboard__form-foot {display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:12px;flex-wrap:wrap;}
.member-dashboard__form-foot small {color:#65776b;}
.member-dashboard__form-foot .member-primary {width:auto;margin:0;}
.member-dashboard__roles {border-top:1px solid #e1e7de;margin-top:25px;padding-top:18px;color:#173b32;}
.member-dashboard__roles>div {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.member-dashboard__chip {display:inline-block;border-radius:999px;background:#edf2eb;color:#285247;padding:6px 12px;font-size:.78rem;font-weight:700;}
.member-dashboard__search {display:block;font-size:.82rem;font-weight:800;color:#24483c; margin:0 0 18px;}
.member-dashboard__search input {margin-top:8px;}
.member-dashboard__directory { display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px; }
.member-dashboard__person {padding:20px;background:#fff;border:1px solid #e2e6df;border-radius:18px;min-width:0;}
.member-dashboard__person-head { display:flex;align-items:center;gap:12px;margin-bottom:12px; }
.member-dashboard__person .member-profile-avatar {width:56px;height:56px;flex-basis:56px;}
.member-dashboard__person strong {color:#173b32;overflow-wrap:anywhere;}
.member-dashboard__person p {font-size:.87rem;color:#5a6b60;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;}
.member-dashboard__notice {padding:15px 17px;border-radius:14px;background:#edf2e9;color:#294d3f;line-height:1.6;font-size:.88rem;margin-bottom:18px;}
.member-dashboard__schedules {display:grid;gap:14px;}
.member-dashboard__schedule {background:#fff;border:1px solid #e1e5dd;border-radius:18px;padding:22px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.member-dashboard__schedule-main {min-width:0;flex:1 1 280px;}
.member-dashboard__schedule-date {color:#957039;font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}
.member-dashboard__schedule h3 {font:400 1.35rem 'DM Serif Display',serif;margin:5px 0;color:#173b32;}
.member-dashboard__schedule-meta {color:#697b70;font-size:.82rem;line-height:1.6;}
.member-dashboard__schedule-actions {display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.member-dashboard__choice {border:1px solid #cbdacf;border-radius:12px;padding:11px 14px;background:#f5faf5;color:#245144;font:700 .82rem 'DM Sans',sans-serif;cursor:pointer;}
.member-dashboard__choice--no {color:#884a31;background:#fff8f3;border-color:#eddbca;}
.member-dashboard__choice:disabled {opacity:.52;cursor:default;}
.member-dashboard__badge {font-size:.75rem;font-weight:800;padding:7px 11px;border-radius:999px;background:#f5ead4;color:#755023;display:inline-block;}
.member-dashboard__badge--approved {background:#e4f2e6;color:#276039;}
.member-dashboard__badge--rejected {background:#f9e9e5;color:#914339;}
.member-dashboard__pill {background:#d4aa63;color:#173b32;border-radius:10px; padding:2px 7px;font-size:.7rem;margin-left:6px;}
.member-dashboard__content>.member-feedback {position:sticky;bottom:10px;z-index:4;box-shadow:0 8px 18px #0001;}
.member-dashboard__section[hidden] {display:none!important;}
@media(max-width:950px){.member-dashboard__grid{grid-template-columns:1fr;}}
@media(max-width:740px){.member-dashboard__layout{display:block;padding:22px 15px 65px;}.member-dashboard__nav{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:28px;gap:8px;}.member-dashboard__tab{flex:1 1 auto;text-align:center;padding:12px 11px;font-size:.82rem;}.member-dashboard__logout{margin-top:0;flex-basis:100%;text-align:center;}.member-dashboard__header{padding:20px 18px;}.member-dashboard__intro{gap:15px;padding:33px 0 22px;}.member-dashboard__portrait{width:78px;height:78px;flex-basis:78px;}.member-dashboard__schedule{padding:16px;}.member-dashboard__schedule-actions{width:100%;}.member-dashboard__choice{flex:1;}}

/* O mesmo menu da página inicial substitui a marca de texto no topo do perfil. */
.member-dashboard__top { position: relative; min-height: 50px; }
.member-dashboard__top > .site-menu { position: relative; top: auto; right: auto; z-index: 120; margin-left: auto; }
.member-dashboard__top .site-menu__panel { z-index: 125; }
.member-dashboard__top .site-menu__button { width: 50px; height: 50px; }
.member-dashboard__top .site-menu__item--login .site-menu__icon img.is-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
@media (max-width: 540px) {
  .member-dashboard__top > .site-menu { flex-shrink: 0; }
  .member-dashboard__top .site-menu__button { width: 48px; height: 48px; }
  .member-dashboard__top .site-menu__panel { width: min(270px, calc(100vw - 26px)); min-width: 0; }
}


/* Estado da solicitação: relógio enquanto aguarda, ✓ aprovada e X recusada. */
.member-dashboard__badge {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  line-height: 1.45;
  white-space: normal;
}
.member-dashboard__status-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
}
.member-dashboard__notice p { margin: 0 0 9px; }
.member-dashboard__notice p:last-child { margin-bottom: 0; }

/* Entrada administrativa condicional no menu do participante. */
.member-dashboard__tab--admin { display:block; text-decoration:none; background:#e3eee6; color:#173b32; border:1px solid #c4dacc; }
.member-dashboard__tab--admin:hover { background:#d3e8d9; }

/* Inscrição direta: integrantes atuais lado a lado, com retratos sobrepostos. */
.member-dashboard__schedule-main {flex:1 1 100%;}
.member-dashboard__roster {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;}
.member-dashboard__roster-group {min-width:0;border-radius:14px;padding:13px 15px;background:#f4f6f2;border:1px solid #e1e7df;}
.member-dashboard__roster-label {font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#446055;margin-bottom:9px;}
.member-dashboard__roster-count {display:inline-block;margin-left:4px;color:#6d806e;letter-spacing:0;font-size:.72rem;}
.member-dashboard__roster-images {display:flex;align-items:center;min-height:40px;padding-left:1px;}
.member-dashboard__roster-avatar {display:inline-flex;flex:none;width:40px;height:40px;align-items:center;justify-content:center;overflow:hidden;margin-left:-9px;border:2px solid #f4f6f2;background:#e1e9df;border-radius:50%;box-shadow:0 1px 2px #0002;}
.member-dashboard__roster-avatar:first-child {margin-left:0;}
.member-dashboard__roster-avatar img {width:100%;height:100%;object-fit:cover;}
.member-dashboard__roster-names {display:block;margin-top:7px;font-size:.75rem;line-height:1.45;color:#4f665b;overflow-wrap:anywhere;}
.member-dashboard__roster-empty {font-size:.78rem;color:#7a8b80;}
.member-dashboard__schedule-actions {width:100%;justify-content:flex-end;}
.member-dashboard__join {display:flex;gap:8px;flex-wrap:wrap;align-items:end;}
.member-dashboard__role-label {width:100%;font-size:.76rem;font-weight:750;color:#295145;}
.member-dashboard__role-select {min-width:175px;min-height:43px;background:#fff;border:1px solid #cad8ce;border-radius:11px;padding:8px 10px;color:#173b32;font:600 .84rem 'DM Sans',sans-serif;}
.member-dashboard__join small {font-size:.75rem;color:#975a3c;max-width:225px;}
.member-dashboard__badge {display:inline-flex;align-items:center;gap:6px;margin-top:9px;}
.member-dashboard__status-icon {width:15px;height:15px;flex:none;}
@media(max-width:540px){
  .member-dashboard__roster {gap:8px;}
  .member-dashboard__roster-group {padding:10px 9px;}
  .member-dashboard__roster-avatar {width:33px;height:33px;margin-left:-9px;}
  .member-dashboard__roster-names {font-size:.7rem;}
  .member-dashboard__join {flex:1 1 100%;}
  .member-dashboard__role-select {min-width:0;flex:1 1 100%;width:100%;}
}
