:root{--laundry-ink:#1f2937;--laundry-muted:#667085;--laundry-line:#e5e7eb;--laundry-soft:#f7fbff;--laundry-blue:#2563eb;--laundry-teal:#0f766e;--laundry-gold:#d97706;--laundry-coral:#ef6f5e;--laundry-shadow:0 24px 70px rgba(15,23,42,.10)}
body.laundry-body{margin:0;background:radial-gradient(circle at 12% 0,#e8f7ff 0,#fff9f2 34%,#fff 74%,#f8fafc 100%);font-family:"Noto Sans TC",system-ui,sans-serif;color:var(--laundry-ink)}
.laundry-page{max-width:1400px;margin:0 auto;padding:34px 32px 70px}.laundry-back{display:inline-flex;align-items:center;text-decoration:none;color:#0f766e;font-weight:900;margin-bottom:18px}.laundry-alert{border-radius:20px;padding:14px 18px;margin:0 0 18px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:850}
.laundry-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.laundry-hero-card,.laundry-photo-card,.laundry-form,.laundry-side-card,.laundry-card,.laundry-provider-card,.laundry-detail-card{background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.22);border-radius:34px;box-shadow:var(--laundry-shadow);overflow:hidden}.laundry-hero-card{padding:42px}.laundry-eyebrow{display:inline-flex;gap:8px;align-items:center;background:#ecfeff;border:1px solid #a5f3fc;color:#0e7490;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:950;letter-spacing:.12em}.laundry-hero h1{font-family:"Noto Serif TC",serif;font-size:58px;line-height:1.04;letter-spacing:-.05em;margin:18px 0 16px;color:#111827}.laundry-hero p{color:#5b6472;font-size:17px;line-height:1.9;margin:0}.laundry-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.laundry-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 18px;font-weight:950;text-decoration:none;cursor:pointer}.laundry-btn.primary{background:linear-gradient(135deg,#40c4ff,#2563eb);color:white;box-shadow:0 14px 34px rgba(37,99,235,.24)}.laundry-btn.secondary{background:#fff;border:1px solid var(--laundry-line);color:#0f766e}.laundry-btn.danger{background:#fee2e2;color:#991b1b}.laundry-photo-card{position:relative;min-height:390px}.laundry-photo-card img{width:100%;height:100%;object-fit:cover;display:block}.laundry-photo-caption{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-radius:26px;padding:18px}.laundry-photo-caption span{font-size:12px;font-weight:950;color:#0f766e;letter-spacing:.12em}.laundry-photo-caption strong{display:block;font-size:24px;margin:6px 0 4px}.laundry-photo-caption small{color:#64748b;line-height:1.6}.laundry-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.laundry-stat-grid article,.laundry-summary-grid article{background:#fff;border:1px solid var(--laundry-line);border-radius:24px;padding:18px}.laundry-stat-grid span,.laundry-summary-grid span,.laundry-detail-card>span{display:block;font-size:12px;letter-spacing:.1em;color:#0f766e;font-weight:950}.laundry-stat-grid strong,.laundry-summary-grid strong{display:block;margin-top:5px;font-size:22px}.laundry-stat-grid small,.laundry-summary-grid small{display:block;margin-top:4px;color:#64748b;line-height:1.55}.laundry-tags{display:flex;flex-wrap:wrap;gap:10px}.laundry-tags span,.laundry-chip{display:inline-flex;border-radius:999px;background:#f0fdfa;color:#0f766e;border:1px solid #99f6e4;padding:8px 11px;font-weight:900}.laundry-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;margin-top:24px;align-items:start}.laundry-form{padding:28px}.laundry-section{border-top:1px solid var(--laundry-line);padding-top:24px;margin-top:24px}.laundry-section:first-child{border-top:0;padding-top:0;margin-top:0}.laundry-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.laundry-section-title span{font-weight:950;color:#0f766e;letter-spacing:.12em;font-size:12px}.laundry-section-title h2,.laundry-section-title h3{margin:0;font-size:28px;font-weight:950}.laundry-section-title p{margin:0;color:#64748b}.laundry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.laundry-grid label,.laundry-full-label{display:grid;gap:8px;font-weight:900;color:#344054}.laundry-grid input,.laundry-grid select,.laundry-full-label textarea,.laundry-full-label input{width:100%;border:1px solid #d0d5dd;border-radius:18px;padding:13px 14px;font:inherit;background:#fff;color:#111827}.laundry-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.laundry-choice-grid label{border:1px solid var(--laundry-line);border-radius:22px;background:#fff;padding:16px;cursor:pointer;display:grid;gap:6px}.laundry-choice-grid input{accent-color:#2563eb}.laundry-choice-grid b{font-size:17px}.laundry-choice-grid small{color:#64748b;line-height:1.55}.laundry-checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.laundry-checkbox-grid label{background:#f8fafc;border:1px solid var(--laundry-line);border-radius:18px;padding:12px;font-weight:850}.laundry-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#ecfeff,#eff6ff);border:1px solid #bfdbfe;border-radius:26px;padding:18px;margin-top:22px}.laundry-submit span{display:block;font-size:12px;color:#0f766e;font-weight:950;letter-spacing:.1em}.laundry-submit strong{display:block;font-size:26px}.laundry-submit small{display:block;color:#64748b}.laundry-side{display:grid;gap:16px;position:sticky;top:20px}.laundry-side-card{padding:22px}.laundry-side-card h3{margin:6px 0 10px;font-size:24px;font-weight:950}.laundry-side-card p{color:#64748b;line-height:1.75}.laundry-flow{display:grid;gap:12px;padding:0;margin:0;list-style:none}.laundry-flow li{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:start}.laundry-flow b{display:grid;place-items:center;background:#ecfeff;color:#0f766e;border-radius:16px;height:42px}.laundry-flow span{font-weight:950}.laundry-flow small{display:block;color:#64748b;line-height:1.45}.laundry-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.laundry-progress{height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin:16px 0}.laundry-progress span{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#2563eb);border-radius:999px}.laundry-step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 24px}.laundry-step-row article{border-radius:20px;border:1px solid var(--laundry-line);background:#fff;padding:14px}.laundry-step-row b{display:block;color:#0f766e}.laundry-step-row .done{border-color:#bbf7d0;background:#f0fdf4}.laundry-step-row .current{border-color:#bfdbfe;background:#eff6ff}.laundry-content-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 16px}.laundry-content-head h2{margin:0;font-size:36px;font-weight:950}.laundry-content-head p{margin:0;color:#64748b}.laundry-provider-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.laundry-provider-card{padding:20px}.laundry-provider-top{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}.laundry-provider-top img{width:96px;height:96px;object-fit:cover;border-radius:24px}.laundry-provider-top h3{margin:0;font-size:24px;font-weight:950}.laundry-provider-top p{margin:6px 0 0;color:#64748b;line-height:1.6}.provider-pill{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950}.provider-pill.recommended{background:#dcfce7;color:#15803d}.provider-pill.need-info{background:#fff7ed;color:#9a3412}.provider-pill.normal{background:#eef2ff;color:#3730a3}.laundry-provider-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.laundry-provider-facts article{background:#f8fafc;border:1px solid var(--laundry-line);border-radius:18px;padding:12px}.laundry-provider-facts span{font-size:12px;color:#64748b;font-weight:900}.laundry-provider-facts b{display:block;margin-top:4px}.laundry-provider-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--laundry-line);padding-top:14px}.laundry-sort-tabs{display:flex;gap:10px;flex-wrap:wrap}.laundry-sort-tabs a{text-decoration:none;border:1px solid var(--laundry-line);background:#fff;border-radius:999px;padding:10px 13px;color:#475467;font-weight:900}.laundry-sort-tabs a.active{background:#2563eb;color:#fff}.laundry-detail-layout{display:grid;grid-template-columns:1fr 360px;gap:22px;margin-top:22px}.laundry-detail-card{padding:24px}.laundry-detail-card h2,.laundry-detail-card h3{margin:6px 0 12px;font-size:30px;font-weight:950}.laundry-detail-card p{color:#64748b;line-height:1.8}.laundry-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.laundry-list li{background:#f8fafc;border:1px solid var(--laundry-line);border-radius:18px;padding:12px;color:#475467;font-weight:850}.laundry-note-box{background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;border-radius:22px;padding:16px;line-height:1.7;font-weight:850}.laundry-alert-row{display:grid;gap:12px}.laundry-alert-row article{border:1px solid var(--laundry-line);border-radius:20px;background:#fff;padding:16px}.laundry-alert-row b{display:block}.laundry-alert-row span{color:#64748b;line-height:1.6}.laundry-status-badge{display:inline-flex;border-radius:999px;padding:9px 13px;font-weight:950}.laundry-status-badge.matching{background:#eff6ff;color:#1d4ed8}.laundry-status-badge.confirmed{background:#dcfce7;color:#15803d}.laundry-status-badge.service{background:#fef3c7;color:#92400e}.laundry-status-badge.done{background:#ecfdf5;color:#047857}.laundry-status-badge.cancelled{background:#fee2e2;color:#b91c1c}.laundry-empty{padding:34px;border:1px dashed #cbd5e1;background:#fff;border-radius:24px;text-align:center;color:#64748b}.laundry-mobile-only{display:none}@media(max-width:1100px){.laundry-hero,.laundry-layout,.laundry-detail-layout{grid-template-columns:1fr}.laundry-side{position:static}.laundry-provider-grid{grid-template-columns:1fr}.laundry-summary-grid,.laundry-stat-grid,.laundry-step-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.laundry-page{padding:22px 16px 46px}.laundry-hero h1{font-size:38px}.laundry-grid,.laundry-choice-grid,.laundry-checkbox-grid,.laundry-summary-grid,.laundry-stat-grid,.laundry-step-row,.laundry-provider-facts{grid-template-columns:1fr}.laundry-submit,.laundry-content-head{align-items:flex-start;flex-direction:column}.laundry-btn{width:100%}.laundry-provider-top{grid-template-columns:1fr}.laundry-provider-top img{width:100%;height:200px}.laundry-photo-card{min-height:280px}}

/* Stage 583: researched pickup-and-delivery matching page */
.laundry-match-page{background:radial-gradient(circle at top left,rgba(219,234,254,.95),transparent 34%),radial-gradient(circle at 88% 12%,rgba(254,243,199,.9),transparent 30%),linear-gradient(180deg,#fff7ed 0%,#f8fafc 50%,#eff6ff 100%)}
.laundry-match-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:22px;align-items:stretch;margin-bottom:18px}.laundry-match-copy,.laundry-live-card{background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.28);border-radius:34px;box-shadow:var(--laundry-shadow);padding:34px;overflow:hidden}.laundry-match-copy{position:relative;min-height:330px}.laundry-match-copy:after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;border-radius:999px;background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(15,118,110,.14));pointer-events:none}.laundry-match-copy h1{font-family:"Noto Serif TC",serif;font-size:58px;line-height:1.04;letter-spacing:-.05em;margin:18px 0 16px;color:#101828;max-width:780px}.laundry-match-copy p{font-size:18px;line-height:1.9;color:#475467;max-width:780px;margin:0}.laundry-match-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.laundry-live-card{background:linear-gradient(145deg,#0f172a,#155e75);color:#fff;display:grid;align-content:space-between}.laundry-live-top span{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:950;letter-spacing:.1em}.laundry-live-top strong{display:block;font-size:34px;line-height:1.15;margin:18px 0 8px}.laundry-live-top small{display:block;color:rgba(255,255,255,.72);line-height:1.65}.laundry-route-box{display:grid;gap:12px;margin-top:28px}.laundry-route-box div{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:13px}.laundry-route-box b{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:#ecfeff;color:#0f766e}.laundry-route-box span{font-weight:950}.laundry-research-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 24px}.laundry-research-strip article{background:rgba(255,255,255,.86);border:1px solid rgba(148,163,184,.25);border-radius:24px;padding:18px;box-shadow:0 16px 35px rgba(15,23,42,.06)}.laundry-research-strip b{display:block;font-size:18px;color:#0f766e}.laundry-research-strip span{display:block;margin-top:6px;color:#64748b;line-height:1.55}.laundry-form-head{border-radius:28px;background:linear-gradient(135deg,#ecfeff,#fff7ed);border:1px solid #bae6fd;padding:24px;margin-bottom:20px}.laundry-form-head h2{font-family:"Noto Serif TC",serif;font-size:42px;letter-spacing:-.04em;margin:14px 0 8px}.laundry-form-head p{margin:0;color:#64748b;line-height:1.75}.laundry-match-form .laundry-section{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:28px;padding:22px;margin-top:18px}.laundry-match-form .laundry-section:first-of-type{margin-top:0}.laundry-choice-grid-compact{grid-template-columns:repeat(2,1fr)}.laundry-choice-grid-compact label{position:relative;padding:18px 18px 18px 48px}.laundry-choice-grid-compact input{position:absolute;left:18px;top:22px}.laundry-item-grid label{display:flex;align-items:center;gap:8px}.laundry-item-grid span{font-weight:900}.laundry-submit-xl{padding:24px}.laundry-submit-xl strong{font-size:30px}.laundry-side-score{background:linear-gradient(180deg,#fff,#ecfeff)}.laundry-factor-list{display:grid;gap:12px;margin-top:16px}.laundry-factor-list article{display:grid;grid-template-columns:46px 1fr;gap:12px;border:1px solid var(--laundry-line);background:#fff;border-radius:20px;padding:13px}.laundry-factor-list b{display:grid;place-items:center;border-radius:16px;background:#0f766e;color:#fff;height:42px}.laundry-factor-list strong{display:block;color:#101828}.laundry-factor-list span{display:block;color:#64748b;line-height:1.45;margin-top:3px}.laundry-price-stack{display:grid;gap:10px}.laundry-price-stack article{border:1px solid var(--laundry-line);border-radius:20px;background:#fff;padding:14px}.laundry-price-stack span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.1em}.laundry-price-stack strong{display:block;font-size:22px;margin-top:5px}.laundry-price-stack small{display:block;color:#64748b;line-height:1.5;margin-top:4px}.laundry-tip-list li{position:relative;padding-left:34px}.laundry-tip-list li:before{content:"✓";position:absolute;left:12px;top:12px;color:#0f766e;font-weight:950}.laundry-full-label input{width:100%;border:1px solid #d0d5dd;border-radius:18px;padding:13px 14px;font:inherit;background:#fff;color:#111827}.laundry-grid select:focus,.laundry-grid input:focus,.laundry-full-label textarea:focus,.laundry-full-label input:focus{outline:3px solid rgba(14,165,233,.18);border-color:#38bdf8}.laundry-checkbox-grid input,.laundry-choice-grid input{transform:translateY(1px)}
@media(max-width:1100px){.laundry-match-hero{grid-template-columns:1fr}.laundry-research-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.laundry-match-copy,.laundry-live-card{padding:24px;border-radius:28px}.laundry-match-copy h1{font-size:38px}.laundry-research-strip,.laundry-choice-grid-compact{grid-template-columns:1fr}.laundry-match-actions .laundry-btn{width:100%}.laundry-live-top strong{font-size:27px}.laundry-form-head h2{font-size:32px}.laundry-match-form .laundry-section{padding:18px;border-radius:22px}}

/* Stage 612E: self-service laundromat runner matching page */
.laundry-runner-page{background:radial-gradient(circle at 6% 4%,rgba(204,251,241,.85),transparent 28%),radial-gradient(circle at 92% 10%,rgba(255,237,213,.95),transparent 32%),linear-gradient(180deg,#fff7ed 0%,#f8fafc 48%,#ecfeff 100%)}
.laundry-runner-hero .laundry-match-copy{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,254,255,.9));border-color:rgba(20,184,166,.22)}
.laundry-runner-hero .laundry-match-copy h1{max-width:880px}
.laundry-runner-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.laundry-runner-badges span{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid #99f6e4;color:#0f766e;padding:9px 13px;font-weight:950;box-shadow:0 10px 24px rgba(15,118,110,.08)}
.laundry-runner-live{background:linear-gradient(145deg,#042f2e,#0f766e 48%,#155e75)}.laundry-route-box-6{grid-template-columns:repeat(2,1fr)}.laundry-route-box-6 div{min-height:72px}.laundry-runner-strip article:first-child{background:#ecfeff}.laundry-runner-flow-card{display:grid;grid-template-columns:420px 1fr;gap:18px;align-items:center;background:rgba(255,255,255,.9);border:1px solid rgba(148,163,184,.24);border-radius:30px;padding:24px;box-shadow:0 18px 50px rgba(15,23,42,.07);margin:0 0 24px}.laundry-runner-flow-card h2{font-family:"Noto Serif TC",serif;font-size:36px;line-height:1.2;letter-spacing:-.04em;margin:14px 0 8px}.laundry-runner-flow-card p{margin:0;color:#64748b;line-height:1.75}.laundry-runner-mini-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.laundry-runner-mini-flow article{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--laundry-line);border-radius:22px;padding:16px;min-height:118px}.laundry-runner-mini-flow b{display:inline-flex;background:#0f766e;color:white;border-radius:999px;padding:7px 10px;font-size:13px}.laundry-runner-mini-flow span{display:block;margin-top:12px;color:#475467;line-height:1.55;font-weight:900}.laundry-task-grid label{display:flex;align-items:center;gap:9px}.laundry-task-grid span{font-weight:900}.laundry-laundry-type-grid label{min-height:118px}.laundry-standalone-input{width:100%;border:1px solid #d0d5dd;border-radius:18px;padding:13px 14px;font:inherit;background:#fff;color:#111827}.laundry-runner-warning{display:grid;gap:6px;background:#fff7ed;border:1px solid #fed7aa;border-radius:22px;padding:16px}.laundry-runner-warning b{color:#9a3412}.laundry-runner-warning span{color:#7c2d12;line-height:1.7;font-weight:800}.laundry-pro360-card{background:linear-gradient(180deg,#fff,#fff7ed)}
@media(max-width:1100px){.laundry-runner-flow-card{grid-template-columns:1fr}.laundry-runner-mini-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.laundry-route-box-6,.laundry-runner-mini-flow{grid-template-columns:1fr}.laundry-runner-flow-card{padding:18px;border-radius:24px}.laundry-runner-flow-card h2{font-size:30px}.laundry-runner-badges span{width:100%;justify-content:center}}

/* Stage 612F: laundromat online search block */
.laundry-online-search-card{display:grid;gap:16px;background:linear-gradient(135deg,#eff6ff,#ecfeff 58%,#fff7ed);border:1px solid rgba(14,165,233,.28);border-radius:26px;padding:20px;box-shadow:0 16px 38px rgba(15,23,42,.06)}
.laundry-online-copy h4{font-size:25px;font-weight:950;margin:12px 0 6px;color:#101828}.laundry-online-copy p{margin:0;color:#64748b;line-height:1.75;font-weight:800}.laundry-online-actions{display:flex;flex-wrap:wrap;gap:10px}.laundry-online-actions .laundry-btn{padding:12px 15px}.laundry-online-note{background:rgba(255,255,255,.85);border:1px solid rgba(148,163,184,.24);border-radius:18px;padding:13px;color:#475467;line-height:1.65;font-weight:850}.laundry-online-note b{color:#0f766e}.laundry-online-side-card{background:linear-gradient(180deg,#eff6ff,#fff)}
@media(max-width:760px){.laundry-online-actions .laundry-btn{width:100%}.laundry-online-search-card{padding:16px;border-radius:22px}.laundry-online-copy h4{font-size:22px}}

/* Stage 612G: cleaner laundromat online-search helper */
.laundry-runner-page .laundry-section-title h3{letter-spacing:-.02em}
.laundry-standalone-input{border:1px solid #d0d5dd!important;box-shadow:none!important;outline:0}
.laundry-standalone-input:focus{border-color:#38bdf8!important;box-shadow:0 0 0 4px rgba(14,165,233,.14)!important;outline:0!important}
.laundry-online-search-panel{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.045)}
.laundry-search-helper-main{display:grid;gap:12px;min-width:0}.laundry-search-helper-top{display:flex;align-items:flex-start;gap:12px}.laundry-search-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:950;letter-spacing:.08em}.laundry-search-helper-top h4{margin:1px 0 5px;color:#101828;font-size:20px;font-weight:950;letter-spacing:-.02em}.laundry-search-helper-top p{margin:0;color:#667085;line-height:1.6;font-size:14px;font-weight:750}.laundry-search-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.laundry-search-steps article{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #eef2f7;border-radius:15px;padding:10px 11px}.laundry-search-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:9px;background:#0f766e;color:#fff;font-size:12px;font-weight:950}.laundry-search-steps span{color:#344054;font-weight:900;font-size:13px;line-height:1.25}.laundry-online-toolbox{display:grid;gap:8px;background:#f8fafc;border:1px solid #eef2f7;border-radius:18px;padding:12px}.laundry-online-toolbox small{color:#667085;font-weight:950;letter-spacing:.08em}.laundry-search-btn{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:13px;padding:8px 10px;text-decoration:none;font-weight:950;font-size:14px;line-height:1;background:#fff;border:1px solid #d0d5dd;color:#344054;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.laundry-search-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08);border-color:#94a3b8}.laundry-search-btn.map{background:#ecfeff;border-color:#99f6e4;color:#0f766e}.laundry-search-btn.google{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.laundry-search-btn.pro360{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.laundry-online-note-soft{grid-column:1/-1;background:#fafafa;border:1px dashed #cbd5e1;border-radius:16px;padding:11px 13px;color:#475467;line-height:1.6;font-size:14px;font-weight:800}.laundry-online-note-soft b{color:#0f766e}.laundry-online-side-card{background:#fff;border-color:#e5e7eb}.laundry-online-search-card{background:#fff;border-color:#e5e7eb;box-shadow:0 12px 28px rgba(15,23,42,.045)}
@media(max-width:900px){.laundry-online-search-panel{grid-template-columns:1fr}.laundry-search-steps{grid-template-columns:1fr}.laundry-online-toolbox{grid-template-columns:1fr 1fr 1fr}.laundry-online-toolbox small{grid-column:1/-1}}
@media(max-width:760px){.laundry-online-search-panel{padding:14px;border-radius:18px}.laundry-online-toolbox{grid-template-columns:1fr}.laundry-search-helper-top{display:grid}.laundry-search-helper-top h4{font-size:18px}}

/* Stage 613: member laundromat runner list */
.laundry-stage613-body{background:radial-gradient(circle at 8% 4%,rgba(204,251,241,.78),transparent 27%),radial-gradient(circle at 96% 8%,rgba(255,237,213,.9),transparent 30%),linear-gradient(180deg,#fff7ed 0%,#f8fafc 44%,#eefcff 100%)}
.laundry-stage613-page{max-width:1440px}.runner-list-hero{display:grid;grid-template-columns:minmax(0,1.05fr) 430px;gap:20px;align-items:stretch}.runner-list-copy,.runner-recommended-card,.runner-side-card,.runner-card{background:rgba(255,255,255,.94);border:1px solid rgba(148,163,184,.24);box-shadow:0 24px 70px rgba(15,23,42,.09);border-radius:32px}.runner-list-copy{padding:40px}.runner-list-copy h1{font-family:"Noto Serif TC",serif;font-size:56px;line-height:1.05;letter-spacing:-.05em;margin:18px 0 14px;color:#101828}.runner-list-copy p{color:#667085;font-size:17px;line-height:1.85;margin:0}.runner-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.runner-hero-actions span{display:inline-flex;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;color:#344054;padding:9px 13px;font-weight:950}.runner-hero-actions span:first-child{background:#f0fdfa;border-color:#99f6e4;color:#0f766e}.runner-recommended-card{padding:22px;display:grid;gap:18px;background:linear-gradient(145deg,#ffffff,#ecfeff)}.runner-recommended-top{display:grid;grid-template-columns:98px 1fr;gap:14px;align-items:center}.runner-recommended-top img{width:98px;height:98px;object-fit:cover;border-radius:25px}.runner-recommended-top span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.runner-recommended-top strong{display:block;font-size:26px;font-weight:950;margin:6px 0 4px;line-height:1.25}.runner-recommended-top small{color:#667085;line-height:1.45}.runner-score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.runner-score-row article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:13px}.runner-score-row b{display:block;font-size:20px;color:#101828}.runner-score-row span{display:block;margin-top:4px;color:#667085;font-size:12px;font-weight:950}.runner-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.runner-summary-grid article{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.04)}.runner-summary-grid span,.runner-list-head span,.runner-side-card>span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.runner-summary-grid strong{display:block;font-size:22px;margin-top:6px}.runner-summary-grid small{display:block;color:#667085;line-height:1.55;margin-top:5px}.runner-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.runner-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 16px}.runner-list-head h2{font-size:36px;font-weight:950;letter-spacing:-.03em;margin:4px 0 4px}.runner-list-head p{margin:0;color:#667085}.runner-card-list{display:grid;gap:16px}.runner-card{padding:18px}.runner-card-main{display:grid;grid-template-columns:118px minmax(0,1fr) 250px;gap:16px;align-items:start}.runner-avatar-wrap{display:grid;gap:9px}.runner-avatar-wrap img{width:118px;height:118px;object-fit:cover;border-radius:28px}.runner-card-info h3{font-size:25px;font-weight:950;margin:2px 0 6px}.runner-card-info p{margin:0;color:#667085;line-height:1.55}.runner-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.runner-tag-row span{display:inline-flex;border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900}.runner-price-box{background:linear-gradient(180deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:22px;padding:16px}.runner-price-box span{display:block;color:#9a3412;font-size:12px;font-weight:950;letter-spacing:.08em}.runner-price-box strong{display:block;font-size:20px;line-height:1.35;margin:5px 0;color:#101828}.runner-price-box small{display:block;color:#667085;line-height:1.45}.runner-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.runner-metric-grid article{background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:12px;min-height:78px}.runner-metric-grid span{display:block;color:#667085;font-size:12px;font-weight:950}.runner-metric-grid b{display:block;margin-top:5px;color:#101828;line-height:1.35}.runner-reply-note{border-top:1px solid #e5e7eb;margin:16px 0 0;padding-top:14px;color:#475467;line-height:1.75;font-weight:760}.runner-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.runner-list-side{display:grid;gap:16px;position:sticky;top:22px}.runner-side-card{padding:20px}.runner-side-primary{background:linear-gradient(180deg,#ffffff,#ecfeff)}.runner-side-card h3{font-size:25px;font-weight:950;line-height:1.35;margin:8px 0 8px}.runner-side-card p{color:#667085;line-height:1.75;margin:0}.runner-note-stack{display:grid;gap:10px;margin-top:12px}.runner-note-stack article{background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:13px}.runner-note-stack b{display:inline-flex;min-width:38px;justify-content:center;border-radius:999px;background:#0f766e;color:#fff;padding:5px 9px;font-size:12px}.runner-note-stack strong{display:block;margin-top:9px;color:#101828}.runner-note-stack small{display:block;color:#667085;line-height:1.5;margin-top:4px}.runner-check-list li{padding-left:34px;position:relative}.runner-check-list li:before{content:"✓";position:absolute;left:13px;color:#0f766e;font-weight:950}.runner-card .laundry-btn{padding:12px 16px}.runner-card .laundry-btn.secondary{color:#0f766e}.runner-card .provider-pill{justify-content:center}.runner-card .provider-pill.recommended{background:#dcfce7;color:#15803d}.runner-card .provider-pill.need-info{background:#fff7ed;color:#9a3412}.runner-card .provider-pill.normal{background:#eef2ff;color:#3730a3}
@media(max-width:1160px){.runner-list-hero,.runner-main-layout{grid-template-columns:1fr}.runner-list-side{position:static}.runner-card-main{grid-template-columns:104px minmax(0,1fr)}.runner-price-box{grid-column:1/-1}.runner-metric-grid{grid-template-columns:repeat(2,1fr)}.runner-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.runner-list-copy,.runner-recommended-card,.runner-side-card,.runner-card{border-radius:24px}.runner-list-copy{padding:24px}.runner-list-copy h1{font-size:39px}.runner-list-head{display:grid}.runner-summary-grid,.runner-score-row,.runner-metric-grid{grid-template-columns:1fr}.runner-card-main{grid-template-columns:1fr}.runner-avatar-wrap{display:flex;align-items:center;gap:10px}.runner-avatar-wrap img{width:86px;height:86px;border-radius:22px}.runner-card-actions .laundry-btn{width:100%}.runner-recommended-top{grid-template-columns:78px 1fr}.runner-recommended-top img{width:78px;height:78px;border-radius:20px}}

/* Stage 614: member laundromat runner detail */
.laundry-stage614-body{background:radial-gradient(circle at 8% 2%,rgba(236,254,255,.9),transparent 28%),radial-gradient(circle at 92% 4%,rgba(255,247,237,.94),transparent 34%),linear-gradient(180deg,#fffaf5 0%,#f8fafc 45%,#eefcff 100%)}
.laundry-stage614-page{max-width:1440px}.runner-detail-hero{display:grid;grid-template-columns:430px minmax(0,1fr);gap:22px;align-items:stretch}.runner-detail-photo-card,.runner-detail-copy,.runner-detail-card,.runner-detail-profile-grid article,.runner-detail-side .runner-side-card,.runner-other-section,.runner-other-grid article{background:rgba(255,255,255,.95);border:1px solid rgba(148,163,184,.24);border-radius:32px;box-shadow:0 24px 70px rgba(15,23,42,.09)}
.runner-detail-photo-card{overflow:hidden;position:relative;min-height:430px}.runner-detail-photo-card img{width:100%;height:100%;object-fit:cover;display:block}.runner-detail-badge-row{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(14px);border-radius:24px;padding:14px}.runner-detail-badge-row>span:last-child{font-weight:950;color:#101828}.runner-detail-copy{padding:38px}.runner-detail-copy h1{font-family:"Noto Serif TC",serif;font-size:54px;line-height:1.05;letter-spacing:-.05em;margin:18px 0 14px;color:#101828}.runner-detail-copy>p{font-size:17px;line-height:1.9;color:#667085;margin:0}.runner-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.runner-detail-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.runner-detail-mini-grid article,.runner-info-grid article,.runner-laundromat-list article,.runner-price-list article,.runner-photo-rule-grid article{background:#f8fafc;border:1px solid #edf2f7;border-radius:20px;padding:14px}.runner-detail-mini-grid span,.runner-detail-profile-grid span,.runner-section-title span,.runner-price-list span,.runner-laundromat-list span,.runner-side-card>span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.runner-detail-mini-grid strong,.runner-detail-profile-grid strong,.runner-info-grid strong,.runner-laundromat-list strong,.runner-price-list strong,.runner-photo-rule-grid strong{display:block;margin-top:5px;color:#101828;font-weight:950;line-height:1.35}.runner-detail-mini-grid small,.runner-detail-profile-grid small,.runner-info-grid small,.runner-laundromat-list small,.runner-price-list small,.runner-photo-rule-grid small{display:block;color:#667085;line-height:1.55;margin-top:5px}.runner-detail-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.runner-detail-profile-grid article{padding:18px}.runner-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.runner-detail-main{display:grid;gap:18px}.runner-detail-card{padding:24px}.runner-section-title{margin-bottom:16px}.runner-section-title h2{font-size:32px;font-weight:950;letter-spacing:-.03em;margin:5px 0 5px;color:#101828}.runner-section-title p{margin:0;color:#667085;line-height:1.7}.runner-info-grid,.runner-price-list,.runner-photo-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.runner-info-grid b,.runner-photo-rule-grid b{display:inline-flex;width:max-content;border-radius:999px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;padding:6px 10px;font-size:12px;font-weight:950}.runner-laundromat-list{display:grid;gap:10px}.runner-laundromat-list article{display:grid;grid-template-columns:128px minmax(0,210px) 1fr;gap:12px;align-items:center}.runner-flow-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.runner-flow-line article{position:relative;background:linear-gradient(180deg,#ffffff,#f0fdfa);border:1px solid #ccfbf1;border-radius:22px;padding:18px}.runner-flow-line b{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:#0f766e;color:#fff;font-weight:950}.runner-flow-line strong{display:block;margin-top:12px;font-size:18px;color:#101828;line-height:1.35}.runner-flow-line small{display:block;margin-top:6px;color:#667085;line-height:1.55}.runner-review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.runner-review-list article{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px}.runner-review-list strong{display:block;font-size:18px;color:#101828}.runner-review-list p{margin:8px 0;color:#475467;line-height:1.7}.runner-review-list span{color:#0f766e;font-weight:950}.runner-detail-side{display:grid;gap:16px;position:sticky;top:22px}.runner-detail-side .runner-side-card{padding:20px}.sticky-runner-card h3{font-size:25px;font-weight:950;margin:8px 0}.sticky-runner-card p{color:#667085;font-weight:900}.runner-other-section{padding:24px;margin-top:22px}.runner-other-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.runner-other-grid article{box-shadow:none;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px}.runner-other-grid img{width:82px;height:82px;border-radius:22px;object-fit:cover}.runner-other-grid h3{font-size:21px;font-weight:950;margin:0}.runner-other-grid p{margin:5px 0;color:#667085}.runner-other-grid strong{color:#101828}.runner-detail-card .runner-price-list article:first-child{background:#fff7ed;border-color:#fed7aa}.runner-detail-card .runner-price-list article:first-child span{color:#9a3412}.runner-detail-card .runner-photo-rule-grid article{background:#fff}.runner-detail-card .runner-photo-rule-grid article:nth-child(2){background:#ecfeff;border-color:#a5f3fc}.runner-detail-card .runner-photo-rule-grid article:nth-child(3){background:#eff6ff;border-color:#bfdbfe}.runner-detail-card .runner-photo-rule-grid article:nth-child(4){background:#f0fdf4;border-color:#bbf7d0}
@media(max-width:1160px){.runner-detail-hero,.runner-detail-layout{grid-template-columns:1fr}.runner-detail-side{position:static}.runner-detail-profile-grid,.runner-detail-mini-grid{grid-template-columns:repeat(2,1fr)}.runner-flow-line,.runner-review-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.runner-detail-copy{padding:24px}.runner-detail-copy h1{font-size:39px}.runner-detail-photo-card{min-height:310px}.runner-detail-profile-grid,.runner-detail-mini-grid,.runner-info-grid,.runner-price-list,.runner-photo-rule-grid,.runner-flow-line,.runner-review-list,.runner-other-grid{grid-template-columns:1fr}.runner-laundromat-list article{grid-template-columns:1fr}.runner-detail-actions .laundry-btn,.runner-other-grid .laundry-btn{width:100%}.runner-other-grid article{grid-template-columns:72px 1fr}.runner-other-grid article .laundry-btn{grid-column:1/-1}.runner-detail-card,.runner-detail-side .runner-side-card,.runner-other-section{border-radius:24px}}

/* Stage 615: member laundromat runner match confirmation */
.laundry-stage615-body{background:radial-gradient(circle at 10% 0,rgba(236,254,255,.82),transparent 30%),radial-gradient(circle at 88% 4%,rgba(255,247,237,.92),transparent 32%),linear-gradient(180deg,#fffaf5 0%,#ffffff 42%,#f8fafc 100%)}
.laundry-stage615-page{max-width:1450px}.confirm-hero{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:22px;align-items:stretch}.confirm-hero-copy,.confirm-runner-card,.confirm-panel,.confirm-submit-card,.confirm-side-card,.confirm-stage-grid article{background:rgba(255,255,255,.95);border:1px solid rgba(148,163,184,.24);border-radius:32px;box-shadow:0 24px 70px rgba(15,23,42,.09)}.confirm-hero-copy{padding:40px}.confirm-hero-copy h1{font-family:"Noto Serif TC",serif;font-size:58px;line-height:1.04;letter-spacing:-.055em;color:#101828;margin:18px 0 14px}.confirm-hero-copy p{font-size:17px;line-height:1.9;color:#667085;margin:0;max-width:820px}.confirm-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.confirm-runner-card{padding:20px;display:grid;grid-template-columns:126px minmax(0,1fr);gap:16px;align-items:center}.confirm-runner-card img{width:126px;height:126px;object-fit:cover;border-radius:28px}.confirm-runner-card h2{font-size:26px;font-weight:950;line-height:1.32;color:#101828;margin:9px 0 4px}.confirm-runner-card p{color:#667085;line-height:1.6;font-weight:800;margin:0}.confirm-pill{display:inline-flex;border-radius:999px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;padding:7px 11px;font-size:12px;font-weight:950;letter-spacing:.08em}.confirm-runner-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.confirm-runner-meta strong{display:inline-flex;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;padding:8px 10px;color:#101828;font-size:13px}.confirm-stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.confirm-stage-grid article{padding:18px;box-shadow:none}.confirm-stage-grid b{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#0f766e;color:#fff;font-weight:950;margin-bottom:12px}.confirm-stage-grid strong{display:block;font-size:19px;line-height:1.35;color:#101828}.confirm-stage-grid small{display:block;color:#667085;line-height:1.6;margin-top:6px}.confirm-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.confirm-main{display:grid;gap:18px}.confirm-panel{padding:24px}.confirm-section-title{margin-bottom:16px}.confirm-section-title span,.confirm-submit-card>span,.confirm-side-card>span,.confirm-summary-grid span,.confirm-row-grid span,.confirm-fee-grid span,.confirm-check-grid span,.confirm-risk-list b,.confirm-mini-field span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.confirm-section-title h2{font-size:32px;font-weight:950;letter-spacing:-.035em;color:#101828;margin:6px 0 6px}.confirm-section-title p{color:#667085;line-height:1.7;margin:0}.confirm-summary-grid,.confirm-row-grid,.confirm-fee-grid,.confirm-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.confirm-row-grid{grid-template-columns:repeat(2,1fr)}.confirm-summary-grid article,.confirm-row-grid article,.confirm-fee-grid article,.confirm-check-grid article{background:#f8fafc;border:1px solid #edf2f7;border-radius:22px;padding:16px;min-height:126px}.confirm-summary-grid strong,.confirm-row-grid strong,.confirm-fee-grid strong,.confirm-check-grid strong{display:block;color:#101828;font-size:18px;font-weight:950;line-height:1.42;margin:7px 0 5px}.confirm-summary-grid small,.confirm-row-grid small,.confirm-fee-grid small,.confirm-check-grid small{display:block;color:#667085;line-height:1.55}.confirm-fee-panel{background:linear-gradient(180deg,#fff,#fff7ed)}.confirm-fee-grid article:first-child{background:#fff7ed;border-color:#fed7aa}.confirm-fee-grid article:first-child span{color:#9a3412}.confirm-fee-grid article:nth-child(2){background:#ecfeff;border-color:#a5f3fc}.confirm-fee-grid article:nth-child(3){background:#eff6ff;border-color:#bfdbfe}.confirm-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.confirm-payment-grid label{position:relative;border:1px solid #e5e7eb;border-radius:24px;background:#fff;padding:17px;cursor:pointer;min-height:160px}.confirm-payment-grid label.selected,.confirm-payment-grid label:has(input:checked){border-color:#22c55e;background:#f0fdf4}.confirm-payment-grid input{accent-color:#0f766e}.confirm-payment-grid b{display:block;font-size:18px;line-height:1.35;margin:10px 0 4px;color:#101828}.confirm-payment-grid span{display:inline-flex;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;padding:5px 9px;color:#0f766e;font-size:12px;font-weight:950}.confirm-payment-grid small{display:block;color:#667085;line-height:1.55;margin-top:8px}.confirm-side{display:grid;gap:16px;position:sticky;top:20px}.confirm-submit-card,.confirm-side-card{padding:22px}.confirm-submit-card h3,.confirm-side-card h3{font-size:27px;font-weight:950;line-height:1.35;color:#101828;margin:7px 0 8px}.confirm-submit-card p{color:#667085;line-height:1.75;margin:0 0 14px}.confirm-mini-field{display:grid;gap:8px;margin:15px 0}.confirm-mini-field select{border:1px solid #d0d5dd;border-radius:16px;background:#fff;padding:12px 13px;font:inherit;color:#101828}.confirm-agreement-list{display:grid;gap:10px;margin:14px 0 16px}.confirm-agreement-list label{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;background:#f8fafc;border:1px solid #edf2f7;border-radius:17px;padding:12px}.confirm-agreement-list input{accent-color:#0f766e;margin-top:3px}.confirm-agreement-list span{color:#344054;line-height:1.55;font-weight:820}.confirm-risk-list{display:grid;gap:10px}.confirm-risk-list article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:14px}.confirm-risk-list b{display:inline-flex;background:#0f766e;color:#fff;border-radius:999px;padding:5px 9px;letter-spacing:.03em}.confirm-risk-list strong{display:block;color:#101828;font-size:17px;line-height:1.35;margin:9px 0 4px}.confirm-risk-list small{display:block;color:#667085;line-height:1.55}.confirm-side-card .laundry-list li{line-height:1.65;color:#475467;font-weight:780;margin-bottom:8px}.confirm-side .laundry-btn{margin-top:10px}.confirm-submit-card .laundry-btn.secondary{border-color:#d0d5dd}
@media(max-width:1180px){.confirm-hero,.confirm-layout{grid-template-columns:1fr}.confirm-side{position:static}.confirm-stage-grid,.confirm-summary-grid,.confirm-fee-grid,.confirm-check-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.confirm-hero-copy,.confirm-runner-card,.confirm-panel,.confirm-submit-card,.confirm-side-card{border-radius:24px}.confirm-hero-copy{padding:24px}.confirm-hero-copy h1{font-size:39px}.confirm-runner-card{grid-template-columns:88px minmax(0,1fr)}.confirm-runner-card img{width:88px;height:88px;border-radius:22px}.confirm-stage-grid,.confirm-summary-grid,.confirm-row-grid,.confirm-fee-grid,.confirm-check-grid,.confirm-payment-grid{grid-template-columns:1fr}.confirm-hero-actions .laundry-btn{width:100%}.confirm-runner-meta strong{font-size:12px}}

/* Stage 616: member laundromat runner order created */
.laundry-stage616-body{background:radial-gradient(circle at 12% 0,rgba(219,234,254,.92),transparent 32%),radial-gradient(circle at 92% 8%,rgba(240,253,244,.86),transparent 30%),linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.laundry-stage616-page{max-width:1460px}.order-created-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:22px;align-items:stretch}.order-created-copy,.order-created-ticket,.order-created-panel,.order-created-side-card,.order-created-summary article{background:rgba(255,255,255,.96);border:1px solid rgba(148,163,184,.24);border-radius:34px;box-shadow:0 24px 70px rgba(15,23,42,.09)}.order-created-copy{padding:42px}.order-created-copy h1{font-family:"Noto Serif TC",serif;font-size:58px;line-height:1.04;letter-spacing:-.055em;color:#101828;margin:18px 0 14px}.order-created-copy p{font-size:17px;line-height:1.9;color:#667085;margin:0;max-width:850px}.order-created-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.order-created-ticket{padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:330px;background:linear-gradient(180deg,#fff,#f0f9ff)}.order-created-ticket>span,.order-created-section-title span,.order-created-grid span,.order-created-side-card>span,.order-created-summary span,.order-next-list b{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.order-created-ticket>strong{display:block;font-size:42px;font-weight:950;letter-spacing:-.04em;color:#101828;margin:10px 0}.order-created-ticket>small{display:inline-flex;align-self:flex-start;border-radius:999px;background:#dcfce7;color:#15803d;padding:8px 12px;font-weight:950}.order-created-provider{display:grid;grid-template-columns:78px minmax(0,1fr);gap:13px;align-items:center;margin-top:22px;background:rgba(255,255,255,.72);border:1px solid #e5e7eb;border-radius:24px;padding:12px}.order-created-provider img{width:78px;height:78px;object-fit:cover;border-radius:20px}.order-created-provider b{display:block;font-size:20px;line-height:1.35;color:#101828}.order-created-provider em{display:block;color:#667085;font-style:normal;font-weight:800;line-height:1.55;margin-top:4px}.order-created-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.order-created-summary article{padding:18px;box-shadow:none}.order-created-summary strong,.order-created-grid strong{display:block;color:#101828;font-size:20px;font-weight:950;line-height:1.38;margin:7px 0 5px}.order-created-summary small,.order-created-grid small,.order-next-list small{display:block;color:#667085;line-height:1.6}.order-created-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.order-created-main{display:grid;gap:18px}.order-created-panel,.order-created-side-card{padding:24px}.order-created-section-title{margin-bottom:16px}.order-created-section-title h2{font-size:32px;font-weight:950;letter-spacing:-.035em;color:#101828;margin:7px 0 6px}.order-created-section-title p{color:#667085;line-height:1.75;margin:0}.order-status-timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.order-status-timeline article{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;background:#f8fafc;border:1px solid #edf2f7;border-radius:22px;padding:16px}.order-status-timeline article.active{background:#f0fdf4;border-color:#bbf7d0}.order-status-timeline b{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#0f766e;color:#fff;font-weight:950}.order-status-timeline strong{display:block;color:#101828;font-size:18px;font-weight:950}.order-status-timeline small{display:block;color:#667085;line-height:1.58;margin-top:5px}.order-created-grid{display:grid;gap:12px}.order-created-grid.two{grid-template-columns:repeat(2,1fr)}.order-created-grid.four{grid-template-columns:repeat(4,1fr)}.order-created-grid article{background:#f8fafc;border:1px solid #edf2f7;border-radius:22px;padding:16px;min-height:130px}.order-created-panel.fee{background:linear-gradient(180deg,#fff,#fff7ed)}.order-created-grid.four article:first-child{background:#fff7ed;border-color:#fed7aa}.order-created-grid.four article:nth-child(2){background:#ecfeff;border-color:#a5f3fc}.order-created-grid.four article:nth-child(3){background:#eff6ff;border-color:#bfdbfe}.order-created-grid.four article:nth-child(4){background:#f0fdf4;border-color:#bbf7d0}.order-created-side{display:grid;gap:16px;position:sticky;top:20px}.order-created-side-card h3{font-size:27px;font-weight:950;color:#101828;margin:7px 0 12px}.order-created-side-card.next{background:linear-gradient(180deg,#fff,#eff6ff)}.order-next-list{display:grid;gap:10px;margin-bottom:16px}.order-next-list article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:14px}.order-next-list b{display:inline-flex;background:#0f766e;color:#fff;border-radius:999px;padding:5px 9px;letter-spacing:.03em}.order-next-list strong{display:block;color:#101828;font-size:17px;line-height:1.35;margin:9px 0 4px}.order-created-side-card .laundry-list li{line-height:1.65;color:#475467;font-weight:780;margin-bottom:8px}
@media(max-width:1180px){.order-created-hero,.order-created-layout{grid-template-columns:1fr}.order-created-side{position:static}.order-created-summary,.order-created-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.order-created-copy,.order-created-ticket,.order-created-panel,.order-created-side-card{border-radius:24px}.order-created-copy{padding:24px}.order-created-copy h1{font-size:39px}.order-created-actions .laundry-btn{width:100%}.order-created-summary,.order-status-timeline,.order-created-grid.two,.order-created-grid.four{grid-template-columns:1fr}.order-created-provider{grid-template-columns:68px minmax(0,1fr)}.order-created-provider img{width:68px;height:68px}.order-created-ticket>strong{font-size:32px}}

/* Stage 617: member laundromat runner order detail */
.laundry-stage617-body{background:radial-gradient(circle at 10% 0,rgba(224,242,254,.95),transparent 34%),radial-gradient(circle at 88% 8%,rgba(254,243,199,.82),transparent 30%),linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.laundry-stage617-page{max-width:1480px}.order-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:22px;align-items:stretch}.order-detail-copy,.order-detail-runner-card,.order-detail-summary article,.order-detail-panel,.order-detail-side-card{background:rgba(255,255,255,.96);border:1px solid rgba(148,163,184,.24);border-radius:34px;box-shadow:0 24px 70px rgba(15,23,42,.09)}.order-detail-copy{padding:42px}.order-detail-copy h1{font-family:"Noto Serif TC",serif;font-size:58px;line-height:1.04;letter-spacing:-.055em;color:#101828;margin:18px 0 14px}.order-detail-copy p{font-size:17px;line-height:1.9;color:#667085;margin:0;max-width:860px}.order-detail-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}.order-detail-runner-card{padding:22px;display:grid;grid-template-rows:210px minmax(0,1fr);gap:18px}.order-detail-runner-card img{width:100%;height:210px;object-fit:cover;border-radius:26px}.order-detail-runner-card span,.order-detail-title span,.order-detail-summary span,.order-detail-grid span,.order-detail-report-grid span,.order-detail-side-card>span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.order-detail-runner-card h2{font-size:27px;font-weight:950;line-height:1.32;color:#101828;margin:7px 0 6px}.order-detail-runner-card p{color:#667085;line-height:1.65;margin:0}.order-detail-runner-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.order-detail-runner-meta strong{display:grid;place-items:center;text-align:center;min-height:54px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;color:#101828;font-size:14px;line-height:1.35}.order-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.order-detail-summary article{padding:18px;box-shadow:none}.order-detail-summary strong,.order-detail-grid strong,.order-detail-report-grid strong{display:block;color:#101828;font-size:20px;font-weight:950;line-height:1.38;margin:7px 0 5px}.order-detail-summary small,.order-detail-grid small,.order-detail-report-grid small{display:block;color:#667085;line-height:1.6}.order-detail-mini-flow{grid-template-columns:repeat(5,1fr)}.order-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}.order-detail-main{display:grid;gap:18px}.order-detail-panel,.order-detail-side-card{padding:24px}.order-detail-title{margin-bottom:16px}.order-detail-title h2{font-size:32px;font-weight:950;letter-spacing:-.035em;color:#101828;margin:7px 0 6px}.order-detail-title p{color:#667085;line-height:1.75;margin:0}.order-detail-timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.order-detail-timeline article{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;background:#f8fafc;border:1px solid #edf2f7;border-radius:22px;padding:16px}.order-detail-timeline b{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#94a3b8;color:#fff;font-weight:950}.order-detail-timeline strong{display:block;color:#101828;font-size:18px;font-weight:950}.order-detail-timeline small{display:block;color:#667085;line-height:1.58;margin-top:5px}.order-detail-timeline article.done{background:#f0fdf4;border-color:#bbf7d0}.order-detail-timeline article.done b{background:#16a34a}.order-detail-timeline article.current{background:#eff6ff;border-color:#bfdbfe}.order-detail-timeline article.current b{background:#2563eb}.order-detail-timeline article.cancelled{background:#fef2f2;border-color:#fecaca}.order-detail-timeline article.cancelled b{background:#dc2626}.order-detail-timeline article.muted{opacity:.72}.order-detail-grid{display:grid;gap:12px}.order-detail-grid.two{grid-template-columns:repeat(2,1fr)}.order-detail-grid.four{grid-template-columns:repeat(4,1fr)}.order-detail-grid article,.order-detail-report-grid article{background:#f8fafc;border:1px solid #edf2f7;border-radius:22px;padding:16px;min-height:130px}.order-detail-panel.laundromat{background:linear-gradient(180deg,#fff,#f0fdfa)}.order-detail-panel.photo{background:linear-gradient(180deg,#fff,#eff6ff)}.order-detail-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.order-detail-report-grid article{position:relative;overflow:hidden}.order-detail-report-grid article::before{content:"";display:block;height:98px;border-radius:18px;margin-bottom:14px;background:linear-gradient(135deg,#e0f2fe,#f8fafc)}.order-detail-report-grid article:nth-child(2)::before{background:linear-gradient(135deg,#dcfce7,#f8fafc)}.order-detail-report-grid article:nth-child(3)::before{background:linear-gradient(135deg,#fff7ed,#f8fafc)}.order-detail-report-grid article:nth-child(4)::before{background:linear-gradient(135deg,#fce7f3,#f8fafc)}.order-detail-panel.fee{background:linear-gradient(180deg,#fff,#fff7ed)}.order-detail-grid.four article:first-child{background:#fff7ed;border-color:#fed7aa}.order-detail-grid.four article:nth-child(2){background:#ecfeff;border-color:#a5f3fc}.order-detail-grid.four article:nth-child(3){background:#eff6ff;border-color:#bfdbfe}.order-detail-grid.four article:nth-child(4){background:#f0fdf4;border-color:#bbf7d0}.order-detail-receipt-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.order-detail-receipt-list article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:14px}.order-detail-receipt-list b,.order-detail-chat-list b,.order-detail-issue-list b{display:inline-flex;background:#0f766e;color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:950;letter-spacing:.03em}.order-detail-receipt-list strong,.order-detail-chat-list strong,.order-detail-issue-list strong{display:block;color:#101828;font-size:17px;line-height:1.35;margin:9px 0 4px}.order-detail-receipt-list small,.order-detail-chat-list small,.order-detail-issue-list small{display:block;color:#667085;line-height:1.55}.order-detail-side{display:grid;gap:16px;position:sticky;top:20px}.order-detail-side-card h3{font-size:27px;font-weight:950;color:#101828;margin:7px 0 12px}.order-detail-side-card.chat{background:linear-gradient(180deg,#fff,#eff6ff)}.order-detail-side-card.action{background:linear-gradient(180deg,#fff,#f0fdf4)}.order-detail-side-card.issue{background:linear-gradient(180deg,#fff,#fff7ed)}.order-detail-chat-list,.order-detail-issue-list{display:grid;gap:10px;margin-bottom:14px}.order-detail-chat-list article,.order-detail-issue-list article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:14px}.order-detail-side-card form{margin:0 0 10px}.order-detail-side-card .laundry-btn{margin-bottom:10px}.order-detail-side-card.safety .laundry-list li{line-height:1.65;color:#475467;font-weight:780;margin-bottom:8px}
@media(max-width:1180px){.order-detail-hero,.order-detail-layout{grid-template-columns:1fr}.order-detail-side{position:static}.order-detail-summary,.order-detail-report-grid,.order-detail-grid.four,.order-detail-receipt-list{grid-template-columns:repeat(2,1fr)}.order-detail-mini-flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.order-detail-copy,.order-detail-runner-card,.order-detail-panel,.order-detail-side-card{border-radius:24px}.order-detail-copy{padding:24px}.order-detail-copy h1{font-size:39px}.order-detail-actions .laundry-btn{width:100%}.order-detail-summary,.order-detail-timeline,.order-detail-grid.two,.order-detail-grid.four,.order-detail-report-grid,.order-detail-receipt-list,.order-detail-mini-flow{grid-template-columns:1fr}.order-detail-runner-meta{grid-template-columns:1fr}.order-detail-runner-card{grid-template-rows:auto}.order-detail-runner-card img{height:180px}}

/* Stage 625: member receipt confirmation and machine fee top-up */
.laundry-stage625-body{background:radial-gradient(circle at 8% 0,rgba(219,234,254,.95),transparent 34%),radial-gradient(circle at 92% 8%,rgba(220,252,231,.82),transparent 30%),linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.laundry-stage625-page{max-width:1480px}.receipt-confirm-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:22px;align-items:stretch}.receipt-confirm-copy,.receipt-confirm-ticket,.receipt-confirm-summary article,.receipt-confirm-panel,.receipt-confirm-form,.receipt-side-card{background:rgba(255,255,255,.96);border:1px solid rgba(148,163,184,.24);border-radius:34px;box-shadow:0 24px 70px rgba(15,23,42,.09)}.receipt-confirm-copy{padding:42px}.receipt-confirm-copy h1{font-family:"Noto Serif TC",serif;font-size:56px;line-height:1.05;letter-spacing:-.055em;color:#101828;margin:18px 0 14px}.receipt-confirm-copy p{font-size:17px;line-height:1.9;color:#667085;margin:0;max-width:820px}.receipt-confirm-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}.receipt-confirm-ticket{padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#fff,#eff6ff)}.receipt-confirm-ticket span,.receipt-confirm-summary span,.receipt-confirm-title span,.receipt-fee-grid span,.receipt-photo-grid span,.receipt-side-card>span{display:block;color:#0f766e;font-size:12px;font-weight:950;letter-spacing:.12em}.receipt-confirm-ticket>strong{display:block;font-size:38px;letter-spacing:-.04em;color:#101828;margin:8px 0}.receipt-confirm-ticket p{color:#667085;font-weight:850;margin:0}.receipt-ticket-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.receipt-ticket-grid article{background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:16px}.receipt-ticket-grid b{display:block;color:#64748b;font-size:12px}.receipt-ticket-grid strong{display:block;color:#101828;font-size:18px;margin-top:5px}.receipt-confirm-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.receipt-confirm-summary article{padding:18px;box-shadow:none}.receipt-confirm-summary strong,.receipt-fee-grid strong,.receipt-photo-grid strong{display:block;color:#101828;font-size:20px;font-weight:950;line-height:1.38;margin:7px 0 5px}.receipt-confirm-summary small,.receipt-fee-grid small,.receipt-photo-grid small{display:block;color:#667085;line-height:1.6}.receipt-confirm-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.receipt-confirm-main{display:grid;gap:18px}.receipt-confirm-panel,.receipt-confirm-form,.receipt-side-card{padding:24px}.receipt-confirm-title{margin-bottom:16px}.receipt-confirm-title h2{font-size:32px;font-weight:950;letter-spacing:-.035em;color:#101828;margin:7px 0 6px}.receipt-confirm-title p{color:#667085;line-height:1.75;margin:0}.receipt-confirm-panel.fee{background:linear-gradient(180deg,#fff,#fff7ed)}.receipt-confirm-panel.photo{background:linear-gradient(180deg,#fff,#eff6ff)}.receipt-fee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.receipt-fee-grid article,.receipt-photo-grid article{background:#f8fafc;border:1px solid #edf2f7;border-radius:22px;padding:16px;min-height:130px}.receipt-fee-grid article:nth-child(1){background:#fff7ed;border-color:#fed7aa}.receipt-fee-grid article:nth-child(2){background:#ecfeff;border-color:#a5f3fc}.receipt-fee-grid article:nth-child(3){background:#eff6ff;border-color:#bfdbfe}.receipt-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.receipt-photo-grid article{position:relative;overflow:hidden}.receipt-photo-grid article::before{content:"";display:block;height:88px;border-radius:18px;margin-bottom:14px;background:linear-gradient(135deg,#dbeafe,#f8fafc)}.receipt-photo-grid article:nth-child(2)::before{background:linear-gradient(135deg,#dcfce7,#f8fafc)}.receipt-photo-grid article:nth-child(3)::before{background:linear-gradient(135deg,#fff7ed,#f8fafc)}.receipt-photo-grid article:nth-child(4)::before{background:linear-gradient(135deg,#fce7f3,#f8fafc)}.receipt-photo-grid article:nth-child(5)::before{background:linear-gradient(135deg,#ede9fe,#f8fafc)}.receipt-confirm-form{background:linear-gradient(180deg,#fff,#f8fafc)}.receipt-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.receipt-form-grid label,.receipt-full-label{display:grid;gap:8px;font-weight:900;color:#344054}.receipt-form-grid input,.receipt-form-grid select,.receipt-full-label textarea{width:100%;border:1px solid #d0d5dd;border-radius:18px;padding:13px 14px;font:inherit;background:#fff;color:#111827}.receipt-full-label{margin-top:14px}.receipt-agree-box{display:grid;gap:10px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:22px;padding:16px;margin-top:16px}.receipt-agree-box label{font-weight:900;color:#0f766e}.receipt-agree-box input{accent-color:#0f766e}.receipt-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#ecfeff,#eff6ff);border:1px solid #bfdbfe;border-radius:26px;padding:18px;margin-top:22px}.receipt-submit span{display:block;font-size:12px;color:#0f766e;font-weight:950;letter-spacing:.1em}.receipt-submit strong{display:block;font-size:24px;color:#101828}.receipt-submit small{display:block;color:#667085}.receipt-confirm-side{display:grid;gap:16px;position:sticky;top:20px}.receipt-side-card h3{font-size:27px;font-weight:950;color:#101828;margin:7px 0 12px}.receipt-side-card.checklist{background:linear-gradient(180deg,#fff,#f0fdf4)}.receipt-side-card.notice{background:linear-gradient(180deg,#fff,#eff6ff)}.receipt-side-card.pro360{background:linear-gradient(180deg,#fff,#fff7ed)}.receipt-side-card.pro360 p{color:#667085;line-height:1.8;margin:0}.receipt-notice-list{display:grid;gap:10px}.receipt-notice-list article,.receipt-mini-list article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:14px}.receipt-notice-list b,.receipt-mini-list b{display:inline-flex;background:#0f766e;color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:950}.receipt-notice-list strong,.receipt-mini-list strong{display:block;color:#101828;font-size:17px;line-height:1.35;margin:9px 0 4px}.receipt-notice-list small,.receipt-mini-list small{display:block;color:#667085;line-height:1.55}.receipt-mini-list{display:grid;gap:10px;margin:12px 0}.receipt-mini-list article{background:rgba(255,255,255,.76)}
@media(max-width:1180px){.receipt-confirm-hero,.receipt-confirm-layout{grid-template-columns:1fr}.receipt-confirm-side{position:static}.receipt-confirm-summary,.receipt-fee-grid{grid-template-columns:repeat(2,1fr)}.receipt-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.receipt-confirm-copy,.receipt-confirm-ticket,.receipt-confirm-panel,.receipt-confirm-form,.receipt-side-card{border-radius:24px}.receipt-confirm-copy{padding:24px}.receipt-confirm-copy h1{font-size:38px}.receipt-confirm-actions .laundry-btn{width:100%}.receipt-confirm-summary,.receipt-fee-grid,.receipt-photo-grid,.receipt-form-grid,.receipt-ticket-grid{grid-template-columns:1fr}.receipt-submit{align-items:stretch;flex-direction:column}.receipt-submit .laundry-btn{width:100%}}

/* Stage 626 - 自助洗衣代送洗評價功能 */
.laundry-stage626-page {
    max-width: 1180px;
}

.rating-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .75fr);
    gap: 22px;
    align-items: stretch;
    margin: 24px 0;
}

.rating-hero-copy,
.rating-runner-card,
.rating-main-card,
.rating-side-card,
.rating-info-card {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 30px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .08);
}

.rating-hero-copy {
    padding: 34px;
}

.rating-hero-copy h1 {
    margin: 10px 0 12px;
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 900;
    letter-spacing: -0.04em;
    color: #111827;
}

.rating-hero-copy p {
    margin: 0;
    color: #64748b;
    font-size: 1rem;
    line-height: 1.85;
    max-width: 760px;
}

.rating-runner-card {
    padding: 24px;
    display: flex;
    gap: 16px;
    align-items: center;
}

.rating-runner-card img {
    width: 86px;
    height: 86px;
    border-radius: 26px;
    object-fit: cover;
}

.rating-runner-card span,
.rating-section-title span,
.rating-info-card > span {
    display: inline-flex;
    color: #2563eb;
    font-weight: 900;
    font-size: .76rem;
    letter-spacing: .14em;
}

.rating-runner-card h2,
.rating-section-title h2,
.rating-info-card h3 {
    margin: 7px 0;
    font-weight: 900;
    color: #111827;
}

.rating-runner-card p {
    margin: 0 0 10px;
    color: #64748b;
    line-height: 1.5;
}

.rating-runner-card strong {
    display: inline-flex;
    margin: 0 8px 6px 0;
    padding: 7px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .82rem;
}

.rating-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.rating-summary-grid article {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    padding: 18px;
}

.rating-summary-grid span,
.rating-summary-grid small,
.rating-info-list small {
    display: block;
    color: #64748b;
    font-size: .82rem;
    line-height: 1.55;
}

.rating-summary-grid strong,
.rating-info-list strong {
    display: block;
    margin: 6px 0;
    color: #111827;
    font-weight: 900;
}

.rating-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px;
    align-items: start;
}

.rating-main-card {
    padding: 26px;
}

.rating-main-card + .rating-main-card {
    margin-top: 22px;
}

.rating-section-title p {
    margin: 0 0 18px;
    color: #64748b;
    line-height: 1.75;
}

.rating-dimension-list {
    display: grid;
    gap: 12px;
}

.rating-dimension-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 14px;
    align-items: center;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 20px;
}

.rating-dimension-list b {
    display: block;
    color: #111827;
    font-weight: 900;
    margin-bottom: 4px;
}

.rating-dimension-list small {
    color: #64748b;
}

.rating-tag-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.rating-tag-grid label {
    cursor: pointer;
}

.rating-tag-grid input {
    display: none;
}

.rating-tag-grid span {
    display: inline-flex;
    padding: 9px 13px;
    border-radius: 999px;
    border: 1px solid #dbeafe;
    background: #f8fbff;
    color: #334155;
    font-weight: 800;
    font-size: .88rem;
}

.rating-tag-grid input:checked + span {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

.rating-side-card {
    padding: 24px;
    position: sticky;
    top: 92px;
}

.rating-check-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 18px;
    margin-bottom: 10px;
    color: #334155;
    font-weight: 800;
    line-height: 1.45;
}

.rating-check-row.important {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}

.rating-side-card .laundry-btn {
    margin-top: 12px;
}

.rating-info-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
    gap: 22px;
    margin: 24px 0 50px;
}

.rating-info-card {
    padding: 24px;
}

.rating-info-card.warning {
    background: #fffaf0;
    border-color: #fed7aa;
}

.rating-info-list {
    display: grid;
    gap: 12px;
}

.rating-info-list div {
    padding: 14px;
    border-radius: 18px;
    background: #f8fafc;
}

.rating-info-list b {
    color: #2563eb;
    font-weight: 900;
    font-size: .8rem;
}

@media (max-width: 960px) {
    .rating-hero,
    .rating-layout,
    .rating-info-layout,
    .rating-summary-grid {
        grid-template-columns: 1fr;
    }
    .rating-side-card {
        position: static;
    }
}

@media (max-width: 640px) {
    .rating-dimension-list article {
        grid-template-columns: 1fr;
    }
    .rating-hero-copy,
    .rating-main-card,
    .rating-side-card,
    .rating-info-card {
        padding: 20px;
        border-radius: 22px;
    }
}

/* Stage 627 - temp laundry cancel / issue report */
.laundry-stage627-page { max-width: 1180px; }
.issue-hero { display:grid; grid-template-columns: minmax(0,1fr) 320px; gap:24px; align-items:stretch; margin-top:18px; }
.issue-hero > div, .issue-runner-card, .issue-panel, .issue-side-card, .issue-summary-grid article { background:#fff; border:1px solid rgba(15,23,42,.08); box-shadow:0 20px 50px rgba(15,23,42,.08); border-radius:28px; }
.issue-hero > div { padding:34px; }
.issue-hero h1 { font-size:clamp(2rem,4vw,3.35rem); font-weight:900; letter-spacing:-.04em; margin:8px 0 14px; color:#111827; }
.issue-hero p { color:#64748b; line-height:1.8; margin:0 0 18px; }
.issue-hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:18px; }
.issue-runner-card { padding:24px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.issue-runner-card img { width:84px; height:84px; object-fit:cover; border-radius:24px; margin-bottom:14px; box-shadow:0 12px 30px rgba(15,23,42,.16); }
.issue-runner-card span, .issue-title span, .issue-side-card > span { font-size:.75rem; font-weight:900; letter-spacing:.16em; color:#0ea5e9; }
.issue-runner-card h2 { font-size:1.35rem; font-weight:900; margin:4px 0; }
.issue-runner-card p { margin:0; color:#0f172a; font-weight:800; }
.issue-runner-card small { display:block; margin-top:10px; color:#64748b; line-height:1.6; }
.issue-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:18px 0 24px; }
.issue-summary-grid article { padding:18px; }
.issue-summary-grid span, .issue-summary-grid small { display:block; color:#64748b; }
.issue-summary-grid strong { display:block; font-size:1.02rem; margin:6px 0; color:#0f172a; }
.issue-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
.issue-panel { padding:26px; }
.issue-title h2 { font-size:1.6rem; font-weight:900; margin:4px 0 6px; }
.issue-title p { color:#64748b; line-height:1.7; margin-bottom:20px; }
.issue-form { display:flex; flex-direction:column; gap:18px; }
.issue-choice-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.issue-choice { border:1px solid rgba(15,23,42,.1); border-radius:22px; padding:18px; cursor:pointer; background:#f8fafc; transition:.2s ease; }
.issue-choice.active, .issue-choice:has(input:checked) { background:#eff6ff; border-color:rgba(14,165,233,.45); box-shadow:0 12px 30px rgba(14,165,233,.10); }
.issue-choice input { margin-right:8px; }
.issue-choice strong { display:inline-block; font-weight:900; color:#0f172a; }
.issue-choice small { display:block; color:#64748b; margin-top:6px; line-height:1.5; }
.issue-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.issue-form label span, .issue-wide-field span { display:block; font-weight:800; color:#334155; margin-bottom:8px; }
.issue-form input[type="text"], .issue-form select, .issue-form textarea { width:100%; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:12px 14px; background:#fff; color:#0f172a; outline:none; }
.issue-form textarea { resize:vertical; }
.issue-form input:focus, .issue-form select:focus, .issue-form textarea:focus { border-color:rgba(14,165,233,.7); box-shadow:0 0 0 4px rgba(14,165,233,.12); }
.issue-wide-field b { color:#ef4444; }
.issue-evidence-box, .issue-agreement-box { background:#f8fafc; border:1px solid rgba(15,23,42,.08); border-radius:22px; padding:18px; }
.issue-evidence-box h3 { font-size:1rem; font-weight:900; margin:0 0 12px; }
.issue-evidence-box label, .issue-agreement-box label { display:flex; gap:10px; align-items:flex-start; margin:9px 0; color:#475569; line-height:1.55; }
.issue-submit-row { display:flex; flex-wrap:wrap; gap:12px; }
.issue-side { display:flex; flex-direction:column; gap:16px; }
.issue-side-card { padding:20px; }
.issue-side-card h3 { font-size:1.18rem; font-weight:900; margin:4px 0 14px; }
.issue-side-card.warning { background:#fff7ed; border-color:rgba(251,146,60,.22); }
.issue-mini-list, .issue-process-list { display:flex; flex-direction:column; gap:10px; }
.issue-mini-list article { border:1px solid rgba(15,23,42,.08); border-radius:16px; padding:12px; background:#fff; }
.issue-mini-list b, .issue-process-list b { color:#0ea5e9; font-size:.78rem; }
.issue-mini-list strong { display:block; color:#0f172a; margin:4px 0; }
.issue-mini-list small { color:#64748b; line-height:1.5; }
.issue-process-list article { display:grid; grid-template-columns:34px 1fr; gap:10px; padding:12px 0; border-bottom:1px solid rgba(15,23,42,.07); }
.issue-process-list article:last-child { border-bottom:0; }
.issue-process-list strong { display:block; font-weight:900; }
.issue-process-list small { color:#64748b; line-height:1.55; }
.laundry-alert.error { background:#fff1f2; border-color:#fecdd3; color:#be123c; }
@media (max-width: 980px) { .issue-hero, .issue-layout { grid-template-columns:1fr; } .issue-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .issue-choice-row, .issue-form-grid, .issue-summary-grid { grid-template-columns:1fr; } .issue-hero > div, .issue-panel { padding:22px; } }

/* v14 - Temp laundry runner match UI/UX polish
   Fixes: oversized hero, sticky nav covering content, sticky right rail, loose form spacing, and uneven info cards. */
body.laundry-body .solo-global-header {
    position: static !important;
    top: auto !important;
    z-index: 10;
    box-shadow: none !important;
}

body.laundry-body .solo-global-nav {
    min-height: 66px;
}

body.laundry-body .solo-global-brand {
    font-size: 34px;
}

body.laundry-body .solo-global-menu {
    gap: 18px;
}

body.laundry-body .solo-global-menu a {
    font-size: 14px;
}

body.laundry-body .solo-global-actions a,
body.laundry-body .solo-global-actions button {
    min-height: 40px;
    padding: 8px 16px;
}

body.laundry-body main.laundry-runner-page {
    width: min(1320px, calc(100% - 48px));
    max-width: none;
    padding: 24px 0 58px;
    background:
        radial-gradient(circle at 6% 0%, rgba(204, 251, 241, .64), transparent 28%),
        radial-gradient(circle at 92% 6%, rgba(255, 237, 213, .78), transparent 28%),
        linear-gradient(180deg, #fffaf4 0%, #f8fafc 52%, #ecfeff 100%);
}

body.laundry-body main.laundry-runner-page .laundry-back {
    margin: 0 0 12px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(15, 118, 110, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
}

body.laundry-body main.laundry-runner-page .laundry-match-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .82fr);
    gap: 16px;
    align-items: stretch;
    margin: 0 0 16px;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy,
body.laundry-body main.laundry-runner-page .laundry-live-card,
body.laundry-body main.laundry-runner-page .laundry-runner-flow-card,
body.laundry-body main.laundry-runner-page .laundry-form,
body.laundry-body main.laundry-runner-page .laundry-side-card {
    border-radius: 26px;
    box-shadow: 0 16px 44px rgba(15, 23, 42, .075);
}

body.laundry-body main.laundry-runner-page .laundry-match-copy {
    min-height: 0;
    padding: 28px 30px;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy::after {
    width: 190px;
    height: 190px;
    right: -54px;
    bottom: -64px;
    opacity: .72;
}

body.laundry-body main.laundry-runner-page .laundry-eyebrow {
    padding: 7px 12px;
    font-size: 11px;
    letter-spacing: .14em;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy h1 {
    max-width: 820px;
    margin: 16px 0 12px;
    font-size: clamp(38px, 4.6vw, 58px);
    line-height: 1.04;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy p {
    max-width: 780px;
    font-size: 16px;
    line-height: 1.72;
}

body.laundry-body main.laundry-runner-page .laundry-runner-badges {
    gap: 8px;
    margin-top: 16px;
}

body.laundry-body main.laundry-runner-page .laundry-runner-badges span {
    padding: 8px 12px;
    font-size: 13px;
}

body.laundry-body main.laundry-runner-page .laundry-match-actions {
    gap: 10px;
    margin-top: 20px;
}

body.laundry-body main.laundry-runner-page .laundry-btn {
    min-height: 42px;
    padding: 11px 17px;
    font-size: 14px;
}

body.laundry-body main.laundry-runner-page .laundry-live-card {
    padding: 24px;
}

body.laundry-body main.laundry-runner-page .laundry-live-top strong {
    margin: 14px 0 8px;
    font-size: clamp(26px, 2.8vw, 34px);
    line-height: 1.18;
}

body.laundry-body main.laundry-runner-page .laundry-live-top small {
    font-size: 14px;
    line-height: 1.58;
}

body.laundry-body main.laundry-runner-page .laundry-route-box {
    gap: 9px;
    margin-top: 18px;
}

body.laundry-body main.laundry-runner-page .laundry-route-box-6 div {
    min-height: 56px;
    padding: 10px;
    border-radius: 16px;
}

body.laundry-body main.laundry-runner-page .laundry-route-box b {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 13px;
}

body.laundry-body main.laundry-runner-page .laundry-route-box span {
    font-size: 14px;
    line-height: 1.3;
}

body.laundry-body main.laundry-runner-page .laundry-research-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

body.laundry-body main.laundry-runner-page .laundry-research-strip article {
    padding: 16px;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .045);
}

body.laundry-body main.laundry-runner-page .laundry-research-strip b {
    font-size: 16px;
}

body.laundry-body main.laundry-runner-page .laundry-research-strip span {
    font-size: 14px;
    line-height: 1.52;
}

body.laundry-body main.laundry-runner-page .laundry-runner-flow-card {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 16px;
    padding: 20px;
    margin: 0 0 16px;
}

body.laundry-body main.laundry-runner-page .laundry-runner-flow-card h2 {
    margin: 10px 0 7px;
    font-size: clamp(28px, 3vw, 36px);
}

body.laundry-body main.laundry-runner-page .laundry-runner-flow-card p {
    font-size: 15px;
    line-height: 1.65;
}

body.laundry-body main.laundry-runner-page .laundry-runner-mini-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

body.laundry-body main.laundry-runner-page .laundry-runner-mini-flow article {
    min-height: 92px;
    padding: 13px;
    border-radius: 18px;
}

body.laundry-body main.laundry-runner-page .laundry-runner-mini-flow b {
    padding: 6px 9px;
    font-size: 12px;
}

body.laundry-body main.laundry-runner-page .laundry-runner-mini-flow span {
    margin-top: 9px;
    font-size: 14px;
    line-height: 1.4;
}

/* Put the assistance cards below the form so the page reads top-to-bottom instead of a sticky split layout. */
body.laundry-body main.laundry-runner-page .laundry-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 16px;
}

body.laundry-body main.laundry-runner-page .laundry-side {
    position: static !important;
    top: auto !important;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 14px;
}

body.laundry-body main.laundry-runner-page .laundry-form {
    padding: 24px;
    overflow: visible;
}

body.laundry-body main.laundry-runner-page .laundry-form-head {
    padding: 20px;
    margin-bottom: 16px;
    border-radius: 22px;
}

body.laundry-body main.laundry-runner-page .laundry-form-head h2 {
    margin: 10px 0 6px;
    font-size: clamp(30px, 3.2vw, 40px);
}

body.laundry-body main.laundry-runner-page .laundry-form-head p {
    max-width: 920px;
    font-size: 15px;
    line-height: 1.65;
}

body.laundry-body main.laundry-runner-page .laundry-match-form .laundry-section {
    margin-top: 16px;
    padding: 20px;
    border-radius: 22px;
    box-shadow: none;
}

body.laundry-body main.laundry-runner-page .laundry-section-title {
    align-items: flex-start;
    margin-bottom: 14px;
}

body.laundry-body main.laundry-runner-page .laundry-section-title h3 {
    margin-top: 3px;
    font-size: clamp(25px, 2.5vw, 32px);
    line-height: 1.18;
}

body.laundry-body main.laundry-runner-page .laundry-section-title p {
    max-width: 360px;
    font-size: 14px;
    line-height: 1.55;
    text-align: right;
}

body.laundry-body main.laundry-runner-page .laundry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.laundry-body main.laundry-runner-page .laundry-grid label,
body.laundry-body main.laundry-runner-page .laundry-full-label {
    gap: 7px;
    font-size: 14px;
}

body.laundry-body main.laundry-runner-page .laundry-grid input,
body.laundry-body main.laundry-runner-page .laundry-grid select,
body.laundry-body main.laundry-runner-page .laundry-full-label textarea,
body.laundry-body main.laundry-runner-page .laundry-full-label input,
body.laundry-body main.laundry-runner-page .laundry-standalone-input {
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 16px;
    font-size: 15px;
}

body.laundry-body main.laundry-runner-page .laundry-full-label textarea {
    min-height: 112px;
}

body.laundry-body main.laundry-runner-page .laundry-online-search-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: 12px;
    padding: 16px;
    border-radius: 20px;
}

body.laundry-body main.laundry-runner-page .laundry-search-helper-top h4 {
    font-size: 20px;
    margin-bottom: 4px;
}

body.laundry-body main.laundry-runner-page .laundry-search-helper-top p,
body.laundry-body main.laundry-runner-page .laundry-online-note {
    font-size: 14px;
    line-height: 1.55;
}

body.laundry-body main.laundry-runner-page .laundry-search-steps {
    gap: 8px;
}

body.laundry-body main.laundry-runner-page .laundry-search-steps article,
body.laundry-body main.laundry-runner-page .laundry-online-toolbox {
    border-radius: 16px;
    padding: 11px;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid-compact,
body.laundry-body main.laundry-runner-page .laundry-laundry-type-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid label {
    min-height: 0;
    padding: 15px 15px 15px 42px;
    border-radius: 18px;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid b {
    font-size: 16px;
    line-height: 1.35;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid small {
    font-size: 13px;
}

body.laundry-body main.laundry-runner-page .laundry-checkbox-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

body.laundry-body main.laundry-runner-page .laundry-task-grid label,
body.laundry-body main.laundry-runner-page .laundry-item-grid label,
body.laundry-body main.laundry-runner-page .laundry-checkbox-grid label {
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 16px;
    font-size: 14px;
}

body.laundry-body main.laundry-runner-page .laundry-runner-warning {
    padding: 14px;
    border-radius: 18px;
}

body.laundry-body main.laundry-runner-page .laundry-submit-xl,
body.laundry-body main.laundry-runner-page .laundry-submit {
    position: static !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 22px;
    margin-top: 16px;
}

body.laundry-body main.laundry-runner-page .laundry-submit-xl strong,
body.laundry-body main.laundry-runner-page .laundry-submit strong {
    font-size: 25px;
}

body.laundry-body main.laundry-runner-page .laundry-submit small {
    max-width: 720px;
    line-height: 1.55;
}

body.laundry-body main.laundry-runner-page .laundry-submit-actions {
    justify-content: flex-end;
}

body.laundry-body main.laundry-runner-page .laundry-side-card {
    min-height: 0;
    padding: 20px;
    border-radius: 22px;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .055);
}

body.laundry-body main.laundry-runner-page .laundry-side-card h3 {
    margin: 7px 0 10px;
    font-size: 23px;
    line-height: 1.22;
}

body.laundry-body main.laundry-runner-page .laundry-side-card p,
body.laundry-body main.laundry-runner-page .laundry-list li {
    font-size: 14px;
    line-height: 1.58;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list {
    gap: 10px;
    margin-top: 12px;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list article {
    grid-template-columns: 40px 1fr;
    gap: 10px;
    padding: 12px;
    border-radius: 16px;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list b {
    height: 38px;
    border-radius: 14px;
    font-size: 13px;
}

body.laundry-body main.laundry-runner-page .laundry-price-stack article,
body.laundry-body main.laundry-runner-page .laundry-list li {
    border-radius: 16px;
    padding: 12px;
}

body.laundry-body main.laundry-runner-page .laundry-price-stack strong {
    font-size: 20px;
}

@media (max-width: 1180px) {
    body.laundry-body main.laundry-runner-page {
        width: min(100% - 32px, 980px);
    }

    body.laundry-body main.laundry-runner-page .laundry-match-hero,
    body.laundry-body main.laundry-runner-page .laundry-runner-flow-card {
        grid-template-columns: 1fr;
    }

    body.laundry-body main.laundry-runner-page .laundry-runner-mini-flow,
    body.laundry-body main.laundry-runner-page .laundry-research-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    body.laundry-body main.laundry-runner-page {
        width: min(100% - 22px, 680px);
        padding-top: 18px;
    }

    body.laundry-body main.laundry-runner-page .laundry-match-copy,
    body.laundry-body main.laundry-runner-page .laundry-live-card,
    body.laundry-body main.laundry-runner-page .laundry-form,
    body.laundry-body main.laundry-runner-page .laundry-side-card,
    body.laundry-body main.laundry-runner-page .laundry-runner-flow-card {
        border-radius: 22px;
    }

    body.laundry-body main.laundry-runner-page .laundry-match-copy,
    body.laundry-body main.laundry-runner-page .laundry-live-card,
    body.laundry-body main.laundry-runner-page .laundry-form {
        padding: 18px;
    }

    body.laundry-body main.laundry-runner-page .laundry-match-copy h1 {
        font-size: 36px;
    }

    body.laundry-body main.laundry-runner-page .laundry-route-box-6,
    body.laundry-body main.laundry-runner-page .laundry-runner-mini-flow,
    body.laundry-body main.laundry-runner-page .laundry-research-strip,
    body.laundry-body main.laundry-runner-page .laundry-grid,
    body.laundry-body main.laundry-runner-page .laundry-choice-grid-compact,
    body.laundry-body main.laundry-runner-page .laundry-laundry-type-grid,
    body.laundry-body main.laundry-runner-page .laundry-checkbox-grid,
    body.laundry-body main.laundry-runner-page .laundry-online-search-panel,
    body.laundry-body main.laundry-runner-page .laundry-submit-xl,
    body.laundry-body main.laundry-runner-page .laundry-submit {
        grid-template-columns: 1fr;
    }

    body.laundry-body main.laundry-runner-page .laundry-section-title {
        display: block;
    }

    body.laundry-body main.laundry-runner-page .laundry-section-title p {
        max-width: none;
        margin-top: 6px;
        text-align: left;
    }

    body.laundry-body main.laundry-runner-page .laundry-submit-actions,
    body.laundry-body main.laundry-runner-page .laundry-submit-actions .laundry-btn {
        width: 100%;
    }
}

/* =========================================================
   V15 - temp laundry UI reset
   Goal: remove sticky overlap, reduce visual weight, flatten page,
   and prevent the bottom helper cards from creating huge empty columns.
   ========================================================= */
body.laundry-body .solo-global-header {
    position: static !important;
    top: auto !important;
    z-index: 10 !important;
    backdrop-filter: none !important;
}

body.laundry-body .solo-global-nav {
    min-height: 64px !important;
    gap: 18px !important;
}

body.laundry-body .solo-global-brand {
    font-size: 32px !important;
}

body.laundry-body .solo-global-menu {
    gap: 16px !important;
}

body.laundry-body .solo-global-menu a {
    font-size: 13px !important;
    padding: 8px 0 !important;
}

body.laundry-body .solo-global-actions a,
body.laundry-body .solo-global-actions button {
    min-height: 38px !important;
    padding: 7px 15px !important;
    border-radius: 13px !important;
}

body.laundry-body {
    background:
        radial-gradient(circle at 0 0, rgba(204, 251, 241, .55), transparent 30%),
        radial-gradient(circle at 100% 0, rgba(255, 237, 213, .65), transparent 30%),
        linear-gradient(180deg, #fffbf6 0%, #f8fafc 55%, #ecfeff 100%) !important;
}

body.laundry-body main.laundry-runner-page {
    width: min(1240px, calc(100% - 44px)) !important;
    max-width: 1240px !important;
    padding: 22px 0 54px !important;
    background: transparent !important;
}

body.laundry-body main.laundry-runner-page .laundry-back {
    margin: 0 0 12px !important;
    min-height: 36px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
    border-radius: 999px !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-hero {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr) !important;
    gap: 14px !important;
    margin: 0 0 14px !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy,
body.laundry-body main.laundry-runner-page .laundry-live-card,
body.laundry-body main.laundry-runner-page .laundry-form,
body.laundry-body main.laundry-runner-page .laundry-side-card {
    border-radius: 22px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06) !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy,
body.laundry-body main.laundry-runner-page .laundry-live-card {
    min-height: 0 !important;
    padding: 22px !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy::after {
    width: 150px !important;
    height: 150px !important;
    right: -42px !important;
    bottom: -58px !important;
    opacity: .48 !important;
}

body.laundry-body main.laundry-runner-page .laundry-eyebrow {
    padding: 6px 10px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: .13em !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy h1 {
    max-width: 680px !important;
    margin: 14px 0 10px !important;
    font-size: clamp(34px, 3.7vw, 48px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.055em !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-copy p {
    max-width: 720px !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
}

body.laundry-body main.laundry-runner-page .laundry-runner-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 14px !important;
}

body.laundry-body main.laundry-runner-page .laundry-runner-badges span {
    padding: 7px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-actions {
    gap: 8px !important;
    margin-top: 16px !important;
}

body.laundry-body main.laundry-runner-page .laundry-btn {
    min-height: 38px !important;
    padding: 9px 15px !important;
    font-size: 13px !important;
    border-radius: 999px !important;
}

body.laundry-body main.laundry-runner-page .laundry-live-top strong {
    margin: 12px 0 7px !important;
    font-size: clamp(22px, 2.35vw, 30px) !important;
    line-height: 1.16 !important;
}

body.laundry-body main.laundry-runner-page .laundry-live-top small {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.laundry-body main.laundry-runner-page .laundry-route-box {
    gap: 8px !important;
    margin-top: 16px !important;
}

body.laundry-body main.laundry-runner-page .laundry-route-box-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.laundry-body main.laundry-runner-page .laundry-route-box-6 div {
    min-height: 50px !important;
    padding: 9px !important;
    border-radius: 15px !important;
}

body.laundry-body main.laundry-runner-page .laundry-route-box b {
    width: 32px !important;
    height: 32px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
}

body.laundry-body main.laundry-runner-page .laundry-route-box span {
    font-size: 13px !important;
    line-height: 1.3 !important;
}

/* The research strip and journey card made the page too long before the form. */
body.laundry-body main.laundry-runner-page .laundry-research-strip,
body.laundry-body main.laundry-runner-page .laundry-runner-flow-card {
    display: none !important;
}

body.laundry-body main.laundry-runner-page .laundry-layout {
    display: block !important;
    margin-top: 14px !important;
}

body.laundry-body main.laundry-runner-page .laundry-form {
    padding: 22px !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(148, 163, 184, .22) !important;
}

body.laundry-body main.laundry-runner-page .laundry-form-head {
    padding: 16px 18px !important;
    margin-bottom: 14px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(236, 254, 255, .82), rgba(255, 251, 235, .82)) !important;
}

body.laundry-body main.laundry-runner-page .laundry-form-head h2 {
    margin: 8px 0 5px !important;
    font-size: clamp(26px, 2.8vw, 34px) !important;
    line-height: 1.15 !important;
}

body.laundry-body main.laundry-runner-page .laundry-form-head p {
    max-width: 920px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

body.laundry-body main.laundry-runner-page .laundry-match-form .laundry-section {
    margin-top: 12px !important;
    padding: 18px !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    background: #fff !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
}

body.laundry-body main.laundry-runner-page .laundry-section-title {
    margin-bottom: 12px !important;
    align-items: flex-end !important;
}

body.laundry-body main.laundry-runner-page .laundry-section-title span {
    font-size: 11px !important;
    letter-spacing: .12em !important;
}

body.laundry-body main.laundry-runner-page .laundry-section-title h3 {
    margin-top: 3px !important;
    font-size: clamp(23px, 2.2vw, 29px) !important;
    line-height: 1.15 !important;
}

body.laundry-body main.laundry-runner-page .laundry-section-title p {
    max-width: 410px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-align: right !important;
}

body.laundry-body main.laundry-runner-page .laundry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body.laundry-body main.laundry-runner-page .laundry-grid label,
body.laundry-body main.laundry-runner-page .laundry-full-label {
    gap: 6px !important;
    font-size: 13px !important;
}

body.laundry-body main.laundry-runner-page .laundry-grid input,
body.laundry-body main.laundry-runner-page .laundry-grid select,
body.laundry-body main.laundry-runner-page .laundry-full-label textarea,
body.laundry-body main.laundry-runner-page .laundry-full-label input,
body.laundry-body main.laundry-runner-page .laundry-standalone-input {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
}

body.laundry-body main.laundry-runner-page .laundry-full-label textarea {
    min-height: 94px !important;
}

body.laundry-body main.laundry-runner-page .laundry-online-search-panel {
    grid-template-columns: minmax(0, 1fr) 210px !important;
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 16px !important;
}

body.laundry-body main.laundry-runner-page .laundry-search-helper-top h4 {
    margin: 0 0 3px !important;
    font-size: 17px !important;
}

body.laundry-body main.laundry-runner-page .laundry-search-helper-top p,
body.laundry-body main.laundry-runner-page .laundry-online-note {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

body.laundry-body main.laundry-runner-page .laundry-search-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

body.laundry-body main.laundry-runner-page .laundry-search-steps article,
body.laundry-body main.laundry-runner-page .laundry-online-toolbox {
    padding: 10px !important;
    border-radius: 14px !important;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid-compact,
body.laundry-body main.laundry-runner-page .laundry-laundry-type-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid label {
    min-height: 0 !important;
    padding: 13px 13px 13px 38px !important;
    border-radius: 15px !important;
    gap: 4px !important;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid input {
    left: 13px !important;
    top: 17px !important;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid b {
    font-size: 14px !important;
    line-height: 1.3 !important;
}

body.laundry-body main.laundry-runner-page .laundry-choice-grid small {
    font-size: 12px !important;
    line-height: 1.38 !important;
}

body.laundry-body main.laundry-runner-page .laundry-checkbox-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body.laundry-body main.laundry-runner-page .laundry-task-grid label,
body.laundry-body main.laundry-runner-page .laundry-item-grid label,
body.laundry-body main.laundry-runner-page .laundry-checkbox-grid label {
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

body.laundry-body main.laundry-runner-page .laundry-runner-warning {
    gap: 5px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
}

body.laundry-body main.laundry-runner-page .laundry-runner-warning span {
    line-height: 1.5 !important;
    font-size: 13px !important;
}

body.laundry-body main.laundry-runner-page .laundry-submit-xl,
body.laundry-body main.laundry-runner-page .laundry-submit {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding: 15px 18px !important;
    border-radius: 18px !important;
}

body.laundry-body main.laundry-runner-page .laundry-submit-xl strong,
body.laundry-body main.laundry-runner-page .laundry-submit strong {
    font-size: 23px !important;
    line-height: 1.2 !important;
}

body.laundry-body main.laundry-runner-page .laundry-submit small {
    max-width: 760px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

body.laundry-body main.laundry-runner-page .laundry-submit-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}

body.laundry-body main.laundry-runner-page .laundry-side {
    position: static !important;
    top: auto !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

body.laundry-body main.laundry-runner-page .laundry-side-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 16px !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important;
    overflow: visible !important;
}

body.laundry-body main.laundry-runner-page .laundry-side-card h3 {
    margin: 7px 0 8px !important;
    font-size: 18px !important;
    line-height: 1.22 !important;
}

body.laundry-body main.laundry-runner-page .laundry-side-card p,
body.laundry-body main.laundry-runner-page .laundry-list li,
body.laundry-body main.laundry-runner-page .laundry-factor-list span,
body.laundry-body main.laundry-runner-page .laundry-price-stack small {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list,
body.laundry-body main.laundry-runner-page .laundry-price-stack,
body.laundry-body main.laundry-runner-page .laundry-list {
    gap: 7px !important;
    margin-top: 8px !important;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list article {
    grid-template-columns: 32px 1fr !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 12px !important;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list b {
    width: 32px !important;
    height: 32px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
}

body.laundry-body main.laundry-runner-page .laundry-factor-list strong,
body.laundry-body main.laundry-runner-page .laundry-price-stack strong {
    font-size: 15px !important;
    line-height: 1.25 !important;
}

body.laundry-body main.laundry-runner-page .laundry-price-stack article,
body.laundry-body main.laundry-runner-page .laundry-list li {
    padding: 9px !important;
    border-radius: 12px !important;
}

body.laundry-body main.laundry-runner-page .laundry-price-stack span {
    font-size: 10px !important;
}

body.laundry-body main.laundry-runner-page .laundry-tip-list li {
    padding-left: 28px !important;
}

body.laundry-body main.laundry-runner-page .laundry-tip-list li::before {
    left: 10px !important;
    top: 9px !important;
}

@media (max-width: 1180px) {
    body.laundry-body main.laundry-runner-page {
        width: min(100% - 32px, 980px) !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-match-hero {
        grid-template-columns: 1fr !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-side {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.laundry-body main.laundry-runner-page {
        width: min(100% - 20px, 640px) !important;
        padding-top: 16px !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-match-copy,
    body.laundry-body main.laundry-runner-page .laundry-live-card,
    body.laundry-body main.laundry-runner-page .laundry-form,
    body.laundry-body main.laundry-runner-page .laundry-side-card {
        padding: 16px !important;
        border-radius: 18px !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-match-copy h1 {
        font-size: 34px !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-route-box-6,
    body.laundry-body main.laundry-runner-page .laundry-grid,
    body.laundry-body main.laundry-runner-page .laundry-choice-grid-compact,
    body.laundry-body main.laundry-runner-page .laundry-laundry-type-grid,
    body.laundry-body main.laundry-runner-page .laundry-checkbox-grid,
    body.laundry-body main.laundry-runner-page .laundry-online-search-panel,
    body.laundry-body main.laundry-runner-page .laundry-submit-xl,
    body.laundry-body main.laundry-runner-page .laundry-submit,
    body.laundry-body main.laundry-runner-page .laundry-side {
        grid-template-columns: 1fr !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-section-title {
        display: block !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-section-title p {
        max-width: none !important;
        margin-top: 5px !important;
        text-align: left !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-submit-actions,
    body.laundry-body main.laundry-runner-page .laundry-submit-actions .laundry-btn {
        width: 100% !important;
    }
}

/* =========================================================
   V70 — 自助洗衣代跑腿需求：正式命名與精簡教學內容
   ========================================================= */
body.laundry-body main.laundry-runner-page .laundry-request-hero {
    align-items: stretch !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow-list {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow-list::before {
    content: "" !important;
    position: absolute !important;
    left: 10% !important;
    right: 10% !important;
    top: 18px !important;
    height: 2px !important;
    background: rgba(255, 255, 255, .28) !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow-list li {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    justify-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    text-align: center !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow-list b {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .14) !important;
    border: 1px solid rgba(255, 255, 255, .34) !important;
    color: #fff !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow-list li.current {
    color: #fff !important;
}

body.laundry-body main.laundry-runner-page .laundry-request-flow-list li.current b {
    background: #fff !important;
    border-color: #fff !important;
    color: #087f73 !important;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .14) !important;
}

body.laundry-body main.laundry-runner-page .laundry-form-progress {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 13px !important;
}

body.laundry-body main.laundry-runner-page .laundry-form-progress span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 7px 8px !important;
    border: 1px solid rgba(8, 127, 115, .14) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: #47606b !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice {
    margin-top: 14px !important;
    border: 1px solid rgba(8, 127, 115, .18) !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice summary {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 28px !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 70px !important;
    padding: 13px 16px !important;
    cursor: pointer !important;
    list-style: none !important;
    background: linear-gradient(135deg, #f0fdfa, #fffaf4) !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice summary::-webkit-details-marker {
    display: none !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-icon {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    background: #0f9487 !important;
    color: #fff !important;
    font-family: Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice summary strong {
    display: block !important;
    color: #102a43 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice summary small {
    display: block !important;
    margin-top: 3px !important;
    color: #66788a !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-toggle {
    display: grid !important;
    place-items: center !important;
    color: #087f73 !important;
    font-size: 23px !important;
    transition: transform .18s ease !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice[open] .laundry-pre-submit-toggle {
    transform: rotate(45deg) !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 14px !important;
    border-top: 1px solid rgba(8, 127, 115, .12) !important;
    background: #fff !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content section {
    min-width: 0 !important;
    padding: 13px !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    border-radius: 14px !important;
    background: #fbfcfd !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content h3 {
    margin: 0 0 8px !important;
    color: #0b766d !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content ul {
    display: grid !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content li {
    position: relative !important;
    padding-left: 14px !important;
    color: #526579 !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .62em !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #10a395 !important;
}

body.laundry-body main.laundry-runner-page .laundry-pre-submit-content li strong {
    color: #17324d !important;
}

@media (max-width: 980px) {
    body.laundry-body main.laundry-runner-page .laundry-form-progress,
    body.laundry-body main.laundry-runner-page .laundry-pre-submit-content {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.laundry-body main.laundry-runner-page .laundry-request-flow-list {
        grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
        overflow-x: auto !important;
        padding-bottom: 6px !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-request-flow-list::before {
        display: none !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-form-progress {
        display: flex !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-form-progress span {
        flex: 0 0 auto !important;
        min-width: 112px !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-pre-submit-content {
        grid-template-columns: 1fr !important;
    }

    body.laundry-body main.laundry-runner-page .laundry-pre-submit-notice summary {
        grid-template-columns: 34px minmax(0, 1fr) 24px !important;
        gap: 9px !important;
        padding: 12px !important;
    }
}

body.laundry-body main.laundry-runner-page .laundry-form-progress span:first-child {
    background: #0f9487 !important;
    border-color: #0f9487 !important;
    color: #fff !important;
}

/* =========================================================
   V71 — 自助洗衣代跑腿需求：精簡、易掃讀、長表單導覽
   ========================================================= */
body.laundry-request-v71-body {
    background: #f7f7f4 !important;
    color: #14263a;
}

body.laundry-request-v71-body .laundry-request-v71 {
    width: min(100% - 48px, 1420px) !important;
    max-width: 1420px !important;
    margin: 0 auto !important;
    padding: 24px 0 72px !important;
}

.tl71-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.tl71-back,
.tl71-progress-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid #dcded9;
    border-radius: 12px;
    background: #fff;
    color: #31514e;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.tl71-back:hover,
.tl71-progress-link:hover {
    border-color: #75b7ad;
    background: #f2faf8;
    color: #12695f;
    transform: translateY(-1px);
}

.tl71-progress-link {
    border-color: #1d8d7d;
    background: #168b7b;
    color: #fff;
}

.tl71-progress-link:hover {
    background: #0f7468;
    color: #fff;
}

.tl71-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(390px, .78fr);
    gap: 16px;
    margin-bottom: 18px;
}

.tl71-hero-copy,
.tl71-match-flow {
    min-width: 0;
    border: 1px solid #dedfdc;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(34, 53, 65, .055);
}

.tl71-hero-copy {
    padding: 28px 30px;
    background:
        linear-gradient(120deg, rgba(238, 249, 246, .92), rgba(255, 255, 255, .96) 58%),
        #fff;
}

.tl71-kicker {
    color: #c7503b;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
}

.tl71-hero h1 {
    margin: 8px 0 8px;
    color: #12263a;
    font-family: "Noto Sans TC", system-ui, sans-serif;
    font-size: clamp(34px, 3.2vw, 48px);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.15;
}

.tl71-hero-copy > p {
    max-width: 850px;
    margin: 0;
    color: #647180;
    font-size: 15px;
    line-height: 1.75;
}

.tl71-service-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.tl71-service-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid #cce8e2;
    border-radius: 999px;
    background: #f3fbf9;
    color: #176f64;
    font-size: 12.5px;
    font-weight: 850;
}

.tl71-match-flow {
    display: grid;
    align-content: center;
    padding: 24px;
    background: #173b39;
    color: #fff;
}

.tl71-flow-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.tl71-flow-head span {
    display: block;
    color: rgba(255, 255, 255, .66);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
}

.tl71-flow-head strong {
    display: block;
    margin-top: 3px;
    font-size: 20px;
    font-weight: 900;
}

.tl71-flow-head > b {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    font-size: 13px;
}

.tl71-match-flow ol {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 22px 0 14px;
    padding: 0;
    list-style: none;
}

.tl71-match-flow ol::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 16px;
    height: 1px;
    background: rgba(255, 255, 255, .22);
}

.tl71-match-flow li {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.tl71-match-flow li b {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    background: #173b39;
    color: #fff;
}

.tl71-match-flow li.is-current {
    color: #fff;
}

.tl71-match-flow li.is-current b {
    border-color: #fff;
    background: #fff;
    color: #176f64;
}

.tl71-match-flow > p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: 12px;
    line-height: 1.55;
}

.tl71-form {
    display: grid !important;
    grid-template-columns: 224px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tl71-form-nav {
    position: sticky;
    top: 18px;
    align-self: start;
    padding: 18px;
    border: 1px solid #dedfdc;
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 28px rgba(34, 53, 65, .045);
}

.tl71-nav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.tl71-nav-head span {
    color: #687582;
    font-size: 12px;
    font-weight: 850;
}

.tl71-nav-head strong {
    color: #176f64;
    font-size: 13px;
}

.tl71-progress-track {
    height: 5px;
    margin: 11px 0 15px;
    overflow: hidden;
    border-radius: 999px;
    background: #e6ebe8;
}

.tl71-progress-track span {
    display: block;
    width: 16.666%;
    height: 100%;
    border-radius: inherit;
    background: #168b7b;
    transition: width .2s ease;
}

.tl71-form-nav nav {
    display: grid;
    gap: 5px;
}

.tl71-form-nav nav a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 7px 8px;
    border-radius: 11px;
    color: #526170;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.tl71-form-nav nav a b {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: #f0f2ef;
    color: #687582;
    font-size: 12px;
}

.tl71-form-nav nav a:hover {
    background: #f3f8f6;
    color: #176f64;
}

.tl71-form-nav nav a.is-active {
    background: #eaf6f3;
    color: #176f64;
}

.tl71-form-nav nav a.is-active b {
    background: #168b7b;
    color: #fff;
}

.tl71-nav-note {
    display: grid;
    gap: 4px;
    margin-top: 15px;
    padding: 12px;
    border-radius: 12px;
    background: #fff8ec;
    color: #765327;
}

.tl71-nav-note b {
    font-size: 12.5px;
}

.tl71-nav-note span {
    font-size: 11.5px;
    line-height: 1.55;
}

.tl71-form-main {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.tl71-section {
    scroll-margin-top: 18px;
    padding: 22px;
    border: 1px solid #dedfdc;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(34, 53, 65, .035);
}

.tl71-section-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    margin-bottom: 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eceeeb;
}

.tl71-step-no {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #eaf6f3;
    color: #176f64;
    font-size: 13px;
    font-weight: 950;
}

.tl71-section-head h2 {
    margin: 0;
    color: #14263a;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: -.025em;
    line-height: 1.25;
}

.tl71-section-head p {
    margin: 4px 0 0;
    color: #75808b;
    font-size: 13px;
    line-height: 1.55;
}

.tl71-grid {
    display: grid;
    gap: 13px;
}

.tl71-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tl71-field {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #354657;
    font-size: 13px;
    font-weight: 850;
}

.tl71-field > span {
    display: flex;
    align-items: center;
    gap: 7px;
}

.tl71-field em {
    color: #c7503b;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.tl71-field-wide {
    grid-column: span 2;
}

.tl71-field-block {
    margin-top: 14px;
}

.tl71-field input,
.tl71-field select,
.tl71-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #d9ddda;
    border-radius: 11px;
    outline: none;
    background: #fff;
    color: #14263a;
    font: inherit;
    font-weight: 650;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.tl71-field textarea {
    min-height: 106px;
    resize: vertical;
    line-height: 1.65;
}

.tl71-field input::placeholder,
.tl71-field textarea::placeholder {
    color: #9aa3aa;
    font-weight: 550;
}

.tl71-field input:focus,
.tl71-field select:focus,
.tl71-field textarea:focus {
    border-color: #40a99a;
    background: #fcfffe;
    box-shadow: 0 0 0 3px rgba(22, 139, 123, .12);
}

.tl71-store-helper,
.tl71-pre-submit {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #d9e3df;
    border-radius: 14px;
    background: #fbfdfc;
}

.tl71-store-helper summary,
.tl71-pre-submit summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 66px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
}

.tl71-store-helper summary::-webkit-details-marker,
.tl71-pre-submit summary::-webkit-details-marker {
    display: none;
}

.tl71-summary-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #eaf6f3;
    color: #176f64;
    font-size: 18px;
    font-weight: 950;
}

.tl71-store-helper summary b,
.tl71-pre-submit summary b {
    display: block;
    color: #243747;
    font-size: 14px;
}

.tl71-store-helper summary small,
.tl71-pre-submit summary small {
    display: block;
    margin-top: 2px;
    color: #78838d;
    font-size: 12px;
    line-height: 1.45;
}

.tl71-store-helper summary i,
.tl71-pre-submit summary i {
    color: #176f64;
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
}

.tl71-store-helper[open] summary i,
.tl71-pre-submit[open] summary i {
    font-size: 0;
}

.tl71-store-helper[open] summary i::after,
.tl71-pre-submit[open] summary i::after {
    content: "收合";
    font-size: 12px;
}

.tl71-store-helper-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 14px;
    border-top: 1px solid #e5e9e6;
    background: #fff;
}

.tl71-store-helper-body ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tl71-store-helper-body li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f5f7f6;
    color: #4d5c68;
    font-size: 12px;
    font-weight: 800;
}

.tl71-store-helper-body li b {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: #168b7b;
    color: #fff;
    font-size: 11px;
}

.tl71-store-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tl71-store-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #b8d9d2;
    border-radius: 10px;
    background: #fff;
    color: #176f64;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.tl71-store-actions a:hover {
    background: #eff9f6;
}

.tl71-check-grid {
    display: grid;
    gap: 9px;
}

.tl71-check-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tl71-check-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tl71-check-grid label {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #dde1de;
    border-radius: 11px;
    background: #fbfcfb;
    color: #344654;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.tl71-check-grid input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tl71-check-box {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 1px solid #cbd2cd;
    border-radius: 8px;
    background: #fff;
    color: transparent;
    font-size: 12px;
}

.tl71-check-grid label:hover {
    border-color: #8dbdb5;
    background: #f6fbfa;
}

.tl71-check-grid label:has(input:checked) {
    border-color: #57aa9d;
    background: #edf8f5;
    color: #176f64;
}

.tl71-check-grid input:checked + .tl71-check-box {
    border-color: #168b7b;
    background: #168b7b;
    color: #fff;
}

.tl71-radio-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.tl71-radio-grid label {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    min-height: 82px;
    padding: 13px;
    border: 1px solid #dde1de;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}

.tl71-radio-grid input {
    position: absolute;
    opacity: 0;
}

.tl71-radio-mark {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: 2px solid #bcc6bf;
    border-radius: 50%;
    background: #fff;
}

.tl71-radio-grid b {
    display: block;
    color: #2b3d4b;
    font-size: 13.5px;
    line-height: 1.4;
}

.tl71-radio-grid small {
    display: block;
    margin-top: 4px;
    color: #7b858e;
    font-size: 11.5px;
    line-height: 1.4;
}

.tl71-radio-grid label:hover {
    border-color: #8dbdb5;
}

.tl71-radio-grid label:has(input:checked) {
    border-color: #57aa9d;
    background: #edf8f5;
}

.tl71-radio-grid input:checked + .tl71-radio-mark {
    border: 5px solid #168b7b;
}

.tl71-items-grid,
.tl71-special-grid {
    margin-top: 12px;
}

.tl71-warning {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid #f0d2a4;
    border-radius: 13px;
    background: #fff8eb;
    color: #75501e;
}

.tl71-warning > span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #e88a33;
    color: #fff;
    font-size: 20px;
    font-weight: 950;
}

.tl71-warning b {
    display: block;
    font-size: 14px;
}

.tl71-warning p {
    margin: 4px 0 0;
    font-size: 12.5px;
    line-height: 1.6;
}

.tl71-pre-submit {
    margin-top: 0;
    background: #fff;
}

.tl71-pre-submit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-top: 1px solid #e5e9e6;
}

.tl71-pre-submit-grid section {
    padding: 13px;
    border-radius: 11px;
    background: #f7f8f7;
}

.tl71-pre-submit-grid h3 {
    margin: 0 0 9px;
    color: #176f64;
    font-size: 13px;
    font-weight: 950;
}

.tl71-pre-submit-grid ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tl71-pre-submit-grid li {
    display: grid;
    gap: 2px;
    color: #697681;
    font-size: 11.5px;
    line-height: 1.5;
}

.tl71-pre-submit-grid li b {
    color: #334653;
    font-size: 12px;
}

.tl71-submit-bar {
    position: sticky;
    bottom: 14px;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 16px;
    border: 1px solid #bcded7;
    border-radius: 16px;
    background: rgba(244, 252, 250, .96);
    box-shadow: 0 12px 34px rgba(26, 77, 69, .12);
    backdrop-filter: blur(12px);
}

.tl71-submit-copy > span {
    display: block;
    color: #176f64;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .12em;
}

.tl71-submit-copy strong {
    display: block;
    margin-top: 2px;
    color: #14263a;
    font-size: 20px;
    font-weight: 950;
}

.tl71-submit-copy small {
    display: block;
    max-width: 670px;
    margin-top: 2px;
    color: #75808b;
    font-size: 11.5px;
    line-height: 1.45;
}

.tl71-submit-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.tl71-submit-primary,
.tl71-submit-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 17px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.tl71-submit-primary {
    border: 1px solid #168b7b;
    background: #168b7b;
    color: #fff;
    box-shadow: 0 7px 18px rgba(22, 139, 123, .2);
}

.tl71-submit-primary:hover {
    background: #0f7468;
    color: #fff;
}

.tl71-submit-secondary {
    border: 1px solid #c8d7d2;
    background: #fff;
    color: #31514e;
}

.tl71-submit-secondary:hover {
    border-color: #75b7ad;
    background: #f3faf8;
    color: #176f64;
}

@media (max-width: 1120px) {
    body.laundry-request-v71-body .laundry-request-v71 {
        width: min(100% - 32px, 980px) !important;
    }

    .tl71-hero {
        grid-template-columns: 1fr;
    }

    .tl71-form {
        grid-template-columns: 1fr !important;
    }

    .tl71-form-nav {
        position: sticky;
        top: 0;
        z-index: 10;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        border-radius: 14px;
    }

    .tl71-nav-head {
        display: none;
    }

    .tl71-progress-track,
    .tl71-nav-note {
        display: none;
    }

    .tl71-form-nav nav {
        display: flex;
        gap: 5px;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .tl71-form-nav nav a {
        flex: 0 0 auto;
        min-height: 38px;
        padding: 4px 7px;
    }

    .tl71-form-nav nav a b {
        width: 27px;
        height: 27px;
    }
}

@media (max-width: 820px) {
    body.laundry-request-v71-body .laundry-request-v71 {
        width: min(100% - 20px, 680px) !important;
        padding-top: 16px !important;
    }

    .tl71-topbar {
        align-items: stretch;
    }

    .tl71-back,
    .tl71-progress-link {
        min-height: 40px;
        padding: 8px 11px;
        font-size: 12px;
    }

    .tl71-hero-copy,
    .tl71-match-flow {
        border-radius: 16px;
    }

    .tl71-hero-copy {
        padding: 22px;
    }

    .tl71-hero h1 {
        font-size: 34px;
    }

    .tl71-match-flow {
        padding: 20px;
    }

    .tl71-section {
        padding: 17px;
        border-radius: 15px;
    }

    .tl71-grid-2,
    .tl71-check-grid-4,
    .tl71-check-grid-3,
    .tl71-radio-grid,
    .tl71-pre-submit-grid {
        grid-template-columns: 1fr 1fr;
    }

    .tl71-field-wide {
        grid-column: span 2;
    }

    .tl71-store-helper-body {
        grid-template-columns: 1fr;
    }

    .tl71-store-actions {
        justify-content: flex-start;
    }

    .tl71-submit-bar {
        position: static;
        align-items: stretch;
        flex-direction: column;
    }

    .tl71-submit-actions,
    .tl71-submit-primary,
    .tl71-submit-secondary {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .tl71-topbar {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tl71-hero h1 {
        font-size: 30px;
    }

    .tl71-hero-copy > p {
        font-size: 13.5px;
    }

    .tl71-match-flow ol {
        overflow-x: auto;
        grid-template-columns: repeat(4, minmax(76px, 1fr));
        padding-bottom: 4px;
    }

    .tl71-match-flow ol::before {
        display: none;
    }

    .tl71-form-nav {
        top: 0;
        overflow: hidden;
    }

    .tl71-form-nav nav a span {
        display: none;
    }

    .tl71-form-nav nav a {
        grid-template-columns: 28px;
        padding: 4px;
    }

    .tl71-grid-2,
    .tl71-check-grid-4,
    .tl71-check-grid-3,
    .tl71-radio-grid,
    .tl71-pre-submit-grid,
    .tl71-store-helper-body ol {
        grid-template-columns: 1fr;
    }

    .tl71-field-wide {
        grid-column: auto;
    }

    .tl71-section-head {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 10px;
    }

    .tl71-step-no {
        width: 36px;
        height: 36px;
    }

    .tl71-section-head h2 {
        font-size: 20px;
    }

    .tl71-store-helper summary,
    .tl71-pre-submit summary {
        grid-template-columns: 34px minmax(0, 1fr) auto;
        padding: 10px;
    }

    .tl71-summary-icon {
        width: 34px;
        height: 34px;
    }

    .tl71-store-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tl71-submit-actions {
        display: grid;
    }
}

/* =========================================================
   V72 — 自助洗衣代跑腿需求：單步驟精簡媒合表單
   ========================================================= */
body.laundry-request-v72-body {
    --tl72-ink: #142338;
    --tl72-muted: #667383;
    --tl72-line: #e4e0d9;
    --tl72-soft: #f6f4f0;
    --tl72-surface: #ffffff;
    --tl72-green: #0f8779;
    --tl72-green-dark: #0b665d;
    --tl72-green-soft: #e9f6f3;
    --tl72-coral: #ef6a58;
    --tl72-coral-dark: #d95443;
    --tl72-warm: #fff8ed;
    margin: 0;
    background:
        radial-gradient(circle at 8% 10%, rgba(221, 246, 239, .58), transparent 25%),
        radial-gradient(circle at 92% 14%, rgba(255, 236, 218, .62), transparent 24%),
        #f8f7f4 !important;
    color: var(--tl72-ink);
    font-family: "Noto Sans TC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.laundry-request-v72-body .laundry-request-v72 {
    width: min(100% - 44px, 1240px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 24px 0 72px !important;
}

.tl72-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.tl72-back,
.tl72-progress-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid #ddd8d0;
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
    color: #4d554f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(26, 35, 43, .035);
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.tl72-back:hover,
.tl72-progress-link:hover {
    transform: translateY(-1px);
    border-color: #a8d3cc;
    background: #fff;
    color: var(--tl72-green-dark);
}

.tl72-progress-link {
    border-color: var(--tl72-green);
    background: var(--tl72-green);
    color: #fff;
}

.tl72-progress-link:hover {
    border-color: var(--tl72-green-dark);
    background: var(--tl72-green-dark);
    color: #fff;
}

.tl72-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 16px;
    align-items: stretch;
}

.tl72-hero-copy,
.tl72-order-rule {
    border: 1px solid rgba(201, 195, 185, .75);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 40px rgba(26, 35, 43, .055);
}

.tl72-hero-copy {
    padding: 30px 32px;
    background:
        linear-gradient(125deg, rgba(239, 250, 247, .96), rgba(255, 255, 255, .96) 56%, rgba(255, 247, 239, .94));
}

.tl72-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(239, 106, 88, .11);
    color: var(--tl72-coral-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tl72-hero h1 {
    max-width: 760px;
    margin: 13px 0 10px;
    color: var(--tl72-ink);
    font-size: clamp(31px, 3.2vw, 45px);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1.2;
}

.tl72-hero-copy > p {
    max-width: 820px;
    margin: 0;
    color: var(--tl72-muted);
    font-size: 15px;
    line-height: 1.8;
}

.tl72-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.tl72-hero-points span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 6px 11px 6px 7px;
    border: 1px solid #cee7e2;
    border-radius: 999px;
    background: rgba(255, 255, 255, .8);
    color: #285d58;
    font-size: 12px;
    font-weight: 800;
}

.tl72-hero-points b {
    display: grid;
    place-items: center;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: var(--tl72-green-soft);
    color: var(--tl72-green-dark);
    font-size: 10px;
}

.tl72-order-rule {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-content: center;
    gap: 14px;
    padding: 25px;
    background: #173f3b;
    color: #fff;
}

.tl72-rule-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: #fff;
    color: var(--tl72-green-dark);
    font-size: 22px;
    font-weight: 900;
}

.tl72-order-rule b {
    display: block;
    margin: 1px 0 6px;
    font-size: 18px;
    font-weight: 900;
}

.tl72-order-rule p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 12.5px;
    line-height: 1.7;
}

.tl72-match-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 16px 0;
    padding: 0 18px;
    border: 1px solid var(--tl72-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .88);
    list-style: none;
    box-shadow: 0 8px 24px rgba(26, 35, 43, .035);
}

.tl72-match-flow::before {
    content: "";
    position: absolute;
    left: 13%;
    right: 13%;
    top: 27px;
    height: 1px;
    background: #d9ddd8;
}

.tl72-match-flow li {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 54px;
    color: #89918d;
    font-size: 12px;
    font-weight: 800;
}

.tl72-match-flow li b {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid #d7dbd7;
    border-radius: 50%;
    background: #fff;
    color: #7a837e;
    font-size: 11px;
}

.tl72-match-flow li.is-current {
    color: var(--tl72-green-dark);
}

.tl72-match-flow li.is-current b {
    border-color: var(--tl72-green);
    background: var(--tl72-green);
    color: #fff;
    box-shadow: 0 5px 12px rgba(15, 135, 121, .2);
}

.tl72-wizard {
    display: grid !important;
    grid-template-columns: 232px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.tl72-sidebar {
    position: sticky;
    top: 18px;
    align-self: start;
    padding: 18px;
    border: 1px solid var(--tl72-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 32px rgba(26, 35, 43, .05);
}

.tl72-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.tl72-sidebar-head span {
    color: #6e786f;
    font-size: 12px;
    font-weight: 800;
}

.tl72-sidebar-head strong {
    color: var(--tl72-green-dark);
    font-size: 12px;
}

.tl72-sidebar-head strong b {
    font-size: 18px;
}

.tl72-progress-track {
    height: 5px;
    margin: 12px 0 16px;
    overflow: hidden;
    border-radius: 999px;
    background: #eceeea;
}

.tl72-progress-track span {
    display: block;
    width: 16.666%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tl72-green), #43ad9f);
    transition: width .24s ease;
}

.tl72-sidebar nav {
    display: grid;
    gap: 5px;
}

.tl72-sidebar nav button {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 54px;
    padding: 8px 9px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #53605b;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.tl72-sidebar nav button:hover {
    background: #f5f8f6;
    color: var(--tl72-green-dark);
    transform: translateX(2px);
}

.tl72-sidebar nav button > b {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #f0f2ef;
    color: #7b847f;
    font-size: 12px;
}

.tl72-sidebar nav button > span {
    align-self: end;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
}

.tl72-sidebar nav button > i {
    align-self: start;
    color: #929a95;
    font-size: 10.5px;
    font-style: normal;
    line-height: 1.2;
}

.tl72-sidebar nav button.is-active {
    background: var(--tl72-green-soft);
    color: var(--tl72-green-dark);
}

.tl72-sidebar nav button.is-active > b {
    background: var(--tl72-green);
    color: #fff;
}

.tl72-sidebar nav button.is-active > i {
    color: #55837d;
}

.tl72-sidebar nav button.is-complete > b::before {
    content: "✓";
}

.tl72-sidebar nav button.is-complete > b {
    font-size: 0;
    background: #dff2ed;
    color: var(--tl72-green-dark);
}

.tl72-sidebar nav button.is-complete > b::before {
    font-size: 13px;
}

.tl72-side-help {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin-top: 16px;
    padding: 12px;
    border-radius: 12px;
    background: var(--tl72-warm);
    color: #765327;
}

.tl72-side-help > span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: #f6d9ae;
    font-size: 12px;
    font-weight: 900;
}

.tl72-side-help p {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.55;
}

.tl72-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--tl72-line);
    border-radius: 20px;
    background: var(--tl72-surface);
    box-shadow: 0 16px 40px rgba(26, 35, 43, .055);
}

.tl72-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
    padding: 16px 24px;
    border-bottom: 1px solid #ece9e3;
    background: #fbfaf8;
}

.tl72-card-top > div {
    display: grid;
    gap: 2px;
}

.tl72-card-top span {
    color: var(--tl72-coral-dark);
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tl72-card-top strong {
    color: var(--tl72-ink);
    font-size: 19px;
    font-weight: 900;
}

.tl72-card-top small {
    max-width: 520px;
    color: #7a847f;
    font-size: 12px;
    line-height: 1.55;
    text-align: right;
}

.tl72-panels {
    position: relative;
}

.tl72-panel {
    padding: 26px 26px 24px;
}

.tl72-js .tl72-panel:not(.is-active) {
    display: none;
}

.tl72-panel.is-active {
    animation: tl72PanelIn .22s ease both;
}

@keyframes tl72PanelIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

.tl72-panel-intro {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-bottom: 22px;
}

.tl72-panel-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--tl72-green-soft);
    color: var(--tl72-green-dark);
    font-size: 19px;
    font-weight: 900;
}

.tl72-panel-intro h2 {
    margin: 1px 0 5px;
    color: var(--tl72-ink);
    font-size: 25px;
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1.3;
}

.tl72-panel-intro p {
    margin: 0;
    color: var(--tl72-muted);
    font-size: 13px;
    line-height: 1.65;
}

.tl72-grid {
    display: grid;
    gap: 14px;
}

.tl72-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tl72-field {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #344557;
    font-size: 13px;
    font-weight: 800;
}

.tl72-field > span {
    display: flex;
    align-items: center;
    gap: 7px;
}

.tl72-field em {
    color: var(--tl72-coral-dark);
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.tl72-field-wide {
    grid-column: span 2;
}

.tl72-field-block {
    margin-top: 16px;
}

.tl72-field input,
.tl72-field select,
.tl72-field textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #d8dcd7;
    border-radius: 12px;
    outline: none;
    background: #fff;
    color: var(--tl72-ink);
    font: inherit;
    font-weight: 650;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.tl72-field textarea {
    min-height: 128px;
    resize: vertical;
    line-height: 1.65;
}

.tl72-field input::placeholder,
.tl72-field textarea::placeholder {
    color: #9ba3a0;
    font-weight: 500;
}

.tl72-field input:focus,
.tl72-field select:focus,
.tl72-field textarea:focus {
    border-color: #55a99d;
    background: #fdfffe;
    box-shadow: 0 0 0 4px rgba(15, 135, 121, .1);
}

.tl72-field input:invalid:not(:placeholder-shown) {
    border-color: #dc7669;
}

.tl72-helper,
.tl72-pre-submit {
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid #dce3df;
    border-radius: 14px;
    background: #fbfdfc;
}

.tl72-helper summary,
.tl72-pre-submit summary {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
}

.tl72-helper summary::-webkit-details-marker,
.tl72-pre-submit summary::-webkit-details-marker {
    display: none;
}

.tl72-helper-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--tl72-green-soft);
    color: var(--tl72-green-dark);
    font-size: 17px;
    font-weight: 900;
}

.tl72-helper summary b,
.tl72-pre-submit summary b {
    display: block;
    color: #263846;
    font-size: 14px;
}

.tl72-helper summary small,
.tl72-pre-submit summary small {
    display: block;
    margin-top: 2px;
    color: #7b8580;
    font-size: 11.5px;
    line-height: 1.45;
}

.tl72-helper summary i,
.tl72-pre-submit summary i {
    color: var(--tl72-green-dark);
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
}

.tl72-helper[open] summary i,
.tl72-pre-submit[open] summary i {
    font-size: 0;
}

.tl72-helper[open] summary i::after,
.tl72-pre-submit[open] summary i::after {
    content: "收合";
    font-size: 12px;
}

.tl72-helper-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 14px;
    border-top: 1px solid #e5e9e6;
    background: #fff;
}

.tl72-helper-body ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tl72-helper-body li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f5f7f6;
    color: #4f5c56;
    font-size: 11.5px;
    font-weight: 800;
}

.tl72-helper-body li b {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 8px;
    background: var(--tl72-green);
    color: #fff;
    font-size: 10px;
}

.tl72-helper-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tl72-helper-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #b9d8d2;
    border-radius: 10px;
    background: #fff;
    color: var(--tl72-green-dark);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.tl72-helper-actions a:hover {
    background: var(--tl72-green-soft);
}

.tl72-check-grid {
    display: grid;
    gap: 10px;
}

.tl72-check-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tl72-check-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tl72-check-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tl72-check-grid label {
    position: relative;
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 11px 13px;
    border: 1px solid #dfe2de;
    border-radius: 12px;
    background: #fcfcfb;
    color: #344653;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}

.tl72-check-grid label:hover {
    transform: translateY(-1px);
    border-color: #9dc7c0;
    background: #f7fbfa;
}

.tl72-check-grid input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tl72-check-mark {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border: 1px solid #cbd1cc;
    border-radius: 9px;
    background: #fff;
    color: transparent;
    font-size: 12px;
}

.tl72-check-grid label:has(input:checked) {
    border-color: #64ada2;
    background: var(--tl72-green-soft);
    color: var(--tl72-green-dark);
}

.tl72-check-grid input:checked + .tl72-check-mark {
    border-color: var(--tl72-green);
    background: var(--tl72-green);
    color: #fff;
}

.tl72-inline-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 11px 13px;
    border-radius: 11px;
    background: #f7f8f6;
    color: #68736d;
    font-size: 12px;
    line-height: 1.5;
}

.tl72-inline-note b {
    color: var(--tl72-green-dark);
}

.tl72-radio-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tl72-radio-grid label {
    position: relative;
    display: grid;
    grid-template-columns: 21px minmax(0, 1fr);
    gap: 10px;
    min-height: 82px;
    padding: 14px;
    border: 1px solid #dfe2de;
    border-radius: 13px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.tl72-radio-grid label:hover {
    transform: translateY(-1px);
    border-color: #9dc7c0;
}

.tl72-radio-grid input {
    position: absolute;
    opacity: 0;
}

.tl72-radio-dot {
    width: 19px;
    height: 19px;
    margin-top: 2px;
    border: 2px solid #bdc6c0;
    border-radius: 50%;
    background: #fff;
}

.tl72-radio-grid b {
    display: block;
    color: #2b3c49;
    font-size: 13.5px;
    line-height: 1.4;
}

.tl72-radio-grid small {
    display: block;
    margin-top: 4px;
    color: #7b8580;
    font-size: 11.5px;
    line-height: 1.45;
}

.tl72-radio-grid label:has(input:checked) {
    border-color: #64ada2;
    background: var(--tl72-green-soft);
}

.tl72-radio-grid input:checked + .tl72-radio-dot {
    border: 5px solid var(--tl72-green);
}

.tl72-subtitle {
    margin: 18px 0 10px;
    color: #53615a;
    font-size: 12px;
    font-weight: 900;
}

.tl72-warning {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    padding: 15px;
    border: 1px solid #efd3a5;
    border-radius: 13px;
    background: var(--tl72-warm);
    color: #70491f;
}

.tl72-warning > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #ec8b2f;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.tl72-warning b {
    display: block;
    font-size: 14px;
}

.tl72-warning p {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.65;
}

.tl72-review {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #cfe5e0;
    border-radius: 14px;
    background: #f5fbf9;
}

.tl72-review-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.tl72-review-head > div {
    display: grid;
    gap: 2px;
}

.tl72-review-head span {
    color: var(--tl72-green-dark);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tl72-review-head strong {
    color: var(--tl72-ink);
    font-size: 17px;
}

.tl72-review-head small {
    color: #79847e;
    font-size: 11px;
}

.tl72-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.tl72-review-grid > div {
    display: grid;
    gap: 3px;
    min-height: 62px;
    padding: 11px 12px;
    border: 1px solid #e0ebe8;
    border-radius: 10px;
    background: #fff;
}

.tl72-review-grid span {
    color: #7b8580;
    font-size: 10.5px;
    font-weight: 700;
}

.tl72-review-grid b {
    color: #263846;
    font-size: 12.5px;
    line-height: 1.45;
}

.tl72-pre-submit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-top: 1px solid #e5e9e6;
    background: #fff;
}

.tl72-pre-submit-grid section {
    padding: 12px;
    border-radius: 11px;
    background: #f7f8f6;
}

.tl72-pre-submit-grid h3 {
    margin: 0 0 8px;
    color: var(--tl72-green-dark);
    font-size: 12.5px;
    font-weight: 900;
}

.tl72-pre-submit-grid ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tl72-pre-submit-grid li {
    display: grid;
    gap: 2px;
    color: #6d7872;
    font-size: 11px;
    line-height: 1.5;
}

.tl72-pre-submit-grid li b {
    color: #344750;
    font-size: 11.5px;
}

.tl72-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 82px;
    padding: 15px 20px;
    border-top: 1px solid #e8e5df;
    background: #fbfaf8;
}

.tl72-actions-copy {
    display: grid;
    gap: 2px;
}

.tl72-actions-copy span {
    color: var(--tl72-green-dark);
    font-size: 11px;
    font-weight: 900;
}

.tl72-actions-copy small {
    color: #7b8580;
    font-size: 11.5px;
    line-height: 1.45;
}

.tl72-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 108px;
    min-height: 44px;
    padding: 10px 17px;
    border-radius: 11px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.tl72-button:hover {
    transform: translateY(-1px);
}

.tl72-button:disabled {
    opacity: .42;
    cursor: not-allowed;
    transform: none;
}

.tl72-button-ghost {
    border: 1px solid #d5d8d4;
    background: #fff;
    color: #59645e;
}

.tl72-button-primary {
    border: 1px solid var(--tl72-green);
    background: var(--tl72-green);
    color: #fff;
    box-shadow: 0 7px 16px rgba(15, 135, 121, .18);
}

.tl72-button-primary:hover {
    border-color: var(--tl72-green-dark);
    background: var(--tl72-green-dark);
    color: #fff;
}

.tl72-button-submit {
    border: 1px solid var(--tl72-coral);
    background: var(--tl72-coral);
    color: #fff;
    box-shadow: 0 7px 16px rgba(239, 106, 88, .18);
}

.tl72-button-submit:hover {
    border-color: var(--tl72-coral-dark);
    background: var(--tl72-coral-dark);
    color: #fff;
}

.tl72-button[hidden],
.tl72-panel[hidden] {
    display: none !important;
}

@media (max-width: 1040px) {
    body.laundry-request-v72-body .laundry-request-v72 {
        width: min(100% - 28px, 920px) !important;
    }

    .tl72-hero {
        grid-template-columns: 1fr;
    }

    .tl72-order-rule {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 18px 22px;
    }

    .tl72-rule-icon {
        width: 42px;
        height: 42px;
    }

    .tl72-wizard {
        grid-template-columns: 1fr !important;
    }

    .tl72-sidebar {
        position: sticky;
        top: 0;
        z-index: 12;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 14px;
        padding: 10px 12px;
        border-radius: 14px;
    }

    .tl72-sidebar-head,
    .tl72-progress-track,
    .tl72-side-help {
        display: none;
    }

    .tl72-sidebar nav {
        display: flex;
        gap: 5px;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .tl72-sidebar nav button {
        flex: 0 0 auto;
        grid-template-columns: 29px auto;
        min-height: 40px;
        padding: 5px 8px;
    }

    .tl72-sidebar nav button > b {
        width: 29px;
        height: 29px;
    }

    .tl72-sidebar nav button > i {
        display: none;
    }
}

@media (max-width: 760px) {
    body.laundry-request-v72-body .laundry-request-v72 {
        width: min(100% - 18px, 680px) !important;
        padding-top: 14px !important;
    }

    .tl72-toolbar {
        gap: 8px;
    }

    .tl72-back,
    .tl72-progress-link {
        min-height: 39px;
        padding: 8px 10px;
        font-size: 11.5px;
    }

    .tl72-hero-copy,
    .tl72-order-rule,
    .tl72-card {
        border-radius: 17px;
    }

    .tl72-hero-copy {
        padding: 22px;
    }

    .tl72-hero h1 {
        font-size: 32px;
    }

    .tl72-hero-copy > p {
        font-size: 13.5px;
    }

    .tl72-match-flow {
        padding: 0 8px;
    }

    .tl72-match-flow li {
        gap: 5px;
        font-size: 10.5px;
    }

    .tl72-match-flow::before {
        left: 14%;
        right: 14%;
    }

    .tl72-card-top {
        display: grid;
        gap: 6px;
        padding: 14px 17px;
    }

    .tl72-card-top small {
        text-align: left;
    }

    .tl72-panel {
        padding: 20px 17px;
    }

    .tl72-panel-intro {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
        margin-bottom: 18px;
    }

    .tl72-panel-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .tl72-panel-intro h2 {
        font-size: 21px;
    }

    .tl72-grid-2,
    .tl72-check-grid-2,
    .tl72-check-grid-3,
    .tl72-check-grid-4,
    .tl72-radio-grid,
    .tl72-review-grid,
    .tl72-pre-submit-grid {
        grid-template-columns: 1fr 1fr;
    }

    .tl72-field-wide {
        grid-column: span 2;
    }

    .tl72-helper-body {
        grid-template-columns: 1fr;
    }

    .tl72-actions {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 9px;
        padding: 13px 14px;
    }

    .tl72-actions-copy small {
        display: none;
    }

    .tl72-button {
        min-width: 92px;
        padding-inline: 13px;
    }
}

@media (max-width: 540px) {
    .tl72-toolbar {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tl72-hero h1 {
        font-size: 28px;
    }

    .tl72-hero-points {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tl72-hero-points span {
        justify-content: flex-start;
    }

    .tl72-order-rule {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 16px;
    }

    .tl72-rule-icon {
        width: 38px;
        height: 38px;
    }

    .tl72-order-rule b {
        font-size: 15px;
    }

    .tl72-match-flow {
        overflow-x: auto;
        grid-template-columns: repeat(4, minmax(88px, 1fr));
        padding: 0;
    }

    .tl72-match-flow::before {
        display: none;
    }

    .tl72-sidebar nav button > span {
        display: none;
    }

    .tl72-sidebar nav button {
        grid-template-columns: 29px;
        padding: 5px;
    }

    .tl72-grid-2,
    .tl72-check-grid-2,
    .tl72-check-grid-3,
    .tl72-check-grid-4,
    .tl72-radio-grid,
    .tl72-review-grid,
    .tl72-pre-submit-grid,
    .tl72-helper-body ol {
        grid-template-columns: 1fr;
    }

    .tl72-field-wide {
        grid-column: auto;
    }

    .tl72-helper summary,
    .tl72-pre-submit summary {
        grid-template-columns: 36px minmax(0, 1fr) auto;
        padding: 10px;
    }

    .tl72-helper-icon {
        width: 36px;
        height: 36px;
    }

    .tl72-helper-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tl72-actions {
        grid-template-columns: 1fr 1fr;
    }

    .tl72-actions-copy {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .tl72-actions .tl72-button {
        width: 100%;
    }
}

/* V86 — 跑腿幫手方案詳情與最後確認定位 */
.runner-detail-reply-note{
  margin-top:18px;padding:14px 16px;border-left:4px solid #0f766e;
  background:#f0fdfa;border-radius:0 16px 16px 0;color:#475467;line-height:1.7
}
.runner-detail-reply-note b{display:block;color:#0f766e;font-size:13px;margin-bottom:4px}
.runner-detail-reply-note span{display:block;font-weight:700}
.runner-selection-hint{
  margin:-10px 0 22px!important;padding:10px 13px;border-radius:14px;
  background:#fff7ed;color:#9a3412!important;font-size:14px!important;line-height:1.55!important
}
.runner-side-next-note{display:block;color:#667085;line-height:1.55;margin:0 0 6px}
.laundry-stage614-page .runner-detail-copy h1{font-family:"Noto Sans TC",sans-serif;font-size:46px;letter-spacing:-.035em}
.laundry-stage614-page .runner-detail-copy{display:flex;flex-direction:column;justify-content:center}
.laundry-stage614-page .runner-detail-actions{margin-bottom:16px}
.laundry-stage615-page .confirm-hero-copy h1{font-family:"Noto Sans TC",sans-serif;font-size:48px;letter-spacing:-.035em}
.laundry-stage615-page .confirm-submit-card{border-top:5px solid #0f766e}
.laundry-stage615-page .confirm-submit-card .laundry-btn.primary{font-weight:900}
@media(max-width:820px){
  .laundry-stage614-page .runner-detail-copy h1,.laundry-stage615-page .confirm-hero-copy h1{font-size:34px}
  .runner-selection-hint{margin-top:0!important}
}
