:root{
  --mw-green:#0b7a2b;
  --mw-yellow:#f3c316;
  --mw-red:#c8102e;
  --mw-ink:#0f172a;
  --mw-muted:#64748b;
  --mw-bg:#f8fafc;
  --mw-card:#ffffff;
  --mw-border:#e2e8f0;
  --mw-soft:#eef8f0;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial;background:var(--mw-bg);color:var(--mw-ink);line-height:1.45}
a{color:var(--mw-green);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1150px;margin:0 auto;padding:0 16px}
.topbar{background:linear-gradient(90deg,var(--mw-green) 0 33%, var(--mw-yellow) 33% 66%, var(--mw-red) 66% 100%);height:6px}
.nav{position:sticky;top:0;background:var(--mw-card);border-bottom:1px solid var(--mw-border);z-index:100}
.nav-inner{display:flex;align-items:center;gap:12px;padding:10px 0;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;min-width:0}
.brand:hover{text-decoration:none}
.brand img{height:46px;width:auto;max-width:min(200px,55vw)}
/* Collapsible nav: wide screens = horizontal links; narrow = icon toggles panel below */
.mw-site-menu{display:flex;flex:1;align-items:center;min-width:0;gap:8px}
.mw-nav-spacer{flex:1;min-width:8px}
.nav-links{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nav-links a{padding:8px 10px;border-radius:12px;font-weight:800;color:var(--mw-ink)}
.nav-links a:hover{background:#f1f5f9;text-decoration:none}
.nav-links a.active{background:var(--mw-soft);color:var(--mw-green)}
.nav-links--lang{flex-shrink:0}
.mw-nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:44px;
  min-height:44px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--mw-border);
  background:#fff;
  color:var(--mw-ink);
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.mw-nav-toggle:hover{background:#f8fafc}
.mw-nav-toggle:focus-visible{outline:2px solid var(--mw-green);outline-offset:2px}
.mw-nav-toggle__bars{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;flex-shrink:0}
.mw-nav-toggle__bar{display:block;width:22px;height:3px;background:var(--mw-ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav.nav--open .mw-nav-toggle__bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav.nav--open .mw-nav-toggle__bar:nth-child(2){opacity:0}
.nav.nav--open .mw-nav-toggle__bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (prefers-reduced-motion:reduce){
  .mw-nav-toggle__bar{transition:none}
}
/* Phones & small tablets: one bar row (logo | ☰), links in expandable panel */
@media (max-width:991.98px){
  .nav-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:'brand toggle' 'menu menu';
    align-items:center;
    column-gap:12px;
    row-gap:0;
  }
  .brand{grid-area:brand}
  .mw-nav-toggle{
    grid-area:toggle;
    display:inline-flex;
    margin-left:0;
  }
  /* Icon-first on narrow screens; word “Menu” optional for sighted users */
  .mw-nav-toggle__label{display:none}
  .mw-site-menu{
    grid-area:menu;
    flex:unset;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:12px 4px 16px;
    margin-top:10px;
    border-top:1px solid var(--mw-border);
    box-shadow:0 12px 24px rgba(15,23,42,.06);
  }
  .nav:not(.nav--open) .mw-site-menu{display:none!important}
  .nav.nav--open .mw-site-menu{display:flex!important}
  .mw-nav-spacer{display:none!important}
  .nav-links--main{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:2px}
  .nav-links--main a{padding:14px 12px;border-radius:10px;font-weight:850;font-size:15px}
  .nav-links--lang{padding-top:8px;border-top:1px dashed var(--mw-border);margin-top:6px;justify-content:flex-start}
  .nav-links--lang .btn{align-self:flex-start}
}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid var(--mw-border);background:#fff;color:var(--mw-ink);font-weight:900;cursor:pointer}
.btn.primary{background:var(--mw-green);border-color:var(--mw-green);color:#fff}
.btn.small{padding:6px 10px;border-radius:10px;font-weight:800}
.card{background:var(--mw-card);border:1px solid var(--mw-border);border-radius:18px;padding:16px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:900px){.grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}

/* ——— About page (public site) ——— */
.mw-about-page{
  background: linear-gradient(180deg, rgba(238, 248, 240, 0.55) 0%, var(--mw-bg) 38%, var(--mw-bg) 100%);
  padding-bottom: clamp(32px, 5vw, 56px);
}

.mw-about-hero{
  position: relative;
  text-align: center;
  padding: clamp(28px, 5vw, 44px) 0 clamp(40px, 6vw, 60px);
}

.mw-about-hero__strip{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--mw-green) 0 33%,
    var(--mw-yellow) 33% 66%,
    var(--mw-red) 66% 100%
  );
}

.mw-about-hero__inner{
  position: relative;
  max-width: 52rem;
  margin: 0 auto;
}

.mw-about-hero__eyebrow{
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mw-green);
}

.mw-about-hero__title{
  margin: 0 0 10px;
  font-size: clamp(1.85rem, 4.5vw, 2.45rem);
  font-weight: 950;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: var(--mw-ink);
}

.mw-about-hero__tagline{
  margin: 0 auto;
  max-width: 40ch;
  font-size: clamp(15px, 2.2vw, 17px);
  font-weight: 650;
  line-height: 1.5;
  color: var(--mw-muted);
}

.mw-about-page__main{
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.4vw, 22px);
  margin-top: -1.35rem;
  position: relative;
  z-index: 1;
}

.mw-about-intro{
  display: flex;
  gap: clamp(16px, 3vw, 28px);
  align-items: flex-start;
  padding: clamp(18px, 2.6vw, 26px);
  border-radius: 20px;
  box-shadow: 0 14px 44px rgba(15, 23, 42, 0.07);
  border: 1px solid rgba(11, 122, 43, 0.14);
  background: linear-gradient(165deg, #fff 0%, rgba(248, 250, 252, 0.92) 100%);
}

.mw-about-intro__icon{
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(11, 122, 43, 0.14), rgba(11, 122, 43, 0.04));
  color: var(--mw-green);
}

.mw-about-intro__text{
  flex: 1;
  min-width: 0;
}

.mw-about-intro__title{
  margin: 0 0 10px;
  font-size: clamp(1.15rem, 2.4vw, 1.35rem);
  font-weight: 950;
  color: var(--mw-ink);
}

.mw-about-intro__lead{
  margin: 0;
  font-size: clamp(15px, 1.9vw, 17px);
  line-height: 1.58;
  font-weight: 600;
  color: var(--mw-muted);
  max-width: 68ch;
}

.mw-about-icon{
  display: block;
}

.mw-about-icon--sm{
  width: 22px;
  height: 22px;
}

.mw-about-pillars{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 960px){
  .mw-about-pillars{
    grid-template-columns: 1fr;
  }
}

.mw-about-pillar{
  display: flex;
  flex-direction: column;
  padding: 20px 18px;
  border-radius: 18px;
  box-shadow: 0 10px 32px rgba(15, 23, 42, 0.05);
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: var(--mw-card);
}

.mw-about-pillar__icon{
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--mw-soft);
  color: var(--mw-green);
  margin-bottom: 12px;
}

.mw-about-pillar__title{
  margin: 0 0 10px;
  font-size: 1.05rem;
  font-weight: 950;
  color: var(--mw-ink);
}

.mw-about-pillar__body{
  margin: 0;
  font-size: 14px;
  line-height: 1.58;
  color: var(--mw-muted);
}

.mw-about-bylaws{
  display: flex;
  gap: clamp(16px, 2.5vw, 24px);
  align-items: flex-start;
  padding: clamp(16px, 2.2vw, 22px);
  margin-bottom: 14px;
  border: 1px solid rgba(200, 16, 46, 0.15);
  background: linear-gradient(135deg, #fff 0%, rgba(254, 242, 242, 0.45) 100%);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.04);
}

.mw-about-bylaws__icon{
  flex-shrink: 0;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(200, 16, 46, 0.08);
  color: var(--mw-red);
}

.mw-about-bylaws__text{
  min-width: 0;
}

.mw-about-bylaws__title{
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 950;
  color: var(--mw-ink);
}

.mw-about-bylaws__desc{
  margin: 0 0 14px;
  color: var(--mw-muted);
  line-height: 1.55;
  max-width: 62ch;
  font-size: 14px;
  font-weight: 600;
}

.mw-about-bylaws__btn{
  align-self: flex-start;
}

@media (max-width: 640px){
  .mw-about-bylaws{
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .mw-about-bylaws__icon{
    align-self: center;
  }
}

.mw-about-split{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: 14px;
  align-items: start;
}

@media (max-width: 960px){
  .mw-about-split{
    grid-template-columns: 1fr;
  }
}

.mw-about-panel{
  padding: clamp(16px, 2.2vw, 20px);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.04);
}

.mw-about-panel__head{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--mw-border);
}

.mw-about-panel__glyph{
  font-size: 1.2rem;
  line-height: 1;
  color: var(--mw-yellow);
  text-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.mw-about-panel__icon{
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--mw-soft);
  color: var(--mw-green);
}

.mw-about-panel__title{
  margin: 0;
  font-size: clamp(1.05rem, 2.2vw, 1.2rem);
  font-weight: 950;
  color: var(--mw-ink);
}

.mw-about-purpose-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mw-about-purpose-list__item{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.85);
}

.mw-about-purpose-list__check{
  flex-shrink: 0;
  color: var(--mw-green);
  margin-top: 1px;
  line-height: 0;
}

.mw-about-purpose-list__text{
  font-size: 14px;
  line-height: 1.5;
  font-weight: 650;
  color: var(--mw-ink);
}

.mw-about-table-wrap{
  border-radius: 12px;
  overflow: auto;
  border: 1px solid var(--mw-border);
  background: #fff;
}

.mw-about-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.mw-about-table th{
  text-align: left;
  padding: 11px 12px;
  background: rgba(11, 122, 43, 0.08);
  color: var(--mw-ink);
  font-weight: 850;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.mw-about-table td{
  padding: 12px;
  border-top: 1px solid var(--mw-border);
  vertical-align: top;
  color: var(--mw-muted);
}

.mw-about-table td strong{
  color: var(--mw-ink);
  font-weight: 850;
}

.mw-about-table tbody tr:hover{
  background: rgba(238, 248, 240, 0.35);
}

.mw-about-panel__hint{
  margin: 14px 0 0;
}

@media (max-width: 640px){
  .mw-about-intro{
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .mw-about-intro__lead{
    margin-left: auto;
    margin-right: auto;
  }

  .mw-about-table thead{
    display: none;
  }

  .mw-about-table tr{
    display: block;
    margin-bottom: 12px;
    border: 1px solid var(--mw-border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
  }

  .mw-about-table td{
    display: block;
    padding: 10px 12px;
    border-top: none;
  }

  .mw-about-table td + td{
    border-top: 1px solid var(--mw-border);
  }

  .mw-about-table td::before{
    content: attr(data-label);
    display: block;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mw-muted);
    margin-bottom: 3px;
  }
}
.mw-home-meeting{
  position: relative;
  padding: 0 0 10px;
}
.mw-home-meeting::before{
  content: "";
  display: block;
  height: 6px;
  background: linear-gradient(90deg, var(--mw-green) 0 33%, var(--mw-yellow) 33% 66%, var(--mw-red) 66% 100%);
}
.mw-home-meeting .container{
  padding-top: 18px;
}
.mw-home-meeting__inner{
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: clamp(18px, 3.5vw, 32px);
  align-items: center;
  padding: clamp(20px, 3.2vw, 30px);
  border-radius: 22px;
  border: 1px solid rgba(11, 122, 43, 0.2);
  background:
    radial-gradient(100% 90% at 100% 0%, rgba(243, 195, 22, 0.14) 0%, transparent 52%),
    radial-gradient(85% 75% at 0% 100%, rgba(200, 16, 46, 0.07) 0%, transparent 48%),
    linear-gradient(168deg, #ffffff 0%, #f4fbf6 38%, #fffdf6 100%);
  box-shadow:
    0 14px 44px rgba(15, 23, 42, 0.09),
    0 0 0 1px rgba(255, 255, 255, 0.65) inset;
}
@media (max-width: 820px){
  .mw-home-meeting__inner{
    grid-template-columns: 1fr;
    text-align: center;
  }
  .mw-home-meeting__facts{
    text-align: start;
    margin-inline: auto;
    max-width: 36rem;
  }
  .mw-home-meeting__actions{
    justify-content: center;
  }
  .mw-home-meeting__cd-grid{
    justify-content: center;
  }
}
.mw-home-meeting__eyebrow{
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mw-green);
}
.mw-home-meeting__title{
  margin: 0 0 6px;
  font-size: clamp(1.35rem, 3.2vw, 1.85rem);
  font-weight: 1000;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--mw-ink);
}
.mw-home-meeting__subtitle{
  margin: 0 0 14px;
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 850;
  color: var(--mw-red);
}
.mw-home-meeting__facts{
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mw-home-meeting__fact{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--mw-ink);
}
.mw-home-meeting__fact-dot{
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  margin-top: 0.42em;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--mw-green), #065a20);
  box-shadow: 0 0 0 2px rgba(11, 122, 43, 0.15);
}
.mw-home-meeting__live-note{
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 650;
  color: var(--mw-muted);
  max-width: 40rem;
}
@media (max-width: 820px){
  .mw-home-meeting__live-note{
    margin-inline: auto;
  }
}
.mw-home-meeting__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mw-home-meeting__flyer{
  box-shadow: 0 4px 16px rgba(11, 122, 43, 0.25);
}
.mw-home-meeting__flyer:hover{
  filter: brightness(1.05);
  text-decoration: none;
}
.mw-home-meeting__aside{
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
}
@media (min-width: 821px){
  .mw-home-meeting__aside{
    align-items: flex-end;
  }
}
.mw-home-meeting__count{
  width: 100%;
  max-width: 340px;
  padding: 16px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(226, 232, 240, 0.95);
  backdrop-filter: blur(6px);
}
@media (max-width: 820px){
  .mw-home-meeting__count{
    margin-inline: auto;
  }
}
.mw-home-meeting__cd-label{
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mw-muted);
  text-align: center;
}
.mw-home-meeting__cd-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}
.mw-home-meeting__cd-unit{
  flex: 1 1 64px;
  min-width: 64px;
  text-align: center;
  padding: 10px 6px 8px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  border: 1px solid var(--mw-border);
}
.mw-home-meeting__cd-value{
  display: block;
  font-size: clamp(1.35rem, 3.5vw, 1.65rem);
  font-weight: 1000;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  color: var(--mw-ink);
}
.mw-home-meeting__cd-unit-label{
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mw-muted);
}
.mw-home-meeting__status{
  margin: 0;
  width: 100%;
  max-width: 340px;
  padding: 14px 16px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
}
.mw-home-meeting__status--live{
  color: #0f172a;
  background: linear-gradient(135deg, rgba(243, 195, 22, 0.35) 0%, rgba(238, 248, 240, 0.95) 100%);
  border: 1px solid rgba(243, 195, 22, 0.65);
  box-shadow: 0 0 0 3px rgba(243, 195, 22, 0.12);
}
.mw-home-meeting__status--past{
  color: var(--mw-muted);
  background: #f8fafc;
  border: 1px solid var(--mw-border);
  font-weight: 750;
}
.hero{padding:24px 0}
.hero-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
@media (max-width:900px){.hero-wrap{grid-template-columns:1fr}}

.mw-home-statement{
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--mw-border, rgba(226, 232, 240, 0.95));
}

.mw-home-statement__title{
	margin: 0 0 10px;
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	font-weight: 950;
	color: var(--mw-ink, #0f172a);
	line-height: 1.25;
}

.mw-home-statement__lead{
	margin: 0;
	font-size: 14px;
	line-height: 1.58;
	color: var(--mw-muted, #64748b);
	font-weight: 600;
}

.mw-home-statement__bylaws{
	margin: 12px 0 0;
}

.mw-home-statement__bylaws-link{
	font-weight: 750;
	color: var(--mw-red, #c8102e);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mw-home-statement__bylaws-link:hover{
	color: var(--mw-ink, #0f172a);
}
.h1{font-size:34px;font-weight:1000;letter-spacing:-.3px;margin:6px 0 10px}
.kicker{color:var(--mw-muted);font-weight:900}
.small{color:var(--mw-muted);font-size:13px}
.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}
label{font-weight:800}
input,select,textarea{padding:10px 12px;border-radius:12px;border:1px solid var(--mw-border);font-size:15px}
textarea{min-height:120px;resize:vertical}
.notice{margin:10px 0;padding:10px 12px;border-radius:12px;border:1px solid var(--mw-border);background:#fff}
.notice.ok{border-color:#bbf7d0;background:#f0fdf4}
.notice.err{border-color:#fecaca;background:#fef2f2}
.notice.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}

/* Transient flash → toast (success / errors from POST+redirect) */
.mw-toast-region{
  position:fixed;
  inset-inline-end:max(12px,env(safe-area-inset-right));
  bottom:max(12px,env(safe-area-inset-bottom));
  z-index:11000;
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:min(400px,calc(100vw - 24px));
  pointer-events:none;
}
.mw-toast-region:not(:has([data-mw-toast])){display:none}
.mw-toast{
  pointer-events:auto;
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:12px 12px 12px 14px;
  border-radius:14px;
  border:1px solid var(--mw-border);
  background:var(--mw-card);
  color:var(--mw-ink);
  box-shadow:0 14px 40px rgba(15,23,42,.14);
  animation:mw-toast-slide-in .32s cubic-bezier(.2,.9,.2,1) both;
}
.mw-toast--leaving{
  animation:mw-toast-fade-out .26s ease forwards;
}
@keyframes mw-toast-slide-in{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}
}
@keyframes mw-toast-fade-out{
  to{opacity:0;transform:translateY(6px)}
}
@media (prefers-reduced-motion:reduce){
  .mw-toast{animation-duration:.01ms!important}
  .mw-toast--leaving{animation-duration:.01ms!important}
}
.mw-toast__text{margin:2px 0 0;font-size:14px;line-height:1.45;font-weight:650;flex:1;min-width:0}
.mw-toast__close{
  flex-shrink:0;
  appearance:none;border:0;background:transparent;
  cursor:pointer;line-height:1;font-size:20px;width:36px;height:36px;margin:-6px -6px -6px 0;
  border-radius:10px;color:var(--mw-muted);font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;
}
.mw-toast__close:hover{background:rgba(15,23,42,.06);color:var(--mw-ink)}
.mw-toast--success{border-color:#bbf7d0;background:linear-gradient(160deg,#f0fdf4 0%,#ecfdf5 100%);box-shadow:0 12px 36px rgba(6,95,70,.14)}
.mw-toast--danger{border-color:#fecaca;background:linear-gradient(160deg,#fef2f2 0%,#fff1f2 100%);box-shadow:0 12px 36px rgba(127,29,29,.15)}
.mw-toast--warning{border-color:#fde68a;background:linear-gradient(160deg,#fffbeb 0%,#fef9c3 100%);color:#78350f;box-shadow:0 12px 36px rgba(120,53,15,.12)}
.mw-toast--info{border-color:#bae6fd;background:linear-gradient(160deg,#f0f9ff 0%,#e0f2fe 100%);box-shadow:0 12px 36px rgba(12,74,110,.14)}
.mw-toast--neutral{border-color:var(--mw-border)}
.footer{margin-top:26px;border-top:1px solid var(--mw-border);background:#fff;padding:18px 0}
.slider{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--mw-border)}
.slide{display:none}
.slide.active{display:block}
.slide img{width:100%;height:320px;object-fit:cover;display:block}
.slide-caption{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.92);border:1px solid var(--mw-border);border-radius:14px;padding:10px 12px;max-width:80%}
.meta{color:var(--mw-muted);font-size:13px;margin-top:6px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--mw-border);text-align:left;vertical-align:top}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--mw-border);background:#fff;font-weight:800;font-size:12px}
.badge.green{background:#f0fdf4;border-color:#bbf7d0;color:#065f46}
.badge.red{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}

/* —— Auth / register (modern, Maliwatch-aligned) —— */
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid rgba(11,122,43,.55);
  outline-offset:2px;
  border-color:var(--mw-green);
}
textarea{transition:border-color .15s ease}

.auth-page{
  padding:clamp(24px,4vw,48px) 0 clamp(40px,6vw,72px);
  position:relative;
  isolation:isolate;
}
.auth-page::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:min(980px,100%);
  height:min(520px,70vh);
  background:
    radial-gradient(ellipse 80% 65% at 12% -5%,rgba(11,122,43,.11),transparent 55%),
    radial-gradient(ellipse 65% 50% at 88% -8%,rgba(243,195,22,.09),transparent 50%),
    radial-gradient(ellipse 50% 40% at 70% 25%,rgba(200,16,46,.045),transparent 45%);
  z-index:-1;
  pointer-events:none;
}

.auth-shell{max-width:920px;margin:0 auto}
.auth-shell--narrow{max-width:560px}

.auth-header{margin-bottom:clamp(20px,3vw,32px)}
.auth-title{margin:8px 0 12px;letter-spacing:-.4px}
.auth-lead{
  font-size:clamp(15px,1.8vw,17px);
  line-height:1.55;
  color:var(--mw-muted);
  max-width:52ch;margin:0;
  font-weight:600;
}

.auth-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:800;
  font-size:13px;
  color:var(--mw-green);
  margin-bottom:12px;
  padding:8px 0;
}
.auth-back:hover{text-decoration:none;color:#085a20}
.auth-back svg,.auth-back-icon{flex-shrink:0;opacity:.85}

.auth-choice-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(14px,2vw,20px);
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.auth-choice-grid > li{margin:0;padding:0;list-style:none}

.auth-choice-card{
  display:flex;
  flex-direction:column;
  height:100%;
  position:relative;
  padding:clamp(18px,2vw,24px) clamp(16px,2vw,22px);
  border-radius:20px;
  border:1px solid var(--mw-border);
  background:linear-gradient(160deg,var(--mw-card) 0%,var(--mw-soft) 160%);
  box-shadow:0 1px 0 rgba(15,23,42,.04);
  text-decoration:none;
  color:inherit;
  transition:border-color .2s ease,transform .22s ease,box-shadow .22s ease;
  cursor:pointer;
  text-align:left;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(11,122,43,.08);
}
@media (hover:hover){
  .auth-choice-card:hover{
    border-color:rgba(11,122,43,.45);
    box-shadow:
      0 10px 30px rgba(15,23,42,.07),
      0 1px 0 rgba(255,255,255,.8) inset;
    transform:translateY(-3px);
    text-decoration:none;
  }
}
@media (hover:none){
  .auth-choice-card:active{
    opacity:.93;
    border-color:rgba(11,122,43,.42);
    box-shadow:none;
    transform:none;
  }
}
.auth-choice-card:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px var(--mw-soft),
    0 0 0 6px rgba(11,122,43,.35);
}

.auth-choice-card--member{
  background:linear-gradient(165deg,#fff 0%,var(--mw-soft) 100%);
}
.auth-choice-card--student{
  background:linear-gradient(165deg,#fff 0%,#fdf9ef 115%);
}
.auth-choice-card--mentor{
  background:linear-gradient(165deg,#fff 0%,#fef5f7 112%);
}
.auth-choice-card--both{
  background:linear-gradient(165deg,#fff 0%,#eff6ff 112%);
}

.auth-choice-chip{
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.06);
  background:rgba(255,255,255,.78);
}
.auth-choice-chip--member{color:#065f46;border-color:rgba(11,122,43,.28);background:rgba(240,253,244,.92)}
.auth-choice-chip--student{color:#854d0e;border-color:rgba(243,195,22,.42);background:rgba(255,251,235,.94)}
.auth-choice-chip--mentor{color:#9f1239;border-color:rgba(200,16,46,.22);background:rgba(254,243,246,.95)}
.auth-choice-chip--both{color:#1e40af;border-color:rgba(59,130,246,.35);background:rgba(239,246,255,.94)}

.auth-choice-title{
  font-size:clamp(17px,1.35vw,20px);
  font-weight:1000;
  margin:12px 0 8px;
  letter-spacing:-.2px;
}
.auth-choice-desc{
  margin:0 0 auto;
  font-size:13px;
  line-height:1.5;
  color:var(--mw-muted);
  font-weight:600;
  flex:1;
  padding-bottom:16px;
}

.auth-choice-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:14px;
  margin-top:auto;
  border-top:1px dashed rgba(15,23,42,.09);
}
.auth-choice-meta span{
  font-weight:950;
  color:var(--mw-green);
  font-size:14px;
}
.auth-choice-meta em{
  font-style:normal;
  opacity:.85;
}

.auth-footer-strip{
  margin-top:clamp(28px,3vw,40px);
  padding:clamp(14px,2vw,18px);
  border-radius:16px;
  border:1px solid var(--mw-border);
  background:var(--mw-card);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  justify-content:space-between;
}
.auth-footer-strip p{margin:0;font-size:13px;font-weight:600;color:var(--mw-muted)}
.auth-footer-strip a{font-weight:900}

/* —— /register — profile choice page —— */
.auth-page--choice{
  padding-bottom:clamp(48px,7vw,88px);
}
.auth-choice-shell{
  position:relative;
  max-width:864px;
  margin:0 auto;
  padding:clamp(24px,3.8vw,40px) clamp(18px,3.5vw,32px);
  border-radius:24px;
  border:1px solid rgba(226,232,240,.9);
  background:linear-gradient(165deg,#fff 0%,#f8fafc 45%,#f1f5f9 100%);
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 14px 44px rgba(15,23,42,.07);
  overflow:hidden;
}
.auth-choice-shell-gradient{
  position:absolute;
  top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,var(--mw-green) 0 33%,var(--mw-yellow) 33% 66%,var(--mw-red) 66% 100%);
  opacity:.96;
}
.auth-choice-step-wrap{padding-top:10px;margin-bottom:2px}
.auth-choice-shell .auth-step-focus{max-width:min(420px,100%)}

.auth-register-choice-hero{
  text-align:center;
  margin:clamp(14px,2.2vw,24px) auto clamp(22px,2.8vw,32px);
  max-width:42rem;
  padding:0 clamp(6px,2vw,12px);
}
.auth-register-choice-kicker{
  font-size:clamp(11px,2.4vw,12px);
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 10px;
  color:var(--mw-green);
  font-weight:950;
}
.auth-register-choice-title{
  margin:0 0 14px;
  line-height:1.08;
  letter-spacing:-.45px;
  color:var(--mw-ink);
  font-size:clamp(1.6rem,4vw,2.05rem);
  font-weight:1000;
}
.auth-register-choice-lead{
  margin:0 auto;
  font-size:clamp(14px,1.85vw,16px);
  line-height:1.55;
  color:var(--mw-muted);
  font-weight:650;
  max-width:38ch;
}
.auth-register-choice-glossary{
  margin:16px auto 0;
  text-align:center;
}
.mw-link-as-button{
  background:none;
  border:none;
  padding:0;
  font:inherit;
  color:#0b5bd3;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  font-weight:650;
}
.mw-link-as-button:hover{opacity:.88;}
.mw-link-as-button:focus-visible{
  outline:2px solid rgba(37,99,235,.45);
  outline-offset:2px;
  border-radius:3px;
}
.mw-reg-dialog{
  border:none;
  border-radius:16px;
  padding:0;
  max-width:min(440px,calc(100vw - 2rem));
  box-shadow:0 20px 55px rgba(15,23,42,.22);
}
.mw-reg-dialog::backdrop{background:rgba(15,23,42,.48);}
.mw-reg-dialog__inner{padding:1.2rem 1.35rem 1.15rem;}
.mw-reg-dialog__title{
  margin:0 0 .65rem;
  font-size:1.08rem;
  font-weight:950;
  color:var(--mw-ink,#0f172a);
  line-height:1.25;
}
.mw-reg-dialog__dt{
  margin:.55rem 0 .12rem;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--mw-muted,#64748b);
}
.mw-reg-dialog__dd{
  margin:0;
  font-size:.95rem;
  line-height:1.45;
  color:var(--mw-ink,#0f172a);
}
.mw-reg-dialog__note{
  margin:.75rem 0 0;
  font-size:.88rem;
  line-height:1.45;
  color:var(--mw-muted,#64748b);
}
.mw-reg-dialog__actions{
  margin-top:1rem;
  display:flex;
  justify-content:flex-end;
  gap:.5rem;
}

.auth-choice-grid--choice{
  gap:clamp(15px,2vw,21px);
  margin-top:2px;
}
.auth-choice-shell .auth-choice-card{
  border-radius:17px;
  padding:clamp(19px,2.2vw,25px) clamp(17px,2vw,23px);
  border-left-width:4px;border-left-style:solid;border-left-color:transparent;
  box-shadow:0 2px 10px rgba(15,23,42,.045);
}
.auth-choice-shell .auth-choice-card--student{
  border-left-color:rgba(217,119,6,.82);
  background:linear-gradient(140deg,#fff 0%,#fffbeb 100%);
}
.auth-choice-shell .auth-choice-card--mentor{
  border-left-color:rgba(190,24,93,.65);
  background:linear-gradient(140deg,#fff 0%,#fdf2f8 100%);
}
.auth-choice-shell .auth-choice-card--both{
  border-left-color:rgba(37,99,235,.72);
  background:linear-gradient(140deg,#fff 0%,#eff6ff 100%);
}
.auth-choice-shell .auth-choice-card--member{
  border-left-color:rgba(11,122,43,.72);
  background:linear-gradient(140deg,#fff 0%,var(--mw-soft) 100%);
}
.auth-choice-shell .auth-choice-meta{
  border-top:none;
  margin-top:14px;
  padding:11px 14px;
  border-radius:11px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(226,232,240,.92);
}
.auth-choice-shell .auth-choice-meta span{font-size:13px;font-weight:950}

.auth-footer-strip--choice{
  margin-top:clamp(22px,2.8vw,34px);
  background:rgba(248,250,252,.94);
  border:1px dashed rgba(148,163,184,.5);
}

@media (max-width:680px){
  .auth-choice-shell{margin-inline:0;padding:22px 15px 24px;border-radius:20px}
  .auth-register-choice-title{font-size:1.5rem}
}

.auth-card-shell{
  max-width:560px;margin:0 auto;
  padding:clamp(22px,3vw,32px);
  border-radius:22px;
  border:1px solid rgba(15,23,42,.06);
  background:linear-gradient(180deg,#fff,var(--mw-card));
  box-shadow:
    0 16px 50px rgba(15,23,42,.06),
    0 2px 0 rgba(255,255,255,.9) inset;
}
.auth-card-shell--register{padding-top:clamp(16px,2.5vw,24px)}
.auth-card-title{margin:12px 0 6px;text-align:center;letter-spacing:-.35px}

.auth-intro{
  text-align:center;font-size:13px;line-height:1.55;color:var(--mw-muted);font-weight:600;margin-bottom:18px;margin-top:2px;padding:0 10px}

.notice.soft{
  border-color:rgba(11,122,43,.35);
  background:rgba(238,248,240,.92);
  color:#065f46;
  font-size:13px;line-height:1.5;font-weight:600;
}

.auth-section{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--mw-border);}
.auth-section:first-of-type{border-top:none;padding-top:8px;margin-top:8px;}
.auth-section-kicker{margin:0 0 6px;font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;color:var(--mw-green);opacity:.88}
.auth-section-caption{margin:-2px 0 12px;font-size:13px;color:var(--mw-muted);font-weight:600}

/* Registration form — panel layout & fields */
.auth-register-alert{border-radius:14px;margin:0 0 14px;line-height:1.45}
.auth-form-body{
  display:flex;flex-direction:column;gap:12px;
  margin-top:4px;padding-top:4px;
}
.auth-form-register .auth-section.auth-section--panel{
  margin:0;border-top:none;padding:14px 15px 16px;
  border:1px solid rgba(226,232,240,.98);
  border-radius:14px;
  background:rgba(248,250,252,.85);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.auth-form-register .auth-section--panel .auth-section-kicker{margin-bottom:4px}
.auth-form-register .auth-section--panel .auth-section-caption{margin:0 0 12px;font-size:12px;line-height:1.45}
.auth-form-register .auth-section--charter{
  background:rgba(255,251,235,.45);
  border-color:rgba(245,158,11,.22);
}
.auth-form-register .field{
  margin:10px 0;
  gap:5px;
}
.auth-form-register .field label{
  font-size:13px;font-weight:850;color:var(--mw-ink);
}
.auth-card-shell.auth-card-shell--register input[type="email"],
.auth-card-shell.auth-card-shell--register input[type="password"],
.auth-card-shell.auth-card-shell--register input[type="text"],
.auth-card-shell.auth-card-shell--register textarea{
  width:100%;
  padding:11px 13px;border-radius:12px;border:1px solid #dfe4ec;
  background:#fff;font-size:15px;line-height:1.35;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.035);
  transition:border-color .15s ease,box-shadow .15s ease;}
.auth-card-shell.auth-card-shell--register textarea{min-height:110px;line-height:1.45;}
.auth-card-shell.auth-card-shell--register input:hover,
.auth-card-shell.auth-card-shell--register textarea:hover{border-color:rgba(11,122,43,.35)}
.auth-form-actions{
  margin-top:6px;padding-top:4px;
}
.btn-auth-submit{margin-top:0;width:100%;justify-content:center;padding:13px 16px;font-size:15px;border-radius:13px;font-weight:1000;}
.auth-password-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.auth-password-wrap input{
  width:100%;
  padding-right:86px;
}
.auth-password-toggle{
  position:absolute;
  right:6px;
  padding:6px 10px;
  border-radius:9px;
  border:1px solid var(--mw-border);
  background:#fff;
  color:var(--mw-muted);
  font-size:12px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
}
.auth-password-toggle:hover{color:var(--mw-ink);border-color:rgba(11,122,43,.35)}

.form-error-banner{
  border-radius:14px;margin-bottom:14px;font-size:14px;line-height:1.45;font-weight:700;color:#991b1b;
}
.auth-form-errors > ul{margin:.5em 0 0;padding-left:18px;color:#991b1b;font-size:13px;font-weight:600}

/* Symfony choice expanded → card-style options (wrapped in .mw-choice-option) */
.mw-choice-field .mw-choice-expand{
  display:flex;flex-direction:column;gap:10px;margin-top:10px}
.mw-choice-field .mw-choice-option{
  display:flex;align-items:flex-start;gap:12px;
}
.auth-form-register .mw-choice-field .mw-choice-expand{margin-top:6px;}
.auth-form-register .mw-choice-field .mw-choice-option label{
  padding:10px 12px;border-radius:12px;font-size:14px;font-weight:800;
}
.mw-choice-field .mw-choice-option label{
  flex:1;display:block;
  margin:0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--mw-border);
  background:rgba(255,255,255,.9);
  font-weight:800;
  font-size:14px;
  line-height:1.35;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease;
}
.mw-choice-field .mw-choice-option:has(input:checked) label{
  border-color:rgba(11,122,43,.58);
  background:var(--mw-soft);
}
.mw-choice-field .mw-choice-option:hover label{border-color:rgba(11,122,43,.38)}
.mw-choice-field .mw-choice-option input[type="checkbox"],
.mw-choice-field .mw-choice-option input[type="radio"]{
  width:18px;height:18px;margin-top:12px;
  accent-color:var(--mw-green);flex-shrink:0;
}
.auth-form-register .mw-choice-field .mw-choice-option input[type="checkbox"]{
  margin-top:10px;
}

.mw-charter-option{display:flex;align-items:flex-start;gap:14px}
.mw-charter-option label{
  flex:1;
  margin:0;
  font-weight:700;
  line-height:1.45;
  cursor:pointer;
  padding-top:2px;
}
.mw-charter-option input[type="checkbox"]{
  margin-top:3px;width:18px;height:18px;accent-color:var(--mw-green);flex-shrink:0
}
.mw-charter-option .mw-charter-option__doc-link{
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
  color:var(--mw-green);
}
.mw-charter-option .mw-charter-option__doc-link:hover{
  text-decoration-thickness:2px;
}
.mw-charter-doc-page{padding:24px 0 56px}
.mw-charter-doc{max-width:720px;margin:0 auto;padding:0 16px}
.mw-charter-doc__title{
  font-size:1.75rem;font-weight:900;margin:0 0 8px;line-height:1.2;color:var(--mw-ink);
}
.mw-charter-doc__lead{color:var(--mw-muted);font-size:14px;margin:0 0 22px;line-height:1.5}
.mw-charter-doc section{margin:0 0 22px}
.mw-charter-doc__h2{
  font-size:1.08rem;font-weight:850;margin:0 0 8px;line-height:1.3;color:var(--mw-ink);
}
.mw-charter-doc__prose{
  font-size:15px;line-height:1.6;margin:0;color:var(--mw-ink);
  white-space:pre-line;
}
.mw-charter-doc__footnote{margin:20px 0 0;line-height:1.45}
.mw-charter-doc__actions{margin-top:22px;padding-top:18px;border-top:1px solid var(--mw-border)}
.auth-back-wrap{margin:0}
.auth-register-choice-charter-link{
  text-align:center;margin:10px 0 0;font-size:13px;line-height:1.45;
}
.auth-register-choice-charter-link a{
  font-weight:800;color:var(--mw-green);text-decoration:underline;text-underline-offset:2px;
}
.auth-register-choice-charter-link a:hover{text-decoration-thickness:2px}

.auth-form-register .mw-weekly-widget-wrap{
  display:flex;flex-direction:column;gap:11px;margin-top:10px;}
.mw-weekly-fieldset{
  margin:0;padding:11px 12px;border-radius:14px;border:1px solid var(--mw-border);
  background:rgba(255,255,255,.55);}
.auth-page .mw-weekly-legend{
  padding:0 4px;margin:0 0 2px;font-size:13px;font-weight:950;color:var(--mw-ink);}
.mw-weekly-day-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;}
.mw-weekly-check{
  display:flex;align-items:center;gap:10px;font-size:13px;font-weight:850;color:var(--mw-ink);}
.mw-weekly-check input{width:17px;height:17px;accent-color:var(--mw-green);}
.mw-weekly-times{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.auth-card-shell--register input[type="time"].auth-time-input{
  min-width:6.85rem;width:auto;padding:10px 12px;border-radius:12px;border:1px solid #dfe4ec;
  background:#fff;font-size:14px;font-weight:750;line-height:1.35;
}
.mw-weekly-timezone-note{
  margin:0 0 12px;
  font-size:13px;
  font-weight:650;
  line-height:1.5;
  color:var(--mw-muted);
}
.mw-weekly-presets{
  margin-bottom:14px;
  padding:12px 14px;
  border-radius:14px;
  border:1px dashed var(--mw-border);
  background:rgba(248,250,252,.92);
}
.mw-weekly-presets__label{
  display:block;
  margin-bottom:10px;
  font-size:11.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--mw-muted);
}
.mw-weekly-presets__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mw-weekly-preset-btn{
  font:inherit;
  font-size:13px;
  font-weight:850;
  padding:9px 13px;
  border-radius:10px;
  border:1px solid var(--mw-border);
  background:#fff;
  color:var(--mw-ink);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.mw-weekly-preset-btn:hover{background:#f1f5f9}
.mw-weekly-preset-btn:focus-visible{outline:2px solid var(--mw-green);outline-offset:2px}
.mw-weekly-presets__hint{
  margin:10px 0 0;
  font-size:12px;
  font-weight:650;
  line-height:1.45;
  color:var(--mw-muted);
}
.help-text-inline{display:block;margin-top:6px;font-weight:700;font-size:12px;color:var(--mw-muted);}

.auth-form .help-text,
.auth-form .help-text-inline{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:var(--mw-muted);
  font-weight:600;
  line-height:1.45;
}
.auth-form .field ul{
  list-style:none;
  margin:8px 0 0;
  padding:0;
}
.auth-form .field ul li{
  color:#b91c1c;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}
.auth-page--register-flow{
  padding-bottom:calc(48px + env(safe-area-inset-bottom,0px));
}

.auth-shell--flow{max-width:960px;padding-inline:clamp(12px,3vw,20px);}

.auth-header--tight-on-mobile{margin-bottom:clamp(14px,3vw,24px);}
.auth-help-hint{margin:clamp(12px,2vw,18px) 0 0;font-size:clamp(13px,3.3vw,15px);line-height:1.5;color:var(--mw-muted);font-weight:650;max-width:58ch;font-style:italic}

.auth-kicker-centered{text-align:center;margin:0 0 6px}

.auth-profile-pill{
  display:table;
  margin:0 auto 12px;
  max-width:100%;
  padding:10px 16px;border-radius:999px;
  font-size:clamp(11px,2.85vw,13px);font-weight:900;line-height:1.35;text-align:center;
  border:1px solid var(--mw-border);background:rgba(255,255,255,.92);
}
.auth-profile-pill--student{border-color:rgba(243,195,22,.42);background:rgba(255,251,235,.95);color:#854d0e}
.auth-profile-pill--mentor{border-color:rgba(200,16,46,.26);background:rgba(254,243,246,.97);color:#9f1239}
.auth-profile-pill--both{border-color:rgba(59,130,246,.38);background:rgba(239,246,255,.96);color:#1e40af}
.auth-profile-pill--member{border-color:rgba(11,122,43,.34);background:rgba(240,253,244,.95);color:#065f46}

/* One step visible per screen: progress + illustration */
.auth-step-focus{
  max-width:400px;margin:0 auto clamp(8px,2vw,16px);
  padding-bottom:clamp(2px,1vw,8px);text-align:center;
}
.auth-step-focus-bar{
  height:6px;border-radius:999px;background:rgba(226,232,240,.95);
  overflow:hidden;border:1px solid rgba(15,23,42,.06);
}
.auth-step-focus-bar-fill{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--mw-green) 0%,#16a34a 55%,rgba(243,195,22,.92) 100%);
  transition:width .42s cubic-bezier(.4, 0, .2, 1);
}
.auth-step-focus-count{
  margin:8px 0 0;font-size:11px;font-weight:950;text-transform:uppercase;
  letter-spacing:.06em;color:var(--mw-muted);}
.auth-step-focus--text-only .auth-step-focus-count{margin-top:6px}
.auth-step-focus-name{
  margin:4px 0 0;font-size:clamp(13px,3.2vw,15px);font-weight:950;color:var(--mw-ink);
  line-height:1.35;text-wrap:balance;padding:0 8px;opacity:.95;
}
.auth-step-focus--text-only{padding-bottom:4px;}

.auth-summary{margin:14px 0 22px;padding:0;display:flex;flex-direction:column;gap:0;border:1px solid var(--mw-border);border-radius:16px;background:rgba(248,250,252,.92);overflow:hidden}
.auth-summary-row{display:grid;grid-template-columns:minmax(110px,36%) minmax(0,1fr);gap:12px;padding:12px 14px;margin:0;border-bottom:1px solid var(--mw-border);}
.auth-summary-row:last-child{border-bottom:none}
.auth-summary-row--block{grid-template-columns:1fr;gap:8px;padding-bottom:14px}
.auth-summary dt{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:var(--mw-green);opacity:.92}
.auth-summary dd{margin:0;font-size:15px;line-height:1.45;font-weight:700;color:var(--mw-ink);word-break:break-word}
.auth-summary-note{font-weight:650!important;font-size:14px;line-height:1.5}
.auth-summary-skills{margin:.35em 0 0;padding-left:1.25em}
.auth-summary-skills li{margin:.2em 0}

/* Tom Select — mentor registration multi-select (single-line control, searchable dropdown) */
select.mw-register-skills-tom{width:100%;min-height:46px}
.auth-page .field--mw-ts-skills .ts-wrapper.multi{width:100%}
.auth-page .field--mw-ts-skills .ts-control{
  border-radius:12px;border:1px solid var(--mw-border);padding:6px 10px;min-height:46px;
  background:rgba(255,255,255,.96);box-shadow:none;
}
.auth-page .field--mw-ts-skills .ts-wrapper.multi.has-items .ts-control{padding-bottom:5px}
.auth-page .field--mw-ts-skills .ts-wrapper.focus .ts-control{
  border-color:var(--mw-green,#2e8b57);
  box-shadow:0 0 0 2px rgba(46,139,87,.2);
}
.auth-page .field--mw-ts-skills .ts-wrapper.multi .ts-control>div{
  background:rgba(46,139,87,.14);border:1px solid rgba(46,139,87,.32);color:var(--mw-ink);
  border-radius:8px;font-weight:650;margin:3px 5px 0 0;padding:4px 8px;font-size:13px;
}
.auth-page .field--mw-ts-skills .ts-wrapper.multi .ts-control>div .remove{
  border-left:1px solid rgba(46,139,87,.28);margin-left:4px;padding-left:6px;color:var(--mw-ink);
}
.auth-page .field--mw-ts-skills .ts-dropdown{
  border-radius:12px;border:1px solid var(--mw-border);
  box-shadow:0 14px 42px rgba(15,23,42,.13);
}
.auth-page .field--mw-ts-skills .ts-dropdown .optgroup-header{
  font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--mw-green,#2e8b57);padding:10px 12px 5px;background:rgba(46,139,87,.06);
}
.auth-page .field--mw-ts-skills .ts-dropdown .option{padding:9px 12px;font-weight:600;color:var(--mw-ink)}
.auth-page .field--mw-ts-skills .ts-dropdown .option.active,
.auth-page .field--mw-ts-skills .ts-dropdown .option:hover{background:rgba(46,139,87,.09)}

/* Tom Select — create account: university (compact control, scrollable + searchable list) */
.auth-form-register .field .ts-wrapper.single{
  width: 100%;
  max-width: 100%;
  min-height: 0;
}
.auth-form-register .field .ts-wrapper.single .ts-control{
  min-height: 40px;
  padding: 6px 34px 6px 11px;
  font-size: 14px;
  line-height: 1.25;
  border-radius: 12px;
  border: 1px solid #dfe4ec;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.035);
  background-image: none;
}
.auth-form-register .field .ts-wrapper.single.focus .ts-control{
  border-color: rgba(11, 122, 43, 0.45);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.035), 0 0 0 2px rgba(11, 122, 43, 0.15);
}
.ts-dropdown.mw-register-ts-dropdown{
  z-index: 1200;
  border-radius: 0 0 12px 12px;
  border-color: #dfe4ec;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.12);
}
.ts-dropdown.mw-register-ts-dropdown .ts-dropdown-content{
  max-height: min(42vh, 200px);
}
.ts-dropdown.mw-register-ts-dropdown .option{
  padding: 8px 11px;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 600;
}
.ts-dropdown.mw-register-ts-dropdown .option.active,
.ts-dropdown.mw-register-ts-dropdown .option:hover{
  background: rgba(11, 122, 43, 0.09);
}
.ts-dropdown.mw-register-ts-dropdown .dropdown-input{
  border-bottom-color: #dfe4ec;
  font-size: 14px;
  padding: 8px 10px;
}

@media (max-width:520px){
  .auth-summary-row{grid-template-columns:1fr;gap:4px;padding:12px 14px}}

.btn-touch{
  min-height:48px;min-width:120px;font-size:16px;line-height:1.2;padding:12px 18px;border-radius:14px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(11,122,43,.08);
}
.auth-footer-strip .btn-touch{width:auto}
.btn-touch-plain{
  display:inline-flex;align-items:center;min-height:44px;padding:10px 4px;margin-bottom:8px;
  border-radius:10px;text-decoration:none;touch-action:manipulation;
}
.btn-touch-plain:focus-visible{
  outline:2px solid rgba(11,122,43,.5);outline-offset:2px;
}

.auth-shell--narrow.auth-shell--form{padding-inline:clamp(12px,3vw,20px)}

@media (max-width:680px){
  .auth-choice-grid{grid-template-columns:1fr}
  .auth-choice-meta{font-size:15px;padding-top:16px;padding-bottom:max(12px,env(safe-area-inset-bottom,.5px));min-height:48px;display:flex;align-items:center;}
  .auth-choice-meta span{font-size:clamp(13px,3.8vw,15px);}
  .auth-footer-strip{
    flex-direction:column;
    align-items:stretch;text-align:center;gap:14px;
    padding:16px;margin-top:clamp(22px,4vw,32px);}
  .auth-footer-strip p{font-size:14px;line-height:1.45}
  .auth-footer-strip .btn,.auth-footer-strip .btn-touch{width:100%;justify-content:center}
  .auth-choice-card{padding-bottom:clamp(20px,4vw,24px);}
  .auth-card-shell{border-radius:18px;margin-inline:clamp(0px,2vw,8px);}
  .auth-page input,.auth-page select,.auth-page textarea{font-size:16px;line-height:1.35}
  .mw-choice-field .mw-choice-option label{font-size:15px;padding:14px}
  .mw-charter-option label{font-size:14px;line-height:1.5;padding-top:1px}
}
