.poster-editor-modal.modal.wide { width:min(1400px,96vw); max-width:1400px; }
.poster-editor { display:flex; flex-direction:column; min-height:0; max-height:calc(100dvh - 48px); }
.poster-editor .modal-header { flex:none; padding:21px 26px; }
.poster-editor .modal-header h2 { font-size:26px; }
.poster-editor-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,1fr); gap:28px; padding:0 26px 24px; overflow:auto; overscroll-behavior:contain; min-height:0; }
.poster-editor-controls { min-width:0; }
.poster-editor-intro { color:#a9bfb1; font-size:13px; line-height:1.6; margin:0 0 19px; }
.poster-editor .field { display:grid; align-content:start; gap:7px; min-width:0; }
.poster-editor .field > span { font-size:12px; line-height:1.3; color:#bbd0c2; }
.poster-editor .field > input,.poster-editor .field > select { width:100%; height:43px; min-height:43px; margin:0; padding:9px 11px; box-sizing:border-box; font-size:14px; }
.poster-editor .form-grid { gap:14px; align-items:start; }
.poster-editor .field.full { grid-column:1/-1; }
.poster-journals { margin-top:25px; }
.poster-journals > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.poster-journals h3 { font-size:22px; margin:0 0 3px; }
.poster-journals h3 span { color:#c4ed9b; font:600 15px "DM Sans",sans-serif; padding:3px 9px; border-radius:12px; background:#233722; }
.poster-journals small { color:#a9bfb1; font-size:12px; }
.poster-journals > header .ghost-button { font-size:11px; min-height:40px; padding:8px 10px; }
.poster-row { display:grid; position:relative; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:11px 13px; border:1px solid #294133; padding:36px 16px 16px; margin:0 0 14px; border-radius:13px; background:linear-gradient(130deg,#13251b,#0c1711); min-width:0; }
.poster-row legend { color:#c8dfb8; font-weight:700; font-size:13px; padding:0 6px; }
.poster-row-actions { position:absolute; right:11px; top:0; display:flex; gap:5px; }
.poster-row-actions .icon-button { width:30px; min-width:30px; height:29px; min-height:29px; padding:0; font-size:18px; }
.poster-add { width:100%; border-style:dashed; min-height:44px; }
.poster-qr-options { margin-top:24px; padding:18px; border:1px solid #385332; border-radius:13px; background:#132316; }
.poster-sponsor-options,.social-poster-details { margin-top:16px; padding:18px; border:1px solid #29483a; border-radius:13px; background:linear-gradient(135deg,#102119,#0b1711); }
.poster-sponsor-options > header,.social-poster-details > header { display:grid; gap:4px; margin-bottom:14px; }
.poster-sponsor-options > header b,.social-poster-details > header b { color:#edf7e6; font-size:15px; }
.poster-sponsor-options > header small,.social-poster-details > header small { color:#94aa9c; font-size:12px; line-height:1.45; }
.poster-sponsor-options > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.poster-checkbox.compact { min-height:43px; padding:9px 11px; border:1px solid #2c4738; border-radius:10px; background:#0a1610; }
.poster-checkbox.compact:has(input:checked) { border-color:#75ad4e; background:#14291a; box-shadow:inset 0 0 0 1px #75ad4e33; }
.poster-checkbox.compact input { width:17px; height:17px; }
.poster-checkbox.compact b { font-size:12px; }
.social-poster-details > div { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr); align-items:center; gap:10px 12px; }
.social-poster-details .compact-field { display:grid; grid-template-columns:auto minmax(70px,1fr); align-items:center; gap:9px; }
.social-poster-details .compact-field > span { white-space:nowrap; }
.social-poster-details .compact-field input,.social-poster-details .compact-field select { height:39px; min-height:39px; }
.poster-checkbox { display:flex; gap:12px; cursor:pointer; align-items:center; }
.poster-checkbox input { width:20px; height:20px; flex:none; accent-color:#b9e769; }
.poster-checkbox span { display:grid; gap:5px; }
.poster-checkbox b { font-size:15px; color:#e8f5db; }
.poster-checkbox small { color:#a9bfb1; font-size:12px; }
[data-poster-qr-fields] { display:grid; gap:14px; margin-top:17px; }
[data-social-qr-fields] { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:17px; }
[data-social-qr-fields] > :last-child,[data-social-qr-link],[data-social-qr-warning] { grid-column:1/-1; }
.poster-editor [hidden] { display:none!important; }
[data-poster-qr-link] { font-size:12px; color:#c1e898; width:fit-content; }
[data-poster-qr-warning] { font-size:12px; color:#ffc880; line-height:1.5; }
[data-social-qr-link] { font-size:12px; color:#c1e898; width:fit-content; }
[data-social-qr-warning] { font-size:12px; color:#ffc880; line-height:1.5; }
.poster-editor-preview { position:sticky; top:0; align-self:start; display:flex; flex-direction:column; align-items:center; min-width:0; border:1px solid #294133; border-radius:15px; padding:16px; background:#07100c; }
.poster-preview-heading { width:100%; display:flex; justify-content:space-between; gap:12px; margin-bottom:14px; font-size:13px; }
.poster-preview-heading span { color:#91a799; font-size:11px; }
[data-poster-preview],[data-social-preview] { display:grid; place-items:center; width:100%; min-width:0; min-height:160px; overflow:hidden; }
[data-poster-preview] canvas,[data-social-preview] canvas { display:block; width:100%; height:auto; max-width:100%; max-height:calc(100dvh - 330px); object-fit:contain; box-shadow:0 8px 24px #0008; }
[data-poster-preview][aria-busy="true"] { opacity:.65; }
[data-social-preview][aria-busy="true"] { opacity:.65; }
[data-poster-preview-status] { color:#cfdfbd; font-size:12px; margin:9px 0; text-align:center; line-height:1.4; }
.poster-download-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; width:100%; margin-top:4px; }
.poster-download-actions button { min-height:45px; font-size:12px; padding:9px 10px; }
.poster-editor-preview > small { color:#a3b6a7; font-size:11px; line-height:1.5; text-align:center; margin-top:12px; }
.poster-editor-footer.modal-footer { flex:none; display:flex; align-items:center; gap:10px; padding:15px 26px; }
.poster-editor-footer > span { margin-right:auto; color:#b8d99e; font-size:12px; }
@media(max-width:780px) {
  .competition-detail-hero .circuit-hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .competition-detail-hero .circuit-hero-actions > .status-pill { grid-column:1/-1; justify-self:center; }
  .competition-detail-hero .circuit-hero-actions > button { width:100%; padding-inline:8px; font-size:11px; }
  .poster-editor-modal.modal.wide { width:100%; border-radius:16px 16px 0 0; }
  .poster-editor { max-height:calc(100dvh - 14px); }
  .poster-editor .modal-header { padding:17px; }
  .poster-editor .modal-header h2 { font-size:21px; }
  .poster-editor-layout { grid-template-columns:1fr; padding:0 16px 20px; gap:22px; }
  .poster-editor-preview { position:static; grid-row:1; }
  [data-poster-preview] canvas { max-height:350px; }
  .poster-editor .form-grid { grid-template-columns:1fr 1fr; }
  .poster-editor-footer.modal-footer { flex-wrap:wrap; padding:12px 16px; }
  .poster-editor-footer > span { width:100%; }
  .poster-journals > header { flex-wrap:wrap; }
  .poster-row { padding-inline:12px; gap:11px; }
  .poster-sponsor-options > div { grid-template-columns:1fr; }
  .social-poster-details > div,[data-social-qr-fields] { grid-template-columns:1fr; }
  [data-social-qr-fields] > :last-child,[data-social-qr-link],[data-social-qr-warning] { grid-column:auto; }
  .social-poster-details .compact-field { grid-template-columns:1fr; }
  .poster-editor input,.poster-editor select { font-size:16px!important; }
}
