.handover-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.handover-actions button, .handover-primary { min-height:52px; padding:12px; border:1px solid #1d57b9; border-radius:12px; background:#edf3ff; color:#154a9e; font:inherit; font-weight:700; cursor:pointer; }
.handover-primary { background:#1356c2; color:white; width:100%; }
.handover-primary.return-button { background:#5bd879; color:#0d3017; border-color:#5bd879; margin-top:18px; min-height:60px; }
.handover-primary.return-button:hover:not(:disabled) { background:#46cd67; }
.handover-actions .pickup-button, .handover-primary.pickup-button { background:#ffb43b; border-color:#ffb43b; color:#17120a; display:flex; align-items:center; justify-content:center; gap:9px; }
.handover-actions .pickup-button:hover:not(:disabled), .handover-primary.pickup-button:hover:not(:disabled) { background:#ffa922; border-color:#ffa922; }
.pickup-button:focus-visible { outline:3px solid #17120a; outline-offset:3px; }
.pickup-button svg { width:22px; height:22px; flex-shrink:0; }
.handover-actions button:disabled, .handover-primary:disabled { opacity:.45; cursor:not-allowed; }
.handover-notice { background:#edf3ff; padding:12px; border-radius:10px; font-size:13px; }
.handover-warning { color:#9c3210; background:#fff3e8; border-radius:10px; padding:12px; }
.handover-success { color:#146c3b; font-weight:700; }
.pickup-item { border:1px solid #dde3ec; border-radius:12px; margin:18px 0; padding:14px; min-width:0; }
.pickup-item legend { font-weight:750; padding:0 5px; }
.pickup-item p { margin:5px 0 12px; }
.pickup-choice { display:flex; align-items:flex-start; gap:12px; padding:12px 0; line-height:1.45; }
.pickup-choice input { flex:0 0 24px; width:24px; height:24px; accent-color:#1459cb; }
.pickup-location { font-size:14px; color:#4e6175; }
.pickup-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0; padding:12px; border-radius:12px; background:#f4f7fb; }
.pickup-toolbar button { min-height:44px; border:1px solid #1d57b9; border-radius:10px; background:white; color:#154a9e; padding:9px 14px; font:inherit; font-weight:700; }
.pickup-toolbar span { color:#5d6875; font-size:13px; }
.pickup-stock-select { display:grid; grid-template-columns:minmax(110px,.45fr) minmax(0,1fr); align-items:center; gap:12px; margin:10px 0; }
.pickup-stock-select span { color:#4e6175; font-size:14px; font-weight:650; }
.pickup-stock-select select { width:100%; min-height:48px; border:1px solid #aeb9c6; border-radius:10px; background:white; color:#15171a; padding:8px 38px 8px 12px; font:inherit; }
.pickup-stock-select select:focus-visible { outline:3px solid #1463ff; outline-offset:2px; }
.pickup-availability { color:#6a7480; font-size:12px; }
.pickup-quantity { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.pickup-quantity input { width:80px; min-height:44px; border:1px solid #b7c1ce; border-radius:8px; font:inherit; padding:8px; }
.handover-sticky { position:sticky; bottom:0; background:white; border-top:1px solid #dde3ec; padding:12px 0; z-index:2; }
.pickup-confirm li { margin:14px 0; }
.contract-copy { border:1px solid #dce3ec; border-radius:12px; padding:18px; margin:18px 0; font-size:15px; line-height:1.55; }
.contract-copy dd { margin:0 0 12px; }
.contract-copy dt { font-weight:700; }
.contract-copy li { margin:12px 0; }
.contract-text { white-space:pre-wrap; overflow-wrap:anywhere; margin-top:16px; }
.signature-names { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.signature-names input { width:100%; box-sizing:border-box; min-height:46px; font:inherit; border:1px solid #b8c3d0; border-radius:8px; padding:8px; }
#signature-pad { width:100%; height:auto; display:block; border:2px solid #60778e; border-radius:12px; background:#fff; touch-action:none; }
#signature-clear, #signature-cancel, #signature-poll-retry, #signature-check { min-height:44px; padding:10px 14px; margin:10px 0; background:#f2f5f8; border:1px solid #c9d1db; border-radius:8px; font:inherit; }
.handover-customer .app-shell { visibility:hidden; }
.handover-customer .detail-sheet { inset:0; transform:none; width:100%; max-width:850px; max-height:100%; margin:auto; border-radius:0; }
.handover-customer .sheet-backdrop { pointer-events:none; }
@media (min-width:768px) {
  .handover-customer .detail-sheet { max-width:1400px; padding:24px; }
  .signature-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
  .signature-layout .contract-copy { margin-top:0; }
  .signature-layout #signature-form { min-width:0; }
}

/* Signing actions follow consent in normal flow: never cover the second checkbox. */
.handover-customer .detail-sheet { font-size:14px; line-height:1.4; }
.handover-customer #detail-title { font-size:24px; margin:6px 0 14px; }
.signature-layout { gap:20px; }
.signature-layout .contract-copy { font-size:13px; line-height:1.45; padding:14px; }
.signature-layout .contract-copy li { margin:8px 0; }
.signature-layout .contract-text { margin-top:10px; }
#signature-form > p { margin:8px 0; }
#signature-form .pickup-choice { padding:8px 0; gap:10px; min-height:44px; align-items:center; }
.signature-names { gap:10px; margin:8px 0; }
.signature-names input { font-size:16px; min-height:44px; padding:6px 8px; }
#signature-pad { box-sizing:border-box; height:clamp(120px,23vh,170px); }
#signature-form #signature-clear { margin:6px 0; padding:8px 12px; }
#signature-form .packing-note { font-size:12px; line-height:1.4; }
#signature-form .handover-sticky { position:static; padding:8px 0; }
#signature-status:empty { display:none; }
#signature-form .handover-primary { min-height:46px; padding:10px; }
#signature-form #signature-cancel { margin:6px 0 0; padding:8px 12px; }
@media (min-width:768px) {
  .handover-customer .detail-sheet { padding:16px 20px; }
}
@media (max-width:520px) {
  .pickup-stock-select { grid-template-columns:1fr; gap:5px; }
}
