:root{--blue:#0969da;--navy:#082b5c;--orange:#ff9700;--bg:#f4f8fd;--line:#dbe6f3;--text:#152238;--green:#13a463;--red:#e74747;--purple:#7654d6}
*{box-sizing:border-box}body{margin:0;font-family:Arial,"Noto Sans Thai",sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px 4vw;position:sticky;top:0;z-index:20}.brand{border:0;background:transparent;cursor:pointer}.brand img{height:52px;width:auto;display:block}nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.navbtn,.btn{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:700}.navbtn{background:#eef5ff;color:var(--navy)}.navbtn.active,.btn.primary{background:var(--blue);color:#fff}.btn.orange{background:var(--orange);color:white}.btn.ghost{background:white;border:1px solid var(--line);color:var(--navy)}.btn.danger{background:#fff0f0;color:var(--red);border:1px solid #ffd5d5}.btn.green{background:var(--green);color:#fff}.container{max-width:1200px;margin:auto;padding:28px 22px}.hero{background:linear-gradient(110deg,#fff 0%,#f5faff 55%,#e7f3ff 100%);border:1px solid var(--line);border-radius:28px;display:grid;grid-template-columns:1.2fr .8fr;overflow:hidden;min-height:460px;box-shadow:0 18px 45px #0b4d8b15}.hero-copy{padding:52px}.eyebrow{color:var(--blue);font-weight:800}.hero h1{font-size:clamp(36px,5vw,66px);margin:12px 0;line-height:1.04;color:var(--navy)}.hero h1 span{color:var(--orange)}.hero p{font-size:20px;line-height:1.6;color:#45566f}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-img{display:flex;align-items:end;justify-content:center;background:radial-gradient(circle at 50% 20%,#fff,transparent 45%)}.hero-img img{max-width:100%;max-height:460px;object-fit:contain}.grid{display:grid;gap:18px}.grid.cols4{grid-template-columns:repeat(4,1fr)}.grid.cols3{grid-template-columns:repeat(3,1fr)}.grid.cols2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px #0b4d8b0d}.card h3,.card h2{margin-top:0}.price{font-size:30px;font-weight:900;color:var(--blue)}.muted{color:#718096}.section-title{margin:38px 0 16px;color:var(--navy)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px}.step{padding:10px;text-align:center;background:#eaf1fa;border-radius:999px;font-size:13px}.step.on{background:var(--blue);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700}.field input,.field select,.field textarea{border:1px solid #cddaea;border-radius:12px;padding:13px;background:#fff}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.choice{border:2px solid var(--line);border-radius:14px;padding:16px;text-align:center;background:#fff;cursor:pointer}.choice.selected{border-color:var(--blue);background:#eff6ff}.summary{position:sticky;top:92px}.sumrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0}.total{font-size:26px;font-weight:900;color:var(--blue);border-top:1px solid var(--line);margin-top:8px;padding-top:15px}.layout{display:grid;grid-template-columns:1.55fr .75fr;gap:20px}.status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.s-wait{background:#fff0d5;color:#bd6b00}.s-paid{background:#dcf8e9;color:#087b47}.s-assigned{background:#eee7ff;color:#6541c6}.s-service{background:#e0efff;color:#0561bd}.s-done{background:#dff7ea;color:#087d47}.s-cancel{background:#ffe6e6;color:#b62f2f}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:850px}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{background:#f5f8fc;color:#49617e}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kpi strong{display:block;font-size:28px;color:var(--navy);margin-top:7px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.qrbox{height:260px;border:2px dashed #b9cce4;border-radius:20px;display:flex;align-items:center;justify-content:center;background:#fff;text-align:center;padding:25px}.role-banner{background:#072c5c;color:#fff;padding:12px 18px;border-radius:14px;margin-bottom:16px}.job-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.timeline{display:grid;gap:8px}.timeline div{padding:12px;border-left:4px solid #cbd8e7;background:#f8fbff;border-radius:8px}.timeline div.done{border-color:var(--green)}.toast{position:fixed;right:18px;bottom:18px;background:#0b2e5d;color:#fff;padding:14px 18px;border-radius:12px;opacity:0;transform:translateY(20px);transition:.25s;z-index:50}.toast.show{opacity:1;transform:none}.empty{text-align:center;padding:50px;color:#6b7f98}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#edf4ff;color:var(--blue);font-weight:700}.footer-note{text-align:center;color:#7b8da5;padding:32px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:32px}.hero-img{max-height:330px}.grid.cols4,.grid.cols3,.kpis,.choices{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}.summary{position:static}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.topbar{height:auto;align-items:flex-start}.brand img{height:44px}nav{justify-content:flex-end}.steps{grid-template-columns:1fr;}.step{display:none}.step.on{display:block}}
@media(max-width:560px){.container{padding:18px 12px}.grid.cols4,.grid.cols3,.grid.cols2,.kpis,.choices{grid-template-columns:1fr}.hero h1{font-size:40px}.hero-copy{padding:26px}.topbar{padding:8px 12px}.navbtn{padding:9px 10px;font-size:12px}}
.package-grid{grid-template-columns:repeat(5,1fr)}
.package-card{display:flex;flex-direction:column;align-items:flex-start}
.package-card .btn{margin-top:auto}
.big-clean-card{border:2px solid #ffbf63;background:linear-gradient(180deg,#fffaf1,#fff)}
.badge.big{background:#fff0d7;color:#c56d00}
.price small{font-size:15px;color:#718096}
.quick-calc{width:100%;margin:14px 0;display:grid;gap:8px}
.quick-calc label,.sqm-calculator label{font-weight:800;color:var(--navy)}
.sqm-row{display:flex;align-items:center;gap:8px}
.sqm-row input{width:100%;min-width:0;border:1px solid #cddaea;border-radius:12px;padding:12px;background:#fff}
.sqm-row span{white-space:nowrap;font-weight:700;color:#52657d}
.big-total{background:#fff4df;border:1px solid #ffd28d;color:#b86600;padding:10px 12px;border-radius:12px;font-weight:900;width:100%}
.fullbtn{width:100%}
.big-clean-box{margin-top:18px;background:linear-gradient(135deg,#fff8eb,#f5faff);border:2px solid #ffd18a;border-radius:18px;padding:20px;display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:center}
.sqm-calculator{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:10px}
@media(max-width:1100px){.package-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.package-grid{grid-template-columns:1fr 1fr}.big-clean-box{grid-template-columns:1fr}}
@media(max-width:560px){.package-grid{grid-template-columns:1fr}}

.s-travel{background:#e8f7ff;color:#08749b}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.admin-head h2{margin-bottom:4px}.admin-head select{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.modal{display:none;position:fixed;inset:0;background:#071d3a88;z-index:100;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-card{background:#fff;border-radius:20px;padding:24px;width:min(480px,100%);box-shadow:0 30px 80px #001b3c55}.modal-card select{width:100%;border:1px solid #cddaea;border-radius:12px;padding:13px;background:#fff}

.s-quote{background:#eef1f5;color:#52657d}.payment-amount{margin:18px 0;padding:18px;border-radius:16px;background:linear-gradient(135deg,#eef6ff,#fff8e8);border:1px solid #d7e6f6;display:flex;justify-content:space-between;align-items:center;gap:15px}.payment-amount span{font-weight:800;color:var(--navy)}.payment-amount strong{font-size:32px;color:var(--blue)}.bank-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;margin:18px 0}.bank-title{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--line)}.bank-title span{display:block;color:#718096;font-size:13px;margin-top:3px}.bank-logo{width:46px;height:46px;border-radius:14px;background:#138f60;color:white;font-size:28px;font-weight:900;display:grid;place-items:center}.bank-row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:10px 0;align-items:center}.bank-row>span{color:#718096}.account-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.account-no{font-size:24px;color:var(--navy);letter-spacing:.5px}.btn.mini{padding:7px 10px;font-size:12px}.qrbox.compact{height:150px;margin:16px 0}.slip-box{border:1px dashed #b9cce4;border-radius:16px;padding:16px;margin:16px 0;display:grid;gap:9px}.slip-box label{font-weight:800;color:var(--navy)}.slip-box input{border:1px solid var(--line);padding:10px;border-radius:10px;background:white}.payment-note{text-align:center;margin:12px 0 0}.quote-box{text-align:center;background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:30px;margin-top:20px}.quote-icon{font-size:48px}@media(max-width:560px){.bank-row{grid-template-columns:1fr;gap:4px}.payment-amount{align-items:flex-start;flex-direction:column}.payment-amount strong{font-size:28px}}

/* V2.5 booking/payment history */
.booking-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.history-item{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line)}
.history-item span{color:var(--muted);font-size:13px;white-space:nowrap}
@media(max-width:700px){.history-item{flex-direction:column;gap:4px}.history-item span{white-space:normal}}

/* V2.9 admin slip review + clearer booking schedule */
.kpi-action{cursor:pointer;position:relative;border:1px solid #f1b24a}.kpi-action:hover{transform:translateY(-1px);box-shadow:0 8px 24px #173b6b18}.kpi-action small{display:block;margin-top:4px;color:#a35a00;font-weight:700}.admin-table-v29 th{white-space:nowrap}.admin-table-v29 .needs-review{background:#fff9ec}.admin-table-v29 .needs-review td:first-child{border-left:4px solid #f59e0b}.created-time{white-space:nowrap;font-size:12px;color:#53657c}.review-btn{white-space:nowrap;font-weight:800}.slip-modal{z-index:160}.slip-review-card{width:min(920px,96vw);max-height:92vh;overflow:auto}.modal-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.review-grid>div{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.review-grid span{display:block;font-size:12px;color:#66768a;margin-bottom:3px}.review-grid b{display:block}.review-amount{font-size:20px;color:#0b57d0}.slip-review-image{background:#f2f5f8;border:1px dashed #bac8d8;border-radius:16px;min-height:300px;display:flex;align-items:center;justify-content:center;padding:12px}.slip-review-image img{display:block;max-width:100%;max-height:55vh;object-fit:contain;border-radius:10px;background:#fff}.slip-review-actions{position:sticky;bottom:0;background:#fff;padding:14px 0 2px;margin-top:12px;border-top:1px solid var(--line)}
@media(max-width:760px){.review-grid{grid-template-columns:1fr 1fr}.admin-table-v29{min-width:1180px}}


/* V3.0 payment confirmation */
.payment-success-modal{z-index:9999;background:rgba(10,24,50,.55)}
.payment-success-card{max-width:520px;text-align:center;padding:30px}
.success-check{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#16a34a;color:#fff;font-size:42px;font-weight:800;box-shadow:0 10px 30px rgba(22,163,74,.25)}
.payment-success-card h2{margin-bottom:8px;color:#102a56}
.payment-success-card .quote-box{text-align:left;margin:20px 0}

/* V3.1 reliability */
.payment-success-modal{z-index:99999!important;background:rgba(5,20,45,.55)!important}.payment-success-card{max-width:560px!important;text-align:center!important}.slip-modal{z-index:99998!important}.review-btn{font-weight:800!important}.needs-review{background:#fffaf0!important}


/* V3.3 maid schedule + conflict prevention */
.admin-filters input,.admin-filters select,.maid-job-switcher select{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.maid-schedule-card{margin-top:18px}.maid-job-switcher{margin-bottom:16px;display:grid;gap:8px}.maid-job-switcher select{width:100%}.modal-card option:disabled{color:#a0aec0}.conflict-note{color:#b45309;font-weight:700}

/* V4.0 Production Access */
.auth-wrap{max-width:560px;margin:56px auto}.auth-card{padding:30px}.auth-lock{font-size:40px;margin-bottom:8px}.auth-card .field{margin:14px 0}.auth-note{margin-top:16px;line-height:1.5}.fullbtn{width:100%}

/* V4.7 mobile admin scroll lock */
.admin-live-note{font-size:13px;color:#52657a;margin:8px 2px 12px}.admin-live-note:before{content:"●";color:#22a06b;margin-right:6px}@media(max-width:760px){.admin-live-note{font-size:12px;padding:0 4px}}

/* V4.8 mobile work-proof viewer: no popup/new tab */
body.proof-modal-open{overflow:hidden}
.work-proof-modal{z-index:100000;align-items:center}
.work-proof-card{width:min(980px,96vw);max-height:92dvh;padding:18px;display:flex;flex-direction:column;overflow:hidden}
.work-proof-card .modal-title-row h2{margin:0 0 4px}.work-proof-card .modal-title-row p{margin:0}
.work-proof-scroll{overflow:auto;-webkit-overflow-scrolling:touch;padding:4px 2px 18px;overscroll-behavior:contain}
.proof-section{margin-top:18px}.proof-section h3{margin:0 0 10px}
.proof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.proof-thumb{appearance:none;border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px;text-align:left;cursor:pointer;color:var(--text)}
.proof-thumb img{display:block;width:100%;height:160px;object-fit:cover;border-radius:10px;background:#f3f5f8}
.proof-thumb span{display:block;font-size:12px;color:#64748b;padding:7px 2px 1px;line-height:1.4}
.proof-note{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
.work-photo-viewer{display:none;position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.92);padding:54px 12px 44px;align-items:center;justify-content:center;flex-direction:column}
.work-photo-viewer.show{display:flex}.work-photo-viewer img{display:block;max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain;border-radius:8px}
.photo-viewer-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:14px;border:0;border-radius:999px;background:#fff;color:#111;font-size:18px;font-weight:800;padding:9px 13px;z-index:2}
.photo-viewer-caption{color:#fff;margin-top:10px;font-size:13px;text-align:center}
@media(max-width:560px){.work-proof-modal{padding:8px}.work-proof-card{width:100%;max-height:96dvh;border-radius:16px;padding:14px}.work-proof-card .modal-title-row{align-items:flex-start}.work-proof-card .modal-title-row h2{font-size:18px}.proof-grid{grid-template-columns:1fr 1fr;gap:8px}.proof-thumb{padding:5px}.proof-thumb img{height:125px}.proof-thumb span{font-size:11px}.work-proof-card .btn{padding:8px 10px}}

/* V5.3 visual refresh — based on the approved Polite Maid screen direction */
:root{--blue:#075bd8;--blue2:#0b6cf2;--navy:#071f46;--orange:#ff9418;--bg:#f7faff;--line:#dfe8f4;--text:#10213d;--shadow:0 12px 36px rgba(7,47,108,.09)}
html{scroll-behavior:smooth}body{font-family:"Prompt","Noto Sans Thai",Arial,sans-serif;background:linear-gradient(180deg,#fff 0,#f7faff 45%,#f3f7fc 100%);letter-spacing:-.01em}.container{max-width:1480px;padding:26px 30px}.topbar{height:88px;padding:10px max(28px,4vw);box-shadow:0 4px 22px rgba(7,31,70,.06);border:0}.brand img{height:60px}.navbtn,.btn{border-radius:10px;transition:.18s ease;box-shadow:none}.navbtn:hover,.btn:hover{transform:translateY(-1px)}.navbtn{background:transparent;color:var(--navy);padding:12px 15px}.navbtn.active,.btn.primary{background:linear-gradient(135deg,var(--blue2),#064bc2);box-shadow:0 8px 20px rgba(7,91,216,.2)}.btn.orange{background:linear-gradient(135deg,#ffab2f,#f47e00);box-shadow:0 8px 22px rgba(255,148,24,.25)}.btn.green{background:linear-gradient(135deg,#18ae67,#0b8c50)}.btn.ghost{border-color:#cfdaea}.card{border-color:#e2eaf4;border-radius:16px;box-shadow:var(--shadow)}

/* Customer home */
.home-shell{padding-top:24px}.hero{min-height:570px;border-radius:22px;background:radial-gradient(circle at 70% 15%,#fff 0,rgba(255,255,255,.4) 30%,transparent 56%),linear-gradient(112deg,#fff 0%,#f8fbff 53%,#e9f3ff 100%);box-shadow:0 18px 55px rgba(8,50,115,.1)}.hero-copy{padding:68px 40px 58px 64px;z-index:2}.hero .eyebrow{font-size:21px;color:var(--navy);display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:"";width:42px;height:3px;background:var(--orange);border-radius:9px}.hero h1{font-size:clamp(48px,6vw,82px);margin:14px 0 4px;letter-spacing:-.045em}.hero h1 span{background:linear-gradient(90deg,#f68b08,#ffae36);-webkit-background-clip:text;color:transparent}.hero h2{font-size:clamp(21px,2.3vw,32px);margin:0;color:#263a58}.hero p{font-size:18px;max-width:680px}.hero-img{position:relative;min-height:570px;background:radial-gradient(circle at 52% 45%,rgba(255,255,255,.9),transparent 57%)}.hero-img:after{content:"สะอาด มั่นใจ";position:absolute;right:8%;top:13%;background:white;color:var(--blue);font-weight:800;font-size:20px;border:4px solid #30a5ff;border-radius:999px;padding:28px 18px;box-shadow:0 10px 30px rgba(8,75,160,.14);transform:rotate(-4deg)}.hero-img img{max-height:550px;filter:drop-shadow(0 20px 20px rgba(7,31,70,.15))}.hero-cta{font-size:19px;padding:15px 26px}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-pills span{background:#eaf3ff;color:#0755bb;padding:8px 12px;border-radius:999px;font-weight:600;font-size:13px}.trust-strip{margin:-1px 0 28px;background:linear-gradient(135deg,#075ad7,#003ba4);color:#fff;border-radius:0 0 20px 20px;display:grid;grid-template-columns:repeat(4,1fr);padding:22px 26px;box-shadow:0 15px 35px rgba(0,59,164,.16)}.trust-strip>div{display:grid;grid-template-columns:42px 1fr;gap:0 10px;align-items:center;padding:2px 22px;border-right:1px solid rgba(255,255,255,.25);font-size:29px}.trust-strip>div:last-child{border:0}.trust-strip b{font-size:16px}.trust-strip span{grid-column:2;color:#dceaff;font-size:12px}.package-card{position:relative;overflow:hidden;min-height:300px;transition:.2s}.package-card:hover{transform:translateY(-4px);border-color:#8ab8f4;box-shadow:0 18px 42px rgba(7,91,216,.14)}.package-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--blue),#54a7ff)}.package-card .badge{font-size:18px;min-width:46px;text-align:center}.package-card .btn{width:100%}

/* Booking and payment */
.steps{position:relative;background:white;border:1px solid var(--line);border-radius:16px;padding:18px 24px;margin:0 0 20px;box-shadow:0 7px 24px rgba(7,31,70,.05)}.step{position:relative;background:transparent;border-radius:0;padding:0;color:#66758b;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px}.step:after{content:"";height:3px;background:#dce5f0;position:absolute;top:17px;left:56%;width:88%;z-index:0}.step:last-child:after{display:none}.step b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:2px solid #c9d5e4;background:#fff;color:#53657b;font-size:15px;z-index:1}.step.on,.step.done{background:transparent;color:var(--blue);font-weight:700}.step.on b,.step.done b{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(7,91,216,.24)}.step.done:after{background:var(--blue)}.layout>.card:first-child{padding:28px}.choice{min-height:90px;display:grid;place-items:center;border:1.5px solid #d7e1ee;font-weight:600}.choice:hover{border-color:#78abed}.choice.selected{border-color:var(--blue);background:linear-gradient(145deg,#eef6ff,#fff);box-shadow:inset 0 0 0 1px var(--blue),0 8px 20px rgba(7,91,216,.09)}.field input,.field select,.field textarea,.admin-filters input,.admin-filters select,.maid-job-switcher select{min-height:48px;border-color:#d2ddeb;border-radius:9px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(7,91,216,.12);border-color:var(--blue)}.summary{border-top:5px solid var(--blue);padding:24px}.summary h2{border-bottom:1px solid var(--line);padding-bottom:15px}.total{background:#edf5ff;margin:12px -12px -4px;padding:18px 12px;border:0;border-radius:12px}.payment-amount{background:linear-gradient(135deg,#edf6ff,#fff);border-color:#cfe1f8}

/* Admin dashboard */
.view-admin{background:#f5f8fc}.view-admin .topbar{position:fixed;left:0;right:0;top:0;height:76px}.view-admin #app{padding-top:76px}.view-admin .container{max-width:none;padding:24px 28px}.view-admin .role-banner{background:linear-gradient(135deg,#075bd8,#003da5);font-weight:700;box-shadow:0 8px 24px rgba(7,91,216,.18)}.view-admin .kpis{grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px}.view-admin .kpi{border:1px solid #dce7f4;min-height:124px;padding:18px;position:relative;overflow:hidden}.view-admin .kpi:before{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-20px;top:-20px;background:rgba(7,91,216,.07)}.view-admin .kpi strong{color:var(--blue);font-size:31px}.view-admin .table-wrap{border:1px solid var(--line);border-radius:12px}.view-admin .table th{background:linear-gradient(135deg,#075bd8,#064fc2);color:#fff;padding:14px 12px;position:sticky;top:0}.view-admin .table td{background:#fff;padding:14px 12px}.view-admin .table tbody tr:hover td{background:#f5f9ff}.view-admin .maid-schedule-card{border-top:4px solid #7a55dc}

/* Maid mobile application */
.view-maid{background:#edf3fb}.view-maid .topbar{background:linear-gradient(135deg,#075bd8,#0043b4);border:0}.view-maid .topbar .brand{background:#fff;border-radius:12px;padding:3px 8px}.view-maid .topbar .brand img{height:44px}.view-maid .navbtn{color:#fff}.view-maid .navbtn.active{background:rgba(255,255,255,.18)}.view-maid .container{max-width:1100px}.view-maid .role-banner{background:linear-gradient(135deg,#075bd8,#0043b4);font-size:17px;box-shadow:0 10px 24px rgba(0,67,180,.2)}.view-maid .maid-job-switcher{border-top:4px solid var(--blue)}.view-maid .job-card h2{color:var(--blue);font-size:27px}.view-maid .timeline{position:relative;padding-left:10px}.view-maid .timeline div{border-left:5px solid #cbd7e6;padding:14px 16px;background:#f7f9fc}.view-maid .timeline div.done{border-color:#0aa25c;background:#ecfbf4;color:#087847;font-weight:700}.view-maid .work-proof{margin-top:22px;padding:20px;background:#f6f9fd;border-radius:14px}.view-maid .toolbar .btn{min-height:50px;font-size:16px}

@media(max-width:1100px){.view-admin .kpis{grid-template-columns:repeat(3,1fr)}.hero-copy{padding:48px 28px 42px 42px}.trust-strip>div{padding:2px 12px}}
@media(max-width:900px){.topbar{height:auto;min-height:72px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:38px 28px}.hero-img{min-height:380px}.hero-img img{max-height:390px}.hero-img:after{font-size:15px;padding:20px 13px}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip>div:nth-child(2){border-right:0}.steps{grid-template-columns:repeat(5,1fr);padding:14px 8px}.step{display:flex}.step span{font-size:11px}.step:after{width:78%}.layout{grid-template-columns:1fr}.summary{position:static}.view-admin #app{padding-top:90px}}
@media(max-width:620px){.container{padding:14px 12px}.topbar{padding:7px 10px}.brand img{height:42px}nav{gap:2px}.navbtn{padding:8px;font-size:11px}.hero{border-radius:16px}.hero-copy{padding:27px 20px}.hero h1{font-size:42px}.hero h2{font-size:19px}.hero p{font-size:15px}.hero-img{min-height:310px}.hero-img img{max-height:315px}.hero-img:after{right:3%;top:5%}.trust-strip{margin-top:0;padding:14px 10px;border-radius:0 0 14px 14px}.trust-strip>div{font-size:21px;padding:9px 6px;grid-template-columns:28px 1fr}.trust-strip b{font-size:12px}.trust-strip span{font-size:9px}.steps{overflow:hidden}.step b{width:30px;height:30px}.step:after{top:14px}.step span{display:none}.step.on span{display:block;position:absolute;top:34px;white-space:nowrap}.steps{padding-bottom:32px}.choices{grid-template-columns:1fr 1fr}.layout>.card:first-child{padding:18px}.view-admin .container{padding:14px 10px}.view-admin .kpis{grid-template-columns:1fr 1fr}.view-admin .kpi{min-height:105px;padding:14px;font-size:12px}.view-admin .kpi strong{font-size:24px}.view-maid .topbar{position:sticky}.view-maid .container{padding-bottom:84px}.view-maid .layout>.card{padding:16px}.view-maid .job-card{grid-template-columns:1fr}.view-maid .job-card .btn{width:100%}.view-maid .grid.cols2{grid-template-columns:1fr}.view-maid .toolbar{position:sticky;bottom:8px;background:#fff;padding:10px;border-radius:14px;box-shadow:0 8px 30px rgba(7,31,70,.18);z-index:8}.view-maid .toolbar .btn{width:100%}}

/* V5.4 reference-matched admin dashboard */
.view-admin>.topbar{display:none}.view-admin #app{padding:0}.view-admin{background:#f5f8fc;color:#14213d}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid #e2e9f3;z-index:40;display:flex;flex-direction:column}.ad-logo{height:104px;display:flex;align-items:center;justify-content:center;padding:10px 18px;border-bottom:1px solid #edf1f6}.ad-logo img{width:214px;height:74px;object-fit:contain;display:block}.admin-sidebar nav{display:block;padding:12px;overflow:auto;flex:1}.ad-nav-item{width:100%;height:48px;border:0;background:transparent;border-radius:7px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;text-align:left;color:#1c2d4b;padding:0 12px;margin-bottom:2px;cursor:pointer;font:inherit}.ad-nav-item span{font-size:21px;color:#173a76}.ad-nav-item b{font-size:14px}.ad-nav-item em{font-style:normal;color:#fff;background:#7b8ba5;border-radius:20px;min-width:23px;height:23px;display:grid;place-items:center;font-size:11px}.ad-nav-item.active{background:linear-gradient(135deg,#0860df,#004ac0);color:#fff;box-shadow:0 5px 12px #075bd833}.ad-nav-item.active span{color:#fff}.ad-nav-item:nth-child(3) em{background:#ef3b38}.ad-nav-item:nth-child(4) em,.ad-nav-item:nth-child(7) em{background:#14a251}.ad-nav-item:nth-child(5) em{background:#ee9707}.ad-nav-item:nth-child(6) em{background:#0962df}.ad-nav-sep{border-top:1px solid #e9eef5;margin:13px 8px}.ad-support{margin:14px 18px 22px;padding:16px;background:#f4f8ff;border:1px solid #dbe7f6;border-radius:9px;color:#075bd8}.ad-support small{display:block;color:#52647d;margin-top:5px}.admin-workspace{margin-left:248px;min-width:0;width:calc(100% - 248px)}.admin-top{height:90px;background:#fff;border-bottom:1px solid #e3eaf3;display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:25}.admin-top h2{margin:0;font-size:19px}.admin-top small{color:#61718a}.ad-menu{width:48px;height:48px;border:1px solid #e0e7f0;background:#f8fafc;border-radius:8px;font-size:24px}.ad-account{margin-left:auto;display:flex;align-items:center;gap:16px}.ad-account i{font-style:normal;border-left:1px solid #e4e9f0;padding-left:16px}.admin-content{padding:26px 28px;display:grid;grid-template-columns:minmax(650px,1fr) 336px;gap:22px;max-width:1700px;margin:auto}.ad-title{display:flex;align-items:center;justify-content:space-between;margin:2px 0 20px}.ad-title h1{font-size:22px;margin:0 12px 0 0;display:inline-block}.ad-title span{color:#64748b}.ad-date{display:flex;gap:10px}.ad-date input{border:1px solid #d5dfec;border-radius:8px;background:#fff;padding:10px 13px}.ad-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.ad-kpis button{border:1px solid #d7e4f5;background:linear-gradient(145deg,#f2f7ff,#fff);border-radius:11px;min-height:150px;padding:15px;text-align:center;color:#14213d;cursor:pointer}.ad-kpis i{font-style:normal;font-size:27px;color:#075bd8;display:block}.ad-kpis span{display:block;font-size:13px;margin:7px 0}.ad-kpis strong{display:block;font-size:28px;color:#075bd8}.ad-kpis small{display:block;margin-top:3px}.ad-kpis .green{background:linear-gradient(145deg,#eefaf4,#fff);border-color:#cfebdd}.ad-kpis .green i,.ad-kpis .green strong{color:#12964b}.ad-kpis .orange{background:linear-gradient(145deg,#fff8ed,#fff);border-color:#f3dfbe}.ad-kpis .orange i,.ad-kpis .orange strong{color:#e98a00}.ad-kpis .violet{background:linear-gradient(145deg,#f6f2ff,#fff);border-color:#e1d8fa}.ad-kpis .violet i,.ad-kpis .violet strong{color:#6842c7}.ad-table-card,.rail-card{background:#fff;border:1px solid #e0e7f0;border-radius:10px;box-shadow:0 3px 12px #173b6b0b;overflow:hidden}.ad-section-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.ad-section-head h2{margin:0;font-size:18px}.ad-section-head small{color:#60718a}.ad-filters select{border:1px solid #d4dfed;border-radius:7px;padding:9px;background:#fff}.ad-table{border-collapse:collapse;width:100%;min-width:1050px;font-size:12px}.ad-table th{background:linear-gradient(135deg,#075bd8,#0051c8);color:#fff;text-align:left;padding:13px 12px;white-space:nowrap}.ad-table td{padding:14px 12px;border-bottom:1px solid #e7edf4;vertical-align:middle}.ad-table td small{display:block;color:#5f7189;margin-top:4px}.ad-table tbody tr:hover{background:#f7faff}.ad-actions{white-space:nowrap}.ad-actions .btn{font-size:11px;padding:7px;margin:2px}.admin-rail{display:grid;gap:16px;align-content:start}.rail-card{padding:18px 20px}.rail-card h3{font-size:17px;margin:-18px -20px 16px;padding:16px 20px;border-bottom:1px solid #e5ebf3}.rail-revenue span{display:block;font-weight:700}.rail-revenue strong{display:block;font-size:26px;color:#075bd8;margin:7px 0 15px}.rail-revenue small{font-size:12px;color:#14213d}.rail-card p{display:flex;justify-content:space-between;font-size:13px}.rail-card p b{color:#159848}.orange-text{color:#e68100!important}.mini-chart{height:95px;display:flex;align-items:end;gap:6px;border-bottom:1px solid #dce5f0;padding-top:12px}.mini-chart i{display:block;flex:1;background:linear-gradient(#075bd8,#b8d6ff);border-radius:4px 4px 0 0}.maid-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #eef2f7}.maid-row:last-child{border:0}.maid-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#075bd8;font-weight:900}.maid-avatar.orange{background:#fff0db;color:#dc7a00}.maid-avatar.violet{background:#f0eaff;color:#6942c5}.maid-avatar.green{background:#e9f8ef;color:#168e49}.maid-row small{display:block;color:#61728b}.maid-row em{font-style:normal;background:#edf4ff;color:#075bd8;border:1px solid #cbddf8;border-radius:7px;padding:5px 8px;font-size:11px}.announcement{border-color:#cadcf8;background:linear-gradient(145deg,#f2f7ff,#fff)}.announcement h3{background:linear-gradient(135deg,#0860df,#004ac0);color:#fff}.announcement>p{display:block;line-height:1.6;color:#52647d}.admin-footer{padding:16px 28px;border-top:1px solid #e1e8f1;text-align:center;color:#6a7890;font-size:12px}.admin-footer span{float:right}.view-admin .modal{z-index:100}
@media(max-width:1350px){.admin-content{grid-template-columns:1fr}.admin-rail{grid-template-columns:repeat(3,1fr)}.ad-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.admin-sidebar{transform:translateX(-100%);transition:.25s;box-shadow:15px 0 35px #071d3a22}.admin-sidebar.open{transform:translateX(0)}.admin-workspace{margin-left:0;width:100%}.admin-content{padding:16px;display:block}.admin-rail{grid-template-columns:1fr;margin-top:16px}.admin-top{height:72px;padding:0 14px}.ad-account b{display:none}.ad-title{align-items:flex-start;gap:12px}.ad-date{width:48%;flex-wrap:wrap}.ad-date input,.ad-date button{width:100%}.ad-kpis{grid-template-columns:repeat(2,1fr)}.ad-kpis button{min-height:125px}.admin-footer span{float:none;display:block;margin-top:4px}}
@media(max-width:520px){.admin-top{gap:10px}.admin-top h2{font-size:16px}.admin-top small{font-size:10px}.ad-account{gap:5px}.ad-account i{display:none}.ad-title h1{display:block}.ad-title span{font-size:12px}.ad-kpis{gap:8px}.ad-kpis button{padding:10px;min-height:112px}.ad-kpis strong{font-size:24px}.ad-section-head{align-items:flex-start;gap:8px}.ad-section-head h2{font-size:16px}.ad-filters select{max-width:135px}}

/* V5.5 customer booking details — reference screen */
.booking-v55{max-width:1540px;padding-top:20px}.booking-v55 .steps{border:0;box-shadow:none;border-radius:0;padding:2px 24px 18px;background:transparent}.booking-v55-grid{display:grid;grid-template-columns:minmax(650px,1fr) 475px;gap:38px;align-items:start}.booking-form-card{background:#fff;border:1px solid #dfe7f1;border-radius:13px;padding:24px;box-shadow:0 5px 20px #173b6b0b}.booking-form-card h2{font-size:18px;margin:0 -24px 17px;padding:0 24px;color:#13223b}.booking-form-card h2:not(:first-child){margin-top:26px;padding-top:22px;border-top:1px solid #e6ecf4}.booking-form-card label{font-weight:700}.booking-form-card label b,.v55-label b{color:#e94141}.booking-form-card label span{font-weight:400;color:#66758a}.booking-form-card .field input,.booking-form-card .field select,.booking-form-card .field textarea{background:#fff;border:1px solid #ccd8e7;width:100%;padding:12px 14px}.v55-label{display:block;margin:5px 0 9px}.v55-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.v55-choice{min-height:48px;border:1px solid #d2dcea;border-radius:8px;background:#fff;color:#14233d;font-weight:700;cursor:pointer;padding:9px}.v55-choice i{font-style:normal;color:#075bd8;font-size:22px;margin-right:9px}.v55-choice.selected{border-color:#1266e8;color:#075bd8;background:#f5f9ff;box-shadow:inset 0 0 0 1px #1266e8;position:relative}.v55-choice.selected:after{content:'✓';position:absolute;right:-7px;top:-8px;width:19px;height:19px;border:1px solid #1266e8;background:#fff;border-radius:50%;display:grid;place-items:center;font-size:11px}.v55-choices.service .v55-choice{min-height:54px}.v55-choices.packages .v55-choice{display:flex;flex-direction:column;gap:3px}.v55-choices.packages small{font-weight:500;color:#56667e}.v55-location{align-items:end}.v55-location textarea{min-height:68px}.v55-hidden{display:none}.v55-big{margin:4px 0 18px}.v55-actions{display:flex;justify-content:space-between;gap:20px;margin-top:25px;padding-top:22px;border-top:1px solid #e5ebf3}.v55-actions .btn{min-width:200px}.booking-summary-v55{background:#fff;border:1px solid #d9e4f2;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px #173b6b0c;position:sticky;top:108px}.summary-title{background:linear-gradient(135deg,#0862e2,#004ac0);color:#fff;font-size:19px;font-weight:800;padding:15px 20px}.summary-body,.v55-addons,.v55-total{padding:16px 20px;border-bottom:1px solid #e3eaf3}.summary-body .sumrow{font-size:14px;padding:7px 0}.v55-addons h3{font-size:15px;color:#075bd8;margin:0 0 10px}.v55-addons h3 small{color:#64748b;font-weight:400}.v55-addons label{display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center;padding:9px 0;cursor:pointer}.v55-addons input{width:17px;height:17px}.v55-addons label b{font-size:13px}.v55-total>div{display:flex;justify-content:space-between;padding:6px 0}.v55-total .grand{margin-top:8px;padding-top:13px;border-top:1px dashed #cbd7e6;align-items:center}.v55-total .grand strong{font-size:25px;color:#075bd8}.v55-guarantee{margin:14px 16px;padding:15px;border:1px solid #f2d69c;background:#fff9ed;border-radius:10px;color:#c66d00}.v55-guarantee small{display:block;color:#52637b;margin:6px 0 0 26px;line-height:1.5}.v55-help{margin:14px 16px;padding:15px;border:1px solid #d6e5f8;background:#f5f9ff;border-radius:10px}.v55-help small{display:block;color:#60718a;margin:5px 0 0 27px}.v55-trust{margin-top:18px;background:linear-gradient(135deg,#075bd8,#0043b5);color:#fff;border-radius:11px;display:grid;grid-template-columns:repeat(4,1fr);padding:17px}.v55-trust>div{text-align:center;border-right:1px solid #ffffff44;font-size:23px}.v55-trust>div:last-child{border:0}.v55-trust b,.v55-trust small{display:block;font-size:13px}.v55-trust small{font-size:10px;color:#dceaff;margin-top:3px}
@media(max-width:1100px){.booking-v55-grid{grid-template-columns:1fr 380px;gap:18px}.v55-choices{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.booking-v55-grid{grid-template-columns:1fr}.booking-summary-v55{position:static}.booking-form-card{padding:18px}.booking-form-card h2{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.v55-trust{grid-template-columns:1fr 1fr;gap:15px}.v55-trust>div:nth-child(2){border:0}}
@media(max-width:520px){.booking-v55{padding:10px}.booking-v55 .steps{padding-left:3px;padding-right:3px}.booking-form-card{padding:14px}.booking-form-card h2{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.booking-form-card .form-grid{grid-template-columns:1fr}.v55-choices{gap:8px}.v55-choice{font-size:12px}.v55-actions{flex-direction:column-reverse}.v55-actions .btn{width:100%;min-width:0}.summary-title{font-size:17px}.v55-trust{padding:13px 7px}.v55-trust>div{font-size:18px}}

/* V5.6 Screenshot-matched customer booking page */
body.view-book{background:#f8fbff;font-family:'Prompt',Arial,"Noto Sans Thai",sans-serif}
body.view-book .topbar{height:94px;padding:10px 32px;position:sticky;top:0;background:#fff;border-bottom:1px solid #e8edf5;box-shadow:0 2px 12px rgba(21,67,119,.04)}
body.view-book .brand img{height:58px}
.public-nav{display:flex;align-items:center;gap:22px;white-space:nowrap}
.plain-link{border:0;background:transparent;color:#111827;font-weight:600;padding:10px 4px;cursor:pointer}
.plain-link:hover{color:#0969da}.contact-chip{display:inline-flex;text-decoration:none;align-items:center;gap:7px;font-size:15px;color:#164ea8}.contact-chip.line{color:#243149}.contact-chip.line::first-letter{color:#16b83e}.login-pill{border:0;border-radius:28px;background:#0b66de;color:#fff;font-weight:700;padding:13px 24px;cursor:pointer;box-shadow:0 6px 14px rgba(11,102,222,.18)}
.booking-v56{max-width:1536px;margin:0 auto;background:#fff;min-height:calc(100vh - 94px)}
.v56-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:22px 96px 16px;border-bottom:1px solid #edf1f7;background:#fff}
.v56-step{position:relative;text-align:center;color:#1d2939;font-size:15px}.v56-step:not(:last-child)::after{content:"";position:absolute;top:18px;left:56%;right:-44%;height:3px;background:#d8e0ea;z-index:0}.v56-step.active:not(:last-child)::after,.v56-step.done:not(:last-child)::after{background:#0b70e2}.v56-step .circle{position:relative;z-index:1;width:38px;height:38px;border:2px solid #afbdd0;background:#fff;border-radius:50%;margin:0 auto 8px;display:grid;place-items:center;font-weight:700;color:#31445f}.v56-step.active .circle,.v56-step.done .circle{background:#0b70e2;border-color:#0b70e2;color:#fff}.v56-step.active span{color:#0969da;font-weight:700}
.v56-main{display:grid;grid-template-columns:310px minmax(580px,1fr) 390px;gap:16px;padding:18px 30px 14px;background:#fbfdff}
.v56-maid-panel,.v56-center-card,.v56-summary{border-radius:18px;background:#fff;border:1px solid #e5ebf3;box-shadow:0 5px 22px rgba(33,73,122,.08)}
.v56-maid-panel{overflow:hidden;align-self:start}.v56-maid-photo{height:410px;background:#f6f9fc;overflow:hidden}.v56-maid-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}.v56-assurance{margin:0;background:linear-gradient(140deg,#0b6ddc,#0645b7);color:#fff;padding:19px 20px}.v56-assurance h3{font-size:16px;margin:0 0 11px}.v56-assurance p{margin:7px 0;font-size:14px}.v56-chat{margin:15px;border:1px solid #e1e7ef;border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.v56-chat b{font-size:13px}.v56-chat span{font-size:12px}.v56-chat button{grid-row:1/3;grid-column:2;border:0;border-radius:10px;background:#0b67dc;color:white;font-weight:700;padding:10px 12px}
.v56-center-card{padding:20px 22px;min-height:655px}.v56-center-card h2{font-size:19px;margin:0 0 12px;color:#121820}.v56-center-card h2:not(:first-child){margin-top:22px}.v56-center-card h2 small{font-weight:400;font-size:13px}
.v56-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v56-service,.v56-area,.v56-package{position:relative;border:1px solid #d7e0eb;background:#fff;border-radius:14px;cursor:pointer;transition:.15s}.v56-service{height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:14px}.v56-service i{font-style:normal;font-size:38px;line-height:1}.v56-service.selected{border:2px solid #1774ef;background:#f8fbff;color:#0864d9}.v56-service em,.v56-package em{position:absolute;right:7px;top:7px;width:24px;height:24px;border-radius:50%;background:#0b6fdf;color:#fff;font-style:normal;display:grid;place-items:center}
.v56-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v56-area{height:52px;font-weight:600;color:#111827}.v56-area.selected{border:2px solid #1774ef;color:#0b62cd;background:#fbfdff}
.v56-package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v56-package{min-height:196px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:5px}.v56-package i{font-style:normal;font-size:34px;color:#0872eb}.v56-package b{font-size:17px;color:#0864d8}.v56-package span{font-size:12px;color:#202a38}.v56-package strong{font-size:22px;color:#0968dc;margin-top:4px}.v56-package.selected{border:2px solid #1774ef}.v56-package.pkg-m{border-color:#f2d7a3}.v56-package.pkg-m b,.v56-package.pkg-m strong,.v56-package.pkg-m i{color:#f28a00}.v56-package.pkg-l{border-color:#ead4ef}.v56-package.pkg-l b,.v56-package.pkg-l strong,.v56-package.pkg-l i{color:#9725a9}.v56-package.pkg-xl{border-color:#cfe8ec}.v56-package.pkg-xl b,.v56-package.pkg-xl strong,.v56-package.pkg-xl i{color:#019aa5}.v56-package-note{margin-top:14px;border-radius:10px;background:#eef6ff;color:#075fc8;padding:11px 14px;font-size:13px}.v56-big-input{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #dce5f0;border-radius:14px}.v56-big-input input{width:170px;border:1px solid #c7d4e4;border-radius:10px;padding:12px}.v56-big-input b{margin-left:auto;color:#0969da;font-size:22px}
.v56-next{display:flex;align-items:center;justify-content:center;gap:28px;border:0;border-radius:28px;background:#0867d9;color:#fff;font-weight:700;font-size:18px;min-width:265px;padding:13px 32px;margin:22px auto 0;cursor:pointer;box-shadow:0 6px 12px rgba(8,103,217,.18)}.v56-next span{font-size:28px;line-height:1}.v56-next.inline{margin:0;min-width:200px}.v56-next.confirm{background:#0b8b55}.v56-action-row{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.v56-action-row .btn{min-width:150px}
.v56-summary{align-self:start;padding:20px 18px;position:sticky;top:110px}.v56-summary h2{margin:0 0 14px;font-size:20px}.v56-summary-row{display:flex;justify-content:space-between;gap:15px;padding:10px 5px;border-top:1px solid #eef1f5;font-size:13px}.v56-summary-row span{color:#1757b0}.v56-summary-row b{text-align:right;color:#202631;font-weight:600}.v56-addons{border-top:1px solid #e7ebf1;margin-top:7px;padding-top:12px}.v56-addons h3{font-size:14px;margin:0 0 10px}.v56-addons h3 small{font-weight:400;color:#667085}.v56-addons label{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:8px 0;font-size:13px}.v56-addons input{width:18px;height:18px}.v56-addons b{font-weight:600}.v56-price{margin-top:14px;background:linear-gradient(135deg,#eef6ff,#f7fbff);border:1px solid #d7e8fb;border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:4px 10px}.v56-price>span{font-weight:700}.v56-price span small{font-weight:400}.v56-price strong{font-size:24px;color:#0b62d1}.v56-price>small{grid-column:1/-1;color:#1767c9}.v56-nohidden{display:grid;grid-template-columns:26px 1fr;margin-top:12px;background:#fff7e7;border:1px solid #ffe2ad;border-radius:12px;padding:13px;color:#7a520d}.v56-nohidden b{font-size:13px}.v56-nohidden span{grid-column:2;font-size:12px;color:#4d4d4d}
.v56-review{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v56-review>div{border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.v56-review .full{grid-column:1/-1}.v56-review span{font-size:12px;color:#667085}.v56-review b{font-size:15px}
.v56-center-card .field input,.v56-center-card .field select,.v56-center-card .field textarea{border:1px solid #ccd7e5;border-radius:12px;padding:13px;background:#fff}.v56-center-card .field{margin-bottom:12px}
.v56-bottom-trust{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(100deg,#0b72df,#0640a6);color:white;padding:20px 72px;gap:36px}.v56-bottom-trust>div{display:grid;grid-template-columns:44px 1fr;column-gap:10px;align-items:center;font-size:30px}.v56-bottom-trust b{font-size:16px}.v56-bottom-trust span{grid-column:2;font-size:12px;opacity:.95}
@media(max-width:1250px){body.view-book .topbar{padding:8px 18px}.plain-link{display:none}.public-nav{gap:12px}.v56-main{grid-template-columns:250px minmax(520px,1fr) 330px;padding:16px}.v56-maid-photo{height:350px}}
@media(max-width:980px){body.view-book .topbar{height:auto}.contact-chip.phone{display:none}.v56-steps{padding:16px 18px}.v56-main{grid-template-columns:1fr}.v56-maid-panel{display:none}.v56-summary{position:static;order:3}.v56-center-card{order:1;min-height:0}.v56-service-grid,.v56-area-grid,.v56-package-grid{grid-template-columns:1fr 1fr}.v56-bottom-trust{grid-template-columns:1fr 1fr;padding:18px 24px}.v56-step span{font-size:11px}}
@media(max-width:560px){body.view-book .brand img{height:42px}.contact-chip.line{display:none}.login-pill{padding:10px 14px}.v56-steps{grid-template-columns:repeat(5,1fr);padding:12px 6px}.v56-step .circle{width:30px;height:30px}.v56-step span{display:none}.v56-step:not(:last-child)::after{top:14px}.v56-main{padding:10px}.v56-center-card,.v56-summary{padding:15px}.v56-service-grid,.v56-area-grid,.v56-package-grid{grid-template-columns:1fr 1fr}.v56-service{height:104px}.v56-package{min-height:170px}.v56-bottom-trust{grid-template-columns:1fr;padding:14px 20px}.v56-action-row{gap:10px}.v56-next.inline,.v56-action-row .btn{min-width:0;flex:1}.v56-review{grid-template-columns:1fr}.v56-review .full{grid-column:auto}}

/* V5.7 Maid App • employee income separated from company revenue */
.maid-app-v56{max-width:1180px!important;padding-top:26px!important}.maid-app-head{background:linear-gradient(135deg,#075bd8,#0045b8);color:#fff;border-radius:22px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 34px rgba(0,74,190,.20);margin-bottom:18px}.maid-app-head h1{margin:5px 0 6px;font-size:28px}.maid-app-head p{margin:0;color:#dfeaff}.maid-head-badge{background:#e9fff3;color:#128a4b;border-radius:30px;padding:9px 14px;font-weight:800}.maid-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.maid-stat{background:#fff;border:1px solid #dfe8f4;border-radius:16px;padding:17px;display:grid;grid-template-columns:42px 1fr;gap:2px 10px;box-shadow:0 5px 16px rgba(25,61,105,.06)}.maid-stat i{grid-row:1/5;width:42px;height:42px;border-radius:12px;background:#eaf3ff;color:#075bd8;display:grid;place-items:center;font-size:22px;font-style:normal;font-weight:900}.maid-stat span{font-size:13px;color:#5d6f86}.maid-stat strong{font-size:22px;color:#0b2a55}.maid-stat small{color:#7a899c}.maid-stat.money i{background:#eafaf0;color:#14914b}.maid-stat.score i{background:#fff7df;color:#e08a00}.maid-private-note{background:#eef6ff;border:1px solid #cee2fb;color:#174a82;padding:12px 15px;border-radius:12px;margin:0 0 16px;font-size:13px}.maid-work-grid{display:grid;grid-template-columns:minmax(0,1.65fr) 360px;gap:18px;margin-top:16px}.maid-pay-card{align-self:start;position:sticky;top:92px}.maid-pay-card .total{background:linear-gradient(135deg,#edf6ff,#fff);margin:12px -12px;padding:17px 12px;border-radius:12px}.maid-score-box{margin-top:14px;padding:16px;border-radius:13px;background:linear-gradient(135deg,#fff9e9,#fff);border:1px solid #f2dfad;display:grid;gap:5px}.maid-score-box strong{font-size:26px;color:#dc8a00}.maid-score-box small{color:#756447}.green-text{color:#159448}.maid-income-history{margin-top:18px}.maid-section-title h2{margin:0}.maid-section-title p{margin:4px 0 14px;color:#6d7b8f}.maid-income-list>div{display:grid;grid-template-columns:1fr auto;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f6}.maid-income-list>div:last-child{border-bottom:0}.maid-income-list span{display:grid;gap:3px}.maid-income-list small{color:#718198}.maid-income-list .right{text-align:right}.maid-income-list .right>b{color:#108f49}.view-maid .job-card{border-bottom:1px solid #e7edf5;padding-bottom:14px}.view-maid .maid-job-switcher{margin-top:0}.view-maid .maid-work-card{overflow:hidden}
@media(max-width:900px){.maid-stat-grid{grid-template-columns:1fr 1fr}.maid-work-grid{grid-template-columns:1fr}.maid-pay-card{position:static}.maid-app-head{align-items:flex-start}.maid-app-head h1{font-size:23px}}
@media(max-width:560px){.maid-stat-grid{grid-template-columns:1fr}.maid-app-head{padding:20px;gap:12px}.maid-head-badge{font-size:12px}.maid-income-list>div{grid-template-columns:1fr}.maid-income-list .right{text-align:left}}

/* V5.8: stable direct Staff App link on customer booking header */
.staff-app-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d9e4f2;background:#fff;color:#075fc8;border-radius:999px;padding:10px 15px;font-weight:700;white-space:nowrap}
.staff-app-link:hover{background:#eef6ff;border-color:#b9d4f3}
@media(max-width:1180px){.staff-app-link{display:none}}
/* V5.9 package clarity + Big Cleaning site photos */
.pkg-included-chip{display:inline-flex;align-items:center;gap:5px;background:#eefbf3;border:1px solid #ccebd8;color:#138144;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;margin:3px 0 8px}
.pkg-detail-btn{display:block;width:100%;border:0;background:transparent;color:#075bd8;text-decoration:underline;font-weight:800;cursor:pointer;padding:8px 4px 10px}
.package-card .btn{width:100%}.package-detail-modal{z-index:100500}.package-detail-card{width:min(720px,96vw);max-height:92vh;overflow:auto;padding:24px}.pkg-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #e5ebf3;padding-bottom:14px}.pkg-modal-head h2{margin:8px 0 3px}.pkg-modal-head p{margin:0;color:#60718a}.pkg-modal-close{border:0;background:#eef3fa;border-radius:50%;width:38px;height:38px;font-size:25px;cursor:pointer}.pkg-detail-price{font-size:32px;font-weight:900;color:#075bd8;margin:16px 0}.pkg-detail-section{background:#f7fafc;border:1px solid #e2eaf3;border-radius:14px;padding:14px 16px;margin:12px 0}.pkg-detail-section h3{margin:0 0 8px}.pkg-detail-section p{margin:7px 0;line-height:1.5}.pkg-detail-section.blue{background:#f0f6ff;border-color:#cfe0fa}.pkg-detail-section.warn{background:#fff9ee;border-color:#f1dfbb}.pkg-time-note{font-size:12px;color:#5b6b80;line-height:1.6}.pkg-modal-open{overflow:hidden}.v56-package u{display:block;margin-top:8px;color:#075bd8;font-size:12px;text-decoration:underline;font-weight:800}.site-photo-box{margin-top:16px;border:1px solid #cfe0f6;background:#f6faff;border-radius:15px;padding:15px}.site-photo-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.site-photo-head h3{margin:0 0 4px}.site-photo-head p{margin:0;color:#60718a}.site-photo-head>b{color:#075bd8;background:#e6f0ff;border-radius:999px;padding:5px 10px}.site-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.site-photo-thumb{position:relative;border-radius:10px;overflow:hidden;background:#eaf0f7;aspect-ratio:1}.site-photo-thumb img{width:100%;height:100%;object-fit:cover}.site-photo-thumb button{position:absolute;right:4px;top:4px;width:25px;height:25px;border:0;border-radius:50%;background:#111c;color:#fff;font-size:18px;line-height:1;cursor:pointer}.site-photo-thumb span{position:absolute;left:5px;bottom:4px;background:#111b;color:#fff;border-radius:7px;padding:2px 6px;font-size:10px}.site-photo-add{display:flex;align-items:center;justify-content:center;border:1px dashed #7da8e4;border-radius:12px;background:#fff;color:#075bd8;font-weight:900;min-height:54px;cursor:pointer}.site-photo-add input{display:none}.site-photo-limit{padding:12px;text-align:center;background:#eefbf3;color:#16834a;border-radius:10px;font-weight:800}.site-photo-box small{display:block;color:#61728b;margin-top:8px}.site-photo-modal{z-index:100600}.site-photo-view-card{width:min(900px,96vw);max-height:92vh;overflow:auto}.site-photo-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.site-photo-admin-grid a{display:block;text-decoration:none;color:#16345d;border:1px solid #dbe6f3;border-radius:12px;padding:7px}.site-photo-admin-grid img{width:100%;height:190px;object-fit:cover;border-radius:8px}.site-photo-admin-grid span{display:block;text-align:center;padding:6px 0 2px;font-weight:800}
@media(max-width:700px){.site-photo-grid{grid-template-columns:repeat(3,1fr)}.site-photo-admin-grid{grid-template-columns:1fr 1fr}.package-detail-card{padding:16px}.pkg-detail-price{font-size:26px}}

/* V5.9.1 clickable Big Cleaning photo picker on home card */
.pkg-upload-chip{display:block;cursor:pointer;user-select:none}.pkg-upload-chip:hover{filter:brightness(.98)}.pkg-upload-chip input{display:none}

/* =========================================================
   V6.0 HOME REDESIGN • approved palette: blue / white / black / orange
   Scoped to .view-home so booking, payment, admin and maid logic/UI stay intact.
   ========================================================= */
.view-home{background:#f4f9ff;color:#111827}
.view-home .topbar{height:78px;padding:10px max(24px,4vw);border-bottom:1px solid #e4edf8;box-shadow:0 4px 18px rgba(5,50,110,.04)}
.view-home .brand img{height:54px}
.view-home .home-public-nav{gap:25px}
.view-home .home-public-nav .plain-link{font-weight:700;color:#111827;position:relative}
.view-home .home-public-nav .plain-link.active,.view-home .home-public-nav .plain-link:hover{color:#0669db}
.view-home .home-public-nav .plain-link.active:after{content:"";position:absolute;left:4px;right:4px;bottom:2px;height:3px;border-radius:3px;background:#ff7a00}
.view-home .login-pill{background:#0872e8;border-radius:999px;padding:12px 21px}
.pm-home{max-width:1440px;margin:0 auto;padding:22px 22px 0}
.pm-home-hero{position:relative;display:grid;grid-template-columns:1.03fr .97fr;min-height:610px;overflow:hidden;border:1px solid #d7e6f7;border-radius:30px;background:linear-gradient(118deg,#fff 0%,#fbfdff 48%,#dff1ff 100%);box-shadow:0 22px 60px rgba(2,61,138,.11)}
.pm-home-hero:after{content:"";position:absolute;left:-6%;right:-6%;bottom:-110px;height:180px;background:#bfe8ff;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.7;pointer-events:none}
.pm-hero-copy{padding:62px 42px 66px 58px;position:relative;z-index:2}
.pm-hero-kicker{font-size:12px;letter-spacing:.12em;font-weight:900;color:#0872e8;margin-bottom:14px}
.pm-hero-copy h1{margin:0;color:#101828;font-size:clamp(50px,5.8vw,80px);line-height:.99;letter-spacing:-.045em}
.pm-hero-copy h1 span{color:#075dbd}.pm-hero-copy h1 b{color:#ff7600;font-weight:900}
.pm-hero-copy>p{max-width:620px;font-size:20px;line-height:1.65;color:#3d4d63;margin:24px 0 0}
.pm-hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:27px 0 24px}
.pm-btn{border:0;border-radius:14px;padding:12px 17px;font-weight:800;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.pm-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,70,150,.12)}
.pm-btn-orange{background:linear-gradient(135deg,#ff8b00,#ff6500);color:#fff;box-shadow:0 8px 22px rgba(255,112,0,.24)}
.pm-btn-outline{background:#fff;color:#075fc8;border:1.5px solid #9bc8f7}
.pm-btn-large{padding:15px 24px;border-radius:999px;font-size:17px}
.pm-hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:660px}
.pm-hero-trust>div{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.88);border:1px solid #d9e9f9;border-radius:16px;padding:11px 12px;box-shadow:0 6px 16px rgba(6,74,145,.05)}
.pm-hero-trust i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e9f4ff;color:#0872e8;font-style:normal;font-weight:900}
.pm-hero-trust span{display:grid}.pm-hero-trust b{font-size:12px;color:#0b2a55}.pm-hero-trust small{font-size:10px;color:#738197;margin-top:2px}
.pm-hero-visual{position:relative;display:flex;align-items:flex-end;justify-content:center;z-index:2;background:radial-gradient(circle at 50% 33%,#fff 0,rgba(255,255,255,.75) 27%,transparent 62%)}
.pm-hero-visual img{position:relative;z-index:2;max-height:575px;max-width:88%;object-fit:contain;filter:drop-shadow(0 20px 26px rgba(1,38,92,.16))}
.pm-hero-badge{position:absolute;z-index:4;right:6%;top:8%;width:174px;min-height:174px;border-radius:36px 18px 40px 18px;background:linear-gradient(135deg,#ff8b00,#ff5f00);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(3deg);border:5px solid #fff;box-shadow:0 18px 35px rgba(248,99,0,.23)}
.pm-hero-badge small{font-size:20px;font-weight:900}.pm-hero-badge strong{font-size:39px;line-height:1.08}.pm-hero-badge span{font-size:11px;margin-top:5px}
.pm-handnote{position:absolute;z-index:4;right:4%;bottom:16%;font-size:21px;font-weight:800;font-style:italic;color:#053f87;line-height:1.35;transform:rotate(-4deg);text-align:center}.pm-handnote span{color:#ff7100;font-size:28px}
.pm-service-shortcuts{position:relative;z-index:5;margin:-18px 28px 0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #d9e8f7;border-radius:22px;overflow:hidden;box-shadow:0 16px 36px rgba(6,63,129,.12)}
.pm-service-shortcuts button{border:0;background:#fff;padding:22px 12px;cursor:pointer;display:grid;justify-items:center;gap:5px;border-right:1px solid #e4edf7;transition:.2s}
.pm-service-shortcuts button:last-child{border-right:0}.pm-service-shortcuts button:hover{background:#f2f8ff}
.pm-service-shortcuts i{font-size:31px;color:#0872e8;font-style:normal}.pm-service-shortcuts b{font-size:16px;color:#0b2a55}.pm-service-shortcuts span{font-size:12px;color:#6c7c90}
.pm-home-section{padding:64px 8px 10px}.pm-section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}.pm-section-head>div>span{font-size:12px;font-weight:900;letter-spacing:.08em;color:#ff7100}.pm-section-head h2{font-size:32px;color:#0b2a55;margin:4px 0 5px}.pm-section-head p{margin:0;color:#64748b}.pm-link-btn{border:0;background:#eaf4ff;color:#0569d9;border-radius:999px;padding:12px 17px;font-weight:800;cursor:pointer;white-space:nowrap}
.pm-package-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px}.pm-package-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pm-package-card,.pm-big-card{position:relative;background:#fff;border:1px solid #dce8f5;border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(6,62,128,.07)}
.pm-package-card.featured{border:2px solid #0872e8;box-shadow:0 15px 32px rgba(8,114,232,.14)}.pm-popular{position:absolute;right:12px;top:-12px;background:#ff7100;color:#fff;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:900}.pm-package-code{font-size:30px;font-weight:900;color:#0872e8}.pm-package-card h3{margin:1px 0 7px;font-size:18px;color:#101828}.pm-package-area{margin:0;color:#475569;font-size:13px}.pm-package-meta{display:grid;gap:5px;margin:13px 0;padding:11px;background:#f3f8ff;border-radius:12px;color:#31516f;font-size:11px}.pm-package-card ul{list-style:none;padding:0;margin:12px 0;display:grid;gap:6px}.pm-package-card li{font-size:11px;color:#334155;line-height:1.4}.pm-package-card li::first-letter{color:#0872e8}.pm-package-price{font-size:28px;font-weight:900;color:#075fc8;margin:13px 0}.pm-package-price small{font-size:13px}.pm-package-actions{display:grid;gap:8px;margin-top:auto}.pm-package-card{display:flex;flex-direction:column;min-height:430px}
.pm-big-card{background:linear-gradient(155deg,#075fc8 0%,#0a7df2 62%,#075fc8 100%);color:#fff;border:0;display:flex;flex-direction:column;gap:12px}.pm-big-icon{font-size:34px}.pm-big-label{font-size:11px;font-weight:900;letter-spacing:.1em;color:#bde1ff}.pm-big-card h3{font-size:23px;margin:4px 0}.pm-big-card p{font-size:12px;line-height:1.55;color:#e3f1ff}.pm-big-price{background:#fff;color:#075fc8;border-radius:16px;padding:12px 14px;display:flex;align-items:baseline;gap:5px}.pm-big-price small{color:#ff7100;font-weight:900}.pm-big-price strong{font-size:25px}.pm-big-price span{font-size:11px}.pm-big-calc{display:grid;gap:8px}.pm-big-calc label{font-size:11px}.pm-big-calc>div{display:flex;align-items:center;background:#fff;border-radius:11px;overflow:hidden}.pm-big-calc input{width:100%;border:0;outline:0;padding:12px}.pm-big-calc>div span{color:#64748b;padding-right:10px;font-size:11px;white-space:nowrap}.pm-big-calc>b{font-size:12px;background:#064fa9;padding:9px 10px;border-radius:10px}.pm-big-actions{display:grid;gap:8px;margin-top:auto}.pm-big-card .pm-btn-outline{border-color:#fff}
.pm-booking-steps{margin:48px 8px 12px;background:#fff;border:1px solid #dce9f6;border-radius:24px;padding:28px 30px;box-shadow:0 10px 28px rgba(6,62,128,.05)}.pm-section-head.compact{margin-bottom:18px}.pm-step-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.pm-step-grid>div{position:relative;text-align:center;padding:12px 8px;display:grid;justify-items:center;gap:4px}.pm-step-grid>div:not(:last-child):after{content:"→";position:absolute;right:-10px;top:25px;color:#8cbcf0;font-weight:900}.pm-step-grid i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0e8df8,#075fc8);color:#fff;font-style:normal;font-size:17px;font-weight:900;box-shadow:0 7px 17px rgba(0,104,218,.2)}.pm-step-grid b{font-size:14px;color:#0b2a55}.pm-step-grid span{font-size:11px;color:#718096}
.pm-confidence{margin:26px 8px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pm-confidence>div{background:#fff;border:1px solid #e0eaf5;border-radius:16px;padding:18px;display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center}.pm-confidence i{grid-row:1/3;font-size:26px;color:#0872e8;font-style:normal}.pm-confidence b{font-size:13px;color:#0b2a55}.pm-confidence span{font-size:10px;color:#718096}
.pm-home-cta{margin:0 -22px;background:linear-gradient(110deg,#073d8e,#076bd9);color:#fff;padding:34px max(30px,6vw);display:flex;align-items:center;justify-content:space-between;gap:30px}.pm-home-cta>div:first-child>span{font-size:11px;letter-spacing:.11em;color:#9fd1ff;font-weight:900}.pm-home-cta h2{font-size:28px;margin:5px 0}.pm-home-cta p{margin:0;color:#dceeff}.pm-contact-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}.pm-contact{color:#fff;text-decoration:none;display:grid;border-right:1px solid rgba(255,255,255,.28);padding-right:16px}.pm-contact small{font-size:10px;color:#cde7ff}.pm-contact strong{font-size:21px}.pm-line{background:#fff;color:#075fc8;text-decoration:none;font-weight:900;border-radius:999px;padding:13px 17px}.pm-home-footer{text-align:center;background:#062d68;color:#bcd8f7;margin:0 -22px;padding:13px;font-size:11px}

@media(max-width:1120px){.pm-home-hero{grid-template-columns:1fr 1fr}.pm-hero-copy{padding:45px 30px}.pm-package-layout{grid-template-columns:1fr}.pm-big-card{display:grid;grid-template-columns:1.4fr .7fr;align-items:start}.pm-big-card .pm-big-icon{display:none}.pm-big-card .pm-big-calc,.pm-big-card .pm-big-actions{grid-column:2}.pm-package-list{grid-template-columns:repeat(2,1fr)}.view-home .home-public-nav{gap:12px}}
@media(max-width:850px){.view-home .topbar{position:sticky;min-height:70px}.view-home .home-public-nav .plain-link:nth-child(4){display:none}.pm-home{padding:12px 12px 0}.pm-home-hero{grid-template-columns:1fr;min-height:auto}.pm-hero-copy{padding:38px 28px 15px}.pm-hero-visual{min-height:430px}.pm-hero-visual img{max-height:425px}.pm-hero-badge{width:135px;min-height:135px}.pm-hero-badge small{font-size:14px}.pm-hero-badge strong{font-size:28px}.pm-handnote{font-size:16px}.pm-service-shortcuts{grid-template-columns:1fr 1fr;margin:-8px 14px 0}.pm-service-shortcuts button:nth-child(2){border-right:0}.pm-service-shortcuts button:nth-child(-n+2){border-bottom:1px solid #e4edf7}.pm-package-list{grid-template-columns:1fr 1fr}.pm-big-card{display:flex}.pm-section-head{align-items:flex-start;flex-direction:column}.pm-step-grid{grid-template-columns:1fr 1fr 1fr}.pm-step-grid>div:after{display:none}.pm-confidence{grid-template-columns:1fr 1fr}.pm-home-cta{margin:0 -12px;flex-direction:column;align-items:flex-start}.pm-contact-actions{justify-content:flex-start}.pm-home-footer{margin:0 -12px}}
@media(max-width:620px){.view-home .topbar{padding:7px 10px}.view-home .brand img{height:42px}.view-home .home-public-nav{gap:2px}.view-home .home-public-nav .plain-link{display:none}.view-home .login-pill{padding:9px 13px;font-size:12px}.pm-home-hero{border-radius:20px}.pm-hero-copy{padding:28px 20px 12px}.pm-hero-copy h1{font-size:44px}.pm-hero-copy>p{font-size:15px}.pm-hero-actions .pm-btn{width:100%}.pm-hero-trust{grid-template-columns:1fr}.pm-hero-visual{min-height:355px}.pm-hero-visual img{max-height:350px;max-width:92%}.pm-hero-badge{right:3%;top:5%;width:112px;min-height:112px;border-width:3px}.pm-hero-badge strong{font-size:23px}.pm-hero-badge span{font-size:8px}.pm-handnote{bottom:10%;font-size:13px}.pm-service-shortcuts{margin:0;border-radius:16px}.pm-service-shortcuts button{padding:16px 7px}.pm-service-shortcuts b{font-size:13px}.pm-service-shortcuts span{font-size:9px}.pm-home-section{padding-top:42px}.pm-section-head h2{font-size:25px}.pm-package-list{grid-template-columns:1fr}.pm-package-card{min-height:0}.pm-booking-steps{padding:22px 15px;margin-left:0;margin-right:0}.pm-step-grid{grid-template-columns:1fr}.pm-step-grid>div{grid-template-columns:48px 1fr;text-align:left;justify-items:start;align-items:center}.pm-step-grid i{grid-row:1/3}.pm-confidence{grid-template-columns:1fr;margin-left:0;margin-right:0}.pm-home-cta{padding:28px 20px}.pm-contact-actions{width:100%;display:grid}.pm-contact{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:0 0 12px}.pm-contact-actions .pm-btn,.pm-line{width:100%}.pm-home-cta h2{font-size:23px}}

/* V6.0 HOME ONLY — approved Polite Maid page 1 */
.view-home{background:#f4f9ff}
.view-home .topbar{background:rgba(255,255,255,.96);border-bottom:1px solid #d9e7f5;box-shadow:0 3px 18px rgba(7,58,125,.05)}
.view-home .brand img{height:50px}
.pm-home-v60{max-width:1380px;padding-top:20px;padding-bottom:28px}
.pm-home-hero-only{min-height:590px;border-radius:28px;background:linear-gradient(118deg,#ffffff 0%,#fbfdff 47%,#e6f5ff 100%)}
.pm-home-hero-only:after{bottom:-122px;height:205px;background:linear-gradient(180deg,#c7ebff,#eaf7ff);opacity:.95}
.pm-home-hero-only .pm-hero-copy{padding:56px 36px 70px 56px}
.pm-home-hero-only .pm-hero-copy h1{font-size:clamp(54px,6vw,84px);line-height:.96;letter-spacing:-.05em}
.pm-home-hero-only .pm-title-black{color:#0b1220!important}
.pm-home-hero-only .pm-hero-copy h1 b{color:#ff6a00}
.pm-home-hero-only .pm-hero-copy h1>span:last-child{color:#075fc8}
.pm-home-hero-only .pm-hero-copy>p{font-size:20px;max-width:560px;margin-top:22px;color:#2f425b}
.pm-hero-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px;max-width:720px}
.pm-hero-benefits>div{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.92);border:1px solid #d6e7f8;border-radius:14px;padding:10px 9px;box-shadow:0 6px 16px rgba(2,66,142,.06)}
.pm-hero-benefits i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#eaf5ff;color:#0570df;font-style:normal;font-weight:900;flex:0 0 auto}
.pm-hero-benefits span{display:grid;min-width:0}.pm-hero-benefits b{font-size:11px;color:#0a2a54;line-height:1.3}.pm-hero-benefits small{font-size:9px;color:#75859a;margin-top:2px}
.pm-hero-actions-only{margin-top:24px;margin-bottom:0}.pm-hero-actions-only .pm-btn-orange{min-width:238px}
.pm-hero-visual-only{min-height:590px}
.pm-hero-visual-only img{max-height:560px;max-width:87%;object-fit:contain;object-position:center bottom}
.pm-promo-badge{right:4%;top:7%;width:185px;min-height:178px;border-radius:42px 20px 42px 20px;background:linear-gradient(145deg,#ff8a00,#ff5d00);transform:rotate(2deg);box-shadow:0 18px 38px rgba(255,92,0,.25)}
.pm-promo-badge small{font-size:20px}.pm-promo-badge strong{font-size:29px;line-height:1.03;margin:4px 0}.pm-promo-badge span{font-size:11px;background:#075fc8;border-radius:999px;padding:5px 10px}.pm-promo-badge span b{color:#fff}
.pm-service-shortcuts-only{margin:-22px 30px 0;border-radius:22px;box-shadow:0 18px 40px rgba(6,63,129,.13)}
.pm-service-shortcuts-only button{padding:23px 10px}.pm-service-shortcuts-only i{font-size:32px}.pm-service-shortcuts-only b{font-size:17px}.pm-service-shortcuts-only span{font-size:12px}
.pm-home-mini-contact{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:22px 14px 4px;color:#51647c;font-size:12px}
.pm-home-mini-contact a{color:#075fc8;text-decoration:none;font-weight:800;border-left:1px solid #cad9e8;padding-left:12px}
@media(max-width:1020px){.pm-home-hero-only{grid-template-columns:1fr 1fr}.pm-hero-benefits{grid-template-columns:1fr 1fr}.pm-home-hero-only .pm-hero-copy{padding:42px 25px 55px 34px}.pm-home-hero-only .pm-hero-copy h1{font-size:58px}.pm-promo-badge{width:145px;min-height:145px}.pm-promo-badge small{font-size:15px}.pm-promo-badge strong{font-size:23px}}
@media(max-width:850px){.pm-home-hero-only{grid-template-columns:1fr}.pm-home-hero-only .pm-hero-copy{padding:36px 26px 10px}.pm-home-hero-only .pm-hero-copy h1{font-size:56px}.pm-hero-visual-only{min-height:430px}.pm-hero-visual-only img{max-height:425px}.pm-service-shortcuts-only{margin:-8px 14px 0}}
@media(max-width:620px){.pm-home-v60{padding-top:10px}.pm-home-hero-only{border-radius:20px}.pm-home-hero-only .pm-hero-copy{padding:26px 18px 8px}.pm-home-hero-only .pm-hero-copy h1{font-size:44px}.pm-home-hero-only .pm-hero-copy>p{font-size:15px}.pm-hero-benefits{grid-template-columns:1fr 1fr;gap:6px}.pm-hero-benefits>div{padding:8px}.pm-hero-benefits b{font-size:10px}.pm-hero-benefits small{font-size:8px}.pm-hero-actions-only .pm-btn{width:100%;min-width:0}.pm-hero-visual-only{min-height:355px}.pm-hero-visual-only img{max-height:350px;max-width:92%}.pm-promo-badge{right:2%;top:4%;width:120px;min-height:120px;border-width:3px}.pm-promo-badge small{font-size:12px}.pm-promo-badge strong{font-size:19px}.pm-promo-badge span{font-size:8px;padding:4px 7px}.pm-service-shortcuts-only{grid-template-columns:1fr 1fr;margin:0}.pm-service-shortcuts-only button{padding:16px 7px}.pm-service-shortcuts-only b{font-size:13px}.pm-service-shortcuts-only span{font-size:9px}.pm-home-mini-contact{padding-top:17px}}

/* V5.9.4 HOME ONLY — approved panel #1, blue / white / black / orange */
body.view-home{background:#f7fbff}
body.view-home .topbar{height:76px;padding:10px max(24px,4vw);background:rgba(255,255,255,.98);border-bottom:1px solid #e7eef7;box-shadow:0 5px 18px rgba(8,43,92,.05)}
body.view-home .brand img{height:48px}
body.view-home .navbtn{background:transparent;color:#10243e;border-radius:10px;padding:10px 14px}
body.view-home .navbtn:hover{background:#eef6ff;color:#0b6fe8}
body.view-home .navbtn.active{background:#0b6fe8;color:#fff}
.pm-home-v2{max-width:1180px;margin:0 auto;padding:22px 22px 34px}
.pm-home-hero{position:relative;min-height:560px;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1.03fr .97fr;background:linear-gradient(105deg,#fff 0%,#fff 47%,#eef8ff 100%);border:1px solid #dfeaf6;box-shadow:0 20px 50px rgba(8,43,92,.11)}
.pm-home-hero:after{content:"";position:absolute;left:-7%;right:-7%;bottom:-115px;height:205px;border-radius:50% 50% 0 0;background:linear-gradient(90deg,#e9f7ff,#cdeeff 55%,#b9e4ff);z-index:0}
.pm-home-copy{position:relative;z-index:3;padding:44px 18px 36px 48px;display:flex;flex-direction:column;justify-content:center}
.pm-home-kicker{display:inline-flex;align-self:flex-start;color:#0a6bdc;font-size:14px;font-weight:800;background:#edf6ff;border:1px solid #d1e6fb;padding:7px 12px;border-radius:999px;margin-bottom:14px}
.pm-home-copy h1{margin:0;display:flex;flex-direction:column;line-height:.98;letter-spacing:-2px;font-size:clamp(46px,5.7vw,75px);font-weight:900}
.pm-home-copy h1 .black{color:#071b34}.pm-home-copy h1 .blue{color:#0875e5}
.pm-home-lead{max-width:520px;margin:22px 0 18px;color:#334b68;font-size:18px;line-height:1.65;font-weight:600}
.pm-home-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:540px;margin-top:4px}
.pm-home-benefits>div{min-height:94px;background:#fff;border:1px solid #dce8f5;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 8px 20px rgba(12,87,167,.06)}
.pm-home-benefits i{font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ecf6ff;color:#0875e5;font-weight:900;font-size:18px;margin-bottom:7px}
.pm-home-benefits b{font-size:12px;line-height:1.35;color:#18314f}
.pm-home-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.pm-home-cta{border:0;border-radius:999px;background:linear-gradient(100deg,#ff7a00,#ff9a00);color:#fff;font-size:22px;font-weight:900;padding:16px 30px;min-width:250px;box-shadow:0 12px 26px rgba(255,122,0,.28);cursor:pointer}.pm-home-cta span{margin-left:12px}
.pm-home-track{border:1px solid #cfe0f3;border-radius:999px;background:#fff;color:#0b5fc1;font-weight:800;padding:14px 20px;cursor:pointer}
.pm-home-visual{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;min-height:560px;padding:16px 18px 0;background:radial-gradient(circle at 55% 34%,rgba(255,255,255,.95) 0,rgba(255,255,255,.78) 34%,rgba(219,241,255,.28) 62%,transparent 73%)}
.pm-home-visual img{height:500px;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 26px rgba(0,45,90,.13));z-index:2}
.pm-home-promo{position:absolute;z-index:5;right:25px;top:30px;width:190px;height:190px;border-radius:50%;background:linear-gradient(145deg,#ff7a00,#ff9c00);color:white;border:7px solid #fff;box-shadow:0 12px 30px rgba(255,124,0,.28),0 0 0 2px #ff8c00;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-4deg)}
.pm-home-promo:before{content:"";position:absolute;right:15px;top:-22px;width:56px;height:42px;background:#0876e6;border-radius:60% 40% 60% 40%;transform:rotate(22deg);box-shadow:-22px 11px 0 -6px #0a63c8}
.pm-home-promo small{font-size:17px;font-weight:900}.pm-home-promo strong{font-size:22px;line-height:1.05}.pm-home-promo em{font-style:normal;font-size:48px;line-height:.9}.pm-home-promo span{margin-top:8px;background:#083d8b;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:800}
.pm-home-handnote{position:absolute;right:20px;bottom:80px;z-index:6;color:#0a356f;font-size:18px;font-weight:700;line-height:1.25;text-align:center;transform:rotate(-5deg);font-family:"Prompt",Arial,sans-serif}.pm-home-handnote b{color:#ff7d00;font-size:19px}
.pm-home-service-strip{position:relative;z-index:8;margin:-35px 24px 0;background:#fff;border:1px solid #dce8f5;border-radius:22px;box-shadow:0 18px 34px rgba(8,43,92,.12);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.pm-home-service-strip button{border:0;border-right:1px solid #e4edf7;background:#fff;padding:22px 14px 20px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:.18s}.pm-home-service-strip button:last-child{border-right:0}.pm-home-service-strip button:hover{background:#f3f9ff;transform:translateY(-1px)}
.pm-home-service-strip i{font-style:normal;color:#0875e5;font-size:34px;line-height:1}.pm-home-service-strip b{font-size:17px;color:#10243e}.pm-home-service-strip span{font-size:12px;color:#5d7188}
.pm-home-bottom-note{display:flex;justify-content:space-between;gap:12px;padding:18px 30px 0;color:#7c8fa5;font-size:12px}.pm-home-bottom-note b{color:#0a5fbf}
@media(max-width:960px){.pm-home-hero{grid-template-columns:1fr;min-height:0}.pm-home-copy{padding:36px 28px 10px}.pm-home-visual{min-height:410px}.pm-home-visual img{height:390px}.pm-home-promo{width:155px;height:155px;right:22px;top:14px}.pm-home-promo em{font-size:40px}.pm-home-service-strip{grid-template-columns:1fr 1fr;margin:-20px 18px 0}.pm-home-service-strip button:nth-child(2){border-right:0}.pm-home-service-strip button:nth-child(-n+2){border-bottom:1px solid #e4edf7}}
@media(max-width:640px){body.view-home .topbar{padding:8px 12px}.pm-home-v2{padding:12px 10px 24px}.pm-home-hero{border-radius:20px}.pm-home-copy{padding:28px 20px 8px}.pm-home-copy h1{font-size:46px;letter-spacing:-1px}.pm-home-lead{font-size:15px}.pm-home-benefits{grid-template-columns:1fr 1fr}.pm-home-actions{align-items:stretch}.pm-home-cta,.pm-home-track{width:100%}.pm-home-visual{min-height:360px}.pm-home-visual img{height:345px}.pm-home-promo{width:132px;height:132px;right:8px;top:8px;border-width:5px}.pm-home-promo small{font-size:13px}.pm-home-promo strong{font-size:16px}.pm-home-promo em{font-size:34px}.pm-home-promo span{font-size:10px}.pm-home-handnote{display:none}.pm-home-service-strip{margin:-10px 8px 0}.pm-home-service-strip button{padding:18px 8px}.pm-home-service-strip b{font-size:15px}.pm-home-bottom-note{padding:15px 10px 0;flex-direction:column;text-align:center}.pm-home-hero:after{bottom:-150px}}


/* V6.0.1 HOME ONLY — larger quick package strip, S / M / L / Big Cleaning */
.pm-home-service-strip button{padding:28px 16px 25px;min-height:132px;gap:7px}
.pm-home-service-strip i{font-size:42px}
.pm-home-service-strip b{font-size:21px;font-weight:900}
.pm-home-service-strip span{font-size:15px;font-weight:700;color:#4e647e}
@media(max-width:960px){.pm-home-service-strip button{min-height:118px;padding:22px 10px}.pm-home-service-strip i{font-size:36px}.pm-home-service-strip b{font-size:18px}.pm-home-service-strip span{font-size:13px}}
@media(max-width:640px){.pm-home-service-strip button{min-height:108px;padding:18px 8px}.pm-home-service-strip i{font-size:32px}.pm-home-service-strip b{font-size:16px}.pm-home-service-strip span{font-size:12px}}

/* V6.0.2 — date/time readability + full-month calendar only. Home V6.0.1 remains unchanged. */
body.view-book .v56-center-card.pm-date-step{padding:28px;min-height:0}
.pm-date-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.pm-date-title>div:first-child>span{display:inline-block;color:#0b6fe8;background:#eaf4ff;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:900;margin-bottom:7px}
.pm-date-title h2{font-size:30px;margin:0 0 5px;color:#0a2345}.pm-date-title p{font-size:16px;margin:0;color:#5d7188}
.pm-selected-date{min-width:210px;border:1px solid #cfe0f3;border-radius:15px;background:#f6fbff;padding:12px 14px;display:grid;gap:3px;text-align:right}.pm-selected-date small{font-size:12px;color:#60738b}.pm-selected-date b{font-size:17px;color:#075fc8}.pm-selected-date span{font-size:14px;font-weight:800;color:#122d50}
.pm-date-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:22px;align-items:start}
.pm-month-calendar,.pm-time-panel{background:#fff;border:1px solid #d8e5f3;border-radius:20px;padding:20px;box-shadow:0 8px 22px rgba(8,58,125,.05)}
.pm-cal-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin-bottom:16px}.pm-cal-head h3{margin:0;text-align:center;font-size:24px;color:#0a2345}.pm-cal-head button{width:44px;height:44px;border-radius:12px;border:1px solid #cfe0f3;background:#fff;color:#075fc8;font-size:30px;line-height:1;cursor:pointer}.pm-cal-head button:hover{background:#eef7ff}
.pm-cal-week,.pm-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.pm-cal-week{margin-bottom:8px}.pm-cal-week span{text-align:center;font-size:14px;font-weight:900;color:#5c6f86;padding:5px}
.pm-cal-empty{min-height:70px}
.pm-cal-day{min-height:76px;border:1px solid #d7e3f0;border-radius:13px;background:#fff;color:#142b49;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.15s;padding:7px}.pm-cal-day b{font-size:19px;line-height:1}.pm-cal-day small{font-size:11px;font-weight:700;color:#718096}.pm-cal-day:not(:disabled):hover{border-color:#0b72e7;background:#f2f8ff;transform:translateY(-1px)}
.pm-cal-day.selected{background:#0b6fe8;border-color:#0b6fe8;color:#fff;box-shadow:0 7px 16px rgba(11,111,232,.22)}.pm-cal-day.selected small{color:#fff}.pm-cal-day.today:not(.selected){border:2px solid #0b6fe8;background:#f5faff}.pm-cal-day.today:not(.selected) small{color:#075fc8}
.pm-cal-day.unavailable{background:#eef1f5;border-color:#e1e5ea;color:#98a2b3;cursor:not-allowed;box-shadow:none}.pm-cal-day.unavailable small{color:#98a2b3}
.pm-cal-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid #edf2f7;font-size:12px;font-weight:700;color:#5e7187}.pm-cal-legend span{display:flex;align-items:center;gap:6px}.pm-cal-legend i{width:14px;height:14px;border-radius:4px;border:1px solid #cbd8e7;background:#fff}.pm-cal-legend i.selected{background:#0b6fe8;border-color:#0b6fe8}.pm-cal-legend i.unavailable{background:#eef1f5;border-color:#e1e5ea}
.pm-time-panel h3{font-size:23px;margin:0 0 5px;color:#0a2345}.pm-time-panel>p{font-size:14px;color:#697c92;margin:0 0 15px}.pm-time-list{display:grid;gap:10px}.pm-time-slot{width:100%;min-height:65px;border:1px solid #d5e2ef;border-radius:14px;background:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.pm-time-slot strong{font-size:18px;color:#102b4d}.pm-time-slot span{font-size:12px;font-weight:800;color:#6b7d91}.pm-time-slot:hover{border-color:#0b72e7;background:#f2f8ff}.pm-time-slot.selected{background:#0b6fe8;border-color:#0b6fe8}.pm-time-slot.selected strong,.pm-time-slot.selected span{color:#fff}
.pm-date-actions{margin-top:22px}.pm-date-actions .btn,.pm-date-actions .v56-next{font-size:16px;min-height:48px}
/* Increase readability in booking cards/fields without changing their logic. */
body.view-book .v56-summary h2{font-size:22px}body.view-book .v56-summary-row span,body.view-book .v56-summary-row b{font-size:14px}body.view-book .v56-addons h3{font-size:16px}body.view-book .v56-addons label{font-size:14px}body.view-book .v56-center-card .field label{font-size:15px}body.view-book .v56-center-card .field input,body.view-book .v56-center-card .field select,body.view-book .v56-center-card .field textarea{font-size:16px}
@media(max-width:980px){.pm-date-layout{grid-template-columns:1fr}.pm-selected-date{text-align:left}.pm-date-title{flex-direction:column}.pm-time-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body.view-book .v56-center-card.pm-date-step{padding:16px}.pm-date-title h2{font-size:25px}.pm-date-title p{font-size:14px}.pm-month-calendar,.pm-time-panel{padding:12px}.pm-cal-head{grid-template-columns:40px 1fr 40px}.pm-cal-head h3{font-size:20px}.pm-cal-head button{width:38px;height:38px;font-size:26px}.pm-cal-week,.pm-cal-grid{gap:4px}.pm-cal-empty{min-height:52px}.pm-cal-day{min-height:58px;border-radius:10px;padding:4px}.pm-cal-day b{font-size:16px}.pm-cal-day small{font-size:8px}.pm-cal-legend{gap:10px}.pm-time-list{grid-template-columns:1fr}.pm-time-slot strong{font-size:17px}}

/* V6.0.3 booking flow: page 2 package -> page 3 calendar -> page 4 customer/address -> page 5 payment -> page 6 confirmation */
.pm-step-kicker{display:inline-flex;align-items:center;background:#eaf4ff;color:#075bd8;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:900;margin-bottom:8px}
.pm-step-intro{margin:-4px 0 20px;color:#60718a;font-size:15px;line-height:1.6}
.pm-subtitle{font-size:17px;color:#0a2345;margin:22px 0 11px}
.pm-package-step>h2,.pm-customer-step>h2{font-size:30px!important;color:#0a2345!important;margin-bottom:8px!important}
.pm-customer-sections{display:grid;grid-template-columns:1fr 1.08fr;gap:18px;margin-top:18px}
.pm-customer-block{border:1px solid #dce7f4;background:#fbfdff;border-radius:16px;padding:18px}
.pm-customer-block h3{margin:0 0 14px;color:#0a2345;font-size:19px}
.pm-customer-step .field label{font-size:16px!important;color:#172b4d}
.pm-customer-step .field input,.pm-customer-step .field select,.pm-customer-step .field textarea{font-size:16px!important;min-height:48px}
.pm-customer-step .field textarea{min-height:auto}
.pm-customer-step input:disabled{background:#f3f7fb;color:#36516f;font-weight:700}
body.view-payment .steps{margin:0 0 24px}
body.view-payment .step{font-size:14px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px}
body.view-payment .step b{font-size:15px}
body.view-payment .card h2{font-size:25px;color:#0a2345}
body.view-payment .field label,body.view-payment .bank-row,body.view-payment .payment-note{font-size:15px}
@media(max-width:980px){.pm-customer-sections{grid-template-columns:1fr}}
@media(max-width:620px){.pm-package-step>h2,.pm-customer-step>h2{font-size:25px!important}.pm-customer-block{padding:14px}.pm-customer-step .form-grid{grid-template-columns:1fr}.pm-customer-step .field.full{grid-column:auto}body.view-payment .steps{grid-template-columns:repeat(5,1fr)}body.view-payment .step span{display:none}}

/* V6.0.4 UX fixes: Big Cleaning visibility, safe edit-back from payment, customer form no overlap */
body.view-book .v56-main{grid-template-columns:280px minmax(0,1fr) 350px;max-width:1536px;margin:0 auto}
body.view-book .v56-main>*{min-width:0}
body.view-book .v56-center-card{min-width:0;overflow:visible}
body.view-book .v56-summary{min-width:0;z-index:2}
.pm-customer-sections{grid-template-columns:1fr!important}
.pm-customer-block{min-width:0;overflow:hidden}
.pm-customer-step .form-grid{min-width:0}
.pm-customer-step .field{min-width:0}
.pm-customer-step .field input,.pm-customer-step .field select,.pm-customer-step .field textarea{width:100%;min-width:0}
.pm-big-cleaning-shortcut{width:100%;margin:14px 0 4px;border:2px solid #ff8a00;border-radius:16px;background:linear-gradient(135deg,#fff8ee,#ffffff);padding:14px 16px;display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:12px;align-items:center;text-align:left;cursor:pointer;color:#102b4d;box-shadow:0 6px 18px rgba(255,138,0,.08)}
.pm-big-cleaning-shortcut:hover{background:#fff4e5;border-color:#ff7a00}
.pm-big-cleaning-shortcut .pm-big-icon{width:40px;height:40px;border-radius:12px;background:#ff8200;color:#fff;display:grid;place-items:center;font-size:22px}
.pm-big-cleaning-shortcut span:nth-child(2){display:grid;gap:2px}.pm-big-cleaning-shortcut b{font-size:18px}.pm-big-cleaning-shortcut small{font-size:13px;color:#687b92}.pm-big-cleaning-shortcut strong{font-size:18px;color:#075bd8;white-space:nowrap}.pm-big-cleaning-shortcut em{font-style:normal;font-weight:900;color:#ff7600;white-space:nowrap}
.pm-payment-back{margin-bottom:14px;font-size:14px!important}
body.view-payment .layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr)}
body.view-payment .layout>*{min-width:0}
@media(max-width:1280px){body.view-book .v56-main{grid-template-columns:minmax(0,1fr) 330px;padding:16px 22px}.v56-maid-panel{display:none}.pm-customer-sections{grid-template-columns:1fr!important}}
@media(max-width:900px){body.view-book .v56-main{grid-template-columns:1fr;padding:12px}.v56-summary{position:static!important;order:3}body.view-payment .layout{grid-template-columns:1fr}.pm-big-cleaning-shortcut{grid-template-columns:40px 1fr}.pm-big-cleaning-shortcut strong,.pm-big-cleaning-shortcut em{grid-column:2}}
@media(max-width:560px){.pm-big-cleaning-shortcut{padding:12px}.pm-big-cleaning-shortcut b{font-size:16px}.pm-big-cleaning-shortcut strong{font-size:16px}}

/* V6.0.5 — Admin readability + safe bulk delete of old test bookings */
body.view-admin{font-family:"Prompt",Arial,"Noto Sans Thai",sans-serif}
body.view-admin .admin-top h2{font-size:22px}
body.view-admin .admin-top small{font-size:13px}
body.view-admin .ad-nav-item b{font-size:15px}
body.view-admin .ad-nav-item em{font-size:12px;min-width:25px;height:25px}
body.view-admin .ad-title h1{font-size:26px}
body.view-admin .ad-title span{font-size:15px}
body.view-admin .ad-kpis span{font-size:15px;font-weight:700}
body.view-admin .ad-kpis strong{font-size:32px}
body.view-admin .ad-kpis small{font-size:13px}
body.view-admin .ad-section-head h2{font-size:21px}
body.view-admin .ad-section-head small{font-size:13px}
body.view-admin .ad-filters select{font-size:14px;padding:10px 12px}
body.view-admin .ad-table{font-size:14px;min-width:1280px}
body.view-admin .ad-table th{font-size:14px;padding:14px 13px;position:sticky;top:0;z-index:3}
body.view-admin .ad-table td{font-size:14px;padding:15px 13px;line-height:1.45}
body.view-admin .ad-table td b{font-size:14px}
body.view-admin .ad-table td small{font-size:12.5px;line-height:1.35}
body.view-admin .status{font-size:12.5px;padding:7px 10px}
body.view-admin .ad-actions .btn{font-size:12px;padding:8px 9px}
body.view-admin .rail-card h3{font-size:18px}
body.view-admin .rail-card p{font-size:14px}
body.view-admin .maid-row b{font-size:14px}
body.view-admin .maid-row small{font-size:12px}
body.view-admin .admin-footer{font-size:13px}
.ad-bulkbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 18px;background:#f7faff;border-top:1px solid #e3ebf5;border-bottom:1px solid #e3ebf5;font-size:14px;color:#29425f}
.ad-bulkbar label{display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}
.ad-bulkbar input,.ad-row-check{width:19px;height:19px;accent-color:#075bd8;cursor:pointer}
.ad-bulkbar span{margin-left:auto}.ad-bulkbar span b{color:#075bd8;font-size:16px}.ad-bulkbar .btn{font-size:13px;padding:9px 12px}.ad-bulkbar .btn:disabled{opacity:.45;cursor:not-allowed}
.ad-check-col{width:64px;text-align:center!important}
.ad-table-scroll{max-height:620px;overflow:auto}
@media(max-width:1350px){body.view-admin .ad-table{font-size:13.5px;min-width:1220px}.ad-bulkbar span{margin-left:0}}
@media(max-width:900px){body.view-admin .ad-nav-item b{font-size:14px}body.view-admin .ad-title h1{font-size:22px}body.view-admin .ad-table{font-size:13px}.ad-table-scroll{max-height:70vh}}

/* V6.0.6 — Admin table stays in place while selecting + desktop fit without horizontal scroll */
@media(min-width:1101px){
  body.view-admin .admin-content{grid-template-columns:minmax(0,1fr);max-width:1700px}
  body.view-admin .admin-rail{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
}
body.view-admin .ad-table-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;max-height:620px}
body.view-admin .ad-table{width:100%;min-width:0!important;table-layout:fixed;font-size:14px}
body.view-admin .ad-table th,body.view-admin .ad-table td{padding:13px 8px;overflow-wrap:anywhere}
body.view-admin .ad-table th:nth-child(1),body.view-admin .ad-table td:nth-child(1){width:4%}
body.view-admin .ad-table th:nth-child(2),body.view-admin .ad-table td:nth-child(2){width:13%;white-space:nowrap}
body.view-admin .ad-table th:nth-child(3),body.view-admin .ad-table td:nth-child(3){width:12%}
body.view-admin .ad-table th:nth-child(4),body.view-admin .ad-table td:nth-child(4){width:15%}
body.view-admin .ad-table th:nth-child(5),body.view-admin .ad-table td:nth-child(5){width:12%}
body.view-admin .ad-table th:nth-child(6),body.view-admin .ad-table td:nth-child(6){width:14%}
body.view-admin .ad-table th:nth-child(7),body.view-admin .ad-table td:nth-child(7){width:7%;text-align:right}
body.view-admin .ad-table th:nth-child(8),body.view-admin .ad-table td:nth-child(8){width:10%}
body.view-admin .ad-table th:nth-child(9),body.view-admin .ad-table td:nth-child(9){width:13%}
body.view-admin .ad-table td:nth-child(6){line-height:1.35}
body.view-admin .ad-actions{white-space:normal;overflow:visible}
body.view-admin .ad-actions .btn{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;line-height:1.25;margin:2px 1px;padding:7px 7px;font-size:12px}
@media(max-width:1100px){body.view-admin .ad-table-scroll{overflow-x:auto}body.view-admin .ad-table{min-width:1050px!important;table-layout:auto}}


/* V6.0.8 — fix Customer/Calendar modules + larger admin typography.
   Public/customer Home keeps its original sizing from earlier CSS. */
html,body,button,input,select,textarea,table{font-family:"Prompt","Noto Sans Thai",Arial,sans-serif!important}
body.view-admin{font-size:16px!important;font-weight:400!important}
body.view-admin p,body.view-admin span,body.view-admin small,body.view-admin b,body.view-admin strong,body.view-admin label,body.view-admin a,body.view-admin button,body.view-admin input,body.view-admin select,body.view-admin textarea,body.view-admin td,body.view-admin th,body.view-admin li,body.view-admin em{font-size:16px!important;font-weight:400!important;line-height:1.5}
body.view-admin h1{font-size:30px!important;font-weight:600!important;line-height:1.3}
body.view-admin h2{font-size:24px!important;font-weight:600!important;line-height:1.35}
body.view-admin h3{font-size:20px!important;font-weight:600!important;line-height:1.4}
body.view-admin .ad-nav-item>span,body.view-admin .ad-kpis i{font-size:21px!important;line-height:1}
body.view-admin .ad-kpis strong{font-size:34px!important;font-weight:600!important}
body.view-admin .rail-revenue strong{font-size:24px!important;font-weight:600!important}
body.view-admin .price,body.view-admin .total,body.view-admin .payment-amount strong,body.view-admin .account-no{font-size:18px!important;font-weight:600!important}
body.view-admin .btn,body.view-admin .navbtn,body.view-admin .ad-nav-item b,body.view-admin .status,body.view-admin .badge{font-weight:400!important}
.admin-module-content{padding:26px 28px;max-width:1700px;margin:auto}
.admin-module-card{background:#fff;border:1px solid #e0e7f0;border-radius:10px;box-shadow:0 3px 12px #173b6b0b;overflow:hidden}
.admin-module-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #e7edf4}
.admin-module-head h1{margin:0 0 4px}
.admin-module-head p{margin:0;color:#61718a}
.admin-module-head>span{background:#edf4ff;color:#075bd8;border-radius:999px;padding:7px 12px}
.module-table{min-width:760px}
.module-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px 22px}
.module-kpis>div{border:1px solid #dbe5f1;border-radius:10px;padding:16px;background:#f9fbfe;display:grid;gap:6px}
.settings-list{display:grid;padding:10px 22px}
.settings-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #edf1f6}
.admin-module-card>.toolbar{padding:0 22px 20px}
@media(max-width:900px){.admin-module-content{padding:16px}.module-kpis{grid-template-columns:1fr 1fr}.admin-module-head{align-items:flex-start}.settings-list>div{flex-direction:column;gap:4px}}
@media(max-width:560px){body.view-admin h1{font-size:27px!important}body.view-admin h2{font-size:23px!important}body.view-admin h3{font-size:20px!important}.module-kpis{grid-template-columns:1fr}}


/* V6.0.9 — Maid master directory */
.maid-master-head{align-items:center}.maid-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.maid-head-actions>span{background:#edf4ff;color:#075bd8;border-radius:999px;padding:8px 12px}.maid-master-note{padding:12px 22px;background:#f7faff;border-bottom:1px solid #e3ebf5;color:#52657a}.maid-master-table{min-width:1280px!important}.maid-master-table td,.maid-master-table th{vertical-align:middle}.maid-master-table small.maid-linked{display:block;margin-top:4px;color:#16834f}.maid-active-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:14px!important;white-space:nowrap}.maid-active-badge.on{background:#e7f8ee;color:#087b47}.maid-active-badge.off{background:#eef1f5;color:#667085}.maid-row-actions{display:flex;gap:6px;flex-wrap:wrap}.maid-row-actions .btn{padding:7px 9px!important;font-size:14px!important}.maid-master-modal{width:min(720px,96vw);max-height:92vh;overflow:auto}.maid-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.maid-form-grid .full{grid-column:1/-1}.maid-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.maid-history-card{width:min(1100px,96vw);max-height:90vh;overflow:auto}.maid-history-card .module-table{min-width:850px!important}
@media(max-width:760px){.maid-form-grid{grid-template-columns:1fr}.maid-form-grid .full{grid-column:auto}.maid-master-head{align-items:flex-start}.maid-head-actions{width:100%;justify-content:space-between}}


/* V6.0.11 — Maid directory table repair.
   The generic booking-table nth-child widths must not squeeze the 10th action column. */
body.view-admin .admin-module-card .table-wrap{overflow-x:auto;overflow-y:visible}
body.view-admin .maid-master-table{
  width:100%!important;
  min-width:1380px!important;
  table-layout:auto!important;
}
body.view-admin .maid-master-table th,
body.view-admin .maid-master-table td{
  width:auto!important;
  max-width:none!important;
  padding:13px 11px!important;
  line-height:1.35!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
body.view-admin .maid-master-table th:nth-child(1),body.view-admin .maid-master-table td:nth-child(1){min-width:92px!important}
body.view-admin .maid-master-table th:nth-child(2),body.view-admin .maid-master-table td:nth-child(2){min-width:210px!important;white-space:normal!important}
body.view-admin .maid-master-table th:nth-child(3),body.view-admin .maid-master-table td:nth-child(3){min-width:100px!important}
body.view-admin .maid-master-table th:nth-child(4),body.view-admin .maid-master-table td:nth-child(4){min-width:145px!important}
body.view-admin .maid-master-table th:nth-child(5),body.view-admin .maid-master-table td:nth-child(5){min-width:145px!important}
body.view-admin .maid-master-table th:nth-child(6),body.view-admin .maid-master-table td:nth-child(6){min-width:105px!important}
body.view-admin .maid-master-table th:nth-child(7),body.view-admin .maid-master-table td:nth-child(7),
body.view-admin .maid-master-table th:nth-child(8),body.view-admin .maid-master-table td:nth-child(8),
body.view-admin .maid-master-table th:nth-child(9),body.view-admin .maid-master-table td:nth-child(9){min-width:95px!important;text-align:center!important}
body.view-admin .maid-master-table th:nth-child(10),body.view-admin .maid-master-table td:nth-child(10){min-width:310px!important;width:310px!important}
body.view-admin .maid-row-actions{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
  min-width:290px!important;
}
body.view-admin .maid-row-actions .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  line-height:1.25!important;
  padding:8px 10px!important;
}
body.view-admin .maid-master-table tbody tr{height:auto!important;min-height:0!important}
body.view-admin .maid-master-table tbody td{height:auto!important}


/* ===== Polite Maid V6.0.11 • Announcements / admin navigation / visible logo ===== */
.admin-shell.sidebar-collapsed .admin-sidebar{transform:translateX(-100%)}
.admin-shell.sidebar-collapsed .admin-workspace{margin-left:0;width:100%}
.admin-sidebar,.admin-workspace{transition:transform .22s ease,margin-left .22s ease,width .22s ease}
.ad-menu{cursor:pointer;color:#16355f}.ad-menu:hover{background:#edf4ff;border-color:#bcd1ef}
.ad-top-link{border:1px solid #cfdced;background:#fff;color:#075bd8;border-radius:8px;padding:9px 12px;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
.ad-top-link:hover{background:#f1f6ff}.ad-top-link.logout{color:#b42318;border-color:#efc3be}
.pm-announcement-panel{max-width:1280px;margin:22px auto;padding:0 20px}.pm-announcement-panel.maid{max-width:1180px;margin:16px auto 18px;padding:0}
.pm-announcement-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pm-announcement-heading>div{display:flex;align-items:center;gap:12px}.pm-announcement-heading>div>span{font-size:28px}.pm-announcement-heading h2{margin:0;font-size:22px}.pm-announcement-heading p{margin:2px 0 0;color:#64748b}
.pm-announcement-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pm-announcement-panel.maid .pm-announcement-list{grid-template-columns:1fr}
.pm-announcement-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;background:#fff;border:1px solid #dbe7f6;border-left:5px solid #0962df;border-radius:12px;padding:15px;box-shadow:0 3px 12px #16375f0d;min-width:0;overflow:hidden}.pm-announcement-card.rule{border-left-color:#ee9707}.pm-announcement-card.urgent{border-left-color:#dc2626;background:#fffafa}.pm-announcement-card h3{font-size:17px;margin:5px 0}.pm-announcement-card p{margin:0;line-height:1.65;color:#3f5069}.pm-announcement-image{width:96px;height:76px;object-fit:cover;border-radius:9px;border:1px solid #e1e7ef}.pm-announcement-card.has-image{grid-template-columns:1fr}.pm-announcement-card.has-image .pm-announcement-image{width:100%;height:auto;max-height:360px;object-fit:contain;background:#f8fafc}
.pm-announcement-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-announcement-meta span{background:#eaf2ff;color:#075bd8;border-radius:999px;padding:4px 8px;font-size:12px}.pm-announcement-meta small{color:#718096}
.announcement-admin-grid{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:20px;padding:20px}.announcement-form{border:1px solid #e0e7f0;background:#f9fbfe;border-radius:12px;padding:18px;align-self:start;position:sticky;top:116px}.announcement-form h2,.announcement-admin-list h2{margin:0 0 15px;font-size:19px}.announcement-form .field{margin-bottom:12px}.announcement-form .field label{display:block;margin-bottom:6px}.announcement-form input,.announcement-form select,.announcement-form textarea{width:100%;box-sizing:border-box}.announcement-active{display:flex;align-items:center;gap:8px;margin:12px 0}.announcement-active input{width:auto}.announcement-image-preview img{max-width:100%;max-height:180px;border-radius:10px;margin:8px 0;object-fit:cover}
.announcement-admin-list{min-width:0;overflow:hidden}.announcement-admin-row{display:grid;grid-template-columns:108px minmax(0,1fr);gap:14px;align-items:start;border-bottom:1px solid #e7edf4;padding:15px 0;min-width:0}.announcement-admin-row.inactive{opacity:.58}.announcement-admin-media{width:108px;min-height:82px;border:1px solid #e1e7ef;border-radius:9px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:#94a3b8;font-size:12px}.announcement-admin-media img{width:100%;height:82px;object-fit:cover}.announcement-admin-copy{min-width:0;overflow-wrap:anywhere}.announcement-admin-row h3{margin:5px 0;font-size:17px}.announcement-admin-row p{margin:0 0 5px;line-height:1.55;overflow-wrap:anywhere}.announcement-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;white-space:normal;justify-content:flex-start}.announcement-admin-actions .btn{min-width:72px}.announcement-image-preview{position:relative}.announcement-image-preview img{display:block}.announcement-remove-image{margin:0 0 8px}
@media(max-width:1100px){.ad-account b,.ad-account i{display:none}.pm-announcement-list{grid-template-columns:1fr 1fr}.announcement-admin-grid{grid-template-columns:1fr}.announcement-form{position:static}}
@media(max-width:900px){.admin-shell.sidebar-collapsed .admin-sidebar{transform:translateX(-100%)}.admin-shell.sidebar-collapsed .admin-workspace{margin-left:0;width:100%}.ad-logo{height:90px}.ad-logo img{width:205px;height:68px}.ad-top-link{padding:7px 9px;font-size:13px}.pm-announcement-list{grid-template-columns:1fr}}
@media(max-width:620px){.ad-account .ad-top-link:first-child{display:none}.ad-account{margin-left:auto}.announcement-admin-row{grid-template-columns:1fr}.announcement-admin-media{width:100%;min-height:150px}.announcement-admin-media img{height:auto;max-height:280px;object-fit:contain}.announcement-admin-actions{justify-content:flex-start}.pm-announcement-panel{padding:0 12px}}

/* V6.0.13 announcement media + action overflow guard */
body.view-admin .announcement-admin-grid,body.view-admin .announcement-admin-list,body.view-admin .announcement-admin-copy{min-width:0;max-width:100%}
body.view-admin .announcement-admin-actions{max-width:100%;overflow:visible}


/* V6.0.14 customer announcement center + media diagnostics */
.announcement-nav-link{display:inline-flex!important;align-items:center;gap:5px}
.announcement-nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700}
.pm-announcement-center-card{width:min(920px,94vw);max-height:86vh;overflow:auto}
.pm-announcement-center-list{display:grid;gap:14px;margin-top:14px}
.pm-announcement-center-list .pm-announcement-card{grid-template-columns:minmax(0,1fr)}
.pm-announcement-center-list .pm-announcement-image{width:100%;height:auto;max-height:520px;object-fit:contain;background:#f8fafc}
.announcement-image-status{display:inline-flex;margin:6px 0 2px;padding:4px 8px;border-radius:999px;font-size:12px}
.announcement-image-status.ok{background:#eaf8ef;color:#168b49}
.announcement-image-status.missing{background:#fff4e5;color:#b76700}
.announcement-admin-media.image-error:after{content:'โหลดรูปไม่สำเร็จ';display:block;padding:8px;color:#b42318;font-size:12px}
@media(max-width:700px){.pm-announcement-center-card{width:94vw;padding:16px}.announcement-nav-link{display:none!important}}


/* V6.0.15 announcement image click-to-zoom */
.announcement-zoomable{cursor:zoom-in;transition:transform .16s ease,box-shadow .16s ease}
.announcement-admin-media .announcement-zoomable:hover,.announcement-image-preview .announcement-zoomable:hover{transform:scale(1.025);box-shadow:0 7px 18px #173b6b2e}
.announcement-zoomable:focus-visible{outline:3px solid #0b64de;outline-offset:3px}
.announcement-image-modal{z-index:240!important;background:rgba(3,15,31,.88);padding:18px}
.announcement-image-lightbox{width:min(1180px,97vw);height:min(94vh,940px);display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 32px 90px rgba(0,0,0,.45)}
.announcement-image-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #e4e9f0;background:#fff}
.announcement-image-lightbox-head>div{min-width:0}.announcement-image-lightbox-head b{display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-image-lightbox-head small{display:block;color:#64748b;margin-top:2px}
.announcement-image-lightbox-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:14px;background:#101827;overflow:auto}
.announcement-image-lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.28)}
body.announcement-lightbox-open{overflow:hidden}
@media(max-width:700px){.announcement-image-modal{padding:6px}.announcement-image-lightbox{width:100%;height:97dvh;border-radius:12px}.announcement-image-lightbox-head{padding:10px}.announcement-image-lightbox-head small{display:none}.announcement-image-lightbox-stage{padding:8px}}


/* V6.0.16 — customer header logo visibility fix */
body.view-home .topbar{height:88px;padding-top:8px;padding-bottom:8px}
body.view-home .brand{display:flex;align-items:center;flex:0 0 auto;padding:0;margin:0}
body.view-home .brand img{height:68px!important;width:auto!important;max-width:220px;object-fit:contain;display:block}
@media(max-width:620px){
  body.view-home .topbar{height:74px}
  body.view-home .brand img{height:54px!important;max-width:170px}
}

/* V6.0.17 — unified customer navigation + NEW100 promo field */
.v617-promo-box{margin:18px 0 10px;padding:14px;border:1px solid #f3c98b;border-radius:16px;background:#fffaf2}
.v617-promo-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.v617-promo-head>span{font-size:24px}.v617-promo-head div{display:flex;flex-direction:column;gap:2px}.v617-promo-head b{font-size:15px;color:#172033}.v617-promo-head small{font-size:12px;color:#6b7280}
.v617-promo-row{display:grid;grid-template-columns:1fr auto;gap:8px}.v617-promo-row input{width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid #d7dce5;border-radius:10px;font:inherit;text-transform:uppercase;background:#fff}.v617-promo-row button{height:42px;padding:0 14px;border:0;border-radius:10px;background:#f28a00;color:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.v617-promo-status{margin-top:8px;font-size:11.5px;line-height:1.45;color:#7a5a2b}.v617-promo-status.ok{color:#16803a;font-weight:700}.v617-discount-row{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;color:#16803a;border-top:1px dashed #d8e2da}.v617-discount-row b{white-space:nowrap}
@media(max-width:720px){.v617-promo-row{grid-template-columns:1fr}.v617-promo-row button{width:100%}}

/* V6.0.20 — customer menu on phones/tablets + price bar pinned to the bottom of booking steps */
.pm-menu-toggle{display:none}
.pm-nav-links{display:flex;align-items:center;gap:inherit}
@media(min-width:1025px){
  .public-nav .pm-nav-links .plain-link{display:inline-flex}  /* V5.6 hid these below 1250px */
}
@media(max-width:1024px){
  .topbar{align-items:center}
  .public-nav{position:static}
  .pm-menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #d3e1f3;border-radius:999px;background:#fff;color:#0f2a4d;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
  .pm-menu-toggle:focus-visible{outline:3px solid #0b64de;outline-offset:2px}
  .pm-menu-icon{position:relative;display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:background .15s}
  .pm-menu-icon::before,.pm-menu-icon::after{content:"";position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s}
  .pm-menu-icon::before{top:-6px}.pm-menu-icon::after{top:6px}
  .public-nav.open .pm-menu-toggle{background:#eef5ff;border-color:#b9d2f3;color:#0b5ed7}
  .public-nav.open .pm-menu-icon{background:transparent}
  .public-nav.open .pm-menu-icon::before{transform:translateY(6px) rotate(45deg)}
  .public-nav.open .pm-menu-icon::after{transform:translateY(-6px) rotate(-45deg)}
  .pm-nav-links{display:none}
  .public-nav.open .pm-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:2px;position:absolute;top:calc(100% + 8px);right:12px;left:auto;width:min(340px,calc(100vw - 24px));padding:10px;background:#fff;border:1px solid #e1eaf5;border-radius:18px;box-shadow:0 18px 44px rgba(9,40,90,.18);z-index:60}
  .public-nav.open .pm-nav-links .plain-link,.public-nav.open .pm-nav-links .announcement-nav-link{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 14px;border-radius:12px;font-size:16px;font-weight:600;color:#14213a;text-align:left}
  .public-nav.open .pm-nav-links .plain-link:hover{background:#f4f8fd}
  .public-nav.open .pm-nav-links .plain-link.active{background:#eef5ff;color:#0669db}
  .public-nav.open .pm-nav-links .plain-link.active:after{display:none}
  .public-nav.open .pm-nav-links .login-pill{margin-top:8px;min-height:46px;background:#fff;color:#0b5ed7;border:1px solid #bcd4f5;box-shadow:none;font-size:15px}
  .public-nav.open .pm-nav-links .login-pill::after{content:"พนักงาน"}
}
.pm-mobile-bar{display:none}
@media(max-width:980px){
  body.view-book .booking-v56{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  body.view-book .v56-action-row .v56-next{display:none}          /* the bar carries the next-step button */
  body.view-book .pm-package-step .v56-action-row{display:none}
  body.view-book .v56-summary{scroll-margin-top:96px}             /* "ดูรายละเอียด" lands below the sticky header */
  .pm-mobile-bar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid #dde7f2;box-shadow:0 -8px 24px rgba(9,40,90,.10)}
  .pm-bar-price{flex:1 1 auto;min-width:0;display:grid;justify-items:start;gap:0;margin:0;padding:0;border:0;background:none;font:inherit;text-align:left;color:#0f2a4d;cursor:pointer}
  .pm-bar-price small{font-size:12px;color:#5b6b82;white-space:nowrap}
  .pm-bar-price small em{font-style:normal;color:#16803a;font-weight:700}
  .pm-bar-price strong{font-size:22px;line-height:1.2;color:#0b62d1;white-space:nowrap}
  .pm-bar-price span{font-size:12px;color:#0b62d1;text-decoration:underline;text-underline-offset:2px}
  .pm-bar-next{flex:0 0 auto;min-height:50px;margin:0;padding:0 20px;border:0;border-radius:999px;background:#0867d9;color:#fff;font:inherit;font-size:16px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 6px 14px rgba(8,103,217,.22)}
  .pm-bar-next.confirm{background:#0b8b55;box-shadow:0 6px 14px rgba(11,139,85,.22)}
  .pm-bar-next:disabled{opacity:.65;cursor:default}
  .pm-bar-next:focus-visible,.pm-bar-price:focus-visible{outline:3px solid #0b64de;outline-offset:2px}
  body.view-book #toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  body.view-book #nl-badge-frame{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}  /* keep Netlify's badge visible above the bar */
}
@media(max-width:380px){.pm-bar-price strong{font-size:19px}.pm-bar-next{padding:0 14px;font-size:15px}}

/* V6.0.21 — quotation services + start-time slots */
.pm-quote-card{display:flex;gap:14px;align-items:flex-start;margin:6px 0 14px;padding:18px;border:1px solid #cfe0f5;border-radius:16px;background:linear-gradient(135deg,#f3f8ff,#fff)}
.pm-quote-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e3eeff;font-size:24px}
.pm-quote-card h3{margin:0 0 6px;font-size:17px;color:#12213b}
.pm-quote-card p{margin:0 0 8px;color:#3b4a61;line-height:1.6;font-size:14.5px}
.pm-quote-card small{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff4e5;color:#a35b00;font-weight:700;font-size:12px}
.pm-quote-note{display:grid;gap:4px;margin:14px 0 6px;padding:12px 14px;border:1px dashed #b9d2f3;border-radius:12px;background:#f6faff}
.pm-quote-note b{color:#0b5ed7;font-size:14px}.pm-quote-note span{color:#4a5a72;font-size:13px;line-height:1.5}
@media(max-width:560px){.pm-quote-card{padding:14px;gap:10px}.pm-quote-icon{width:40px;height:40px;font-size:20px}}

/* V6.0.22 — Big Cleaning place + minimum, PromptPay, LINE chat */
.pm-place-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:6px}
.pm-place{display:grid;gap:3px;justify-items:center;min-height:68px;padding:10px 8px;border:1px solid #d7e0eb;border-radius:14px;background:#fff;font:inherit;color:#12213b;cursor:pointer;transition:.15s}
.pm-place b{font-size:15px}.pm-place span{font-size:12.5px;color:#5b6b82}
.pm-place:hover{border-color:#78abed}
.pm-place.selected{border:2px solid #1774ef;background:#f8fbff;color:#0864d9}.pm-place.selected span{color:#0864d9}
.pm-place:focus-visible{outline:3px solid #0b64de;outline-offset:2px}
.pm-big-min-note{margin:8px 2px 0;font-size:13.5px;line-height:1.5;color:#4a5a72}
.pm-big-min-note.applied{padding:9px 12px;border-radius:10px;background:#fff4e5;color:#8a4b00}
.pm-big-cleaning-shortcut strong small{display:block;font-size:12px;font-weight:600;color:#6b7b90}
.pm-promptpay{display:grid;gap:8px;margin:-4px 0 16px;padding:16px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.pm-promptpay-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pm-promptpay-head b{color:var(--navy)}
.pm-promptpay-head span{padding:3px 10px;border-radius:999px;background:#e8f0fb;color:#0a3f7a;font-size:12px;font-weight:700;letter-spacing:.02em}
.pm-promptpay small{color:#718096}
.v56-chat a{grid-row:1/3;grid-column:2;display:inline-flex;align-items:center;border-radius:10px;background:#06c755;color:#fff;font-weight:700;font-size:13px;padding:10px 12px;text-decoration:none;white-space:nowrap}
.v56-chat a:hover{background:#05b04b}.v56-chat a:focus-visible{outline:3px solid #0b64de;outline-offset:2px}
.v56-big-input b{white-space:nowrap}
.pm-home-contact{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:22px 30px 0;padding:20px 24px;border:1px solid #dfe8f4;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(7,47,108,.06);scroll-margin-top:96px}
.pm-home-contact small{color:#0a5fbf;font-weight:700;letter-spacing:.02em}
.pm-home-contact h2{margin:2px 0 4px;font-size:20px;color:#0f2a4d}
.pm-home-contact p{margin:0;color:#5b6b82;font-size:14px}
.pm-home-line{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;background:#06c755;color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.pm-home-line:hover{background:#05b04b}.pm-home-line:focus-visible{outline:3px solid #0b64de;outline-offset:2px}
/* V6.0.23 — contact field errors, shared-device link, staff photo sizing */
.field.pm-invalid input,.field.pm-invalid textarea{border-color:#d93636!important;background:#fffafa}
.field.pm-invalid input:focus{outline:3px solid rgba(217,54,54,.16)!important}
.pm-field-error{display:block;margin-top:6px;color:#b42318;font-size:13px;line-height:1.45}
.pm-forget-device{margin:22px 0 0;padding-top:14px;border-top:1px dashed var(--line);color:#5b6b82;font-size:13.5px}
.pm-forget-device button{margin:0;padding:0;border:0;background:none;font:inherit;color:#0b5ed7;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.pm-forget-device button:focus-visible{outline:3px solid #0b64de;outline-offset:2px;border-radius:4px}
.pm-home-visual img{width:auto}
@media(max-width:560px){.pm-place-grid{grid-template-columns:1fr 1fr}.pm-promptpay{padding:14px 16px}.v56-big-input input{width:110px;min-width:0}.pm-home-contact{margin:18px 10px 0;padding:16px}.pm-home-line{width:100%;justify-content:center}}


/* V6.0.26 — add-on rows carry the scope of the work, and the long list folds away */
.pm-home-service-strip i{display:flex;align-items:center;justify-content:center}
.pm-addon-picks{display:flex;flex-direction:column;gap:2px}
.v56-addons label.pm-addon-pick{display:flex;align-items:flex-start;gap:10px;padding:9px 2px;border-bottom:1px solid #eef3f9;font-size:14px;cursor:pointer}
.v56-addons label.pm-addon-pick:last-child{border-bottom:0}
.pm-addon-pick input{margin-top:3px;flex:0 0 auto}
.pm-addon-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.pm-addon-name b{font-weight:700;color:#12263d;line-height:1.3}
.pm-addon-name small{color:#6b8098;font-size:12px;line-height:1.35}
.pm-addon-cost{flex:0 0 auto;white-space:nowrap;color:#0a5fbf;font-weight:800;font-size:13px;padding-top:1px}
.pm-addon-pick.legacy{opacity:.75}
.pm-addon-pick.legacy .pm-addon-name small{color:#a06a2c}
.pm-addon-more{display:block;width:100%;margin-top:10px;padding:9px 12px;border:1px dashed #b9d2ee;border-radius:10px;background:#f5faff;color:#0a5fbf;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pm-addon-more:hover{background:#e9f4ff}
.pm-addon-list{display:flex;flex-direction:column;gap:0}
.pm-addon-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #eef3f9}
.pm-addon-row span{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.pm-addon-row span b{font-weight:700}
.pm-addon-row span small{color:#6b8098;font-size:12px;line-height:1.35}
.pm-addon-row>b{flex:0 0 auto;white-space:nowrap;color:#0a5fbf}
.pm-addon-list .pm-addon-extra{display:none}
.pm-addon-list.open .pm-addon-extra{display:flex}
