/* Customer preparation panel: distinct from the staff's medical/actual pickup timeline. */
.v129-prep,.v129-prep *{box-sizing:border-box}.v129-prep{background:#fffefa;color:#314039;border:1px solid #e2e3db;border-radius:18px;padding:17px;margin:16px 0 22px;box-shadow:0 3px 15px #384f3a09}
.v129-prep .v129-eyebrow{letter-spacing:.13em;font-size:10px;color:#7e8b7d;font-weight:750;margin:0}
.v129-prep h2{font-size:21px;margin:4px 0 5px}.v129-prep .v129-lead{font-size:13px;line-height:1.65;color:#69746b;margin:0 0 12px}
.v129-prep .v129-status{padding:10px 12px;border-radius:9px;background:#f5f2e7;color:#665d42;font-size:12px;line-height:1.55;margin-bottom:10px}
.v129-prep h3{font-size:15px;margin:18px 0 8px}.v129-prep ul{list-style:none;padding:0;margin:0}
.v129-prep li{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid #eceee8}
.v129-prep li label{flex:1;display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:13px;line-height:1.55;min-width:0}
.v129-prep li input[type=checkbox]{margin-top:4px;flex:0 0 17px;width:17px;height:17px;accent-color:#63826b}
.v129-prep .v129-sub{font-size:11px;color:#7d857a;display:block}
.v129-prep .v129-included li{display:block;padding:8px 0;font-size:13px;line-height:1.5}
.v129-prep .v129-included li b{display:block}.v129-prep .v129-action{border:1px solid #c9d7cb;background:#f6f8f3;color:#395442;padding:9px 12px;border-radius:10px;font-size:13px;margin-top:12px;cursor:pointer}
.v129-prep .v129-empty{font-size:13px;line-height:1.55;color:#59725d}.v129-prep .v129-error{color:#9b473e;font-size:12px}
.v129-prep-staff-modal{position:fixed;inset:0;z-index:110000;background:#1119;display:flex;align-items:center;justify-content:center;padding:14px}
.v129-prep-staff-modal>section{width:min(580px,100%);max-height:89vh;overflow:auto;background:#fffefa;border-radius:17px;padding:20px;color:#26342c}
.v129-prep-staff-modal h2{font-size:20px}.v129-prep-staff-modal p{font-size:13px;line-height:1.6;color:#626e64}
.v129-prep-staff-modal .v129-staff-row{display:grid;grid-template-columns:minmax(0,1fr) 85px 106px;align-items:center;gap:6px;border-top:1px solid #e5eae3;padding:9px 0;font-size:13px}
.v129-prep-staff-modal input,.v129-prep-staff-modal select{width:100%;min-width:0;padding:9px 5px;border:1px solid #cdd8ce;border-radius:7px;background:#fff}
.v129-prep-staff-modal button{border:1px solid #b7c3b7;border-radius:9px;padding:10px 14px;background:#eff5ef;cursor:pointer}
.v129-prep-staff-modal .v129-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}
@media (max-width:380px){.v129-prep{padding:12px}.v129-prep-staff-modal .v129-staff-row{grid-template-columns:minmax(0,1fr) 68px 95px}}
/* Keep quantity and two fulfillment selects readable on narrow phones. */
.v129-prep-staff-modal .v129-staff-row{grid-template-columns:minmax(0,1fr) 82px minmax(172px,185px)}
.v129-prep-staff-modal .v129-staff-row>div{display:flex;gap:5px;min-width:0}
.v129-prep-staff-modal .v129-staff-row>div select{flex:1;max-width:50%;font-size:11px}
@media(max-width:530px){.v129-prep-staff-modal .v129-staff-row{grid-template-columns:minmax(0,1fr) 78px;gap:6px}.v129-prep-staff-modal .v129-staff-row>div{grid-column:1/-1;display:flex;gap:8px}.v129-prep-staff-modal .v129-staff-row>div select{max-width:calc(50% - 4px)}}

/* Clear expandable gift inventory; accessible on 320px screens. */
.v129-prep .v129-bundle{margin-top:16px;padding:12px 13px;border:1px solid #e2e9df;border-radius:11px;background:#f9faf6}
.v129-prep .v129-bundle summary{cursor:pointer;font-size:14px;font-weight:650;color:#3d5c45}
.v129-prep .v129-bundle[open] summary{margin-bottom:11px}
.v129-prep .v129-missing li:has(input:checked) .v129-sub{color:#497256}

/* V129.2: one expandable step between vaccine #1 and #2; not a second card below timeline. */
.p2-timeline>article.v129-prep-step{display:flex;align-items:flex-start;gap:10px;min-width:0;background:#f7f9f4;border:1px solid #dae6d7;border-radius:13px;padding:13px 11px}
.p2-timeline>.v129-prep-step>.v129-prep-step-main{flex:1;min-width:0}
.p2-timeline>.v129-prep-step>.v129-prep-step-main>.v129-prep-step-toggle{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;border:0;background:transparent;color:#33553d;padding:0;cursor:pointer;gap:4px}
.p2-timeline>.v129-prep-step .v129-prep-step-toggle b{font-size:14px}
.p2-timeline>.v129-prep-step .v129-prep-step-toggle small{font-size:11px;color:#718375;line-height:1.5}
.p2-timeline>.v129-prep-step>.v129-prep-step-status{font-size:10px;white-space:nowrap;color:#53765a;background:#e4f0e1;padding:4px 6px;border-radius:8px}
.p2-timeline>.v129-prep-step .v129-prep{padding:12px 10px;margin:12px 0 2px;background:white;border-radius:12px;box-shadow:none}
.p2-timeline>.v129-prep-step .v129-prep[hidden]{display:none!important}
.v129-prep .v129-addons{margin:15px 0;padding:12px 10px;border:1px solid #d9e5d9;background:#f9fbf8;border-radius:13px}
.v129-prep .v129-addons-head h3{margin:0;font-size:15px}.v129-prep .v129-addons-head p{font-size:11px;color:#7a897d;margin:4px 0 8px}
.v129-prep .v129-addon-row{border-top:1px solid #e2ebe0;display:flex;gap:6px;align-items:center;justify-content:space-between;padding:12px 0}
.v129-prep .v129-addon-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.v129-prep .v129-addon-info b{font-size:13px;line-height:1.45}.v129-prep .v129-addon-info span{font-size:12px;color:#527759}
.v129-prep .v129-coat-tag{font-size:10px;background:#e7f1e6;color:#54725a;border-radius:6px;padding:2px 4px;white-space:nowrap}
.v129-prep .v129-coat-select{font-size:11px;color:#738577;display:flex;gap:6px;align-items:center}.v129-prep .v129-coat-select select{max-width:110px;min-width:0;padding:6px;border-radius:8px;background:#fff;border:1px solid #cfdece;font-size:12px}
.v129-prep .v129-stepper{display:flex;gap:0;align-items:center;flex-shrink:0;border:1px solid #d0ddce;border-radius:10px;background:#fff;overflow:hidden}
.v129-prep .v129-stepper button{border:0;width:34px;height:37px;background:#ecf3ed;color:#3a6444;font-weight:800;font-size:19px;padding:0;cursor:pointer}
.v129-prep .v129-stepper button:disabled{opacity:.3;cursor:not-allowed}.v129-prep .v129-stepper output{font-size:13px;font-weight:700;width:27px;text-align:center}
.v129-prep .v129-addon-foot{border-top:1px solid #e2ebe0;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.v129-prep .v129-addon-foot strong{font-size:18px;color:#315c3a}
.v129-prep .v129-cart-cta{background:#355e41;color:white;border:0;border-radius:10px;padding:12px 15px;margin-top:10px;width:100%;font-size:13px;font-weight:750;cursor:pointer}
.v129-prep .v129-cart-cta:disabled{opacity:.45;cursor:not-allowed}.v129-prep .v129-note{font-size:11px;color:#77847a;margin:8px 0 0;line-height:1.65}
@media(max-width:360px){.p2-timeline>.v129-prep-step{gap:5px;padding:9px 7px}.p2-timeline>.v129-prep-step>.v129-prep-step-status{display:none}.v129-prep .v129-addon-row{flex-wrap:wrap}.v129-prep .v129-stepper{margin-left:auto}}

/* V129.4 checkout Google Sheet sync pending warning (native Shop checkout) */
.v37-sync-warning{color:#7c4517!important;background:#fff3e1!important;border:1px solid #e9c98e!important;border-radius:10px;padding:12px!important;}

/* V129.7: both the label and the visible '可查看' control open the checklist independently of vaccine milestones */
.p2-timeline>.v129-prep-step>button.v129-prep-step-status{border:0;cursor:pointer;font-family:inherit;align-self:flex-start;min-width:48px;min-height:34px;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.p2-timeline>.v129-prep-step>button.v129-prep-step-status:focus-visible,.p2-timeline>.v129-prep-step .v129-prep-step-toggle:focus-visible{outline:2px solid #456d50;outline-offset:3px}
.p2-timeline>.v129-prep-step.v129-open>button.v129-prep-step-status{background:#d5e8d1}
@media(max-width:360px){.p2-timeline>.v129-prep-step>button.v129-prep-step-status{display:inline-flex;min-width:42px;padding:5px 4px;font-size:10px}}

/* V134: a single timeline entry, with no nested preparation cards. */
.p2-timeline>article.v129-prep-step{background:transparent;border:0;border-bottom:1px solid #e0e6dc;border-radius:0;padding:16px 0;box-shadow:none;align-items:flex-start}
.p2-timeline>.v129-prep-step .v129-prep-step-heading{display:flex;flex-direction:column;gap:4px;color:#33553d}
.p2-timeline>.v129-prep-step .v129-prep-step-heading small{font-size:14px;color:#77776c}
.p2-timeline>.v129-prep-step .v129-prep{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:10px 0 0}
.p2-timeline>.v129-prep-step .v129-status{border:0;background:transparent;border-radius:0;padding:0;margin:0 0 10px;font-size:14px;color:#64715e}
.p2-timeline>.v129-prep-step .v129-action{display:inline-flex;width:auto;margin:0;padding:11px 14px;font-size:14px;min-height:44px;box-sizing:border-box}
