:root{--ink:#18313d;--muted:#6c7d86;--line:#d9e7ec;--paper:#f4fafc;--panel:#fff;--blue:#0d83a3;--blue2:#35b9d1;--green:#219b68;--yellow:#f4b73b;--red:#db5c57;--shadow:0 14px 35px rgba(28,75,92,.12)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.customer-header{height:72px;background:#103747;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px max(18px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:20;box-shadow:0 8px 24px rgba(12,52,68,.18)}.brand-link{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.brand-link img{width:50px;height:50px;border-radius:50%;object-fit:cover}.brand-link strong,.brand-link small{display:block}.brand-link small{color:#b9d8e2}.staff-link{color:#d8eef4;text-decoration:none;border:1px solid rgba(255,255,255,.23);padding:8px 12px;border-radius:10px;font-size:13px;font-weight:800}.booking-shell{width:min(1240px,calc(100% - 28px));margin:22px auto 48px}.customer-hero{height:235px;border-radius:24px;overflow:hidden;position:relative;box-shadow:var(--shadow);margin-bottom:18px;background:#0d83a3}.customer-hero img{width:100%;height:100%;object-fit:cover}.customer-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,49,66,.82),rgba(8,49,66,.13) 67%,transparent)}.customer-hero>div{position:absolute;z-index:2;left:34px;top:50%;transform:translateY(-50%);max-width:520px;color:#fff}.customer-hero h1{font-size:clamp(29px,4vw,48px);margin:0 0 10px}.customer-hero p{font-size:16px;line-height:1.55;margin:0}.notice-card,.step-card,.order-summary,.success-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.notice-card{padding:22px;text-align:center;color:var(--muted)}.notice-card.error{color:#9f3025;background:#fff6f5;border-color:#efc2bd}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.booking-main{display:grid;gap:16px}.step-card{padding:20px}.step-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.step-head>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e3f5f8;color:#116f82;font-weight:900;flex:none}.step-head h2,.step-head p{margin:0}.step-head h2{font-size:19px}.step-head p{font-size:12px;color:var(--muted);margin-top:3px}.field-grid{display:grid;gap:12px;margin-bottom:12px}.field-grid.two{grid-template-columns:1fr 1fr}.field-grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:6px;font-weight:800;font-size:13px;color:#3e5965}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(53,185,209,.13)}.gps-box{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border:1px dashed #9ccfd9;border-radius:14px;background:#f2fbfd}.gps-box strong,.gps-box small{display:block}.gps-box small{color:var(--muted);margin-top:3px}.maps-link{display:inline-block;margin-top:10px;color:var(--blue);font-weight:800}.btn{border:1px solid var(--line);border-radius:12px;min-height:43px;padding:0 16px;background:#fff;color:var(--ink);font-weight:900}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.secondary{background:#e9f7fa;border-color:#b9e1e9;color:#136b7e}.btn.full{width:100%}.btn.big{min-height:56px;font-size:17px}.choice-grid{display:grid;gap:10px}.choice-grid.services{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.products{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.addons{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:13px}.choice-grid.delivery{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px;text-align:left;min-height:96px;color:var(--ink)}.choice-card strong,.choice-card span,.choice-card em{display:block}.choice-card .icon{font-size:24px;margin-bottom:7px}.choice-card span{font-size:12px;color:var(--muted);margin-top:4px}.choice-card em{font-size:12px;color:var(--blue);font-style:normal;font-weight:900;margin-top:7px}.choice-card.selected{border-color:var(--blue);background:#eaf8fb;box-shadow:0 0 0 2px rgba(13,131,163,.1)}.choice-card:disabled{opacity:.55;cursor:not-allowed}.quantity-box{display:grid;grid-template-columns:52px 52px 1fr 52px 52px;gap:8px;align-items:center;margin-top:15px}.quantity-box button{height:48px;border:1px solid var(--line);border-radius:12px;background:#f9fcfd;font-weight:900}.quantity-box div{text-align:center}.quantity-box strong{font-size:29px}.quantity-box span{margin-left:5px;color:var(--muted)}.product-section+.product-section{margin-top:19px}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-label h3{margin:0;font-size:16px}.section-label span{font-size:11px;color:var(--muted)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.upload-card{border:1px dashed #9ccfd9;border-radius:15px;padding:14px;background:#f7fcfd;min-height:125px}.upload-card>span,.upload-card>small{display:block}.upload-card>small{font-weight:500;color:var(--muted);margin:4px 0 10px}.upload-card input{padding:8px;background:#fff}.upload-card.compact{min-height:auto}.preview{width:100%;max-height:220px;object-fit:cover;border-radius:12px;margin-top:10px;border:1px solid var(--line)}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.preview-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.gcash-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}.gcash-image{width:100%;border-radius:18px;border:1px solid #c7dff8;box-shadow:0 9px 25px rgba(0,94,210,.15)}.payment-fields{display:grid;gap:14px}.payment-total{background:#eaf8fb;border-radius:14px;padding:16px}.payment-total span,.payment-total strong{display:block}.payment-total span{color:var(--muted);font-size:12px}.payment-total strong{font-size:32px;color:var(--blue);margin-top:4px}.check-line{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:600;line-height:1.5}.check-line input{width:20px;height:20px;margin-top:2px}.order-summary{padding:20px;position:sticky;top:90px}.summary-logo{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.summary-logo img{width:52px;height:52px;border-radius:50%;object-fit:cover}.summary-logo strong,.summary-logo span{display:block}.summary-logo span{font-size:12px;color:var(--muted)}.summary-lines{display:grid;gap:10px}.summary-lines>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.summary-lines span{color:var(--muted);font-size:13px}.summary-lines strong{text-align:right;font-size:13px}.grand-total{display:flex;justify-content:space-between;align-items:center;margin:19px 0 8px}.grand-total strong{font-size:32px;color:var(--blue)}.formula{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 16px}.submit-status{text-align:center;margin-top:10px;font-size:12px;color:var(--muted);min-height:18px}.success-card{max-width:600px;margin:30px auto;text-align:center;padding:38px}.success-card img{width:110px;height:110px;border-radius:50%;object-fit:cover}.success-card h2{font-size:30px;margin:13px 0 8px}.success-total{background:#eaf8fb;padding:14px;border-radius:13px;margin:18px 0}.toast{position:fixed;right:20px;bottom:20px;background:#173d4c;color:#fff;border-radius:12px;padding:12px 15px;box-shadow:var(--shadow);z-index:50;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}footer{text-align:center;color:var(--muted);font-size:12px;padding:24px}@media(max-width:980px){.booking-layout{grid-template-columns:1fr}.order-summary{position:static}.choice-grid.services,.choice-grid.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.customer-header{padding:10px 14px}.staff-link{font-size:0}.staff-link:after{content:'Staff';font-size:12px}.booking-shell{width:min(100% - 18px,1240px);margin-top:10px}.customer-hero{height:210px}.customer-hero>div{left:20px;right:20px}.customer-hero:after{background:rgba(8,49,66,.66)}.customer-hero img{object-position:center}.step-card,.order-summary{padding:15px}.field-grid.two,.field-grid.three,.upload-grid,.gcash-layout{grid-template-columns:1fr}.choice-grid.services,.choice-grid.products,.choice-grid.addons,.choice-grid.delivery{grid-template-columns:1fr 1fr}.quantity-box{grid-template-columns:44px 44px 1fr 44px 44px}.gcash-image{max-width:320px;margin:auto}.gps-box{align-items:stretch;flex-direction:column}.section-label{align-items:flex-start;flex-direction:column;gap:3px}}@media(max-width:440px){.choice-grid.services,.choice-grid.products,.choice-grid.addons,.choice-grid.delivery{grid-template-columns:1fr}.preview-grid{grid-template-columns:repeat(2,1fr)}}

.delivery-note{margin:.4rem 0 0;color:#a45b00;font-size:.78rem;line-height:1.35}.choice-card em{line-height:1.25}

.lalamove-reference{margin-top:14px;padding:16px;border:1px solid #f0c77c;border-radius:15px;background:#fff9ec;display:flex;justify-content:space-between;gap:16px;align-items:center}.lalamove-reference strong,.lalamove-reference p,.lalamove-reference small{display:block}.lalamove-reference p{margin:5px 0;font-weight:800}.lalamove-reference small{color:#8a5c10;line-height:1.4}.lalamove-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.lalamove-actions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.success-actions{display:grid;gap:10px}.messenger-btn{background:#168aff!important;border-color:#168aff!important;color:#fff!important;text-decoration:none;display:flex;align-items:center;justify-content:center}.sms-confirmation-status{font-size:13px;color:var(--muted);min-height:20px}.sms-confirmation-status.success{color:var(--green);font-weight:800}.sms-confirmation-status.warn{color:#a45b00}.customer-header{justify-content:flex-start}@media(max-width:700px){.lalamove-reference{align-items:stretch;flex-direction:column}.lalamove-actions{justify-content:stretch}.lalamove-actions>*{width:100%}}

.floating-messenger{position:fixed;right:18px;bottom:78px;z-index:45;background:#168aff;color:#fff;text-decoration:none;border-radius:999px;padding:12px 16px;font-weight:900;box-shadow:0 12px 30px rgba(22,138,255,.32);display:flex;gap:7px;align-items:center}.floating-messenger:hover{transform:translateY(-1px)}@media(max-width:520px){.floating-messenger span{display:none}.floating-messenger{width:52px;height:52px;padding:0;justify-content:center;font-size:22px}}

.full-service-card{border:2px solid #f4b73b;background:linear-gradient(135deg,#fff9df,#eefbff);position:relative}.full-service-card:before{content:'POPULAR';position:absolute;top:8px;right:8px;background:#f4b73b;color:#5c4300;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;letter-spacing:.05em}.full-service-card.selected{border-color:#e69d00;background:linear-gradient(135deg,#fff3bd,#e4f8fb);box-shadow:0 0 0 3px rgba(244,183,59,.2)}

.weight-notice{margin-top:13px;padding:13px 14px;border:1px solid #b9dfe7;border-left:4px solid var(--blue);border-radius:13px;background:#f1fbfd;color:#315563;line-height:1.45}.weight-notice strong,.weight-notice span{display:block}.weight-notice strong{color:#116f82;font-size:13px;margin-bottom:4px}.weight-notice span{font-size:12px}.summary-weight-note{margin:2px 0 0;padding:10px 11px;border-radius:11px;background:#f1fbfd;color:#315563;font-size:11px;line-height:1.45}.summary-weight-note strong{font-size:11px;color:#116f82}

/* v2.6.11 weight verification notice */
.weight-verification-notice{margin-top:14px;padding:14px 16px;border:1px solid #f0cf82;border-left:5px solid #e7a51b;border-radius:12px;background:#fff9e9;color:#59461b;line-height:1.5}
.weight-verification-notice strong{display:block;margin-bottom:5px;color:#3d2f0f;font-size:.95rem}
.weight-verification-notice p{margin:0;font-size:.86rem}
.summary-weight-notice{margin:14px 0 12px;padding:12px 13px;border-radius:10px}
.summary-weight-notice p{font-size:.78rem}

/* v2.7 repeat-customer quick fill */
.quick-fill-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:14px 15px;border:1px solid #9bdce7;border-radius:14px;background:linear-gradient(135deg,#effcff,#fffbea)}
.quick-fill-card strong,.quick-fill-card small{display:block}.quick-fill-card strong{color:#0b7088;font-size:15px}.quick-fill-card small{margin-top:4px;color:var(--muted);line-height:1.35}.quick-fill-actions{display:flex;gap:8px;flex-shrink:0}.quick-fill-actions .btn{white-space:nowrap}
@media(max-width:620px){.quick-fill-card{align-items:stretch;flex-direction:column}.quick-fill-actions{display:grid;grid-template-columns:1fr auto}.quick-fill-actions .btn{width:100%}}


/* v2.8 ticket-style multi-load booking */
.wizard-progress{position:sticky;top:64px;z-index:20;display:flex;gap:6px;padding:10px 12px;margin:0 auto 12px;max-width:1100px;overflow:auto;background:rgba(246,251,252,.96);backdrop-filter:blur(8px)}
.wizard-progress button{border:0;border-radius:999px;padding:8px 12px;background:#dcecf0;color:#345;font-weight:700;white-space:nowrap}
.wizard-progress button.active{background:#0d83a3;color:#fff}.wizard-progress button.done{background:#d8f5e7;color:#14633d}
.ticket-wizard .booking-main>.step-card.wizard-hidden{display:none!important}.wizard-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #dbe8eb}.wizard-nav .btn{min-width:120px}
.load-count-box{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:14px;border:1px solid #cde2e7;border-radius:16px;background:#f5fbfc;margin-bottom:14px}.load-count-box label{margin:0;min-width:180px}.load-tabs{display:flex;gap:8px;flex-wrap:wrap}.load-tab{border:1px solid #b7d7de;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800}.load-tab.active{background:#0d83a3;color:#fff;border-color:#0d83a3}.load-tab.complete:after{content:' ✓'}
.current-load-title{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px}.current-load-title strong{font-size:1.2rem}.current-load-title span{color:#64748b;font-size:.88rem}
.choice-card.disabled,.choice-card:disabled{opacity:.38;filter:grayscale(1);cursor:not-allowed}.mplace-only-note{color:#b45309;font-weight:700}.summary-load-list{display:grid;gap:6px;margin:8px 0}.summary-load-list div{display:flex;justify-content:space-between;font-size:.86rem;padding:7px 8px;background:#f4fafb;border-radius:8px}
@media(max-width:700px){.load-count-box{align-items:stretch;flex-direction:column}.wizard-progress{top:56px}.ticket-wizard .order-summary{position:static}.wizard-nav{position:sticky;bottom:0;background:#fff;padding:12px 0 6px}}


/* v2.9 per-load product/add-on context and restricted service areas */
.area-service-rule{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid #f0cf82;border-radius:13px;background:#fff8df;color:#624a0c}
.area-service-rule strong{white-space:nowrap}.area-service-rule span{font-size:.86rem;line-height:1.4}
.full-service-only-note{color:#b45309;font-weight:800}
.load-context-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:13px 14px;border:1px solid #b9dfe7;border-radius:14px;background:#f1fbfd}
.load-context-card strong,.load-context-card small{display:block}.load-context-card strong{font-size:1rem;color:#116f82}.load-context-card small{margin-top:3px;color:var(--muted);line-height:1.35}
.included-products-note{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#eef9f2;border:1px solid #b8e0c7;color:#1e6540;font-size:.86rem;line-height:1.45;font-weight:700}
.included-product{cursor:not-allowed!important}.full-service-products-disabled{background:#f3f5f6!important;border-color:#cbd5da!important}.full-service-products-disabled .step-head,.full-service-products-disabled .section-label,.full-service-products-disabled .product-section,.full-service-products-disabled .choice-grid.products{opacity:.48;filter:grayscale(1)}.full-service-products-disabled .choice-card{pointer-events:none}.full-service-products-disabled .included-products-note{opacity:1;filter:none;background:#eef1f2;border-color:#c7d0d4;color:#52616a}
.booking-level-divider{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px;padding-top:16px;border-top:1px solid var(--line)}
.booking-level-divider strong{font-size:.98rem}.booking-level-divider span{color:var(--muted);font-size:.8rem}
@media(max-width:700px){.load-context-card{align-items:stretch;flex-direction:column}.area-service-rule,.booking-level-divider{align-items:flex-start;flex-direction:column;gap:4px}}

/* v2.10.1 booking submission recovery */
.booking-alert{margin:0 0 14px;padding:14px 16px;border:1px solid #efb5b0;border-left:5px solid var(--red);border-radius:13px;background:#fff5f4;color:#8d2c25;font-weight:800;line-height:1.45;box-shadow:0 8px 24px rgba(164,50,40,.08)}
.submit-status.error{color:#a53028;font-weight:800;background:#fff5f4;border:1px solid #efc2bd;border-radius:10px;padding:10px}.submit-status.success{color:var(--green);font-weight:800}
input:invalid:focus,select:invalid:focus,textarea:invalid:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(219,92,87,.16)}
.wizard-next[data-final-submit="true"]{background:var(--green);border-color:var(--green)}

/* v2.8.2 weight and handwash controls */
.handwash-details{padding:14px;border:1px solid #dbe4f0;border-radius:14px;background:#f8fbff}.handwash-count-box{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0}.handwash-count-box button{width:48px;height:42px;border:1px solid #b8c7dc;border-radius:12px;background:#fff;font-weight:800;font-size:18px}.handwash-count-box div{min-width:92px;text-align:center}.handwash-count-box strong{display:block;font-size:24px}.handwash-count-box span{display:block;font-size:12px;color:#64748b}

/* v2.8.3 inventory-based extra product add-ons */
.extra-product-addons{padding:14px;border:1px solid #cfe3ea;border-radius:14px;background:#f7fcfd}.extra-product-addons label{margin:0}.extra-product-addons select{background:#fff}.extra-product-help{display:block;color:#64748b;line-height:1.45;margin-top:4px}.extra-product-addons select:disabled{background:#eef2f4;color:#94a3b8;cursor:not-allowed}


/* v2.8.6 inventory product photos */
.product-photo-card{display:flex!important;flex-direction:column;align-items:flex-start;gap:5px;overflow:hidden}
.product-visual{width:100%;height:96px;border-radius:11px;overflow:hidden;background:#eef5f7;border:1px solid #d5e4e8;display:grid;place-items:center;margin-bottom:4px}
.product-option-image{width:100%;height:100%;object-fit:cover;display:block}
.product-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#81939b;font-size:11px;font-weight:800;background:linear-gradient(135deg,#f4f8f9,#e7eff2)}
.selected-product-preview{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#f8fcfd;font-weight:600}
.selected-product-preview .product-visual{width:54px;height:54px;min-width:54px;margin:0}
.selected-product-preview strong,.selected-product-preview small{display:block}
.selected-product-preview small{margin-top:3px;color:var(--muted);font-weight:700}
@media(max-width:440px){.product-visual{height:120px}}
