.booking-wrap{width:100%;max-width:800px;margin:0 auto}.booking-steps{display:flex;align-items:center;justify-content:center;gap:0;background:#f7f9fc;border:1px solid #eef1f5;border-radius:12px;padding:16px 18px;margin-bottom:20px}.booking-step{display:flex;align-items:center;gap:9px}.booking-step-num{width:30px;height:30px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;transition:all .25s}.booking-step.active .booking-step-num{background:#1a73e8;color:#fff}.booking-step.done .booking-step-num{background:#52c41a;color:#fff}.booking-step-label{font-size:14px;color:#94a3b8;transition:all .2s;font-weight:500}.booking-step.active .booking-step-label{color:#1a73e8;font-weight:700}.booking-step.done .booking-step-label{color:#52c41a}.booking-step-line{width:72px;height:2px;background:#dbe4ee;margin:0 14px;border-radius:1px}.booking-step-line.done{background:#52c41a}.booking-notice{background:#fff;border:1px solid #e8ecf0;border-radius:12px;margin-bottom:20px;overflow:hidden}.booking-notice-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;user-select:none;transition:background .15s}.booking-notice-header:hover{background:#f8fafc}.booking-notice-title{font-size:15px;font-weight:700;color:#1a73e8;display:flex;align-items:center;gap:8px}.booking-notice-title svg{flex-shrink:0}.booking-notice-chevron{width:20px;height:20px;color:#94a3b8;transition:transform .25s;flex-shrink:0}.booking-notice.expanded .booking-notice-chevron{transform:rotate(180deg)}.booking-notice-body{display:none}.booking-notice.expanded .booking-notice-body{display:block}.booking-notice-content{padding:0 18px 16px;font-size:14px;color:#475569;line-height:1.8}.booking-notice-content p{margin:0 0 6px}.booking-group{background:#fff;border:1px solid #e8ecf0;border-radius:12px;padding:20px 16px;margin-bottom:16px;position:relative}.bk-invoice-form{padding:12px 0}.bk-inv-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.bk-inv-row:last-child{margin-bottom:0}.bk-inv-label{width:70px;font-size:13px;color:#64748b;font-weight:500;padding-top:6px;flex-shrink:0}.bk-inv-seg{display:inline-flex;gap:6px;flex-wrap:wrap}.bk-inv-seg-item{padding:6px 16px;border-radius:6px;font-size:13px;color:#595959;background:#f5f5f5;cursor:pointer;transition:all .2s;border:1px solid transparent;user-select:none}.bk-inv-seg-item:hover{color:#1a73e8;background:#e8f1ff}.bk-inv-seg-item.selected{color:#fff;background:#1a73e8;border-color:#1a73e8}.bk-inv-input-wrap{flex:1;min-width:0}.bk-header-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px dashed #d9d9d9;border-radius:8px;font-size:14px;color:#595959;cursor:pointer;transition:all .2s;background:#fff}.bk-header-btn:hover{border-color:#1a73e8;color:#1a73e8;border-style:solid}.bk-header-btn.has-value{border-style:solid;border-color:#1a73e8;color:#1a73e8;background:#f0f5ff}.bk-header-info{margin-top:8px;padding:8px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e8ecf0}.bk-inv-checks{display:flex;gap:16px;flex-wrap:wrap;padding-top:4px}.bk-inv-check{display:flex;align-items:center;gap:6px;font-size:13px;color:#595959;cursor:pointer}.bk-inv-check input[type=checkbox]{width:16px;height:16px;accent-color:#1a73e8;cursor:pointer}.bk-inv-hd-item{position:relative;padding:14px 16px 14px 40px;border:1px solid #e8ecf0;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.bk-inv-hd-item::before{content:'';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid #d9d9d9;border-radius:50%;transition:all .2s}.bk-inv-hd-item:hover{border-color:#1677ff;background:#f0f5ff}.bk-inv-hd-item:hover::before{border-color:#1677ff}.bk-inv-hd-item.selected{border-color:#1677ff;background:#e6f4ff;box-shadow:0 2px 8px rgba(22,119,255,.12)}.bk-inv-hd-item.selected::before{border-color:#1677ff;background:#1677ff;box-shadow:inset 0 0 0 3px #fff}.bk-inv-hd-add{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border:1px dashed #d9d9d9;border-radius:8px;cursor:pointer;transition:all .2s;color:#1677ff;font-size:14px;background:#fafafa}.bk-inv-hd-add:hover{border-color:#1677ff;background:#f0f5ff;color:#1677ff}.bk-service-icon.invoice{background:#e8f5e9;color:#52c41a}.booking-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f2f5}.booking-group-title{font-size:15px;font-weight:600;color:#1e293b}.booking-group-del{color:#ff4d4f;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}.booking-group-del:hover{background:#fff1f0}.sg-tabs{display:flex;align-items:center;gap:6px;border-bottom:2px solid #f0f2f5;margin-bottom:20px;flex-wrap:wrap}.sg-tab{display:flex;align-items:center;gap:7px;padding:10px 16px;font-size:14px;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;user-select:none;border-radius:8px 8px 0 0}.sg-tab:hover{color:#1a73e8;background:#f0f5ff}.sg-tab.active{color:#1a73e8;font-weight:600;border-bottom-color:#1a73e8;background:#f0f7ff}.sg-tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:14px;line-height:1;color:#94a3b8;transition:all .15s}.sg-tab-close:hover{background:#ff4d4f;color:#fff}.sg-tab-add{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;font-size:14px;color:#1a73e8;cursor:pointer;border:none;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:#f0f5ff;transition:all .2s;user-select:none;margin:0 0 -2px 0;font-weight:600}.sg-tab-add:hover{background:#e8f1ff;color:#0b5cd5}.sg-subtotal{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e8ecf0;border-radius:10px;margin-top:16px}.sg-subtotal-label{font-size:14px;color:#475569;font-weight:500}.sg-subtotal-val{font-size:17px;font-weight:700;color:#1d4ed8}.booking-field{margin-bottom:16px}.booking-field-label{font-size:14px;color:#475569;margin-bottom:6px;display:flex;align-items:center;gap:4px}.booking-field-label .required{color:#ff4d4f}.booking-field-hint{font-size:12px;color:#f59e0b;margin-top:4px}.booking-input{width:100%;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:14px;outline:0;transition:all .2s;box-sizing:border-box}.booking-input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.08)}.booking-input::placeholder{color:#adb5bd}textarea.booking-input{resize:none;min-height:80px}.booking-input-wrap{position:relative}.booking-input-wrap .booking-input{padding-right:32px}.booking-input-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#666;color:#fff;display:none;cursor:pointer;transition:all .2s;align-items:center;justify-content:center;padding:0;border:none}.booking-input-clear:hover{background:#ff4d4f}.booking-input-wrap.has-value .booking-input-clear{display:flex}.booking-textarea-wrap{position:relative}.booking-textarea-wrap textarea.booking-input{padding-right:32px}.booking-textarea-clear{position:absolute;right:8px;top:8px;width:20px;height:20px;border-radius:50%;background:#666;color:#fff;display:none;cursor:pointer;transition:all .2s;align-items:center;justify-content:center;padding:0;border:none;font-size:13px;line-height:1}.booking-textarea-clear:hover{background:#ff4d4f}.booking-textarea-wrap.has-value .booking-textarea-clear{display:flex}.booking-options{display:flex;flex-wrap:wrap;gap:10px}.booking-opt{padding:8px 16px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:13px;cursor:pointer;transition:all .15s;user-select:none;display:flex;align-items:center;gap:6px}.booking-opt:hover{border-color:#1a73e8;color:#1a73e8}.booking-opt.selected{background:#e8f0fe;border-color:#1a73e8;color:#1a73e8;font-weight:500}.booking-opt.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;text-decoration:line-through}.booking-opt input{display:none}.opt-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:12px;height:12px;border:1.5px solid silver;transition:all .15s}.opt-indicator.radio{border-radius:50%}.opt-indicator.checkbox{border-radius:2px}.booking-opt.selected .opt-indicator{border-color:#1a73e8;background:#1a73e8}.opt-indicator.radio::after{content:'';width:4px;height:4px;border-radius:50%;background:0 0;transition:all .15s}.booking-opt.selected .opt-indicator.radio::after{background:#fff}.opt-indicator.checkbox::after{content:'';width:6px;height:5px;border-left:1.5px solid transparent;border-bottom:1.5px solid transparent;transform:rotate(-45deg) translate(1px,-1px);transition:all .15s}.booking-opt.selected .opt-indicator.checkbox::after{border-color:#fff}.booking-opt[data-desc]{position:relative}.booking-opt[data-desc]::after{content:attr(data-desc);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1e293b;color:#f1f5f9;font-size:12px;font-weight:400;line-height:1.5;padding:8px 12px;border-radius:8px;white-space:normal;max-width:240px;width:max-content;pointer-events:none;opacity:0;transition:opacity .2s;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.15)}.booking-opt[data-desc]::before{content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1e293b;pointer-events:none;opacity:0;transition:opacity .2s;z-index:101}.booking-opt[data-desc]:hover::after,.booking-opt[data-desc]:hover::before{opacity:1}.booking-nested{margin-top:12px}.booking-price-bar{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e8ecf0;border-radius:14px;padding:20px;margin-top:24px}.booking-price-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;color:#475569}.booking-price-row:last-child{margin-bottom:0}.booking-price-total{font-size:20px;font-weight:700;color:#1d4ed8}.booking-price-total .unit{font-size:14px;font-weight:400}.booking-actions{display:flex;gap:12px;margin-top:24px}.booking-btn{flex:1;padding:14px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;border:none}.booking-btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 16px rgba(37,99,235,.3)}.booking-btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px)}.booking-btn-outline{background:#eaf2ff;color:#1a73e8;border:1.5px solid #c5dbff}.booking-btn-outline:hover{background:#dbe8ff;border-color:#1a73e8}.booking-btn-ghost{background:#fff;color:#475569;border:1.5px solid #d9d9d9}.booking-btn-ghost:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.booking-btn:disabled{opacity:.45;cursor:not-allowed}.booking-btn:disabled:hover{transform:none;box-shadow:none}.booking-btn-primary:disabled:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.booking-btn-ghost:disabled:hover{background:#fff;color:#475569;border-color:#d9d9d9}.booking-extra-section{background:#fff;border:1px solid #e8ecf0;border-radius:14px;padding:20px;margin-bottom:16px}.booking-extra-title{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f2f5}.booking-radio-group{display:flex;gap:12px;margin-bottom:12px}.booking-radio{padding:10px 20px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:14px;cursor:pointer;transition:all .15s;user-select:none}.booking-radio:hover{border-color:#1a73e8;color:#1a73e8}.booking-radio.selected{background:#e8f0fe;border-color:#1a73e8;color:#1a73e8;font-weight:500}.booking-expand{margin-top:12px;padding:16px;background:#f8fafc;border-radius:10px;display:none}.booking-expand.show{display:block}.booking-empty{background:#fff;border-radius:16px;border:1px solid #f0f0f0;box-shadow:0 2px 12px rgba(0,0,0,.03);text-align:center;padding:60px 20px;color:#999}.booking-empty img{width:100px;opacity:.3}.booking-empty p{margin:16px 0 0;font-size:14px;color:#94a3b8}.bk-service-card{background:#fff;border:1px solid #e8ecf0;border-radius:14px;padding:18px 20px;margin-bottom:14px;transition:all .2s}.bk-service-card.active{border-color:#1a73e8;background:#f8faff;box-shadow:0 2px 12px rgba(26,115,232,.08)}.bk-service-header{display:flex;align-items:center;gap:12px}.bk-service-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bk-service-icon.urgent{background:#fff7e6;color:#fa8c16}.bk-service-icon.recycle{background:#f6ffed;color:#52c41a}.bk-service-icon.same{background:#e6f4ff;color:#1677ff}.bk-service-info{flex:1}.bk-service-name{font-size:15px;font-weight:600;color:#1e293b}.bk-service-desc{font-size:12px;color:#94a3b8;margin-top:2px}.bk-service-fee{font-size:12px;color:#f59e0b;margin-top:3px;font-weight:500;display:none}.bk-service-card.active .bk-service-fee{display:block}.bk-toggle{position:relative;width:44px;height:24px;flex-shrink:0;cursor:pointer}.bk-toggle input{display:none}.bk-toggle-track{position:absolute;inset:0;background:#e0e0e0;border-radius:12px;transition:all .25s}.bk-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:all .25s}.bk-toggle input:checked~.bk-toggle-track{background:#1a73e8}.bk-toggle input:checked~.bk-toggle-thumb{left:22px}.bk-delivery-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.bk-delivery-card{background:#fff;border:1.5px solid #e8ecf0;border-radius:14px;padding:18px 14px;text-align:center;cursor:pointer;transition:all .2s;user-select:none}.bk-delivery-card:hover{border-color:#91caff;transform:translateY(-2px)}.bk-delivery-card.selected{border-color:#1a73e8;background:#f0f5ff;box-shadow:0 2px 12px rgba(26,115,232,.12)}.bk-delivery-icon{width:42px;height:42px;margin:0 auto 10px;border-radius:12px;background:#f5f7fa;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}.bk-delivery-card.selected .bk-delivery-icon{background:#e8f0fe;color:#1a73e8}.bk-delivery-desc{font-size:12px;color:#94a3b8}.bk-delivery-card.selected .bk-delivery-name{color:#1a73e8}.bk-delivery-picker{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1.5px solid #d9d9d9;border-radius:10px;cursor:pointer;transition:all .15s}.bk-delivery-picker:hover{border-color:#91caff}.bk-delivery-picker.open{border-color:#1a73e8;border-bottom-left-radius:0;border-bottom-right-radius:0}.bk-dm-sum{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bk-dm-sum .bk-dm-icon svg{color:#64748b;flex-shrink:0}.bk-dm-label{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bk-dm-ph{font-size:13px;color:#94a3b8}.bk-dm-name{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap}.bk-dm-desc{font-size:12px;color:#94a3b8;white-space:nowrap}.bk-delivery-picker .chev{color:#94a3b8;flex-shrink:0;transition:transform .2s}.bk-delivery-picker.open .chev{transform:rotate(180deg)}.bk-dm-drop{border:1.5px solid #1a73e8;border-top:none;border-radius:0 0 10px 10px;background:#fff;overflow:hidden}.bk-dm-scroll{max-height:224px;overflow-y:auto}.bk-dm-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:all .15s;border-bottom:1px solid #f0f2f5}.bk-dm-item:last-child{border-bottom:none}.bk-dm-item:hover{background:#f8faff}.bk-dm-item.selected{background:#f0f5ff}.bk-dm-item.selected .bk-dm-name{color:#1a73e8}.bk-dm-radio{width:16px;height:16px;border-radius:50%;border:2px solid #d9d9d9;flex-shrink:0;transition:all .15s}.bk-dm-item.selected .bk-dm-radio{border-color:#1a73e8;background:#1a73e8;box-shadow:inset 0 0 0 2.5px #fff}.bk-dm-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b}.bk-dm-item.selected .bk-dm-icon{color:#1a73e8}.bk-dm-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.bk-addr-section{background:#f8fafc;border:1px solid #e8ecf0;border-radius:12px;padding:16px;margin-top:12px;display:none}.bk-addr-section.show{display:block}.bk-addr-title{font-size:13px;font-weight:600;color:#475569;margin-bottom:10px;display:flex;align-items:center;gap:6px}.bk-addr-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1.5px solid #e8ecf0;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .15s}.bk-addr-item:hover{border-color:#91caff}.bk-addr-item.selected{border-color:#1a73e8;background:#f0f5ff}.bk-addr-radio{width:16px;height:16px;border-radius:50%;border:2px solid #d9d9d9;flex-shrink:0;transition:all .15s}.bk-addr-item.selected .bk-addr-radio{border-color:#1a73e8;background:#1a73e8;box-shadow:inset 0 0 0 2.5px #fff}.qa-select{position:relative}.qa-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;font-size:13px;color:#1e293b;cursor:pointer;transition:border-color .15s}.qa-select-trigger.placeholder{color:#94a3b8}.qa-select-trigger:hover{border-color:#91caff}.qa-select.open .qa-select-trigger{border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,.12)}.qa-select-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e8ecf0;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:192px;overflow-y:auto;z-index:20}.qa-select.open .qa-select-drop{display:block}.qa-select-opt{padding:8px 10px;font-size:13px;color:#334155;cursor:pointer}.qa-select-opt:hover{background:#f0f5ff;color:#1a73e8}.qa-select-opt.selected{color:#1a73e8;font-weight:600;background:#f0f5ff}.qa-select-empty{padding:10px;font-size:12px;color:#94a3b8;text-align:center}.qa-default-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 14px;background:#f8fafc;border:1px solid #e8ecf0;border-radius:10px}.qa-default-name{font-size:13px;font-weight:600;color:#334155}.qa-default-desc{font-size:11px;color:#94a3b8;margin-top:2px}.bk-addr-create{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border:1.5px dashed #91caff;border-radius:10px;color:#1a73e8;font-size:13px;font-weight:600;cursor:pointer;background:#f8faff;transition:all .15s}.bk-addr-create:hover{border-color:#1a73e8;background:#f0f5ff}.bk-addr-info{flex:1;min-width:0}.bk-addr-name{font-size:13px;font-weight:600;color:#1e293b}.bk-addr-name .default-tag{font-size:10px;padding:1px 5px;border-radius:3px;background:#e6f4ff;color:#1677ff;margin-left:6px;font-weight:500}.bk-addr-detail{font-size:12px;color:#94a3b8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-addr-add{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#1a73e8;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .15s;user-select:none}.bk-addr-add:hover{background:#f0f5ff}.bk-addr-picker{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1.5px solid #d9d9d9;border-radius:10px;cursor:pointer;transition:all .15s}.bk-addr-picker:hover{border-color:#91caff}.bk-addr-picker.open{border-color:#1a73e8;border-bottom-left-radius:0;border-bottom-right-radius:0}.bk-addr-sum{flex:1;min-width:0}.bk-addr-ph{font-size:13px;color:#94a3b8}.bk-addr-picker .chev{color:#94a3b8;flex-shrink:0;transition:transform .2s}.bk-addr-picker.open .chev{transform:rotate(180deg)}.bk-addr-drop{border:1.5px solid #1a73e8;border-top:none;border-radius:0 0 10px 10px;background:#fff;overflow:hidden}.bk-addr-scroll{max-height:224px;overflow-y:auto}.bk-addr-scroll .bk-addr-item{border:none;border-bottom:1px solid #f0f2f5;border-radius:0;margin-bottom:0}.bk-addr-scroll .bk-addr-item:hover{border-color:transparent;background:#f8faff}.bk-addr-scroll .bk-addr-item.selected{border-color:transparent;background:#f0f5ff}.bk-addr-drop .bk-addr-add{display:flex;border-top:1px solid #f0f2f5;border-radius:0;padding:10px 14px}.pickup-time-row{display:flex;gap:10px;align-items:center}.pickup-time-row .pickup-date{flex:1;min-width:0}.pickup-period{display:flex;border:1px solid #d9d9d9;border-radius:8px;overflow:hidden;flex-shrink:0;background:#fff}.pickup-period-btn{padding:9px 18px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s;user-select:none}.pickup-period-btn+.pickup-period-btn{border-left:1px solid #e8ecf0}.pickup-period-btn:hover{color:#1a73e8}.pickup-period-btn.active{background:#1a73e8;color:#fff;font-weight:600}.pickup-period-btn.active:hover{color:#fff}.pickup-period-btn.disabled{color:#cbd5e1;cursor:not-allowed}.pickup-period-btn.disabled:hover{color:#cbd5e1}.pickup-date-wrap{position:relative;flex:1;min-width:0}.pickup-date-wrap .pickup-date{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;user-select:none}.pickup-date-wrap .pickup-date .pd-ph{color:#94a3b8}.pickup-date-wrap .pickup-date svg{color:#64748b;flex-shrink:0}.pickup-date-wrap .pickup-date.open{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.12)}.pd-drop{position:absolute;top:calc(100% + 4px);left:0;width:256px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);z-index:30;padding:10px}.pd-drop.up{top:auto;bottom:calc(100% + 4px)}.pd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pd-title{font-size:13px;font-weight:600;color:#0f172a}.pd-arrow{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;color:#475569}.pd-arrow:hover{background:#f1f5f9;color:#1a73e8}.pd-grid,.pd-week{display:grid;grid-template-columns:repeat(7,1fr)}.pd-week span{font-size:12px;color:#94a3b8;text-align:center;padding:4px 0}.pd-day{font-size:13px;color:#334155;text-align:center;height:30px;line-height:30px;border-radius:6px;cursor:pointer;margin:1px 0}.pd-day:hover{background:#f1f5f9}.pd-day.other{color:#cbd5e1}.pd-day.disabled{color:#e2e8f0;cursor:not-allowed}.pd-day.disabled:hover{background:0 0}.pd-arrow.disabled{color:#d8dee8;cursor:not-allowed}.pd-arrow.disabled:hover{background:0 0;color:#d8dee8}.pd-day.today{box-shadow:inset 0 0 0 1px #1a73e8;color:#1a73e8}.pd-day.today:hover{background:#f0f5ff}.pd-day.sel{background:#1a73e8;color:#fff;font-weight:600}.pd-day.sel:hover{background:#1a73e8}.pd-day.today.disabled{box-shadow:none;color:#e2e8f0}.pd-day.today.disabled:hover{background:0 0}.pd-foot span.disabled{color:#cbd5e1;cursor:not-allowed}.pd-foot span.disabled:hover{background:0 0}.pd-foot{display:flex;justify-content:space-between;border-top:1px solid #f0f2f5;margin-top:6px;padding-top:8px}.pd-foot span{font-size:13px;color:#1a73e8;cursor:pointer;padding:2px 8px;border-radius:6px}.pd-foot span:hover{background:#f0f5ff}.bk-project-bar{background:#f8fafc;border:1px solid #e8ecf0;border-radius:14px;padding:14px 18px;text-align:center}.bk-project-bar .bk-proj-name{font-size:15px;font-weight:600;color:#1a73e8;display:inline;word-break:break-all;line-height:1.5}.bk-project-bar .bk-proj-abbr{font-size:15px;font-weight:800;color:#1a73e8;font-weight:600;letter-spacing:.5px;opacity:.7}.bk-draft-banner{display:flex;align-items:center;gap:12px;background:#fffbe6;border:1px solid #ffe58f;border-radius:12px;padding:12px 18px;margin-bottom:20px;font-size:13px;color:#874d00}.bk-draft-icon{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#ffc53d,#faad14);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px rgba(250,173,20,.35)}.bk-draft-icon svg{color:#fff}.bk-draft-banner .btns{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.bk-draft-banner .btns span{padding:5px 14px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.bk-draft-banner .btn-restore{background:#faad14;color:#fff}.bk-draft-banner .btn-restore:hover{background:#d48806}.bk-draft-banner .btn-restart{background:#fff;border:1px solid #d9d9d9;color:#666}.bk-draft-banner .btn-restart:hover{border-color:#faad14;color:#faad14}.pay-method-list{display:flex;flex-direction:column;gap:10px}.pay-method-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid #e8ecf0;border-radius:12px;cursor:pointer;transition:all .2s}.pay-method-item:hover{border-color:#1a73e8;background:#f8faff}.pay-method-item.selected{border-color:#1a73e8;background:#e8f0fe}.pay-method-item.disabled{opacity:.5;cursor:not-allowed;border-color:#e8ecf0;background:#fafafa}.pay-method-radio{width:18px;height:18px;border-radius:50%;border:2px solid #d9d9d9;transition:all .2s;flex-shrink:0}.pay-method-item.selected .pay-method-radio{border-color:#1a73e8;background:#1a73e8;box-shadow:inset 0 0 0 3px #fff}.pay-method-info{flex:1}.pay-method-name{font-size:14px;font-weight:500;color:#1e293b}.pay-method-desc{font-size:12px;color:#94a3b8;margin-top:2px}.pay-method-balance{font-size:13px;font-weight:600;color:#1d4ed8;white-space:nowrap}.pay-method-warn{font-size:12px;color:#ff4d4f;margin-top:2px}.fee-detail-table{width:100%;border-collapse:collapse}.fee-detail-table td{padding:10px 12px;font-size:14px;color:#475569;border-bottom:1px solid #f0f2f5}.fee-detail-table td:last-child{text-align:right;font-weight:500;color:#1e293b}.fee-detail-table tr:last-child td{border-bottom:none;font-weight:700;font-size:16px;color:#1d4ed8}.booking-layout{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:start;min-height:820px}.booking-main{min-width:0;background:#fff;border:1px solid #e8ecf0;border-radius:14px;padding:24px 28px}.booking-fee-panel{width:260px;position:sticky;top:80px;display:flex;flex-direction:column;gap:16px}.bk-support-card{background:#f8fafc;border:1px solid #e8ecf0;border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.04)}.bk-support-name{font-size:18px;font-weight:700;color:#1e293b}.bk-support-phone a{font-size:14px;font-weight:600;color:#1a73e8;text-decoration:none;background:#f0f7ff;padding:4px 14px;border-radius:999px;border:1px solid #d8e8fb;transition:all .15s}.bk-support-phone a:hover{background:#e0eeff}.bk-support-qr{width:170px;height:170px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:6px;margin-top:4px;box-shadow:0 2px 10px rgba(30,41,59,.08)}.bk-support-qr img{width:100%;height:100%;object-fit:contain;border-radius:6px}.bk-support-qr-label{font-size:13px;color:#94a3b8;margin-top:2px}.fee-panel-card{background:#fff;border:1px solid #e8ecf0;border-radius:14px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.04)}.fee-panel-title{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:16px;display:flex;align-items:center;gap:8px}.fee-panel-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;color:#64748b}.fee-panel-row .val{font-weight:500;color:#1e293b}.fee-group-row{padding:6px 10px;border-radius:8px;cursor:pointer;transition:all .15s;margin:0 -10px}.fee-group-row:hover{background:#f0f5ff}.fee-group-row.active{background:#e8f0fe}.fee-group-row.active .val{color:#1a73e8;font-weight:700}.fee-panel-divider{border:none;border-top:1px dashed #e8ecf0;margin:12px 0}.fee-panel-total{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.fee-panel-total .label{font-size:14px;font-weight:600;color:#1e293b}.fee-panel-total .amount{font-size:20px;font-weight:700;color:#1d4ed8}.bk-attach-list{display:flex;flex-wrap:wrap;gap:8px}.bk-attach-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:6px 10px;background:#f0f5ff;border:1px solid #dbe7f7;border-radius:8px;font-size:12px;color:#3b5bdb}.bk-attach-chip svg{flex-shrink:0;color:#1a73e8}.bk-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bk-attach-del{cursor:pointer;color:#94a3b8;font-size:14px;line-height:1;padding:0 2px}.bk-attach-del:hover{color:#ff4d4f}.bk-attach-add{display:inline-flex;align-items:center;padding:6px 12px;border:1px dashed #b6c6dd;border-radius:8px;font-size:12px;color:#64748b;cursor:pointer;transition:all .15s}.bk-attach-add:hover{border-color:#1a73e8;color:#1a73e8;background:#f8fbff}.bk-price-ico{display:inline-block;margin:0 4px 0 2px;color:#f59e0b;cursor:help;font-weight:600}.studio-overlay{position:fixed;inset:0;z-index:9999;background:#fff;border:1px solid #eef1f5;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.studio-frame{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.studio-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e8ecf0;flex-shrink:0}.studio-title{font-size:18px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:10px}.studio-close{width:36px;height:36px;border-radius:10px;border:1px solid #e8ecf0;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#64748b}.studio-close:hover{background:#fff1f0;border-color:#ffccc7;color:#ff4d4f}.studio-body{flex:1;display:flex;overflow:hidden}.studio-left{width:420px;flex-shrink:0;background:#fff;border-right:1px solid #e8ecf0;display:flex;flex-direction:column;overflow:hidden}.studio-left-header{height:56px;padding:0 20px;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;background:#fff;flex-shrink:0;box-sizing:border-box}.studio-left-header .btn{margin-left:auto}.studio-left-title{font-size:15px;font-weight:600;color:#1e293b;display:inline-flex;align-items:center;gap:7px}.studio-left-title svg,.studio-right-title svg{color:#1a73e8}.studio-left-body{flex:1;overflow-y:auto;padding:16px;min-height:0;background:#f8fafc}.studio-right{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;min-width:0}.studio-right-header{height:56px;padding:0 24px;background:#fff;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1e293b;flex-shrink:0;box-sizing:border-box}.studio-right-title{font-size:15px;font-weight:600;color:#1e293b;display:inline-flex;align-items:center;gap:7px}.studio-right-body{flex:1;overflow-y:auto;padding:16px;min-height:0}.studio-preview-frame{background:#fff;border:1px solid #e8ecf0;border-radius:14px;padding:24px;max-width:700px;margin:0 auto;box-shadow:0 2px 12px rgba(0,0,0,.04)}.bc-builtin-card{margin:0 0 12px;padding:14px 16px;background:linear-gradient(180deg,#f8fbff,#f3f7fd);border:1px solid #dbe7f7;border-radius:12px}.bc-builtin-title{font-size:13px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:6px;margin-bottom:10px}.bc-builtin-title svg{color:#1a73e8}.bc-builtin-tip{font-weight:400;font-size:11px;color:#94a3b8;margin-left:auto}.bc-builtin-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#475569;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .15s}.bc-builtin-row:hover{background:#fff}.bc-builtin-row input{accent-color:#1a73e8;cursor:pointer}.bc-builtin-row em{font-style:normal;font-size:11px;color:#b6c0cc;margin-left:auto}.field-card{background:#fff;border:1px solid #e8ecf0;border-radius:12px;padding:14px 16px;margin-bottom:10px;transition:all .2s;cursor:grab}.field-card:hover{border-color:#1a73e8;box-shadow:0 2px 8px rgba(26,115,232,.1)}.field-card.dragging{opacity:.4;border-style:dashed}.field-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.field-card-name{font-size:14px;font-weight:600;color:#1e293b}.field-card-type{font-size:11px;padding:2px 8px;border-radius:4px;background:#f0f5ff;color:#1a73e8}.field-card-meta{font-size:12px;color:#94a3b8;display:flex;gap:12px}.field-card-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f2f5}.field-card-btn{padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;border:none;background:#94a3b8;color:#fff;transition:all .15s;display:inline-flex;align-items:center;gap:4px}.field-card-btn:hover{background:#64748b}.field-card-btn.edit{background:#1a73e8}.field-card-btn.edit:hover{background:#155fc4}.field-card-btn.danger{background:#ff4d4f}.field-card-btn.danger:hover{background:#e04345}@media(max-width:768px){.booking-wrap{padding:0 4px}.booking-steps{margin-bottom:20px}.booking-step-label{font-size:12px}.booking-step-line{width:30px;margin:0 6px}.booking-group{padding:14px}.booking-actions{flex-direction:column}.booking-btn{padding:12px}.booking-radio-group{flex-direction:column;gap:8px}.booking-options{gap:8px}.booking-opt{padding:6px 12px;font-size:12px}.booking-layout{grid-template-columns:1fr}.booking-fee-panel{width:100%;position:static}}