.needs-page{font-size:16px}.needs-demo{background:#f5eddf;color:#765a31;border:1px solid #e7d8bd;border-radius:9px;padding:11px 14px;font-size:13px;line-height:1.7;margin:0}.needs-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0}.needs-eyebrow{font-size:12px;color:var(--green);letter-spacing:1px;margin:0 0 12px}.needs-intro h1{font-size:38px;line-height:1.35;margin:0 0 13px;letter-spacing:-1px}.needs-intro h1 span{color:#bd8450}.needs-intro p:last-child{font-size:15px;color:#64705f;line-height:1.8;margin:0}.needs-intro .primary-button{flex-shrink:0;text-decoration:none}.needs-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}.needs-wall-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.needs-wall-heading h2,.needs-compose h2{font-size:23px;margin:0}.needs-wall-heading>span{font-size:13px;color:#687564}#needs-list{scroll-margin-top:24px;display:grid;gap:14px}.needs-card{background:#fff;border:1px solid #e1e6db;border-radius:14px;padding:21px;min-width:0}.needs-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.needs-identity-badge{padding:5px 8px;border-radius:5px;background:#edf3e8;color:#466544}.needs-source{color:#6f735f}.needs-card h3{font-size:18px;line-height:1.6;margin:13px 0 8px;overflow-wrap:anywhere}.needs-card-body{font-size:15px;line-height:1.9;color:#596b59;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.needs-card-bottom{margin-top:15px;border-top:1px solid #eef0e9;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.needs-card-bottom>span{font-size:12px;line-height:1.7;color:#6d7666}.needs-delete{min-height:44px;background:#fff;border:1px solid #e0d9ce;border-radius:8px;color:#87523f;padding:8px 10px;font-size:13px}.needs-comments{margin-top:13px;border-top:1px dashed #dfe3d6;padding-top:13px}.needs-comments h4{font-size:14px;margin:0 0 10px;color:#3d4c3d}.needs-comments h4:focus{outline:none}.needs-comments-empty{font-size:13px;color:#7a8574;margin:0 0 10px}.needs-comments-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:9px}.needs-comment{background:#f6f8f1;border:1px solid #e5ead9;border-radius:10px;padding:10px 12px}.needs-comment.official{background:#eef5ea;border-color:#d3e2c9}.needs-comment-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:5px}.needs-comment-role{padding:3px 7px;border-radius:4px;font-weight:600;background:#e7ede2;color:#5b6b58}.needs-comment-role.official{background:var(--green);color:#fff}.needs-comment-source{color:#8a9484}.needs-comment p{margin:0;font-size:14px;line-height:1.8;color:#4d5a4c;overflow-wrap:anywhere;white-space:pre-wrap}.needs-comment-delete{background:none;border:none;padding:4px 0 0;font-size:12px;color:#a03629;text-decoration:underline;min-height:32px;cursor:pointer}.needs-comment-form{display:grid;gap:8px}.needs-comment-role-row{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#4f6756}.needs-comment-role-row label{display:flex;align-items:center;gap:5px;min-height:32px}.needs-comment-role-row input{width:auto;min-height:0;margin:0;accent-color:var(--green)}.needs-comment-input-row{display:flex;gap:8px;align-items:stretch}.needs-comment-input-row textarea{flex:1;min-width:0;border:1px solid #cfdac8;border-radius:8px;padding:10px;background:#fff;color:var(--ink);font-family:inherit;font-size:15px;line-height:1.6;resize:vertical;min-height:56px}.needs-comment-input-row textarea::placeholder{font-size:13px;color:#74816e}.needs-comment-input-row button{min-height:44px;padding:9px 16px;border:none;border-radius:8px;background:var(--green);color:#fff;font-size:14px;font-family:inherit}.needs-compose{background:#f0f3e9;border:1px solid #dfe6d7;border-radius:17px;padding:25px}.needs-form-note{font-size:13px;line-height:1.8;color:#687361;margin:14px 0 20px}.needs-field{margin:17px 0}.needs-field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;line-height:1.8}.needs-field label span{font-size:12px;color:#6b7766;font-weight:400;white-space:nowrap}.needs-field input,.needs-field select,.needs-field textarea{display:block;width:100%;min-width:0;min-height:46px;border:1px solid #cfdac8;border-radius:8px;padding:11px;background:#fff;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.6}.needs-field textarea{resize:vertical;min-height:140px}.needs-field input::placeholder,.needs-field textarea::placeholder{font-size:14px;color:#74816e}.needs-field [aria-invalid=true]{border:2px solid #a64637}.needs-error{font-size:13px;color:#a03629;line-height:1.6;margin:6px 0}.needs-char-count{text-align:right;font-size:12px;color:#6d7766;margin-top:5px}.needs-submit{width:100%;min-height:48px;font-size:15px}.needs-local-note{font-size:12px;line-height:1.8;color:#687361;margin-bottom:0}.needs-save-status{font-size:14px;font-weight:600;line-height:1.8;color:var(--green);overflow-wrap:anywhere}.needs-save-status:empty{display:none}.needs-page button:focus-visible,.needs-page a:focus-visible,.needs-page input:focus-visible,.needs-page textarea:focus-visible,.needs-page select:focus-visible{outline:3px solid #ad733c;outline-offset:3px}#needs-form{scroll-margin-top:20px}.needs-error[hidden]{display:none}
@media(max-width:760px){.needs-layout{grid-template-columns:minmax(0,1fr);gap:25px}.needs-intro{padding:23px 0;align-items:flex-start;flex-direction:column;gap:16px}.needs-intro h1{font-size:31px}.needs-intro p:last-child{font-size:14px}.needs-intro .primary-button{font-size:14px}.needs-card{padding:17px}.needs-compose{padding:20px}.needs-demo{font-size:12px}.needs-card h3{font-size:17px}.needs-card-body{font-size:14px}.needs-comment p{font-size:13px}.needs-comment-input-row textarea{font-size:14px}.needs-wall-heading h2,.needs-compose h2{font-size:21px}.needs-page footer{flex-wrap:wrap;gap:8px}}
@media(max-width:360px){.needs-intro h1{font-size:28px}.needs-compose{padding:15px}.needs-card{padding:15px}.needs-card-top{font-size:11px}.needs-comment-input-row{flex-direction:column}.needs-field label{font-size:13px}.needs-field input::placeholder{font-size:12px}}
