
/* V29.7 Voting Poster Studio + Social Media Graphics */
.mlos-v297-wrap{
  --v297-deep:#051f20;
  --v297-dark:#0b2b26;
  --v297-green:#0d533b;
  --v297-lime:#9dff38;
  --v297-line:#d8e4de;
  --v297-muted:#60766c;
  max-width:1540px;
  margin:0 auto;
  padding:26px;
}
.mlos-v297-hero{
  padding:42px;
  border-radius:34px;
  background:linear-gradient(135deg,var(--v297-deep),var(--v297-dark));
  color:#fff;
  box-shadow:0 24px 70px rgba(5,31,32,.16);
  margin-bottom:18px;
}
.mlos-v297-hero span,
.mlos-v297-panel-head span,
.mlos-v297-preview-head span{
  color:var(--v297-lime);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:1000;
  font-size:.78rem;
}
.mlos-v297-hero h1{
  margin:.2rem 0 .5rem;
  font-size:clamp(2.2rem,6vw,5rem);
  line-height:.92;
  letter-spacing:-.06em;
}
.mlos-v297-hero p{
  margin:0;
  max-width:900px;
  color:#d9eee2;
  line-height:1.55;
}
.mlos-v297-actions,
.mlos-v297-inline-tools{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.mlos-v297-actions{
  margin:0 0 18px;
}
.mlos-v297-actions.tight{
  margin:0;
}
.mlos-v297-actions a,
.mlos-v297-actions button,
.mlos-v297-btn,
.mlos-v297-inline-tools a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:15px;
  border:1px solid var(--v297-line);
  background:#fff;
  color:var(--v297-deep);
  text-decoration:none;
  font-weight:1000;
  cursor:pointer;
}
.mlos-v297-actions .primary,
.mlos-v297-btn.primary{
  background:var(--v297-lime);
  border-color:var(--v297-lime);
}
.mlos-v297-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto;
  gap:12px;
  align-items:end;
  padding:16px;
  border:1px solid var(--v297-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 36px rgba(5,31,32,.07);
  margin-bottom:18px;
}
.mlos-v297-controls label,
.mlos-v297-form label{
  display:grid;
  gap:7px;
  color:var(--v297-deep);
  font-weight:900;
}
.mlos-v297-controls select,
.mlos-v297-form select,
.mlos-v297-form input,
.mlos-v297-form textarea{
  width:100%;
  min-height:46px;
  border:1px solid var(--v297-line);
  border-radius:15px;
  padding:11px 13px;
  background:#fff;
  color:var(--v297-deep);
  font:inherit;
}
.mlos-v297-form textarea{
  min-height:100px;
}
.mlos-v297-grid{
  display:grid;
  grid-template-columns:420px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.mlos-v297-panel,
.mlos-v297-preview-panel{
  border:1px solid var(--v297-line);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,31,32,.08);
}
.mlos-v297-panel-head,
.mlos-v297-preview-head{
  padding:20px;
  border-bottom:1px solid var(--v297-line);
  background:#fbfdfb;
}
.mlos-v297-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.mlos-v297-panel-head h2,
.mlos-v297-preview-head h2{
  margin:.2rem 0 .35rem;
  color:var(--v297-deep);
}
.mlos-v297-panel-head p,
.mlos-v297-preview-head p{
  margin:0;
  color:var(--v297-muted);
}
.mlos-v297-form{
  display:grid;
  gap:14px;
  padding:18px;
}
.mlos-v297-canvas-wrap{
  min-height:720px;
  display:grid;
  place-items:center;
  padding:24px;
  background:#eef4f0;
  overflow:auto;
}
.mlos-v297-canvas-wrap canvas{
  max-width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:0 26px 80px rgba(5,31,32,.22);
  background:#051f20;
}
.mlos-v297-note{
  padding:14px 20px;
  border-top:1px solid var(--v297-line);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  color:var(--v297-muted);
}
.mlos-v297-note strong{
  color:var(--v297-deep);
}
.mlos-v297-empty{
  display:grid;
  gap:5px;
  padding:24px;
  border:1px dashed var(--v297-line);
  border-radius:22px;
  background:#fff;
  text-align:center;
}
.mlos-v297-empty strong{
  color:var(--v297-deep);
}
.mlos-v297-empty span{
  color:var(--v297-muted);
}
.mlos-v297-inline-tools{
  grid-column:1/-1;
  padding:12px;
  border:1px solid #bde8c6;
  border-radius:18px;
  background:#f2fff5;
}
.mlos-v297-inline-tools strong{
  color:var(--v297-deep);
}
@media(max-width:1120px){
  .mlos-v297-grid{
    grid-template-columns:1fr;
  }
  .mlos-v297-canvas-wrap{
    min-height:520px;
  }
}
@media(max-width:720px){
  .mlos-v297-wrap{padding:14px}
  .mlos-v297-hero{padding:26px;border-radius:24px}
  .mlos-v297-controls{
    grid-template-columns:1fr;
  }
  .mlos-v297-preview-head{
    display:grid;
  }
  .mlos-v297-canvas-wrap{
    padding:12px;
    min-height:360px;
  }
}
