.crew-contribution{display:flex;flex-direction:column;min-width:0;max-height:min(760px,calc(100dvh - 80px));color:#172b4d;background:#fff;overflow:hidden}
.crew-contribution *{box-sizing:border-box;min-width:0}
.crew-contribution .sheet-head{flex-shrink:0;margin-bottom:18px;align-items:center}
.crew-contribution .sheet-head small{display:block;font-size:12px;color:#667894;margin-bottom:6px}
.crew-contribution h2{margin:0;font-size:23px;letter-spacing:-.6px}
.crew-contribution button,.crew-contribution input,.crew-contribution textarea,.crew-contribution select{font:inherit}
.crew-contribution button{cursor:pointer;touch-action:manipulation}
.crew-contribution button:disabled{cursor:default;opacity:.45}
.crew-contribution button:focus-visible,.crew-contribution input:focus-visible,.crew-contribution textarea:focus-visible,.crew-contribution select:focus-visible{outline:3px solid #8db6ff;outline-offset:2px}
.crew-contribution-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:#f0f4fa;flex-shrink:0}
.crew-contribution-tabs button{flex:1;border:0;border-radius:9px;background:transparent;color:#667894;padding:11px 7px;font-size:14px;font-weight:600}
.crew-contribution-tabs button[aria-pressed=true]{background:#fff;color:#2466dc;box-shadow:0 1px 4px #193d6c12}
.crew-contribution-body{overflow-y:auto;overscroll-behavior:contain;padding:0 3px 14px;flex:1}
.crew-contribution p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.crew-contribution-privacy{color:#667894;margin:17px 0 22px}
.crew-contribution label{display:block;font-size:13px;font-weight:650;margin:14px 0 8px}
.crew-contribution input:not([type=hidden]),.crew-contribution textarea,.crew-contribution select{display:block;width:100%;border:1px solid #dce4ef;border-radius:10px;background:#fff;padding:12px;color:#172b4d;font-size:16px}
.crew-contribution textarea{resize:vertical;min-height:92px;max-height:220px;line-height:1.6}
.crew-contribution textarea:disabled{background:#f6f8fb}
.crew-contribution .crew-contribution-filter{display:flex;align-items:center;gap:12px;font-weight:400;color:#667894}
.crew-contribution-filter select{flex:1;padding:9px;font-size:14px}
.crew-contribution-range,.crew-contribution-note{color:#77869b;font-size:12px!important;margin:8px 0}
.crew-contribution-list{display:flex;flex-direction:column;gap:7px;max-height:195px;overflow-y:auto;overscroll-behavior:contain;padding:3px}
.crew-contribution-task{display:flex;flex-direction:column;gap:5px;flex-shrink:0;width:100%;text-align:left;padding:12px;border:1px solid #e2e9f2;border-radius:10px;background:#fff;color:#273d5e}
.crew-contribution-task span{white-space:normal;overflow-wrap:anywhere;font-size:14px;font-weight:600}
.crew-contribution-task small{color:#77869b;font-size:11px}
.crew-contribution-task.is-selected{border-color:#2f6cdf;background:#f0f6ff;box-shadow:0 0 0 1px #2f6cdf}
.crew-contribution-empty{text-align:center;padding:21px 12px;color:#77869b;background:#f6f8fc;border-radius:10px}
.crew-contribution-empty button{display:block;margin:10px auto 0;border:0;background:none;color:#2466dc;text-decoration:underline}
.crew-contribution-error{color:#b63838;margin:8px 0 0;min-height:0}
.crew-contribution-error:empty{display:none}
.crew-contribution-footer{flex-shrink:0;position:sticky;bottom:0;padding:12px 0 max(4px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e8edf4;display:flex;flex-direction:column;gap:8px}
.crew-contribution-footer p{margin:0 0 3px;color:#667894;font-size:12px}
.crew-contribution-primary,.crew-contribution-secondary{width:100%;min-height:46px;border-radius:11px;font-size:14px;font-weight:650;padding:12px 10px}
.crew-contribution-primary{background:#2f6cdf;border:1px solid #2f6cdf;color:white}
.crew-contribution-secondary{background:transparent;border:0;color:#526681;min-height:44px;padding:6px 10px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.crew-contribution{max-height:calc(100dvh - 64px)}.crew-contribution h2{font-size:21px}.crew-contribution-tabs button{font-size:14px}.crew-contribution-list{max-height:160px}}
