.proposal-entry { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.proposal-entry .proposal-card { width: 100%; padding: 0; flex: 1; }
.proposal-entry .proposal-card:disabled { opacity: 1; cursor: default; }
.proposal-entry .proposal-card:disabled:hover { transform: none; }
.proposal-voting-preview { display: flex; flex-direction: column; min-width: 0; padding: 12px; gap: 10px; background: var(--v2-paper, #fffdf6); }
.proposal-preview-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; order: -1; }
.proposal-preview-images:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.proposal-preview-side { min-width: 0; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.proposal-preview-side img { display: block; width: 100%; height: auto; aspect-ratio: 720 / 780; object-fit: contain; background: #fff; border-radius: 8px; }
.proposal-preview-side-label, .proposal-preview-status { font: inherit; font-size: .76rem; line-height: 1.6; color: var(--v2-muted, #53624d); overflow-wrap: anywhere; }
.proposal-preview-status { display: block; min-height: 2.5em; text-align: center; }
.proposal-voting-preview[data-state="error"] { border-bottom: 3px solid #b4232e; }
.proposal-entry .proposal-meta { gap: 12px; }
.proposal-entry .proposal-meta > span { min-width: 0; overflow-wrap: anywhere; }
.proposal-preview-open { min-height: 44px; padding: 11px 15px; border: 1.5px solid var(--v2-line, #b9c99b); border-radius: 9px; color: var(--v2-ink, #1c263c); background: var(--v2-white, #fff); font: inherit; font-weight: 700; cursor: pointer; }
.proposal-preview-open:disabled { color: #686e69; cursor: not-allowed; }
.proposal-preview-open:not(:disabled):hover { background: var(--v2-lime, #c8df86); }
.proposal-entry button:focus-visible, .voting-preview-dialog button:focus-visible { outline: 3px solid var(--v2-blue, #49652e); outline-offset: 3px; }
.voting-preview-dialog { box-sizing: border-box; width: min(1080px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 22px; border: 2px solid var(--v2-line, #b9c99b); border-radius: 18px; color: var(--v2-ink, #1c263c); background: var(--v2-paper, #fffdf6); overflow: auto; }
.voting-preview-dialog::backdrop { background: rgba(22, 32, 24, .65); }
.voting-preview-dialog-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.voting-preview-dialog-header h2 { margin: 0; min-width: 0; overflow-wrap: anywhere; font-size: clamp(1.2rem, 4vw, 1.8rem); }
.voting-preview-dialog-header button { min-height: 44px; padding: 10px 16px; border: 1.5px solid var(--v2-line, #b9c99b); border-radius: 8px; color: inherit; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.voting-preview-dialog-note { font-size: .88rem; line-height: 1.7; color: var(--v2-muted, #53624d); }
.voting-preview-dialog-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.voting-preview-dialog-images:has(> :only-child) { grid-template-columns: minmax(0, 1fr); max-width: 700px; margin-inline: auto; }
.voting-preview-dialog figure { min-width: 0; margin: 0; }
.voting-preview-dialog img { display: block; width: 100%; height: auto; object-fit: contain; background: #fff; border-radius: 10px; }
.voting-preview-dialog figcaption { margin-top: 8px; font-weight: 700; text-align: center; }
@media (max-width: 620px) {
  .voting-preview-dialog { padding: 15px; }
  .voting-preview-dialog-images { grid-template-columns: minmax(0, 1fr); }
  .voting-preview-dialog-header button { flex: 1 0 auto; }
  .proposal-preview-open { width: 100%; }
}
