/* Original styles from the consortium HTML (unchanged) */
:root{--ink:#20334c;--soft:#5e7187;--teal:#087b75;--line:#d6e1ea;--bg:#f4f7fa;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,Segoe UI,Arial,sans-serif}main{max-width:1150px;margin:auto;padding:26px 16px 70px}header{background:#162c43;color:#fff;padding:26px;border-radius:16px}header h1{margin:5px 0;font-size:28px}header p{margin:5px 0;color:#d7e6ec}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#80d4c7}section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:16px}h2{font-size:21px;margin:0 0 9px}h3{font-size:17px;margin:7px 0 10px}.muted{color:var(--soft)}.small{font-size:13px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.card{border:1px solid var(--line);padding:14px;border-radius:12px;background:#fbfdfe}.card p{font-size:13px;margin:5px 0}.benefit{color:#136b57}.limit{color:#9a5b24}label{display:block;font-weight:650;font-size:13px;margin:12px 0 5px}textarea,input,select{width:100%;border:1px solid #b9c9d7;border-radius:8px;padding:9px 11px;font:inherit;color:var(--ink);background:white}textarea{min-height:70px;resize:vertical}textarea:focus,input:focus,select:focus{outline:2px solid #7dcac1}button{border:1px solid #afc4d0;border-radius:9px;background:#fff;color:#15546a;padding:9px 13px;cursor:pointer;font:inherit;font-weight:650}button:hover{background:#edf9f7;border-color:#087b75}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#06635e;color:#fff}.red{color:#9b3030}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.space{justify-content:space-between}.badge{display:inline-block;background:#e7f5f2;color:#0f7065;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:700}.badge.efsa{background:#edf0fc;color:#46549b}.badge.open{background:#fdf2e1;color:#946327}.layout{display:grid;grid-template-columns:1fr 1.08fr;gap:14px}.flow{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfdff}.flowgroup{display:grid;gap:8px}.node{display:block;width:100%;text-align:left;padding:12px;border:1px solid #ccdae5;border-radius:10px;background:#fff;color:var(--ink)}.node.active{border:2px solid #087b75;background:#e9f8f5}.node{cursor:grab;touch-action:pan-y}.node:active{cursor:grabbing}.node.dragging{opacity:.38}.node.drop-before{box-shadow:0 -5px 0 #087b75}.node.drop-after{box-shadow:0 5px 0 #087b75}.node:focus-visible{outline:3px solid #087b75;outline-offset:2px}.node strong{display:block}.node small{display:block;color:#64788c;font-weight:400}.arrow{text-align:center;color:#8296a8;font-size:21px;line-height:1}.parallel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0}.parallel .node{text-align:center;padding:13px 5px;overflow-wrap:anywhere}.panel{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.checkline{display:flex;gap:9px;align-items:flex-start;font-size:13px;font-weight:500}.checkline input{width:17px;min-width:17px;margin:3px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.note{background:#f0f8f7;border-left:3px solid #0b8a81;padding:10px 12px;border-radius:5px;font-size:13px}.decision{background:#eff8f0;border:1px solid #b7d6bd;padding:14px;border-radius:10px;margin:10px 0}.decision h3{margin-top:0}.hint{font-size:12px;color:#667b8d}.divider{height:1px;background:var(--line);margin:15px 0}.buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.hide{display:none!important}.footer{font-size:12px;color:#62758a;margin-top:12px}.customlist{display:flex;flex-direction:column;gap:8px}.custom-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.rule{margin:3px 0 0;font-size:12px;color:#6b7d8c}.metric{font-size:13px;color:#177363}.error{color:#a32929}.chip{font-size:11px;font-weight:700;color:#45618a}.help{display:inline-flex;justify-content:center;align-items:center;width:17px;height:17px;border-radius:50%;background:#e3f2f3;color:#096b69;font:700 11px/1 Arial,sans-serif;margin-left:6px;cursor:help;vertical-align:middle;position:relative}.help::after{content:attr(data-help);display:none;position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);width:min(290px,78vw);max-width:290px;background:#142d41;color:white;padding:11px 12px;border-radius:9px;font:400 12px/1.45 system-ui,Arial,sans-serif;text-align:left;white-space:normal;z-index:20;box-shadow:0 5px 18px #0003;pointer-events:none}.help:hover::after,.help:focus::after{display:block}.help:focus{outline:2px solid #087b75}.movebuttons{margin:3px 0 10px}.readout{font-size:13px;background:#f3f7fc;padding:9px;border-radius:8px} @media(max-width:830px){.two,.three,.layout,.fields{grid-template-columns:1fr}.parallel{grid-template-columns:1fr 1fr 1fr}header h1{font-size:23px}section{padding:15px}}
.method-card{border:1px solid #c9dfdc;background:#f7fbfa;border-radius:11px;padding:12px;margin:10px 0}.method-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.method-card-head strong{font-size:13px}.method-card label{margin:7px 0 4px}.method-card textarea{min-height:57px}.method-card .remove-method{font-size:12px;padding:5px 9px}.method-badge{display:inline-block;background:#dff3ed;color:#0d7066;border-radius:8px;padding:2px 6px;font-size:11px;font-weight:750;margin:5px 0 0}.method-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.method-intro{font-size:12px;color:#5d7285;margin:4px 0 9px} .method-card input,.method-card select,.method-card textarea{font-size:13px} .gate-row{border:1px solid #d6e1ea;border-radius:9px;margin:10px 0;padding:10px;background:#fbfdff}.gate-row-top{display:flex;align-items:center;gap:8px}.gate-row-top input[type=checkbox]{width:18px;min-width:18px}.gate-row-top textarea{flex:1;min-height:55px}.gate-controls{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.gate-controls button{padding:4px 9px;font-size:12px}.gate-help{font-size:12px;color:#62758a;margin:4px 0 0}#gateList:empty:after{content:'No criteria. Click Add criterion to create one.';color:#62758a;display:block;padding:15px;border:1px dashed #b4c9d1;border-radius:8px}
/* Partner NGRA strategy proposal space */
.proposal-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:13px}.proposal-card{border:1px solid #c9dbe2;border-radius:12px;padding:16px;background:#fbfefe}.proposal-card summary{cursor:pointer;font-weight:750;color:#154a61;list-style:revert}.proposal-card summary small{color:#60768a;font-weight:400}.proposal-body{padding-top:9px}.proposal-attachments{display:flex;flex-direction:column;gap:9px;margin:10px 0}.attachment{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;background:#f2f7f9;border:1px solid #d1e2e8;border-radius:9px;padding:9px}.attachment img{width:76px;height:63px;object-fit:contain;background:#fff;border-radius:6px}.attachment .file-icon{width:76px;height:63px;border:1px solid #c8d7e1;border-radius:6px;display:flex;justify-content:center;align-items:center;font-weight:750;color:#a14747;background:#fff}.attachment-title{overflow-wrap:anywhere;font-size:13px;font-weight:650}.attachment small{color:#5c7286;display:block}.attachment-actions{display:flex;gap:6px;flex-wrap:wrap}.attachment-actions button{font-size:12px;padding:5px 8px}.proposal-summary{display:flex;justify-content:space-between;align-items:center;gap:9px}.proposal-headline{font-size:14px;color:#274a5e}.proposal-compact{display:flex;gap:7px;flex-wrap:wrap}.proposal-intro{background:#edf8f6;border-left:3px solid #0d8c84;padding:11px 13px;border-radius:8px;font-size:13px;color:#335063}.proposal-upload{border:1px dashed #a8c9c6;border-radius:8px;padding:10px;background:#f8fcfb}.proposal-upload input[type=file]{width:100%;font-size:13px}.attachment-status{font-size:12px;color:#6b798a}.proposal-card .fields textarea{min-height:70px}.proposal-card .minihead{font-size:12px;font-weight:750;color:#0b746d;margin-top:16px}.proposal-card .help{z-index:3}@media(max-width:700px){.attachment{grid-template-columns:55px 1fr}.attachment img,.attachment .file-icon{width:52px;height:52px}.attachment-actions{grid-column:2}}
#integrationList:empty:after{content:'No integration proposals yet. Click “Add integration proposal” to suggest how NAM evidence should be integrated in this module.';display:block;border:1px dashed #a8c6c1;border-radius:9px;padding:12px;color:#607586;font-size:13px}.integration-card{border:1px solid #c9dfdc;background:#f7fbfa;border-radius:11px;padding:12px;margin:10px 0}.integration-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.integration-card label{margin:10px 0 4px}.integration-card textarea{min-height:65px}

/* ---- Hosted-survey additions ---- */
.m0{margin:0}.mb10{margin:0 0 10px}.mb6{margin:0 0 6px}
#gate{max-width:640px;margin:60px auto;text-align:left}
#gate h2{margin-top:0}
.who{background:#e9f4f2;border:1px solid #bfe0da;border-radius:10px;padding:10px 13px;font-size:13px;margin-top:12px;color:#1f4b52}
.req{color:#a32929;margin-left:2px}
.consent{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:14px;background:#fbfdfe}
.consent .checkline{margin:8px 0}
.status-banner{border-radius:10px;padding:11px 14px;margin-top:14px;font-size:14px}
.status-banner.draft{background:#fdf6e9;border:1px solid #ecd5a8;color:#7a5418}
.status-banner.submitted{background:#eaf6ee;border:1px solid #b7d6bd;color:#1d5f34}
.status-banner.closed{background:#f1f2f5;border:1px solid #cfd5df;color:#3d4a5c}
.status-banner.problem{background:#fcecec;border:1px solid #e5b7b7;color:#7e2222}
.status-banner button{margin-left:8px;padding:5px 10px;font-size:13px}
#syncStatus{position:fixed;right:14px;bottom:14px;z-index:50;background:#fff;border:1px solid #c9d8e3;border-radius:20px;padding:7px 13px;font-size:12.5px;color:#28536a;box-shadow:0 3px 12px #0002;max-width:min(420px,92vw)}
#syncStatus.ok{border-color:#9fd3c9;color:#0d6b62}
#syncStatus.warn{border-color:#e6c48e;color:#7a5418;background:#fffaf0}
#syncStatus.err{border-color:#e2a9a9;color:#8e2525;background:#fff5f5}
.upload-progress{font-size:12px;color:#0d6b62;margin-top:6px}
.readonly-note{font-size:13px;color:#3d4a5c}
body.readonly .node{cursor:default}
.submit-errors{color:#a32929;font-size:13px;margin:8px 0 0}
a{color:#0b6f69}
