/* Red Deer Reavers members area (members.html). One stylesheet, built on the site's own "Forged" tokens in styles.css:
   charcoal surfaces, warm white text, ember (orange) for the one primary action on a screen, gilt only as a quiet accent.
   Phone first: 16px gutters, 16px inputs, every control at least 44px tall, a bottom bar in the thumb zone. Wide screens get a left rail.
   Class names are used by assets/js/member-portal.js; keep them. */

:root{
  --mb-bar:58px;--mb-tabs:62px;--mb-radius:14px;--mb-t:150ms;--mb-ease:var(--ease,cubic-bezier(.2,.7,.2,1));
  --mb-bg:var(--iron-950,#09070a);--mb-surface:var(--iron-850,#141017);--mb-surface-2:var(--iron-800,#1a151e);--mb-surface-3:var(--iron-700,#251e2a);
  --mb-line:rgba(242,232,211,.12);--mb-line-strong:rgba(242,232,211,.22);
  --mb-text:var(--bone,#f2e8d3);--mb-text-2:var(--bone-dim,#c9bda6);--mb-text-3:var(--bone-mute,#9d9282);
  --mb-accent:var(--gilt,#d6a84c);--mb-accent-hi:var(--gilt-hi,#f3cf7a);
  --mb-primary:var(--ember,#ff7b1c);--mb-primary-hi:var(--ember-hi,#ffa04d);--mb-primary-lo:var(--ember-lo,#c9530a);--mb-on-primary:#1b0d03;
  /* status colours: each one is a foreground + background pair that passes contrast on charcoal */
  --mb-ok:#9fe0b4;--mb-ok-bg:rgba(35,112,74,.32);--mb-ok-line:#2f8a58;
  --mb-warn:#f3cf7a;--mb-warn-bg:rgba(214,168,76,.18);--mb-warn-line:#b08a3a;
  --mb-bad:#ffb3ad;--mb-bad-bg:rgba(184,40,31,.26);--mb-bad-line:#c4463d;
  --mb-info:#d9d7de;--mb-info-bg:rgba(156,154,163,.16);
}
@media (prefers-reduced-motion:reduce){:root{--mb-t:0ms}}

/* ---------- page ---------- */
html{scroll-padding-top:calc(var(--mb-bar) + 12px)}
body.members-app{margin:0;padding:0 !important;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--mb-bg);color:var(--mb-text);
  font-family:var(--font-body);font-size:1.0625rem;line-height:1.5;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}
body.members-app::after,body.members-app .embers{display:none !important}
body.members-app button,body.members-app a,body.members-app input,body.members-app select,body.members-app textarea,body.members-app summary,body.members-app label.check{touch-action:manipulation}
[hidden]{display:none !important}
.mb-main{flex:1 0 auto;width:min(100% - 32px,720px);margin:0 auto;padding:14px 0 calc(var(--mb-tabs) + 28px + env(safe-area-inset-bottom))}
.mb-main>*+*{margin-top:0}
body.members-app a{color:var(--mb-accent-hi);text-decoration:underline;text-decoration-color:rgba(243,207,122,.45);text-underline-offset:2px}
body.members-app a:hover{color:#fff}
h1,h2,h3,h4{color:var(--mb-text);margin:0 0 8px;line-height:1.2;font-family:var(--font-body);font-weight:800;letter-spacing:0}
h2{font-size:1.35rem}h3{font-size:1.15rem}h4{font-size:1.02rem;margin:14px 0 6px}
p{margin:0 0 10px}
.small{font-size:.9rem;color:var(--mb-text-2)}
.lede{font-size:1rem;color:var(--mb-text-2);margin:0 0 14px}
.err{color:var(--mb-bad)}.ok-text,.waived-text{color:var(--mb-ok);font-weight:700}
.section-h{font-size:1.2rem;margin:18px 0 10px}
.empty{color:var(--mb-text-3);padding:10px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mb-foot button{margin-left:4px}

/* ---------- top bar ---------- */
.mb-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:6px;min-height:var(--mb-bar);padding:6px 10px;padding-top:calc(6px + env(safe-area-inset-top));
  background:rgba(9,7,10,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--mb-line)}
.mb-back{display:inline-flex;align-items:center;gap:2px;min-height:44px;min-width:44px;padding:0 8px 0 4px;color:var(--mb-text-2);text-decoration:none !important;font-size:.9rem;font-weight:700;border-radius:10px}
.mb-back:hover,.mb-back:focus-visible{color:var(--mb-text);background:rgba(255,255,255,.05)}
.mb-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;text-decoration:none !important;color:var(--mb-text)}
.mb-brand img{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 1px var(--mb-line-strong)}
.mb-brand span{display:grid;line-height:1.05}
.mb-brand strong{font-family:var(--font-display);font-size:1.3rem;font-weight:800}
.mb-brand small{font-family:var(--font-caps);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mb-accent)}
.mb-acts{margin-left:auto;display:flex;align-items:center;gap:2px}
.mb-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 10px;border-radius:12px;border:1px solid transparent;background:none;color:var(--mb-text-2);
  font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:color var(--mb-t) var(--mb-ease),background var(--mb-t) var(--mb-ease)}
.mb-icon:hover,.mb-icon:focus-visible{color:var(--mb-text);background:rgba(255,255,255,.06)}
.mb-icon[aria-pressed="true"]{color:var(--mb-accent-hi);background:rgba(214,168,76,.14);border-color:var(--mb-line-strong)}
.mb-icon svg{width:22px;height:22px;flex:0 0 auto}
.mb-icon.spin svg{animation:mb-spin .8s linear infinite}
@keyframes mb-spin{to{transform:rotate(360deg)}}
.mb-icon .lbl{display:none}
@media (min-width:420px){.mb-icon .lbl{display:inline}}
.skip-link:focus:not(:focus-visible){top:-60px}

/* ---------- cards ---------- */
.card-panel{background:var(--mb-surface);border:1px solid var(--mb-line);border-radius:var(--mb-radius);padding:16px;margin:0 0 12px;box-shadow:none}
.card-panel>:last-child{margin-bottom:0}
.card-panel h2{font-size:1.3rem;margin-bottom:10px}
.card-panel .card-panel{background:var(--mb-surface-2)}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.card-head h2,.card-head h3{margin:0}
.kicker{font-family:var(--font-caps);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mb-accent);margin:0 0 4px}
.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 14px;margin:0 0 10px}
.facts dt{color:var(--mb-text-2)}.facts dd{margin:0;overflow-wrap:anywhere}
.hist{list-style:none;padding:0;margin:0}.hist li{padding:8px 0;border-bottom:1px solid var(--mb-line);font-size:.95rem}.hist li:last-child{border-bottom:0}
.held{margin:10px 0;padding:10px 12px;border-left:3px solid var(--mb-accent);background:rgba(214,168,76,.08);border-radius:0 8px 8px 0}
.topic-details{white-space:pre-wrap;overflow-wrap:anywhere}

/* ---------- forms ---------- */
.fld{display:grid;gap:6px;font-size:.95rem;color:var(--mb-text-2);font-weight:600;margin-bottom:12px}
.fld input,.fld select,.fld textarea,input.browser-default,select.browser-default,textarea.browser-default,input[type="search"]{
  width:100%;box-sizing:border-box;min-height:46px;padding:0 12px;font:inherit;font-size:16px;font-weight:400;color:var(--mb-text);
  background:var(--mb-bg);border:1px solid var(--mb-line-strong);border-radius:10px;appearance:none;-webkit-appearance:none}
.fld textarea,textarea.browser-default{min-height:120px;padding:10px 12px;resize:vertical;line-height:1.45}
select.browser-default,.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--mb-text-2) 50%),linear-gradient(135deg,var(--mb-text-2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}
select.browser-default option{background:var(--mb-surface-2);color:var(--mb-text)}
input::placeholder,textarea::placeholder{color:var(--mb-text-3)}
.fld input:focus,.fld select:focus,.fld textarea:focus,.browser-default:focus{outline:2px solid var(--mb-accent);outline-offset:1px}
input[type="search"]{max-width:380px;margin-bottom:10px}
input[type="date"],input[type="datetime-local"],input[type="time"]{color-scheme:dark}
fieldset.plain{border:0;padding:0;margin:0 0 12px;min-width:0}fieldset.plain legend{font-size:.95rem;color:var(--mb-text-2);font-weight:600;margin-bottom:4px;padding:0}
label.check{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:.95rem;color:var(--mb-text-2);min-height:44px;padding:8px 0}
label.check input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--mb-primary)}
label.check span{padding-top:1px}
.or{display:flex;align-items:center;gap:10px;color:var(--mb-text-3);margin:14px 0;font-size:.9rem}
.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--mb-line)}
.row-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.auth-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin:14px 0 0;padding:0;list-style:none}
.auth-links a,.auth-links button{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:.95rem;color:var(--mb-accent-hi);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.auth-back{margin-bottom:8px}

/* ---------- buttons ---------- */
.btn-rdr,.btn-line,.rsvp-opt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:10px;font:inherit;font-size:1rem;font-weight:700;
  line-height:1.2;cursor:pointer;text-decoration:none !important;text-align:center;transition:filter var(--mb-t) var(--mb-ease),transform var(--mb-t) var(--mb-ease)}
.btn-rdr{background:linear-gradient(180deg,var(--mb-primary-hi),var(--mb-primary) 50%,var(--mb-primary-lo));color:var(--mb-on-primary) !important;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.btn-line{background:var(--mb-surface-2);color:var(--mb-text) !important;border:1px solid var(--mb-line-strong)}
.btn-rdr:hover,.btn-line:hover{filter:brightness(1.08)}
.btn-rdr:active,.btn-line:active,.rsvp-opt:active,.tile:active{transform:scale(.98)}
.btn-rdr:disabled,.btn-line:disabled,.rsvp-opt:disabled{opacity:.5;cursor:default;filter:none}
.btn-rdr:focus-visible,.btn-line:focus-visible,.rsvp-opt:focus-visible,.tile:focus-visible,.filters button:focus-visible,#tabs button:focus-visible,.mb-icon:focus-visible,.sheet-item:focus-visible{outline:2px solid var(--mb-accent);outline-offset:2px}
.small-btn{min-height:40px;padding:0 12px;font-size:.92rem}
.wide{width:100%;margin-bottom:10px}
.btn-line.danger{color:var(--mb-bad) !important;border-color:var(--mb-bad-line)}

/* choice buttons (RSVP, ballots, roles): a grid of equal tiles, the chosen one in ember */
.rsvp-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}
.rsvp-opt{min-height:54px;padding:8px 10px;background:var(--mb-bg);color:var(--mb-text);border:1px solid var(--mb-line-strong);white-space:normal}
.rsvp-opt[aria-pressed="true"]{background:linear-gradient(180deg,var(--mb-primary-hi),var(--mb-primary) 50%,var(--mb-primary-lo));color:var(--mb-on-primary);border-color:transparent}
@media (max-width:359px){.rsvp-opts{grid-template-columns:1fr}}

/* ---------- status line / toast ---------- */
#status:empty{display:none}
#status{position:fixed;left:16px;right:16px;bottom:calc(var(--mb-tabs) + 12px + env(safe-area-inset-bottom));z-index:70;max-width:560px;margin:0 auto;padding:12px 16px;border-radius:12px;
  background:var(--mb-surface-3);color:var(--mb-text);border:1px solid var(--mb-line-strong);box-shadow:0 12px 40px rgba(0,0,0,.6);font-weight:600;overflow-wrap:anywhere}
#status.err{background:#2a1413;color:var(--mb-bad);border-color:var(--mb-bad-line)}
body.no-tabs #status{bottom:calc(16px + env(safe-area-inset-bottom))}

/* ---------- chips ---------- */
.chip-s{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.5;white-space:nowrap;background:var(--mb-info-bg);color:var(--mb-info)}
.chip-s.active,.chip-s.can,.chip-s.paid,.chip-s.waived,.chip-s.gear_contribution,.chip-s.ok{background:var(--mb-ok-bg);color:var(--mb-ok)}
.chip-s.pending,.chip-s.none,.chip-s.warn{background:var(--mb-warn-bg);color:var(--mb-warn)}
.chip-s.unpaid,.chip-s.cannot,.chip-s.removed,.chip-s.bad{background:var(--mb-bad-bg);color:var(--mb-bad)}
.chip-s.inactive{background:var(--mb-info-bg);color:var(--mb-text-3)}
.chip-s.rsvp,.chip-s.kind{background:rgba(214,168,76,.16);color:var(--mb-accent-hi)}
.chip-s.live{background:var(--mb-primary);color:var(--mb-on-primary)}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* eligibility banner */
.vote{display:grid;gap:4px;padding:12px 14px;border-radius:10px;border:1px solid;margin:0 0 12px}
.vote b{font-size:1.05rem;letter-spacing:.02em}
.vote.yes{background:var(--mb-ok-bg);color:var(--mb-ok);border-color:var(--mb-ok-line)}
.vote.no{background:var(--mb-bad-bg);color:var(--mb-bad);border-color:var(--mb-bad-line)}
.rsvp-now{padding:12px 14px;border-radius:10px;background:var(--mb-ok-bg);border:1px solid var(--mb-ok-line);color:var(--mb-text);margin:12px 0;display:grid;gap:6px;overflow-wrap:anywhere}
.rsvp-now>b{font-size:1.05rem;color:var(--mb-ok)}
.notice-box{padding:12px 14px;border-radius:10px;background:var(--mb-warn-bg);border:1px solid var(--mb-warn-line);margin:0 0 12px;overflow-wrap:anywhere}
.notice-box.bad{background:var(--mb-bad-bg);border-color:var(--mb-bad-line)}
.notice-box.ok{background:var(--mb-ok-bg);border-color:var(--mb-ok-line)}

/* ---------- bottom bar ---------- */
#tabs{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:0;padding:6px 6px max(6px,env(safe-area-inset-bottom));min-height:var(--mb-tabs);
  border-top:1px solid var(--mb-line);background:rgba(9,7,10,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
#tabs button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;padding:4px 2px;border:0;border-radius:12px;background:none;color:var(--mb-text-3);
  font:inherit;font-size:.74rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:color var(--mb-t) var(--mb-ease)}
#tabs button .nav-ico{width:24px;height:24px}
#tabs button[aria-selected="true"]{color:var(--mb-text)}
#tabs button[aria-selected="true"] .nav-ico{color:var(--mb-primary)}
#tabs button[aria-selected="true"]::after{content:"";width:18px;height:3px;border-radius:3px;background:var(--mb-primary);margin-top:1px}
.nav-badge{position:absolute;top:4px;right:calc(50% - 24px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--mb-primary);color:var(--mb-on-primary);font-size:.68rem;font-weight:800;line-height:18px;text-align:center}
body.kbd #tabs,body.kbd .vote-now{display:none}
body.kbd .mb-main{padding-bottom:24px}
body.kbd #status{bottom:12px}

/* vote-now bar above the tabs */
.vote-now{position:fixed;left:0;right:0;bottom:calc(var(--mb-tabs) + env(safe-area-inset-bottom));z-index:60;padding:10px 16px;background:linear-gradient(180deg,var(--mb-primary-hi),var(--mb-primary) 50%,var(--mb-primary-lo));box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.vote-now button{width:100%;max-width:560px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;border:0;border-radius:12px;background:rgba(0,0,0,.3);color:#fff7ec;font:inherit;font-weight:800;font-size:1rem;cursor:pointer;text-align:left}
.vote-now button small{display:block;font-weight:600;opacity:.9;font-size:.85rem}
.vote-now button .go{flex:0 0 auto;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
body.has-vote-now .mb-main{padding-bottom:calc(var(--mb-tabs) + 110px + env(safe-area-inset-bottom))}
body.has-vote-now #status{bottom:calc(var(--mb-tabs) + 90px + env(safe-area-inset-bottom))}

/* ---------- executive sheet + dialogs ---------- */
dialog{border:1px solid var(--mb-line-strong);border-radius:16px;padding:20px;width:min(100% - 32px,460px);box-sizing:border-box;background:var(--mb-surface-2);color:var(--mb-text);font-family:var(--font-body)}
dialog::backdrop{background:rgba(0,0,0,.6)}
dialog h3{margin:0 0 10px}
.dues-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.dues-pick label{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--mb-line-strong);border-radius:10px;background:var(--mb-bg);color:var(--mb-text);font-weight:600;cursor:pointer}
.dues-pick input{accent-color:var(--mb-primary);width:20px;height:20px}
.dues-pick label:has(input:checked){border-color:var(--mb-primary);background:rgba(255,123,28,.12)}
.sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;margin:0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));border:1px solid var(--mb-line-strong);border-bottom:0;border-radius:20px 20px 0 0;background:var(--mb-surface-2);box-shadow:0 -20px 60px rgba(0,0,0,.6)}
.sheet[open]{animation:sheet-up var(--mb-t) var(--mb-ease)}
@keyframes sheet-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.sheet-grip{width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.18);margin:0 auto 12px}
.sheet h2{font-size:1.2rem;margin:0 0 10px}
.sheet-list{display:grid;gap:6px;margin-bottom:12px}
.sheet-item{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 12px;border-radius:12px;border:1px solid var(--mb-line);background:var(--mb-surface);color:var(--mb-text);font:inherit;font-size:1rem;font-weight:700;text-align:left;cursor:pointer}
.sheet-item .nav-ico{width:22px;height:22px;color:var(--mb-accent)}
.sheet-item[aria-current="true"]{background:rgba(214,168,76,.14);border-color:var(--mb-accent)}
.sheet .wide{width:100%}
@media (min-width:760px){.sheet{inset:auto auto 24px 24px;width:320px;border-radius:16px;border-bottom:1px solid var(--mb-line-strong)}}

/* ---------- home ---------- */
.glance{display:grid;gap:10px;padding:16px;border-radius:var(--mb-radius);background:linear-gradient(135deg,rgba(214,168,76,.14),var(--mb-surface) 65%);border:1px solid var(--mb-line-strong);margin:0 0 12px}
.glance-name{font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1.05;overflow-wrap:anywhere}
.glance-hi{display:block;font-family:var(--font-body);font-size:.92rem;font-weight:600;color:var(--mb-text-2);margin-bottom:2px}
.glance-name small{display:block;font-family:var(--font-body);font-size:.88rem;font-weight:600;color:var(--mb-text-2);margin-top:6px}
.glance-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.glance-row span{display:inline-flex;gap:6px;align-items:center;font-size:.92rem;color:var(--mb-text-2)}
.glance .btn-rdr{width:100%}
.home-vote{border-color:var(--mb-primary);background:linear-gradient(135deg,rgba(255,123,28,.18),var(--mb-surface) 70%)}
.home-vote .btn-rdr{width:100%;margin-top:6px}
.mrow-list,.mlist{display:grid;gap:8px}
.meeting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--mb-line);background:var(--mb-surface);color:var(--mb-text);text-align:left;font:inherit;cursor:pointer;text-decoration:none !important;transition:border-color var(--mb-t) var(--mb-ease)}
.meeting-row:hover,.meeting-row:focus-visible{border-color:var(--mb-accent)}
.meeting-row.live{border-color:var(--mb-primary)}
.meeting-row.cancelled{opacity:.6}
.meeting-row .mr-title{font-weight:800;font-size:1.05rem;overflow-wrap:anywhere}
.meeting-row .mr-when{color:var(--mb-text-2);font-size:.92rem}
.meeting-row .mr-chips{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.meeting-row .mr-go{color:var(--mb-text-3);font-size:1.3rem;line-height:1;align-self:center}
.meeting-row.invite{border-style:dashed}
.notices .notice{padding:10px 0;border-top:1px solid var(--mb-line)}
.notices .notice:first-of-type{border-top:0}
.notice-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.notice-head b{font-size:1.02rem}
.notice-meta{margin:2px 0 6px}
.notice-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--mb-text)}
.notice .small-btn{margin-top:6px}
.skel{display:grid;gap:10px;align-content:start;min-height:80px}
.skel-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.14),rgba(255,255,255,.06));background-size:200% 100%;animation:skel 1.2s linear infinite}
.skel-line.tall{height:22px}.skel-line.w40{width:40%}.skel-line.w55{width:55%}.skel-line.w70{width:70%}
@keyframes skel{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel-line{animation:none}}
.install-row{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.install-row img{border-radius:12px;box-shadow:0 0 0 1px var(--mb-line-strong)}
.approval-alert{margin:8px 0}

/* ---------- a meeting ---------- */
.agm-head{display:grid;gap:4px;margin-bottom:12px}
.agm-kicker{font-family:var(--font-caps);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mb-accent)}
.agm-head h2{font-size:1.45rem;margin:0}
.agm-when{font-size:1.05rem;font-weight:700;color:var(--mb-text)}
.agm-countdown{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:6px;padding:4px 12px;border-radius:999px;background:var(--mb-warn-bg);color:var(--mb-warn);font-size:.9rem;font-weight:700}
.agm-countdown.live{background:var(--mb-primary);color:var(--mb-on-primary)}
.agm-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.agm-tools .btn-line{min-height:40px;font-size:.92rem}
.meeting-details{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px}
.proxy-box{border:1px solid var(--mb-line-strong);border-radius:12px;padding:14px;background:var(--mb-surface-2);margin-top:10px}
.agm-extra{margin-top:0}
.nominated-box{border:1px solid var(--mb-ok-line);border-radius:12px;padding:14px;background:var(--mb-ok-bg);margin:0 0 12px}
.nominated-box h3{margin:0 0 8px;color:var(--mb-ok)}
.nominated-box .row-btns .btn-rdr,.nominated-box .row-btns .btn-line{flex:1 1 140px}
.nominated-box .facts{margin-bottom:14px}
.office-card{border:1px solid var(--mb-line);border-radius:12px;padding:12px;margin:0 0 10px;background:var(--mb-surface-2);display:grid;gap:4px}
.office-card h4{margin:0 0 4px}
.confirm-line{font-weight:700;margin:12px 0}
.cand-mine{margin:8px 0 12px}
.nominate-box{margin:14px 0}
.agm-help{margin-top:0}
.agm-help h3{margin-bottom:4px}
.help-item{border:1px solid var(--mb-line);border-radius:10px;background:var(--mb-surface-2);margin:6px 0}
.help-item>summary{cursor:pointer;padding:0 12px;min-height:46px;display:flex;align-items:center;font-weight:700;list-style:none}
.help-item>summary::-webkit-details-marker{display:none}
.help-item>summary::after{content:"+";margin-left:auto;color:var(--mb-accent);font-size:1.3rem;font-weight:400}
.help-item[open]>summary{border-bottom:1px solid var(--mb-line)}
.help-item[open]>summary::after{content:"–"}
.help-body{padding:4px 12px 12px;overflow-wrap:anywhere;color:var(--mb-text-2)}
.help-body p{margin:8px 0}
.help-body ul,.help-body ol,.help-body ul.browser-default,.help-body ol.browser-default{margin:6px 0;padding-left:22px}
.help-body ul li,.help-body ul.browser-default li{list-style-type:disc}
.help-body ol li,.help-body ol.browser-default li{list-style-type:decimal;padding-left:2px;margin-bottom:4px}
.help-role{padding:8px 0;border-top:1px solid var(--mb-line)}.help-role:first-of-type{border-top:0}
details.help-top>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--mb-accent-hi);list-style:none}
details.help-top>summary::-webkit-details-marker{display:none}

/* voting */
.vote-q{border-left:4px solid var(--mb-line-strong)}
.vote-q.open{border-left-color:var(--mb-primary)}
.vote-q.closed{border-left-color:var(--mb-ok-line)}
.vote-q.draft{border-left-color:var(--mb-warn-line)}
.vote-q h3{margin:8px 0 6px;font-size:1.2rem}
.vote-details{white-space:pre-wrap;margin:0 0 12px;color:var(--mb-text-2)}
.vote-block{border:1px solid var(--mb-line);border-radius:12px;padding:12px;margin:10px 0;background:var(--mb-surface-2)}
.vote-who{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.vote-results{display:grid;gap:8px;margin:12px 0 4px}
.vote-row-head{display:flex;justify-content:space-between;gap:10px;font-size:.95rem}
.vote-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}
.vote-fill{height:100%;background:var(--mb-primary);transition:width .4s var(--mb-ease)}
.vote-row.lead .vote-fill{background:var(--mb-ok-line)}
.vote-row.lead b::after{content:" ✓";color:var(--mb-ok)}
.ballot-list{margin-top:10px;border-top:1px solid var(--mb-line);padding-top:10px}
.buzz{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.buzz .btn-line{min-height:40px;font-size:.92rem}
.buzz .btn-line[aria-pressed="true"]{border-color:var(--mb-accent);color:var(--mb-accent-hi) !important}

/* ---------- executive lists ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
@media (min-width:760px){.tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
.tiles.seven{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:420px){.tiles.seven{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.tiles.seven{grid-template-columns:repeat(7,minmax(0,1fr))}}
.tile{display:grid;gap:2px;text-align:left;padding:10px;border-radius:10px;border:1px solid var(--mb-line);background:var(--mb-surface);color:var(--mb-text);font:inherit;cursor:pointer;min-height:64px}
.tile b{font-size:1.5rem;line-height:1}.tile span{font-size:.78rem;color:var(--mb-text-2);line-height:1.2}
.tile.yes b{color:var(--mb-ok)}.tile.no b{color:var(--mb-bad)}.tile.warn b{color:var(--mb-warn)}
.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters button{flex:0 0 auto;border:1px solid var(--mb-line-strong);background:var(--mb-surface);color:var(--mb-text-2);border-radius:999px;padding:0 14px;font:inherit;font-size:.92rem;font-weight:600;white-space:nowrap;min-height:40px;cursor:pointer}
.filters button[aria-pressed="true"]{background:rgba(214,168,76,.2);color:var(--mb-accent-hi);border-color:var(--mb-accent)}
.arow{display:grid;gap:6px;padding:12px;border:1px solid var(--mb-line);border-radius:12px;background:var(--mb-surface);margin-bottom:8px}
.arow.here{border-color:var(--mb-ok-line);box-shadow:inset 3px 0 0 var(--mb-ok-line)}
.arow .who{display:grid;min-width:0;overflow-wrap:anywhere}.arow .who small{color:var(--mb-text-2)}
.checkin{display:flex;gap:6px;flex-wrap:wrap}.checkin button{flex:1 1 0;min-width:0}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who acts" "st du" "vote vote";gap:8px;align-items:center;padding:12px;border:1px solid var(--mb-line);border-radius:12px;background:var(--mb-surface);margin-bottom:8px;min-width:0;overflow-wrap:anywhere}
.mrow.pending{border-color:var(--mb-warn-line);box-shadow:inset 3px 0 0 var(--mb-warn-line)}
.mrow .who{grid-area:who;display:grid;min-width:0;overflow-wrap:anywhere}.mrow .who small{color:var(--mb-text-2)}
.mrow .st{grid-area:st}.mrow .du{grid-area:du}
.mrow .vt{grid-area:vote;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mrow .vt small{color:var(--mb-bad);font-weight:600}
.mrow .acts{grid-area:acts;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}
.mrow .st,.mrow .du{justify-self:start}
.mrow.head{display:none}
@media (min-width:760px){
  .mrow,.mrow.head{display:grid;grid-template-columns:minmax(0,2fr) 110px 150px minmax(0,2fr) auto;grid-template-areas:none}
  .mrow>span{grid-area:auto !important}
  .mrow.head{background:none;border:0;font-size:.78rem;font-weight:700;color:var(--mb-text-2);text-transform:uppercase;padding-block:0;margin-bottom:0}
}
.invitee-pick{display:grid;gap:4px;max-height:50vh;overflow:auto;padding:4px 0;margin:0 0 12px}
.invitee-pick label.check{margin:0;padding:6px 8px;border-radius:8px;min-height:44px;border:1px solid transparent}
.invitee-pick label.check:has(input:checked){border-color:var(--mb-line-strong);background:rgba(255,255,255,.04)}

/* printable list */
.print-title{font-size:1.4rem;margin:6px 0}
.print-list h3{font-size:1.1rem;font-weight:700;margin:16px 0 4px}
.agm-count{font-size:1.1rem;margin:8px 0 14px}.agm-count b{font-size:2.4rem;color:var(--mb-ok);margin-right:6px}
.agm-list{margin:6px 0 16px;padding-left:24px}.agm-list li{margin-bottom:4px;list-style:decimal}
.agm-out{list-style:none;padding:0;margin:6px 0 16px}.agm-out li{margin-bottom:6px}.agm-out span{color:var(--mb-bad);font-weight:600;margin-left:6px;font-size:.95rem}

/* ---------- the fighter-profile prompt: one plain card, no parchment ---------- */
.fighter-nudge{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0 0 12px;padding:14px;border-radius:var(--mb-radius);background:var(--mb-surface);border:1px solid var(--mb-line-strong);color:var(--mb-text)}
.fighter-nudge::before,.fighter-nudge::after{display:none}
.fn-crest{line-height:0}.fn-crest svg{width:34px;height:44px}
.fn-body{min-width:0;overflow-wrap:anywhere}
.fighter-nudge h2{font-size:1.1rem;margin:0 0 4px}
.fighter-nudge p{margin:0 0 6px;font-size:.92rem;color:var(--mb-text-2)}
.fn-acts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 6px}
.fn-acts .btn-rdr,.fn-acts .btn-line{min-height:40px;font-size:.92rem}
.fighter-nudge .fn-note{font-size:.85rem;margin:0}
.fn-x{margin-right:6px}

/* ---------- footer ---------- */
.mb-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;width:min(100% - 32px,720px);margin:0 auto;padding:14px 0 calc(var(--mb-tabs) + 16px + env(safe-area-inset-bottom));border-top:1px solid var(--mb-line);font-size:.82rem;color:var(--mb-text-3)}
.mb-foot a{color:var(--mb-text-2)}
body.no-tabs .mb-main,body.no-tabs .mb-foot{padding-bottom:calc(24px + env(safe-area-inset-bottom))}

/* ---------- wide screens: the bottom bar becomes a left rail ---------- */
@media (min-width:760px){
  .mb-main{padding-top:20px;padding-bottom:48px;margin-left:calc(220px + (100% - 220px - 720px) / 2);width:720px;max-width:calc(100% - 252px)}
  .card-panel{padding:20px}
  #tabs{left:0;right:auto;top:calc(var(--mb-bar) + env(safe-area-inset-top));bottom:0;width:220px;grid-auto-flow:row;grid-auto-columns:auto;grid-auto-rows:max-content;align-content:start;gap:4px;padding:16px 12px;border-top:0;border-right:1px solid var(--mb-line);box-shadow:none;background:rgba(9,7,10,.6)}
  #tabs button{flex-direction:row;justify-content:flex-start;gap:12px;min-height:46px;padding:0 12px;font-size:.98rem}
  #tabs button[aria-selected="true"]{background:rgba(214,168,76,.12)}
  #tabs button[aria-selected="true"]::after{display:none}
  .nav-badge{position:static;margin-left:auto}
  #status{bottom:24px}
  .vote-now{bottom:0;left:220px}
  body.has-vote-now .mb-main{padding-bottom:110px}
  body.has-vote-now #status{bottom:100px}
  .mb-foot{margin-left:calc(220px + (100% - 220px - 720px) / 2);width:720px;max-width:calc(100% - 252px);padding-bottom:24px}
  body.no-tabs .mb-main,body.no-tabs .mb-foot{margin-left:auto;width:min(100% - 32px,720px);max-width:none}
  .rsvp-opts{grid-template-columns:repeat(4,1fr)}
  .rsvp-opts.two{grid-template-columns:1fr 1fr}
}

/* ---------- print: the voting list only ---------- */
@media print{
  body.members-app{background:#fff;color:#000}
  .mb-bar,.mb-foot,.vote-now,#status,#tabs,.no-print,.skip-link{display:none !important}
  .mb-main{width:auto;margin:0;padding:0;max-width:none}
  .card-panel{border:0;padding:0;background:none;color:#000}
  .agm-count b,.agm-out span{color:#000}
}

/* executive: when submissions close (meeting head and the member page), topic groups */
.deadlines{display:grid;gap:8px;margin-top:12px}
.deadlines .notice-box,.agm-extra .notice-box{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.topic-group{margin-top:18px}
.topic-group h4{margin:0 0 4px;font-size:1.05rem}
.topic-group h4 .count{color:var(--mb-text-2);font-weight:500}
.topic-group>p.small{margin:0 0 8px}
.topic-group details>summary{cursor:pointer;color:var(--mb-accent-hi);font-weight:600;padding:8px 0;min-height:40px;display:flex;align-items:center}
.arow.topic .topic-more summary{cursor:pointer;color:var(--mb-accent-hi);min-height:40px;display:flex;align-items:center}
.mb-foot .build{color:var(--mb-text-2);font-size:.8em}
