
/* V29.4 Voting Public Cards + Results Control */
.mlos-v294-wrap{
  --v294-deep:#051f20;
  --v294-dark:#0b2b26;
  --v294-green:#0d533b;
  --v294-lime:#9dff38;
  --v294-line:#d8e4de;
  --v294-muted:#60766c;
  max-width:1440px;
  margin:0 auto;
  padding:26px;
}
.mlos-v294-hero{
  padding:42px;
  border-radius:34px;
  background:linear-gradient(135deg,var(--v294-deep),var(--v294-dark));
  color:#fff;
  box-shadow:0 24px 70px rgba(5,31,32,.16);
  margin-bottom:18px;
}
.mlos-v294-hero span,
.mlos-v294-card .mlos-kicker,
.mlos-v294-active-strip span,
.mlos-v294-widget span{
  color:var(--v294-lime);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:1000;
  font-size:.78rem;
}
.mlos-v294-hero h1{
  margin:.2rem 0 .5rem;
  font-size:clamp(2.4rem,6vw,5rem);
  line-height:.92;
  letter-spacing:-.06em;
}
.mlos-v294-hero p{
  max-width:840px;
  margin:0;
  color:#d9eee2;
  line-height:1.55;
}
.mlos-v294-hero-actions,
.mlos-v294-share-row,
.mlos-v294-submit-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.mlos-v294-hero-actions{
  margin-top:18px;
}
.mlos-v294-hero-actions a,
.mlos-v294-share-row a,
.mlos-v294-share-row button,
.mlos-v294-widget a,
.mlos-v294-active-strip a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.18);
  background:#fff;
  color:var(--v294-deep);
  text-decoration:none;
  font-weight:1000;
  cursor:pointer;
}
.mlos-v294-hero-actions a:first-child,
.mlos-v294-widget a,
.mlos-v294-active-strip a{
  background:var(--v294-lime);
  border-color:var(--v294-lime);
}
.mlos-v294-active-strip{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #bde8c6;
  border-radius:22px;
  background:#f2fff5;
  box-shadow:0 16px 40px rgba(5,31,32,.08);
  margin-bottom:18px;
}
.mlos-v294-active-strip strong{
  color:var(--v294-deep);
}
.mlos-v294-active-strip em{
  color:var(--v294-muted);
  font-style:normal;
  font-weight:900;
}
.mlos-v294-polls{
  display:grid;
  gap:22px;
}
.mlos-v294-card{
  border:1px solid var(--v294-line)!important;
  border-radius:32px!important;
  background:#fff!important;
  overflow:hidden;
  box-shadow:0 22px 58px rgba(5,31,32,.10);
}
.mlos-v294-poll-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  padding:24px;
  border-bottom:1px solid var(--v294-line);
  background:#fbfdfb;
}
.mlos-v294-poll-head h2{
  margin:.25rem 0 .35rem;
  color:var(--v294-deep);
  font-size:clamp(1.6rem,3vw,2.6rem);
  letter-spacing:-.04em;
}
.mlos-v294-poll-head p{
  margin:0;
  color:var(--v294-muted);
  line-height:1.55;
}
.mlos-v294-head-side{
  min-width:150px;
  display:grid;
  gap:4px;
  justify-items:end;
}
.mlos-poll-status{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#edf6f1;
  color:var(--v294-green);
  font-weight:1000;
}
.mlos-poll-status.active{
  background:var(--v294-lime);
  color:var(--v294-deep);
}
.mlos-poll-status.closed{
  background:#eef1ef;
  color:#66766e;
}
.mlos-poll-status.paused{
  background:#fff9e8;
  color:#735700;
}
.mlos-v294-head-side strong{
  font-size:2rem;
  color:var(--v294-deep);
}
.mlos-v294-head-side small{
  color:var(--v294-muted);
  font-weight:900;
}
.mlos-v294-poll-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:14px 24px;
  border-bottom:1px solid var(--v294-line);
  background:#fff;
}
.mlos-v294-poll-meta span{
  display:inline-flex;
  gap:5px;
  padding:8px 10px;
  border-radius:999px;
  background:#f5faf7;
  color:#49675b;
  font-weight:900;
}
.mlos-v294-countdown{
  margin:16px 24px 0;
  padding:12px 14px;
  border-radius:18px;
  background:#f2fff5;
  border:1px solid #bde8c6;
  color:var(--v294-deep);
  font-weight:1000;
}
.mlos-v294-share-row{
  padding:14px 24px 0;
}
.mlos-v294-share-row a,
.mlos-v294-share-row button{
  border-color:var(--v294-line);
  background:#fff;
}
.mlos-v294-voted-banner{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin:16px 24px 0;
  padding:13px 14px;
  border-radius:18px;
  border:1px solid #bde8c6;
  background:#f2fff5;
  color:var(--v294-deep);
}
.mlos-v294-voted-banner span{
  color:#49675b;
}
.mlos-v294-vote-form{
  padding:18px 24px 24px;
}
.mlos-v294-nominee-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.mlos-v294-nominee-card{
  display:grid!important;
  gap:14px!important;
  padding:16px!important;
  border:1px solid var(--v294-line)!important;
  border-radius:24px!important;
  background:#fbfdfb!important;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative;
}
.mlos-v294-nominee-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(5,31,32,.10);
}
.mlos-v294-nominee-card.selected{
  border-color:var(--v294-green)!important;
  box-shadow:inset 0 0 0 2px rgba(13,83,59,.16), 0 18px 38px rgba(5,31,32,.08);
  background:#f2fff5!important;
}
.mlos-v294-nominee-card input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mlos-v294-nominee-top{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.mlos-nominee-visual{
  width:74px!important;
  height:74px!important;
  border-radius:24px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#e8f5ee!important;
  color:var(--v294-green)!important;
  font-weight:1000!important;
  flex-shrink:0!important;
}
.mlos-nominee-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.mlos-nominee-visual.is-small{
  width:46px!important;
  height:46px!important;
  border-radius:15px!important;
}
.mlos-v294-nominee-top strong{
  display:block;
  color:var(--v294-deep);
  font-size:1.05rem;
  line-height:1.1;
}
.mlos-v294-nominee-top small{
  display:block;
  color:var(--v294-muted);
  font-weight:900;
  line-height:1.35;
  margin-top:3px;
}
.mlos-v294-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.mlos-v294-chips span{
  padding:6px 8px;
  border-radius:999px;
  background:#edf6f1;
  color:var(--v294-green);
  font-weight:1000;
  font-size:.78rem;
}
.mlos-v294-citation{
  margin:0;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #edf3ef;
  color:#49675b;
  line-height:1.42;
}
.mlos-v294-card-footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  border-top:1px solid var(--v294-line);
  padding-top:10px;
}
.mlos-v294-card-footer b{
  color:var(--v294-deep);
}
.mlos-v294-card-footer a{
  color:var(--v294-green);
  font-weight:1000;
  text-decoration:none;
}
.mlos-v294-submit-row{
  margin-top:16px;
}
.mlos-v294-submit-row .mlos-btn{
  min-height:46px;
  padding:10px 16px;
  border-radius:16px;
}
.mlos-v294-submit-row span{
  color:var(--v294-muted);
  font-weight:900;
}
.mlos-v294-alert{
  margin:18px 24px 24px;
}
.mlos-v294-results{
  margin:0;
  padding:18px 24px 24px;
  border-top:1px solid var(--v294-line);
  background:#fbfdfb;
}
.mlos-v294-results-summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:14px;
}
.mlos-v294-results-summary strong{
  color:var(--v294-deep);
  font-size:1.1rem;
}
.mlos-v294-results-summary > span{
  color:var(--v294-muted);
  font-weight:900;
}
.mlos-v294-result-row{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #edf3ef;
  border-radius:18px;
  background:#fff;
  margin-bottom:10px;
}
.mlos-result-label{
  display:flex;
  align-items:center;
  gap:10px;
}
.mlos-result-label span{
  flex:1;
}
.mlos-result-label strong{
  display:block;
  color:var(--v294-deep);
}
.mlos-result-label small{
  color:var(--v294-muted);
  font-weight:900;
}
.mlos-result-label b{
  color:var(--v294-green);
}
.mlos-progress{
  height:10px;
  border-radius:999px;
  background:#edf3ef;
  overflow:hidden;
}
.mlos-progress span{
  display:block;
  height:100%;
  background:var(--v294-lime);
  border-radius:inherit;
}
.mlos-v294-empty{
  padding:32px;
  border:1px dashed var(--v294-line);
  border-radius:26px;
  background:#fff;
  text-align:center;
}
.mlos-v294-empty span{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#edf6f1;
  color:var(--v294-green);
  font-weight:1000;
  margin:0 auto 10px;
}
.mlos-v294-widget{
  padding:22px;
  border-radius:26px;
  background:linear-gradient(135deg,#051f20,#0b2b26);
  color:#fff;
  box-shadow:0 20px 54px rgba(5,31,32,.16);
}
.mlos-v294-widget h2{
  color:#fff;
  margin:.3rem 0;
}
.mlos-v294-widget p{
  color:#d9eee2;
}
@media(max-width:1050px){
  .mlos-v294-nominee-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .mlos-v294-wrap{padding:14px}
  .mlos-v294-hero{padding:26px;border-radius:24px}
  .mlos-v294-poll-head{
    grid-template-columns:1fr;
  }
  .mlos-v294-head-side{
    justify-items:start;
  }
  .mlos-v294-nominee-grid{
    grid-template-columns:1fr;
  }
  .mlos-v294-active-strip{
    grid-template-columns:1fr;
  }
  .mlos-v294-poll-meta,
  .mlos-v294-share-row,
  .mlos-v294-vote-form,
  .mlos-v294-results{
    padding-left:16px;
    padding-right:16px;
  }
  .mlos-v294-countdown,
  .mlos-v294-voted-banner,
  .mlos-v294-alert{
    margin-left:16px;
    margin-right:16px;
  }
}
