:root{font-family:"Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;color:#24352f;background:#f5f2ec;--border:#dfe6e2;--muted:#687873;--green:#31584d}*{box-sizing:border-box;min-width:0}html{width:100%;overflow-x:hidden}body{margin:0;width:100%;min-width:0;overflow-x:hidden;background:#f5f2ec;-webkit-text-size-adjust:100%}button,input,select,textarea{touch-action:manipulation}button{font-family:inherit}.workbench-page{width:100%;max-width:1180px;margin:0 auto;padding:28px 24px 52px}.workbench-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.eyebrow,.panel-kicker{margin:0 0 6px;font-size:12px;color:#6b7974;letter-spacing:.04em}.workbench-hero h1{margin:0 0 8px;font-size:34px;line-height:1.14;color:#253e36}.hero-copy,.status-copy{margin:0;max-width:760px;line-height:1.65;color:#5e6e68}.quiet-link{color:#355a4e;text-decoration:none;padding-top:4px;white-space:nowrap}.candidate-panel,.workbench-panel{width:100%;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 18px rgba(34,52,46,.05)}.candidate-panel{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;padding:18px;margin-bottom:16px}.candidate-main{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.candidate-main label,.card-field label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#53625d}.candidate-main input,.candidate-main select,.card-field input,.manual-field input,.manual-field textarea{width:100%;max-width:100%;border:1px solid #cfdad5;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:#24352f;min-height:44px;outline:none}.candidate-main input:focus,.card-field input:focus,.manual-field input:focus,.manual-field textarea:focus,.family-note-field textarea:focus{border-color:#7b968c;box-shadow:0 0 0 3px rgba(104,140,126,.12)}.rank-note{padding:12px 14px;border-radius:12px;background:#f3f7f5;border:1px solid #e1ebe6;display:flex;flex-direction:column;justify-content:center;gap:2px}.rank-note span,.rank-note small{color:#687873;font-size:12px}.rank-note strong{font-size:25px;line-height:1.2}.workbench-panel{padding:18px}.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.panel-head h2{margin:0 0 6px;font-size:24px}.panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn{border:1px solid #cfdad5;background:#fff;border-radius:10px;padding:10px 13px;font:inherit;color:#2d4b42;cursor:pointer;min-height:42px}.btn.primary{background:#31584d;color:#fff;border-color:#31584d}.btn.subtle-danger{color:#6c4a45}.summary-strip{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 12px;padding:10px 12px;border-radius:12px;background:#f7f9f8;border:1px solid #e3e9e6;color:#5e6d68;font-size:13px}.volunteer-list{display:grid;gap:12px}.volunteer-card{width:100%;overflow:hidden;border:1px solid #dce5e1;border-radius:14px;padding:14px;background:#fff}.card-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:start}.order-badge{width:32px;height:32px;border-radius:9px;background:#edf3f0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#31584d}.card-heading{display:flex;flex-direction:column;gap:3px;padding-top:1px}.card-heading strong{font-size:15px}.card-heading span{font-size:12px;line-height:1.45;color:#72807b;overflow-wrap:anywhere}.card-tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.card-tools button,.state-line button,.family-decision button{border:1px solid #d5dfdb;background:#fff;border-radius:9px;padding:8px 10px;font:inherit;color:#416055;cursor:pointer;min-height:40px}.card-tools button:disabled{opacity:.4;cursor:not-allowed}.step-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:14px 0 14px}.step-rail li{display:flex;align-items:center;gap:8px;border:1px solid #e2e9e6;border-radius:11px;padding:8px 9px;background:#fafcfb}.step-rail .step-num{flex:0 0 auto;width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#edf2ef;color:#687873}.step-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.step-copy b{font-size:12px;color:#53625d}.step-copy small{font-size:11px;color:#7a8782;overflow-wrap:anywhere}.step-done{border-color:#b9cec4!important;background:#f1f7f3!important}.step-done .step-num{background:#31584d;color:#fff}.step-done .step-copy b{color:#31584d}.step-current{border-color:#d9c9bf!important;background:#fffaf7!important}.step-current .step-num{background:#8a6a5d;color:#fff}.selection-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.major-caption{min-height:20px;margin-top:5px;color:#65746e;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.input-helper{min-height:19px;margin-top:3px;font-size:12px;color:#667670;line-height:1.45;overflow-wrap:anywhere}.input-helper[data-tone=warn]{color:#8b5d53}.input-helper[data-tone=ok]{color:#446a5b}.candidate-slot{margin-top:8px;width:100%}.candidate-title{font-size:12px;color:#687873;padding:3px 2px 7px}.candidate-list{display:grid;gap:7px}.candidate{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px 10px;align-items:center;width:100%;max-width:100%;text-align:left;padding:10px 12px;border:1px solid #d7e2dd;border-radius:10px;background:#fbfcfb;cursor:pointer;overflow:hidden}.candidate-main{display:flex;flex-direction:column;gap:3px;min-width:0}.candidate strong{font-size:14px;overflow-wrap:anywhere}.candidate small{color:#6b7974;line-height:1.4;overflow-wrap:anywhere}.candidate-history{font-size:11px;color:#537165;white-space:nowrap}.candidate-action{color:#31584d;font-size:12px;white-space:nowrap}.candidate:active{transform:translateY(1px);background:#f2f7f4}.candidate-empty{padding:8px 2px;color:#88766f;font-size:12px;line-height:1.5}.record-identity{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:9px;padding:9px 10px;border-radius:10px;background:#f3f7f5;border:1px solid #e1ebe6;color:#37564c;font-size:12px;line-height:1.45}.record-identity small{color:#71807a}.record-identity[hidden]{display:none}.history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px;padding-bottom:9px;border-bottom:1px solid #edf1ef}.history-cell{min-width:0;padding:9px 10px;border-radius:9px;background:#fafcfb;border:1px solid #edf2ef}.history-cell span{display:block;color:#75827d;font-size:11px;margin-bottom:3px}.history-cell strong{display:block;color:#435d54;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.history-delta{background:#f7f9f8}.state-line{display:flex;align-items:center;gap:10px;padding:10px 0 8px;font-size:13px}.state-line.incomplete{color:#7b6157}.state-line.needs-check{color:#765f52}.state-line.complete{color:#49695e}.state-line button{margin-left:auto;padding:6px 9px}.detail-panel{padding:12px 0 4px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.manual-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#61706a}.manual-field textarea{resize:vertical;min-height:68px}.family-record{margin:8px 0 0;padding-top:10px;border-top:1px solid #edf1ef}.family-record-head strong{display:block;font-size:13px;color:#405b52;font-weight:700}.family-record-head span{display:block;margin-top:2px;font-size:12px;color:#72807b;line-height:1.5}.family-decision{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 0 0}.family-decision button[aria-pressed=true]{background:#e8f0ec;border-color:#7f9c90;color:#294d42;font-weight:700}.family-note-field{display:flex;flex-direction:column;gap:6px;margin-top:10px}.family-note-field>span{font-size:12px;color:#53625d;font-weight:600}.family-note-field textarea{width:100%;min-height:68px;max-height:180px;resize:none;overflow:hidden;border:1px solid #cfdad5;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;font-size:16px;line-height:1.6;color:#24352f;outline:none}.family-note-field small{font-size:11px;color:#7a8782}.empty-state{padding:26px 18px;text-align:center;color:#667670}.empty-title{font-size:18px;font-weight:700;margin-bottom:6px}.sim-toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1000;max-width:calc(100vw - 24px);padding:10px 14px;background:#294b42;color:#fff;border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.14);font-size:13px;text-align:center;overflow-wrap:anywhere}@media (max-width:900px){.candidate-panel{grid-template-columns:1fr}.candidate-main{grid-template-columns:1fr 1fr}.panel-head{gap:12px}.card-head{grid-template-columns:36px minmax(0,1fr)}.card-tools{grid-column:2;justify-content:flex-start}.step-rail{gap:6px}.detail-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.workbench-page{padding:20px 12px calc(38px + env(safe-area-inset-bottom))}.workbench-hero{display:block}.workbench-hero h1{font-size:30px}.hero-copy{line-height:1.6}.quiet-link{display:inline-block;margin-top:10px}.candidate-main{grid-template-columns:1fr}.panel-head{display:block}.panel-actions{justify-content:flex-start;margin-top:12px}.summary-strip{font-size:12px}.workbench-panel{padding:12px}.volunteer-card{padding:11px}.card-head{grid-template-columns:32px minmax(0,1fr)}.order-badge{width:30px;height:30px}.card-tools{gap:6px}.card-tools button,.state-line button,.family-decision button{min-height:42px;padding:9px 11px}.step-rail{grid-template-columns:1fr;gap:6px;margin:12px 0}.step-rail li{padding:8px 10px}.selection-grid{grid-template-columns:1fr;gap:10px}.candidate{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:10px}.candidate-history{grid-column:1;font-size:11px}.candidate-action{grid-column:2;grid-row:1 / span 2;align-self:center}.history-grid{grid-template-columns:1fr 1fr}.history-cell{padding:9px}.record-identity{font-size:12px}.detail-grid{grid-template-columns:1fr}.btn{min-height:42px}.card-field input,.candidate-main input,.candidate-main select,.manual-field input,.manual-field textarea{font-size:16px}.state-line{align-items:flex-start}.state-line button{margin-left:auto;flex:0 0 auto}}@media print{html,body{overflow:visible}.workbench-page{max-width:none;padding:10mm}.workbench-hero,.candidate-panel,.panel-actions,.summary-strip,.empty-state{display:none!important}.workbench-panel{border:0;box-shadow:none;padding:0}.volunteer-card{break-inside:avoid;box-shadow:none}.candidate-slot{display:none}.detail-panel{display:block}.family-record{border-top:1px solid #dfe7e3}.family-decision button{border:0;padding:0}.family-note-field textarea{border:0;min-height:0;max-height:none;overflow:visible;padding:0}.state-line button,.card-tools{display:none}.step-rail{grid-template-columns:repeat(3,1fr)}.history-grid{grid-template-columns:repeat(4,1fr)}}