/* Espace membres */
.auth { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); min-height: calc(100svh - var(--header-h)); }
.auth__visual { position: relative; overflow: hidden; background: var(--color-ink); color: var(--color-on-dark); display: grid; place-items: center; }
.auth__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.auth__visual .emblem { position: relative; }
.auth__panel { display: grid; align-content: center; gap: 1.1rem; padding: clamp(2rem, 6vw, 5rem); max-width: 34rem; width: 100%; margin-inline: auto; }
.auth__panel h1 { font-size: clamp(2rem, 3.6vw, 3rem); }
.auth__panel form { display: grid; gap: 1.1rem; margin-top: .5rem; }
.auth__lead { color: var(--color-muted); }
.auth__links a, .auth__note a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }
.auth__note { font-size: .9rem; color: var(--color-muted); padding-top: 1rem; border-top: 1px solid var(--color-border); }

.member-head { position: relative; isolation: isolate; overflow: hidden; background: var(--color-ink-soft); color: var(--color-on-dark); padding-block: clamp(2rem, 4vw, 3.25rem); }
.member-head__pattern { position: absolute; inset: 0; z-index: -1; background: url("../../images/pattern.svg") right center / 96px; opacity: .08; mask-image: linear-gradient(90deg, transparent 30%, #000); -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000); }
.member-head h1 { font-size: clamp(2rem, 3.6vw, 3rem); margin-block: .6rem .4rem; }
.member-head p:last-child { font-size: .9rem; color: var(--color-on-dark-muted); }
.member__grid { display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.member-nav { position: sticky; top: calc(var(--header-h) + 1.5rem); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; }
.member-nav a, .member-nav__logout { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .9rem; width: 100%; padding: .95rem 1.15rem; border-bottom: 1px solid var(--color-border); font-size: .92rem; font-weight: 500; text-align: left; transition: background-color var(--dur-fast), color var(--dur-fast); }
.member-nav a > .icon:first-child { color: var(--color-brand-deep); }
.member-nav a > .icon:last-child { opacity: .4; }
.member-nav a:hover { background: var(--color-ivory); }
.member-nav a[aria-current] { background: var(--color-ink); color: var(--color-on-dark); }
.member-nav a[aria-current] > .icon:first-child { color: var(--color-brand-light); }
.member-nav__logout { color: var(--color-danger); border-bottom: 0; }
.member-nav__logout:hover { background: #fbe9e6; }
.member__content > .alert { margin-bottom: 1.25rem; }
.member-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.m-card { display: grid; gap: .7rem; align-content: start; justify-items: start; padding: 1.4rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.m-card h2 { font-size: 1.45rem; }
.m-card p:not(.eyebrow) { font-size: .9rem; color: var(--color-muted); }
.m-card--status { border-left: 3px solid var(--color-border-strong); }
.m-card--status.is-active { border-left-color: var(--color-success); }

@media (max-width: 900px) {
  .auth { grid-template-columns: minmax(0, 1fr); }
  .auth__visual { min-height: 200px; }
  .member__grid { grid-template-columns: minmax(0, 1fr); }
  .member-nav { position: static; }
  .member-cards { grid-template-columns: minmax(0, 1fr); }
}
