/* The office side over the list (cleaning-ops.js): modals as the PMS draws them. */
[data-scene="cleaning"] .aw-body{position:relative}
.co{position:absolute;inset:0;z-index:40;pointer-events:none;color:#172033;font-size:13px;line-height:1.4}
.co[hidden]{display:none}
.co::before{content:"";position:absolute;inset:0;background:#10182859;opacity:0;transition:opacity .35s ease}
.co.is-dim::before{opacity:1}
.co svg{display:inline-block!important;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-2px}
.co-modal{position:absolute;left:50%;top:48px;width:620px;translate:-50% 24px;opacity:0;visibility:hidden;background:#fff;border-radius:12px;box-shadow:0 24px 64px -16px #10182866;overflow:hidden;transition:opacity .35s ease,visibility .35s,translate .45s cubic-bezier(.2,.8,.2,1)}
.co-modal.is-shown{opacity:1;visibility:visible;translate:-50% 0}
.co-modal>header{position:relative;padding:20px 24px 16px;border-bottom:1px solid #edf0f5}
.co-modal>header b{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600}
.co-modal>header p{margin:4px 0 0;font-size:12px;color:#667085}
.co-x{position:absolute;right:20px;top:18px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #e4e7ee;border-radius:8px;color:#667085}
.co-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#f9fafb}
.co-count{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid #e4e7ee;border-radius:16px;background:#fff}
.co-add,.co-create{padding:8px 16px;border-radius:8px;background:#4945ec;color:#fff;font-weight:500;transition:scale .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
.co .is-tap{scale:.94;box-shadow:0 0 0 4px #4945ec33}
.co-form{display:grid;gap:8px;max-height:0;opacity:0;overflow:hidden;padding:0 24px;transition:max-height .45s cubic-bezier(.2,.8,.2,1),opacity .3s,padding .45s}
.co-notify.form-open .co-form{max-height:340px;opacity:1;padding:16px 24px}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-form label{display:grid;gap:4px;font-size:12px;color:#344054}
.co-in{display:flex;align-items:center;gap:4px;min-height:36px;padding:0 12px;border:1px solid #d0d5dd;border-radius:8px;font-size:13px;color:#172033;transition:border-color .2s,box-shadow .2s}
.co-in.is-ph{color:#98a2b3}
.co-in.is-focus{border-color:#4945ec;box-shadow:0 0 0 4px #4945ec22}
.co-in i{font-style:normal;padding:2px 8px;border-radius:12px;background:#eeedff;color:#4945ec}
.co-events{display:flex;flex-wrap:wrap;gap:8px}
.co-events i,.co-sub span i{font-style:normal;padding:4px 8px;border:1px solid #e4e7ee;border-radius:8px;font-size:12px;background:#fff;transition:background .25s,color .25s,border-color .25s}
.co-events i.is-on{background:#4945ec;border-color:#4945ec;color:#fff}
.co-acts{display:flex;justify-content:flex-end;gap:8px}
.co-acts>span:first-child{padding:8px 16px;border:1px solid #e4e7ee;border-radius:8px}
.co-sub{display:flex;align-items:center;gap:12px;padding:12px 24px;border-top:1px solid #edf0f5;transition:background .4s}
.co-sub>div{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.co-sub b{font-weight:600}
.co-sub>div>em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:8px;background:#e8eefe;color:#3656d6}
.co-sub>div>span{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px}
.co-sub span i{padding:2px 8px;background:#f2f4f7;border:0;color:#475467}
.co-tog{width:36px;height:20px;border-radius:12px;background:#4945ec;position:relative}
.co-tog::after{content:"";position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff}
.co-new{display:none}
.co-new.is-in{display:flex}
/* The page's one reading mark (.spot in highlight.css): white gap, ring, pale plate, drawn inside the row so it never meets the modal's edge. */
.co :is(.co-sub,.co-rec,.co-item,.co-dt){position:relative;isolation:isolate}
.co :is(.co-sub,.co-rec,.co-item,.co-dt)::after{content:"";position:absolute;inset:4px 12px;z-index:-1;border-radius:10px;pointer-events:none;opacity:0;transition:opacity .35s ease;box-shadow:0 0 0 var(--hl-w,2px) var(--hl-ring,#fff),0 0 0 var(--hl-bleed,3.2px) color-mix(in oklab,var(--hl-colour,#1e6be8) 95%,transparent),0 0 0 var(--hl-plate,7px) color-mix(in oklab,var(--hl-colour,#1e6be8) 14%,transparent)}
.co :is(.co-rec,.co-dt)::after{inset:0;border-radius:8px}
.co .is-ring::after{opacity:1}
/* The cleaner menu, opened on the unassigned row's Cleaner cell. */
.co-menu{position:absolute;right:24px;top:292px;width:200px;display:grid;padding:4px;background:#fff;border:1px solid #e4e7ee;border-radius:8px;box-shadow:0 12px 24px -8px #17203333;opacity:0;visibility:hidden;translate:0 -8px;transition:opacity .25s,visibility .25s,translate .3s cubic-bezier(.2,.8,.2,1)}
.co-menu.is-open{opacity:1;visibility:visible;translate:0 0}
.co-menu small{padding:8px 8px 4px;font-size:11px;color:#667085}
.co-menu span{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;transition:background .2s}
.co-menu span i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eef0f4;font-style:normal;font-size:11px}
.co-menu span.is-hover{background:#eeedff;color:#4945ec;font-weight:500}
.co-tabs{display:flex;gap:4px;margin:16px 24px 8px;padding:4px;border-radius:8px;background:#f2f4f7;font-size:12px}
.co-tabs>*{padding:4px 12px;border-radius:6px}.co-tabs b{background:#fff;font-weight:500}
.co-rec{margin:8px 24px;padding:12px 16px;border:1px solid #e4e7ee;border-radius:8px;transition:background .4s,box-shadow .4s}
.co-rec:last-child{margin-bottom:24px}
.co-rec b{display:flex;align-items:center;gap:8px;font-weight:600}
.co-rec b em{font-style:normal;font-weight:400;font-size:11px;padding:2px 8px;border:1px solid #e4e7ee;border-radius:6px}
.co-rec p{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:12px;color:#475467;white-space:pre}
/* A finished clean's task: Activity feed, Checklist report, Task details. */
.co-proof{top:24px;height:640px;display:flex;flex-direction:column}
.co-proof>header b{font-size:17px}
.co-done{display:inline-block;margin-top:8px;font-style:normal;font-size:11px;padding:2px 8px;border:1px solid #b7e4c7;border-radius:12px;background:#effaf4;color:#1f7a4d}
.co-ptabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:16px 24px 0;padding:4px;border-radius:8px;background:#f2f4f7;text-align:center;font-size:12px}
.co-ptabs span{padding:6px;border-radius:6px;color:#667085;transition:background .3s,color .3s}
.co-ptabs span.is-on{background:#fff;color:#172033;font-weight:500}
.co-pane{position:relative;display:none;flex:1;min-height:0;overflow:hidden;padding:16px 24px}
.co-pane.is-on{display:block}
.co-card{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:12px;padding:12px 16px;border:1px solid #e4e7ee;border-radius:8px}
.co-card p{flex-basis:100%;margin:0;color:#475467}
.co-card small{flex-basis:100%;color:#98a2b3;font-size:11px}
.co-card>em{font-style:normal;font-size:11px;padding:2px 8px;border-radius:8px;background:#e8eefe;color:#3656d6}
.co-sub-card{background:#f7f9ff;flex-wrap:nowrap}
.co-sub-card>div{flex:1;display:grid;gap:2px}
.co-view{padding:6px 12px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;transition:scale .2s,box-shadow .2s}
.co-rtrack{transition:translate .7s cubic-bezier(.3,.7,.2,1)}
.co-lead{margin:0 0 12px;font-size:12px;color:#667085}
.co-prog{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:12px}
.co-prog i{flex-basis:100%;height:8px;margin-top:4px;border-radius:8px;background:linear-gradient(90deg,#34a36b 96%,#e4e7ee 96%)}
.co-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.co-stats div{display:grid;justify-items:center;padding:8px;border:1px solid #e4e7ee;border-radius:8px;font-size:11px;color:#667085;transition:box-shadow .3s}
.co-stats b{font-size:20px;color:#172033}
.co-stats .g{background:#effaf4;border-color:#b7e4c7}.co-stats .g b{color:#1f7a4d}
.co-stats .r{background:#fff1f4;border-color:#f3b4c6}.co-stats .r b{color:#c0265c}
.co-stats .b{background:#eef4ff;border-color:#c7d7fe}.co-stats .b b{color:#3656d6}
.co-stats .r.is-ring{box-shadow:0 0 0 2px #fff,0 0 0 3.2px #1e6be8f2,0 0 0 7px #1e6be824}
.co h6{margin:0 0 8px;font-size:13px;font-weight:600}
.co-sec{margin-bottom:12px;border:1px solid #e4e7ee;border-radius:8px;overflow:hidden}
.co-sec>header{display:flex;justify-content:space-between;padding:8px 12px;background:#f9fafb;font-weight:600}
.co-sec>header span{display:flex;align-items:center;gap:4px;font-weight:400;font-size:12px;color:#1f7a4d}
.co-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-top:1px solid #edf0f5;transition:background .4s,box-shadow .4s}
.co-item>i{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#34a36b;flex:none}
.co-item.is-flag>i{background:#e0457b}
.co-item>div{flex:1;display:grid;gap:2px}
.co-item b{font-weight:500}
.co-item u{text-decoration:none;font-size:12px;color:#667085}
.co-item small{display:flex;align-items:center;gap:4px;font-size:11px;color:#98a2b3}
.co-item>em{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:11px;padding:2px 8px;border:1px solid #b7e4c7;border-radius:12px;background:#effaf4;color:#1f7a4d;white-space:nowrap}
.co-item.is-flag>em{border-color:#f3b4c6;background:#fde0e8;color:#c0265c}
.co-shot{display:block;width:56px;height:56px;margin-top:4px;border-radius:6px;background:#ddd center/cover}
.co-shot[data-shot="entrance"]{background-image:url(../../img/cleaning-entrance-check.webp)}
.co-shot[data-shot="hall"]{background-image:url(../../img/cleaning-hallway-check.webp)}
.co-shot[data-shot="leak"]{background-image:url(../../img/cleaning-ceiling-leak.webp)}
.co-details.is-on{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px}
.co-dt{display:grid;gap:2px;padding:10px 12px;border:1px solid #e4e7ee;border-radius:8px;transition:background .4s,box-shadow .4s}
.co-dt small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#667085}
.co-dt b{font-weight:600}
.co-dt .co-done{margin:0;justify-self:start}
[data-scene="cleaning"] .cl-who.co-ring{border-radius:8px;box-shadow:0 0 0 2px #fff,0 0 0 3.2px #1e6be8f2,0 0 0 7px #1e6be824}
/* The repair's own task (cleaning-repair.js): Task details, the status menu, the Activity feed. */
.cr{z-index:30}
.cr .co-task{top:16px;height:716px;display:flex;flex-direction:column}
.cr .co-task>header b{font-size:18px}
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.cr-grid label{display:grid;gap:4px;font-size:12px;font-weight:500;color:#344054;border-radius:8px}
.cr-wide{grid-column:1/-1}
.cr-muted .co-in{background:#f8f9fb;color:#667085}
.cr-radios{display:flex;gap:16px;font-weight:400;color:#172033}
.cr-radio,.cr-box{display:inline-flex;align-items:center;gap:8px}
.cr-radio i{width:14px;height:14px;border:1px solid #d0d5dd;border-radius:50%;transition:border .2s,box-shadow .2s}
.cr-radio.is-on i{border:4px solid #4945ec}
.cr-boxes{display:flex;gap:24px;font-size:12px;border-radius:8px}
.cr-box i{width:14px;height:14px;border:1px solid #d0d5dd;border-radius:4px;display:grid;place-items:center;transition:background .2s,border-color .2s}
.cr-box.is-on i{background:#4945ec;border-color:#4945ec}
.cr-box.is-on i::after{content:"";width:6px;height:3px;border:solid #fff;border-width:0 0 2px 2px;rotate:-45deg;translate:0 -1px}
.cr-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cr-status{position:relative}
.cr-status .co-in::after,.cr-grid [data-f="access"]::after{content:"⌄";margin-left:auto;color:#667085}
.cr-menu{position:absolute;left:0;right:0;top:100%;z-index:2;display:grid;margin-top:4px;padding:4px;background:#fff;border:1px solid #e4e7ee;border-radius:8px;box-shadow:0 12px 24px -8px #17203333;font-weight:400;opacity:0;visibility:hidden;translate:0 -8px;transition:opacity .25s,visibility .25s,translate .3s cubic-bezier(.2,.8,.2,1)}
.cr-status.menu-open .cr-menu{opacity:1;visibility:visible;translate:0 0}
.cr-menu span{padding:6px 8px;border-radius:6px;color:#172033;transition:background .2s}
.cr-menu span.is-hover{background:#eeedff;color:#4945ec;font-weight:500}
.cr-date{grid-template-columns:1fr 1fr;align-items:center}
.cr-date>:first-child{grid-column:1/-1}
.cr-date em{justify-self:start;font-style:normal;font-weight:400;font-size:11px;padding:4px 8px;border:1px solid #e4e7ee;border-radius:8px;color:#475467}
.cr-new{display:none}.cr-new.is-in{display:flex}
/* The .spot mark on the form's rows and on the People rows. */
.cr :is(.cr-coll,.cr-status,.cr-boxes,.cr-date,label:has([data-f="access"])),.cr-prow{position:relative;isolation:isolate}
.cr :is(.cr-coll,.cr-status,.cr-boxes,.cr-date,label:has([data-f="access"]))::before,.cr-prow::before{content:"";position:absolute;inset:-4px;z-index:-1;border-radius:10px;pointer-events:none;opacity:0;transition:opacity .35s ease;box-shadow:0 0 0 2px #fff,0 0 0 3.2px #1e6be8f2,0 0 0 7px #1e6be824}
.cr .is-ring::before,.cr-prow.is-ring::before{opacity:1}
.cr .co-card.is-ring{box-shadow:0 0 0 2px #fff,0 0 0 3.2px #1e6be8f2,0 0 0 7px #1e6be824}
/* People: the Maintenance page's own tab, in place of the task table. */
.cr-people{display:none;border:1px solid #e4e7ee;border-radius:8px;font-size:12px}
.cr-on-people .mt-table{display:none}
.cr-on-people .cr-people{display:block}
.cr-on-people .mt-tabs b{background:none}
.mt-tabs .cr-tab{background:#fff;border-radius:4px;font-weight:600}
.cr-prow{display:grid;grid-template-columns:1.4fr 1.2fr 1.4fr .5fr;gap:12px;align-items:center;padding:14px 12px;border-top:1px solid #edf0f5}
.cr-prow::before{inset:4px 8px}
.cr-phead{border-top:0;color:#667085;font-weight:500}
.cr-pname{display:flex;align-items:center;gap:8px;font-weight:500}
.cr-pname i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eef0f4;font-style:normal;font-size:11px}
.cr-pname em{font-style:normal;font-size:11px;font-weight:400;padding:2px 8px;border-radius:8px;background:#e7f6ec;color:#1f7a4d}
.cr-count{display:flex;align-items:center;gap:8px}
.cr-count i{width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,#4945ec var(--p),#e4e7ee var(--p))}
.cr-pri b{font-weight:400;color:#c0265c}.cr-pri u{text-decoration:none;color:#b7791f}.cr-pri s{text-decoration:none;color:#1f7a4d}
.cr .cr-status.menu-open{z-index:3}
/* A booking change's WhatsApp to the cleaner (cleaning-notify.js): the film's own handset, its screen a WhatsApp chat. */
.wa{display:none}
[data-scene="cleaning"].cn-on .gph{visibility:visible!important;z-index:45;opacity:0;translate:0 24px;transition:opacity .3s ease,translate .4s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity}
[data-scene="cleaning"].cn-on.cn-in .gph{opacity:1!important;translate:0}
/* Bigger than the film's handset so the messages read (2026-09-29), grown from its right edge. */
[data-scene="cleaning"].cn-on .gph{scale:1.2;transform-origin:100% 0}
[data-scene="cleaning"].cn-on .gph-frame{transform:none!important}
[data-scene="cleaning"].cn-on .gph-frame>:not(.portal-status,.wa){display:none!important}
[data-scene="cleaning"].cn-on .wa{display:flex;flex-direction:column;min-height:0;grid-row:2 / -1;margin:0 -12px -20px;overflow:hidden;border-radius:0 0 28px 28px;font-size:16px;line-height:24px;color:#111b21}
.wa-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-bottom:1px solid #e9edef}
.wa-head svg{width:24px;height:24px;fill:none;stroke:#111b21;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wa-av{width:40px;height:40px;flex:none;border-radius:50%;background:#dfe5ee url(../../img/cleaner-novak-avatar.webp) 50% 30% / 150% no-repeat}
.wa-head span{display:grid;line-height:20px}
.wa-head b{font-size:16px;font-weight:600}
.wa-head small{font-size:12px;color:#667781}
.wa-body{flex:1;display:grid;align-content:start;gap:8px;padding:12px;background:#efeae2}
.wa-day{justify-self:center;padding:4px 12px;border-radius:8px;background:#fff;font-size:12px;line-height:16px;color:#54656f}
.wa-msg{position:relative;display:none;justify-self:end;margin-right:8px;max-width:92%;padding:8px 12px 4px;border-radius:12px 0 12px 12px;background:#d9fdd3;box-shadow:0 1px 1px #0b141a1a;opacity:0;translate:0 12px;scale:.96;transform-origin:right top;transition:opacity .4s ease,translate .5s cubic-bezier(.2,.8,.2,1),scale .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}
.wa-msg::before{content:"";position:absolute;right:-8px;top:0;border:solid transparent;border-top-color:#d9fdd3;border-left-color:#d9fdd3;border-width:8px 0 0 8px}
.wa-msg.is-take{display:grid}
.wa-msg.is-in{opacity:1;translate:0;scale:1}
.wa-msg.is-ring{box-shadow:0 0 0 2px #fff,0 0 0 4px #25d366,0 0 24px 4px #25d36666}
.wa-msg b{font-size:16px;font-weight:600}
.wa-msg>span{font-size:14px;line-height:20px;color:#54656f}
.wa-msg p{margin:4px 0 0;font-size:16px;line-height:24px}
.wa-msg small{justify-self:end;display:flex;align-items:center;gap:4px;font-size:12px;color:#667781}
.wa-msg small svg{width:16px;height:12px;fill:none;stroke:#53bdeb;stroke-width:1.6}
.wa-msg .wa-time{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:20px;line-height:28px;color:#111b21}
.wa-time s{color:#667781}
.wa-time strong{color:#4945ec;font-weight:600}
.wa{position:relative}
.wa-mail{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;background:#fff;transition:translate .45s cubic-bezier(.4,0,.2,1);translate:-100% 0}
.wa-mail.is-on{translate:0}
.wm-head{display:flex;align-items:center;gap:4px;padding:12px;color:#007aff;font-size:16px;line-height:24px}
.wm-head svg,.wm-bar svg{width:24px;height:24px;fill:none;stroke:#007aff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wm-head b{font-weight:400}
.wm-nav{display:flex;gap:12px;margin-inline-start:auto}
.wm-mail{flex:1;display:flex;flex-direction:column;gap:8px;padding:0 16px;opacity:0;translate:0 12px;transition:opacity .4s ease,translate .5s cubic-bezier(.2,.8,.2,1)}
.wa-mail.is-in .wm-mail{opacity:1;translate:0}
.wm-from{display:flex;align-items:center;gap:8px}
.wm-from i{flex:none;width:36px;height:36px;border-radius:50%;background:url(../../img/logo-mark-320.webp) center / cover}
.wm-from span{flex:1;display:grid;line-height:20px}
.wm-from b{display:flex;font-size:16px;font-weight:600}
.wm-from em{margin-inline-start:auto;font-size:12px;font-weight:400;font-style:normal;color:#8a8a8e}
.wm-from small{font-size:12px;line-height:16px;color:#8a8a8e}
.wm-subj{font-size:16px;line-height:24px;font-weight:600;padding-bottom:8px;border-bottom:1px solid #e5e5ea}
.wm-card{display:grid;gap:8px;padding:12px;border-radius:12px;background:#f5f6fa}
.wm-brand{display:flex;align-items:center;gap:4px;font-size:12px;line-height:16px;font-weight:600;color:#4f46e5}
.wm-brand i{width:16px;height:16px;border-radius:50%;background:url(../../img/logo-mark-320.webp) center / cover}
.wm-text{display:grid;padding:12px;border-radius:8px;background:#fff}
.wm-text>span{font-size:12px;line-height:16px;color:#54656f}
.wm-text .wa-time{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:16px;line-height:24px;color:#111b21}
.wm-text p{margin:4px 0 0;font-size:12px;line-height:16px}
.wm-sign{font-size:8px;line-height:12px;color:#8a8a8e;text-align:center}
.wm-bar{display:flex;justify-content:space-between;padding:8px 20px 16px;border-top:1px solid #e5e5ea}
.wa-foot{display:flex;align-items:center;gap:8px;padding:8px 12px 24px;background:#efeae2}
.wa-foot span{flex:1;padding:8px 16px;border-radius:24px;background:#fff;font-size:16px;color:#8696a0}
.wa-foot i{width:40px;height:40px;border-radius:50%;background:#00a884}
[data-scene="cleaning"] .pt-row{transition:box-shadow .4s ease}
[data-scene="cleaning"] .pt-row.cn-row{box-shadow:0 0 0 2px #fff,0 0 0 4px #4945ec;border-radius:8px}
.cn-chip{position:absolute;left:0;top:0;z-index:60;display:none;padding:8px 12px;border-radius:12px;background:#fff;color:#172033;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap;box-shadow:0 0 0 2px #4945ec,0 0 0 6px #4945ec26,0 12px 24px -8px #17203359;pointer-events:none;will-change:transform,opacity}
.cn-chip s{color:#667085;font-weight:500}
.co.cn::before{background:rgb(244 246 251 / 80%);transition:opacity .6s ease}

/* A ringed item also lifts a little (2026-09-29): small marks 6%, wide ones 2%. */
[data-scene="cleaning"] :is(.hl-up,.cl-who,.co-stats .r,.mt-focus,.wa-msg,.cr .co-card,.co .co-item,.co .co-sub,.co .co-rec,.co .co-dt,.cr-prow){transition-property:scale,box-shadow,background,opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.2,.8,.2,1)}
[data-scene="cleaning"] :is(.hl-up,.cl-who.co-ring,.co-stats .r.is-ring,.mx-field.mt-focus,.mx-file.mt-focus,.mt-nav>span.mt-focus){scale:1.06}
[data-scene="cleaning"] :is(.pt-row.own-row,.pt-row.cn-row,.wa-msg.is-ring,.cr .co-card.is-ring,.co .is-ring,.cr .is-ring,.cr-prow.is-ring){scale:1.02}
@media (prefers-reduced-motion:reduce){[data-scene="cleaning"] :is(.hl-up,.is-ring,.co-ring,.mt-focus,.own-row,.cn-row){scale:none}}
[data-scene="cleaning"] .cn-cell{position:relative;z-index:3;border-radius:8px;scale:1.06;box-shadow:0 0 0 2px #fff,0 0 0 3.2px #1e6be8f2,0 0 0 7px #1e6be824;transition:scale .3s,box-shadow .3s}
@media (prefers-reduced-motion:reduce){[data-scene="cleaning"] .cn-cell{scale:none}}
/* The late-checkout take: the time still reads its old value until the change lands */
[data-scene="cleaning"] .cn-was .cur{opacity:1!important}[data-scene="cleaning"] .cn-was .alt{opacity:0!important}
:root[data-motion=film] [data-scene] *,:root[data-motion=film] [data-scene] *::before,:root[data-motion=film] [data-scene] *::after{animation-play-state:paused!important}
[data-scene].cm-jump,[data-scene].cm-jump *,[data-scene].cm-jump *::before,[data-scene].cm-jump *::after{transition:none!important}

/* The article crops the film from x 205, width 1075: centre pop-ups on that crop. */
html.cm-crop .co-modal{left:742px}

/* ?overdue: the Attention Required pop-up (cleaning-ops.js), as the PMS draws it. */
.co-od-wrap::before{opacity:1}
.co-od{top:36px;width:440px;border-radius:20px;font-size:13px}
.co-od>header{display:flex;align-items:center;gap:10px;padding:18px 24px;background:#fbf1f0;border-bottom:1px solid #f0e2e0;color:#8a2a1e}
.co-od>header svg{width:22px;height:22px;stroke:#c0473a;stroke-width:1.5}
.co-od>header b{font-size:19px;font-weight:600;color:#8a2a1e}
.co-od-x{margin-left:auto;font-size:22px;line-height:1;color:#98a2b3;transition:scale .15s,color .15s}
.co-od-body{display:grid;gap:12px;padding:20px 24px 16px}
.co-od-alert{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;background:#fbefed;color:#b3382b}
.co-od-alert svg{width:20px;height:20px}
.co-od-alert b{display:block;font-size:15px;font-weight:600;color:#8a2a1e}
.co-od-alert p,.co-od-note p{margin:2px 0 0;font-size:12px}
.co-od-h{margin-top:6px;font-size:13px;font-weight:600}
.co-od ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.co-od li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:#f7f8fa;color:#344054}
.co-od li svg{width:16px;height:16px;color:#667085}
.co-od-note{display:flex;gap:10px;margin-top:28px;padding:12px 16px;border-left:3px solid #eacb5a;border-radius:0 8px 8px 0;background:#fdfbea;color:#8a6a12}
.co-od-note svg{width:13px;height:13px;margin-top:3px;color:#c9a227}
.co-od-note b{display:block;font-size:12px;font-weight:600;color:#6e5410}
.co-od>footer{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 24px 22px;background:#f9fafb}
.co-od>footer span{display:grid;place-items:center;min-height:52px;padding:0 12px;border-radius:8px;background:#e8e9ec;color:#344054;text-align:center}
.co-od>footer span+span{background:#c0473a;color:#fff}
/* Page row 1: the pop-up's close is pressed before it goes. */
.co-od-x.is-tap{scale:.86;box-shadow:none;color:#475467}
/* Each cleaner's day (cleaning-ops.js, 230 s): the PMS's Cleaners tab, over the task list. */
.cw{position:absolute;inset:0;z-index:5;padding:8px 0 0;background:#fff;color:#172033;font-size:16px;line-height:1.4}
.cw[hidden]{display:none}
.cw-sum{margin:0 0 12px;font-size:16px;color:#667085}
.cw-t{border:1px solid #e4e7ee;border-radius:12px}
.cw-r{display:grid;grid-template-columns:1fr 240px 120px;align-items:center;gap:24px;padding:12px 16px;border-top:1px solid #edf0f5;background:#fff;border-radius:8px;transition:box-shadow .25s}
.cw-h{border-top:0;border-radius:0;font-weight:500;color:#475467}
.cw-name{display:flex;align-items:center;gap:12px;font-weight:500}
.cw-name i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#98a2b3;color:#fff;font-style:normal;font-size:12px;font-weight:600}
.cw-count{display:grid;gap:4px}
.cw-count>span{display:flex;justify-content:space-between;font-size:16px}
.cw-count b{font-weight:400}.cw-count em{font-style:normal;color:#667085}
.cw-count>i{display:block;height:4px;border-radius:4px;background:#e4e7ee;overflow:hidden}
.cw-count s{display:block;height:100%;border-radius:4px;background:var(--cta,#4945ec)}
.cw-r.cw-mark{position:relative;z-index:1;box-shadow:0 0 0 2px #fff,0 0 0 3.2px #1e6be8f2,0 0 0 7px #1e6be824}
[data-scene="cleaning"] .pt-bar .tab{transition:scale .2s,color .2s,background .2s}
[data-scene="cleaning"] .pt-bar .tab.is-tap{scale:.94}
[data-scene="cleaning"] .app-actions .ab{transition:scale .2s,box-shadow .2s}
[data-scene="cleaning"] .app-actions .ab.is-tap{scale:.94;box-shadow:0 0 0 4px #4945ec33}
/* ?issue=wine (damage claim article): the wine stain photo instead of the ceiling leak */
[data-issue="wine"] .co-shot[data-shot="leak"]{background-image:url(../../img/cleaning-wine-stain.webp)}
