.voting-layout{max-width:1120px;margin:48px auto 80px;padding:0 24px}.voting-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:36px 0}.voting-heading h1{font-size:clamp(36px,5vw,56px);margin:8px 0}.voting-heading p{color:#666}.voting-search{padding:24px;border:1px solid #d9dce3;border-radius:20px;margin-bottom:28px}.voting-search label{display:block;margin-bottom:10px;font-weight:600}.voting-search>div{display:flex;align-items:center;gap:14px}.voting-search input{min-width:0;flex:1;padding:14px 16px;border:1px solid #bfc5ce;border-radius:10px;font:inherit}.voting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.voting-card{border:1px solid #d9dce3;border-radius:24px;padding:28px;overflow-wrap:anywhere}.voting-icon{display:block;margin-bottom:20px}.voting-card h2{font-size:24px;line-height:1.4;margin:0 0 12px}.voting-author,.voting-deadline{font-size:14px;color:#666}.voting-author a{text-decoration:underline}.voting-description{white-space:normal;line-height:1.8}.voting-card h3{font-size:15px;margin:24px 0 10px}.voting-card ul{padding-left:22px;line-height:1.9}.voting-deadline{border-top:1px solid #eee;padding-top:16px;margin-top:24px}.voting-empty{text-align:center;padding:60px 16px}.voting-pagination{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:32px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #2868c4;outline-offset:4px}@media(max-width:640px){.voting-layout{margin-top:28px;padding:0 18px}.voting-heading{align-items:flex-start;flex-direction:column}.voting-grid{grid-template-columns:1fr}.voting-card{padding:22px}.voting-search{padding:18px}.voting-search>div{flex-wrap:wrap}.voting-search input{flex-basis:100%}}

.voting-grid{grid-template-columns:minmax(0,1fr);gap:18px}.voting-card{display:flex;align-items:center;gap:26px;padding:18px;text-decoration:none;color:inherit;min-height:148px;transition:border-color .15s,box-shadow .15s}.voting-card:hover{border-color:#23a98e;box-shadow:0 8px 28px #102d4b0d}.voting-card h2{margin:0;flex:1}.voting-badge{font-size:13px;color:#086e53;background:#d9f5e8;padding:7px 12px;border-radius:20px;white-space:nowrap}.voting-dialog{width:min(680px,calc(100% - 32px));max-height:88vh;overflow:auto;border:1px solid #d9dce3;border-radius:24px;padding:30px;color:inherit;background:#fff}.voting-dialog::backdrop{background:#0c223e80;backdrop-filter:blur(4px)}.voting-dialog-head{display:flex;align-items:center;justify-content:space-between}.voting-close{background:#eef2f6;border:0;border-radius:50%;width:38px;height:38px;font-size:26px;cursor:pointer}.voting-dialog h2{font-size:28px;line-height:1.4;overflow-wrap:anywhere}.voting-dialog fieldset{border:0;padding:0;margin:24px 0}.voting-dialog legend{font-weight:600;margin-bottom:12px}.voting-option{display:flex;align-items:center;gap:12px;border:1px solid #d3dae3;padding:14px 16px;margin:10px 0;border-radius:12px;cursor:pointer}.voting-option input{accent-color:#008e70;width:18px;height:18px;flex-shrink:0}.voting-option:has(input:checked){border-color:#008e70;background:#edf9f4}.voting-option span{overflow-wrap:anywhere}.voting-help{font-size:13px;color:#666}.voting-answer,.voting-notice{background:#e4f7ee;border-radius:14px;padding:18px;margin:20px 0}.voting-answer p{margin:8px 0}.voting-dialog .button{cursor:pointer}body:has(.voting-dialog[open]){overflow:hidden}@media(max-width:640px){.voting-card{gap:14px;flex-wrap:wrap;padding:14px}.voting-card h2{font-size:18px}.voting-badge{margin-left:auto}.voting-dialog{padding:22px}.voting-dialog h2{font-size:23px}}

.voting-card{min-height:0;padding:22px 26px;gap:18px;border-radius:20px;flex-wrap:nowrap}.voting-card-copy{flex:1;min-width:0}.voting-card h2{font-size:18px;line-height:1.5;font-weight:500;margin:0 0 7px}.voting-card-meta{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:13px;line-height:1.7;color:#6b7280;margin:0}.voting-card-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#eaf0f6;color:#174b85;font-size:22px}.voting-card:hover .voting-card-arrow{background:#174b85;color:white}@media(max-width:640px){.voting-card{padding:18px;gap:12px;flex-wrap:wrap}.voting-card-copy{flex-basis:calc(100% - 48px)}.voting-card h2{font-size:16px}.voting-card-meta{font-size:12px;flex-direction:column;gap:2px}.voting-card-arrow{margin-left:auto}.voting-badge{order:3;margin-left:0}.voting-card-arrow{order:2}}
