.ed-demand-search{margin:0 0 22px;padding:14px 16px;border:1px solid #d7dee7;background:#f8fafc;border-radius:10px}
.ed-demand-search label{display:block;font-weight:800;margin-bottom:7px;color:#172033}
.ed-demand-search-row{display:flex;gap:8px;align-items:center}
.ed-demand-search input{min-width:0;flex:1;border:1px solid #aeb8c5;border-radius:7px;padding:10px 12px;font:inherit;background:#fff;color:#172033}
.ed-demand-search input:focus{outline:2px solid #7aa7d8;outline-offset:1px}
.ed-demand-search-meta{margin:7px 0 0;font-size:12px;color:#64748b}
.ed-demand-zero{margin:12px 0 0;padding:12px;border:1px dashed #aeb8c5;border-radius:7px;background:#fff}
.ed-demand-zero p{margin:0 0 8px}
.ed-demand-linkbtn,.ed-demand-vote,.ed-demand-submit,.ed-demand-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border:1px solid #172033;border-radius:7px;background:#172033;color:#fff;font:700 12px/1.2 system-ui;cursor:pointer;text-decoration:none}
.ed-demand-linkbtn:hover,.ed-demand-vote:hover,.ed-demand-submit:hover,.ed-demand-open:hover{filter:brightness(.95)}
.ed-demand-section{margin-top:34px;padding:20px;border:1px solid #d7dee7;border-radius:12px;background:#fbfcfe}
.ed-demand-section h2,.ed-demand-modal h2{margin:0 0 7px}
.ed-demand-section>p,.ed-demand-modal>p{margin:0 0 16px;color:#5f6b78}
.ed-demand-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 18px}
.ed-demand-candidate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #d7dee7;border-radius:8px;background:#fff}
.ed-demand-candidate span{font-size:13px;font-weight:700;color:#253041}
.ed-demand-vote{min-width:66px;background:#fff;color:#172033}
.ed-demand-vote[disabled]{cursor:default;border-color:#9ab2cc;background:#edf4fb;color:#31577a}
.ed-demand-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.ed-demand-form input[type="text"]{width:100%;box-sizing:border-box;border:1px solid #aeb8c5;border-radius:7px;padding:10px 12px;font:inherit}
.ed-demand-form .ed-demand-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ed-demand-note,.ed-demand-status{grid-column:1/-1;margin:0;font-size:11px;color:#687587}
.ed-demand-status{min-height:16px;font-weight:700}
.ed-demand-homebar{margin:28px auto 0;padding:15px 17px;border:1px solid #d7dee7;border-radius:10px;background:#fbfcfe;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ed-demand-homebar strong{display:block;margin-bottom:3px}
.ed-demand-homebar span{font-size:12px;color:#64748b}
.ed-demand-backdrop{position:fixed;inset:0;z-index:3300;background:rgba(15,23,42,.58);display:grid;place-items:center;padding:18px}
.ed-demand-modal{position:relative;width:min(680px,100%);max-height:min(760px,88vh);overflow:auto;box-sizing:border-box;background:#fff;border:1px solid #b8c2ce;border-radius:12px;box-shadow:0 24px 80px rgba(15,23,42,.28);padding:24px;color:#17202a}
.ed-demand-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:1px solid #c7d0da;border-radius:7px;background:#fff;color:#17202a;font:700 21px/1 system-ui;cursor:pointer}
.tool-card[hidden]{display:none!important}
@media(max-width:720px){.ed-demand-search-row,.ed-demand-homebar{align-items:stretch;flex-direction:column}.ed-demand-candidates{grid-template-columns:1fr}.ed-demand-form{grid-template-columns:1fr}.ed-demand-submit{width:100%}}
