.proposal-dialog { width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; margin:auto; border:1px solid #ded3c8; border-radius:20px; padding:30px; background:#fbf6ee; color:#4f4842; font-family:Onest,Arial,sans-serif; }
.proposal-dialog::backdrop { background:rgba(0,0,0,.6); }
.proposal-dialog h2 { margin:0 40px 12px 0; font-size:28px; }
.proposal-dialog p { margin:0 0 20px; line-height:1.5; }
.proposal-close { position:absolute; top:16px; right:16px; width:36px; height:36px; border:0; background:transparent; font-size:26px; color:#4f4842; cursor:pointer; }
.proposal-dialog form { display:grid; gap:16px; }
.proposal-dialog label { display:block; margin-bottom:6px; font-size:14px; }
.proposal-dialog input:not([type=checkbox]),.proposal-dialog select { display:block; width:100%; min-height:46px; border:1px solid #c8bfb5; border-radius:9px; background:#fffdf9; padding:10px 12px; color:#4f4842; font:inherit; box-sizing:border-box; }
.proposal-dialog .proposal-consent { display:flex; align-items:flex-start; gap:9px; font-size:12px; line-height:1.5; }
.proposal-consent input { margin-top:4px; }
.proposal-dialog a { color:#315d50; text-decoration:underline; }
.proposal-submit { padding:14px; border:0; border-radius:9px; background:#c3e6d4; color:#315d50; font:inherit; font-weight:600; cursor:pointer; }
.proposal-submit:disabled { opacity:.6; cursor:wait; }
.proposal-dialog small { display:block; margin-top:6px; line-height:1.5; }
.proposal-status { font-size:14px; line-height:1.5; }
.proposal-dialog :focus-visible { outline:3px solid #79bda9; outline-offset:3px; }
.proposal-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
