/* Hero-only typography and automatic motion; the shared browser stays untouched. */
.js .step [data-scene="cleaning"] .aw{font-size:16px}
[data-scene="cleaning"] .aw-body{grid-template-columns:180px 150px minmax(0,1fr)}
[data-scene="cleaning"] .app-pad{padding:24px 20px}
[data-scene="cleaning"] .app-title-row h4{font-size:26px}
[data-scene="cleaning"] .app-actions .plain{display:none}
[data-scene="cleaning"] .app-actions .pri{font-size:13px}
[data-scene="cleaning"] .pt-row{grid-template-columns:18px minmax(175px,1fr) 60px 50px 136px 106px 98px;gap:8px;min-height:65px}
[data-scene="cleaning"] .pt-row.pt-head{min-height:36px;font-size:13px}
[data-scene="cleaning"] .cl-pill{font-size:12px;padding:5px 6px}
[data-scene="cleaning"] .cl-prop b{font-size:16px}
[data-scene="cleaning"] .cl-prop u{font-size:12px}
[data-scene="cleaning"] .cl-who{font-size:13px}
[data-scene="cleaning"] .pt-tools{font-size:13px}
[data-scene="cleaning"] .pt-tools .pt-tool:last-child{display:none}
[data-scene="cleaning"] .gph{font-size:20px;inline-size:370px;top:55px;bottom:auto;z-index:5}
[data-scene="cleaning"] .gph-win{block-size:28em}
[data-scene="cleaning"] .gph{pointer-events:none}
[data-scene="cleaning"] .pt-row:not(.pt-head){min-height:54px;padding-block:6px}
[data-scene="cleaning"] .gph-frame{inline-size:17.4em}

/* Independent scale preserves the row-entry transform on the story clock. */
[data-scene="cleaning"] .pt-row{margin-inline:8px}
[data-scene="cleaning"] :is(.pt-row,.cl-top > b,.cl-item){
  scale:1;transform-origin:center;border-radius:6px;
  transition:scale .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s,background .32s;
}
[data-scene="cleaning"] .story-focus.story-focus{
  scale:1.012;box-shadow:inset 0 0 0 2px #3b82f6;
  position:relative;z-index:2;
}
[data-scene="cleaning"] .pt-row.story-focus{background:#f5f9ff}
[data-scene="cleaning"] .story-focus:not(.pt-row){scale:1.025}
/* Use the same rectangular stroke for the smaller timed field accents. */
[data-scene="cleaning"] :is(.hl,.hlq){border-radius:5px;box-shadow:inset 0 0 0 2px #3b82f6;background:transparent}
[data-scene="cleaning"] .ring{display:none}
@media(prefers-reduced-motion:reduce){
  [data-scene="cleaning"] :is(.pt-row,.cl-top > b,.cl-item){transition:none;scale:1}
}

/* Small values grow and tint without adding a frame around the field. */
[data-scene="cleaning"] .hlq{display:none}
[data-scene="cleaning"] :is(.cl-swap .alt,.cl-pill.manual,.cl-who.none){
  transform-origin:center;scale:1;
  transition:scale .3s cubic-bezier(.2,.8,.2,1),color .3s,background-color .3s;
}
[data-scene="cleaning"] .field-focus.field-focus{
  scale:1.12;position:relative;z-index:3;
}
[data-scene="cleaning"] .pt-val .alt.field-focus,
[data-scene="cleaning"] .cl-access .alt.field-focus{color:#2563eb}
[data-scene="cleaning"] .cl-pill.field-focus{
  background-color:color-mix(in srgb,currentColor 19%,white);
}
[data-scene="cleaning"] .cl-who.none.field-focus{color:var(--blue-deep)}
@media(prefers-reduced-motion:reduce){
  [data-scene="cleaning"] :is(.cl-swap .alt,.cl-pill.manual,.cl-who.none){transition:none;scale:1!important}
}

/* Portal surfaces follow the dashboard's compact cards and type hierarchy. */
[data-scene="cleaning"] .gph-frame{
  padding:10px 12px 14px;border-radius:24px;
  box-shadow:0 0 0 3px #172033,0 20px 48px -22px #17203366;
}
[data-scene="cleaning"] .gph-cap{
  font-size:13px;font-weight:500;padding:12px 6px;margin:0;
  color:var(--slate);border-bottom:1px solid var(--line-soft);
}
[data-scene="cleaning"] .gph-pane{padding:14px 6px 4px;gap:12px;align-content:start}
[data-scene="cleaning"] .cl-prog{gap:6px}
[data-scene="cleaning"] .cl-prog i{height:5px}
[data-scene="cleaning"] .cl-prog em{font-size:12px}
[data-scene="cleaning"] .cl-ck{gap:10px}
[data-scene="cleaning"] .cl-ck>b{font-size:20px;font-weight:600;line-height:1.25}
[data-scene="cleaning"] .cl-ck>u{font-size:13px;line-height:1.4}
[data-scene="cleaning"] .cl-ck>em{font-size:13px;font-weight:500;margin-top:4px}
[data-scene="cleaning"] .cl-item{
  padding:14px 12px;gap:7px 8px;border-radius:10px;
}
[data-scene="cleaning"] .cl-item>b{font-size:14px;line-height:1.4;font-weight:500}
[data-scene="cleaning"] .cl-item>u{font-size:12px;line-height:1.45}
[data-scene="cleaning"] .cl-item .cl-yn{gap:6px}
[data-scene="cleaning"] .cl-item .cl-yn>span{width:27px;border-radius:7px}
[data-scene="cleaning"] .cl-item .cl-yn>span>svg{width:14px}
[data-scene="cleaning"] .cl-item::before{
  background:color-mix(in srgb,var(--st-fail) 4%,white);
  box-shadow:inset 3px 0 var(--st-fail),inset 0 0 0 1px color-mix(in srgb,var(--st-fail) 18%,white);
}
[data-scene="cleaning"] .cl-item::after{
  background:color-mix(in srgb,var(--st-ok) 4%,white);
  box-shadow:inset 3px 0 var(--st-ok),inset 0 0 0 1px color-mix(in srgb,var(--st-ok) 18%,white);
}
[data-scene="cleaning"] .cl-flag{font-size:12px;gap:8px;margin-top:2px}
[data-scene="cleaning"] .cl-flag em{border-radius:5px;box-shadow:none;background:var(--st-fail-bg);padding:4px 7px}
[data-scene="cleaning"] .cl-key{grid-template-columns:minmax(0,1fr) 100px;padding-top:8px;border-top:1px solid var(--line-soft)}
[data-scene="cleaning"] .cl-key>span{font-size:12px;line-height:1.5}
[data-scene="cleaning"] .cl-key .cl-sel{font-size:12px;padding:6px 8px;background:white}
[data-scene="cleaning"] .cl-shot{font-size:12px;height:34px;background:white;border-radius:6px}
[data-scene="cleaning"] .cl-next{padding-top:12px;border-top:1px solid var(--line-soft)}
[data-scene="cleaning"] .cl-next b{font-size:13px;padding:10px 14px;border-radius:7px}

/* Checklist answers pulse in their own status colour, without an extra halo. */
[data-scene="cleaning"] .cl-yn :is(.hl,.ring){display:none!important}
[data-scene="cleaning"] .cl-item .cl-yn>span{
  scale:1;transition:scale .28s cubic-bezier(.2,.8,.2,1),filter .28s;
}
[data-scene="cleaning"] .cl-item .cl-yn>span.field-focus{
  scale:1.14;filter:saturate(1.2) brightness(1.08);box-shadow:none;outline:none;
}
@media(prefers-reduced-motion:reduce){
  [data-scene="cleaning"] .cl-item .cl-yn>span{scale:1!important;transition:none}
}


/* Text-only table badges keep type and status visually separate. */
[data-scene="cleaning"] .pt .cl-pill>svg{display:none}
[data-scene="cleaning"] .pt .cl-pill{gap:0;padding-inline:8px}
[data-scene="cleaning"] .pt-row{grid-template-columns:18px minmax(175px,1fr) 60px 50px 144px 106px 98px;column-gap:10px}
/* A quiet mobile workspace: one checklist action at a time. */
[data-scene="cleaning"] .gph{top:28px;font-size:20px;inline-size:350px}
[data-scene="cleaning"] .gph-frame{inline-size:340px;padding:10px 12px 20px;border-radius:36px;background:#fff;box-shadow:0 0 0 5px #202737,0 24px 48px -18px #17203355}
[data-scene="cleaning"] .gph-frame::after{content:"";position:absolute;bottom:8px;left:calc(50% - 42px);width:84px;height:4px;border-radius:4px;background:#202737}
.portal-status{display:flex;align-items:center;justify-content:space-between;padding:2px 12px 8px;font-size:11px;color:#172033}
.portal-status>span{display:flex;align-items:center;gap:5px}
.portal-status svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.portal-status i{width:17px;height:8px;border:1px solid currentColor;border-radius:2px;background:linear-gradient(90deg,#172033 75%,transparent 75%)}
[data-scene="cleaning"] .gph-cap{display:flex;gap:8px;justify-content:start;padding:8px 3px 14px;font-size:12px}
[data-scene="cleaning"] .gph-cap img{width:85px;height:auto;margin-right:auto}
[data-scene="cleaning"] .gph-cap svg{width:12px}
[data-scene="cleaning"] .gph-win{block-size:540px}
[data-scene="cleaning"] .gph-pane{padding:14px 4px 4px;gap:16px}
[data-scene="cleaning"] .cl-linen{display:none}
[data-scene="cleaning"] .cl-head{gap:8px}
[data-scene="cleaning"] .cl-head>b{font-size:21px}
[data-scene="cleaning"] .cl-head .addr{display:none}
[data-scene="cleaning"] .cl-access{margin-top:12px;padding:16px 12px;gap:12px;border-radius:12px}
[data-scene="cleaning"] .cl-top{order:3;margin-top:auto}
[data-scene="cleaning"] .cl-top>b{flex:1;justify-content:center;padding:12px;font-size:14px}
[data-scene="cleaning"] .cl-top>em{display:none}
[data-scene="cleaning"] .cl-ck{gap:10px}
[data-scene="cleaning"] .cl-ck>b{font-size:21px}
.portal-task-viewport{height:296px;overflow:hidden;margin:8px -4px 0;padding:0 4px;mask-image:linear-gradient(transparent,#000 10px,#000 calc(100% - 10px),transparent)}
.portal-task-track{display:flex;flex-direction:column;gap:18px;will-change:transform}
[data-scene="cleaning"] .portal-task-track .cl-item{min-height:288px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding:22px 16px;border-radius:16px;box-shadow:inset 0 0 0 1px #e7eaf0,0 8px 20px -12px #34435e33;background:#fff;scale:1;transition:filter .5s,opacity .5s,box-shadow .5s,scale .5s}
[data-scene="cleaning"] .portal-task-track .cl-item>b{font-size:18px;line-height:1.35}
[data-scene="cleaning"] .portal-task-track .cl-item>u{font-size:14px;line-height:1.5}
[data-scene="cleaning"] .portal-task-track .cl-yn{order:3;margin-top:auto;align-self:flex-end;gap:10px}
[data-scene="cleaning"] .portal-task-track .cl-yn>span{width:36px;border-radius:10px}
[data-scene="cleaning"] .portal-task-track .cl-yn svg{width:17px}
[data-scene="cleaning"] .portal-task-track .cl-flag{font-size:12px;line-height:1.5}
[data-scene="cleaning"] .portal-task-track .cl-shot{min-height:52px;font-size:13px;border:1px dashed #cbd4e2;box-shadow:none;background:#f8fafc;border-radius:10px}
[data-scene="cleaning"] .portal-task-track .cl-item::before,[data-scene="cleaning"] .portal-task-track .cl-item::after{box-shadow:none;border-radius:16px}
[data-scene="cleaning"] .gph .story-focus.story-focus{scale:1.015;box-shadow:0 10px 24px -12px #24355244,inset 0 0 0 1px #dce3ed}
[data-scene="cleaning"] .gph :is(.hl,.hlq,.ring){display:none!important}
[data-scene="cleaning"] .aw{transition:filter .6s,opacity .6s}
[data-scene="cleaning"]:not([data-portal-stage="list"]) .aw{filter:blur(.65px);opacity:.75}
[data-scene="cleaning"] .cl-prog i::after{transition:width .6s;width:50%}
[data-scene="cleaning"][data-portal-stage="done"] .cl-prog i::after{width:100%;background:var(--st-ok)}
[data-scene="cleaning"] .cl-next{border:0;padding:0}
[data-scene="cleaning"] .cl-next>b{width:100%;justify-content:center;padding:13px;font-size:14px;border-radius:10px}
@media(prefers-reduced-motion:reduce){
 [data-scene="cleaning"] .aw{filter:none!important;opacity:1!important;transition:none}
 [data-scene="cleaning"] .gph .story-focus.story-focus{scale:1}
}
[data-scene="cleaning"] .pt-row.story-focus.story-focus{box-shadow:0 5px 16px -8px #315a9b44,inset 0 0 0 1px #dbe5f3;background:#f8fbff}
[data-scene="cleaning"] .pt-row{transition:scale .4s,box-shadow .4s,background .4s,filter .4s,opacity .4s}
[data-scene="cleaning"][data-portal-stage="list"] .pt:has(.story-focus) .pt-row:not(.story-focus):not(.pt-head){filter:blur(.25px)}
[data-scene="cleaning"] .portal-task-track .it-1{min-height:206px;padding:16px;gap:10px}
@media(prefers-reduced-motion:reduce){[data-scene="cleaning"] .pt-row{filter:none!important;transition:none}}

/* Compact footer actions, sized to their labels. */
[data-scene="cleaning"] .cl-top{justify-content:flex-end}
[data-scene="cleaning"] .cl-top>b{flex:0 0 auto;padding:9px 14px;font-size:13px;border-radius:8px}
[data-scene="cleaning"] .cl-next>b{width:auto;padding:9px 14px;font-size:13px;border-radius:8px}

/* Let checklist cards fit their content rather than a tall fixed minimum. */
[data-scene="cleaning"] .portal-task-track .cl-item{min-height:0;padding:12px 14px;gap:8px;border-radius:12px}
[data-scene="cleaning"] .portal-task-track .cl-item::before,
[data-scene="cleaning"] .portal-task-track .cl-item::after{border-radius:12px}
[data-scene="cleaning"] .portal-task-track .cl-yn{margin-top:4px;gap:8px}
[data-scene="cleaning"] .portal-task-track .cl-yn>span{width:30px;border-radius:8px}
[data-scene="cleaning"] .portal-task-track .cl-flag{gap:5px;margin-top:0}
[data-scene="cleaning"] .portal-task-track .cl-shot{min-height:42px}

/* Keep the hero's narrated actions visibly outlined as well as lifted. */
[data-scene="cleaning"] .gph .story-focus.story-focus,
[data-scene="cleaning"] .pt-row.story-focus.story-focus{box-shadow:inset 0 0 0 2px #7194ed,0 6px 18px #668cff30;scale:1.025}
[data-scene="cleaning"] .field-focus.field-focus{outline:2px solid #7194ed;outline-offset:2px;border-radius:6px;box-shadow:0 4px 12px #668cff25}
@media(prefers-reduced-motion:reduce){[data-scene="cleaning"] .story-focus.story-focus{scale:1!important}}


/* Match the reading emphasis approved in Inbox and Property Details. */
[data-scene="cleaning"] .story-focus.story-focus {
  outline:2px solid #2f73ff;
  outline-offset:2px;
  box-shadow:0 0 0 8px rgb(47 115 255 / 13%);
  border-radius:12px;
}
[data-scene="cleaning"] .pt-row.story-focus.story-focus {
  scale:1;
  outline-offset:3px;
  box-shadow:0 0 0 9px rgb(47 115 255 / 13%);
  border-radius:14px;
}
[data-scene="cleaning"] .pt-row .field-focus.field-focus {
  outline:none;
  box-shadow:none;
}

/* Reserve room for the external halo so its rounded ends are not clipped. */
[data-scene="cleaning"] .pt { padding-inline:10px; }
[data-scene="cleaning"] .pt-row { margin-inline:4px; }
[data-scene="cleaning"] .pt-row :is(.hl,.hlq,.ring) { display:none!important; }

/* Match the Property Details phone's rendered 289 × 563 footprint. */
[data-scene="cleaning"] .gph { inline-size:289px; font-size:20px; }
[data-scene="cleaning"] .gph-frame {
  inline-size:340px; width:340px; height:663px; box-sizing:border-box;
  zoom:.849;
  display:grid; grid-template-rows:32px 42px minmax(0,1fr);
  gap:8px; border-radius:33px;
  box-shadow:0 0 0 8px #171b25;
}
[data-scene="cleaning"] .gph-win { block-size:auto; min-height:0; }
[data-scene="cleaning"] .portal-status { padding:0 14px; font-size:15px; font-weight:600; line-height:1; }
[data-scene="cleaning"] .portal-status svg { width:18px; height:16px; }
[data-scene="cleaning"] .portal-status i { width:24px; height:12px; }
[data-scene="cleaning"] .gph-cap { padding:6px 3px; }

[data-scene="cleaning"] .portal-status .gph-status-icons { display:flex; align-items:center; gap:6px; }
[data-scene="cleaning"] .portal-status svg { width:18px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
[data-scene="cleaning"] .portal-status .gph-battery { width:27px; }

/* One reading cue at a time across the overview's operational columns. */
[data-scene="cleaning"] .overview-focus {
  position:absolute; pointer-events:none; z-index:10; box-sizing:border-box;
  border:2px solid #2f73ff; border-radius:12px;
  box-shadow:0 0 0 8px rgb(47 115 255 / 13%);
  opacity:0; transition:opacity .25s ease;
}
[data-scene="cleaning"] .overview-focus.is-visible { opacity:1; }

/* Keep the surrounding tasks stable during the single-task walkthrough. */
.js [data-scene="cleaning"] .pt-row:not(.pt-head) {
  animation:none; opacity:1; transform:none;
}
.js [data-scene="cleaning"] .cl-swap .cur,
.js [data-scene="cleaning"] .cl-swap .alt { animation:none; }
[data-scene="cleaning"] .sw-b1 .cur,
[data-scene="cleaning"] .sw-b2 .alt { opacity:1; }
[data-scene="cleaning"] .sw-b1 .alt,
[data-scene="cleaning"] .sw-b2 .cur { opacity:0; }
[data-scene="cleaning"] .cl-swap .moved { color:inherit; }

/* Give the notification a dedicated reading moment before the action. */
.js [data-scene="cleaning"] .gph-push { animation:none; opacity:0; transform:translateY(-8px); transition:opacity .25s,transform .25s; background:#fff; }
[data-scene="cleaning"].notification-focus .gph-push {
  opacity:1; transform:none; outline:2px solid #2f73ff; outline-offset:3px;
  box-shadow:0 0 0 9px rgb(47 115 255 / 13%),0 14px 28px #17203325;
}
[data-scene="cleaning"] .gph-push strong { display:block; margin-top:6px; color:var(--ink); font-weight:500; }
[data-scene="cleaning"] .gph-track { transition:filter .25s,opacity .25s; }
[data-scene="cleaning"].notification-focus .gph-track { opacity:.25; filter:blur(1px); }
[data-scene="cleaning"] .cl-top>b { transition:transform .25s,filter .25s; }
[data-scene="cleaning"].start-checklist-focus .cl-top>b { transform:scale(1.04); filter:brightness(1.1); }
[data-scene="cleaning"] .cl-top>b :is(.hl,.ring) { display:none; }

/* A short notification: one task name and one clear update. */
[data-scene="cleaning"] .gph-push em { display:none; }
[data-scene="cleaning"] .gph-push { align-items:center; gap:10px; padding:14px; }
[data-scene="cleaning"] .gph-push i { grid-row:auto; }
[data-scene="cleaning"] .gph-push>span { font-size:15px; line-height:1.5; }
[data-scene="cleaning"] .gph-push>span b { font-size:16px; font-weight:600; }

[data-scene="cleaning"] .gph-push>i {
  background:var(--cta); display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; line-height:1;
}
[data-scene="cleaning"] .gph-push>i svg {
  display:block; width:20px; height:20px; margin:0; flex:none;
}

[data-scene="cleaning"] .gph-push>i svg {
  inline-size:20px; block-size:20px; stroke-linecap:round; stroke-linejoin:round;
}

/* Show one compact, readable checklist task without clipping its focus halo. */
[data-scene="cleaning"] .cl-prog em { display:none; }
[data-scene="cleaning"] .portal-task-viewport {
  height:auto; overflow:visible; mask-image:none; margin:12px 0 0; padding:12px;
}
[data-scene="cleaning"] .portal-task-track { display:grid; transform:none!important; }
[data-scene="cleaning"] .portal-task-track .cl-item {
  display:none; height:auto; min-height:0; padding:16px; gap:12px;
  width:100%; box-sizing:border-box; align-items:stretch;
}
[data-scene="cleaning"] .portal-task-track .cl-item.current-task { display:flex; }
[data-scene="cleaning"] .portal-task-track .cl-item.story-focus.story-focus {
  scale:1.035; outline:2px solid #2f73ff; outline-offset:2px;
  box-shadow:0 0 0 7px rgb(47 115 255 / 13%); border-radius:12px;
}
[data-scene="cleaning"] .portal-task-track .cl-item>b { font-size:20px; line-height:1.3; }
[data-scene="cleaning"] .portal-task-track .cl-item>u { font-size:16px; line-height:1.45; }
[data-scene="cleaning"] .portal-task-track .cl-yn { margin-top:8px; }
[data-scene="cleaning"] .portal-task-track .cl-flag { display:none; }
[data-scene="cleaning"].checklist-reported .portal-task-track .cl-flag { display:flex; }
[data-scene="cleaning"] .cl-next { margin-top:24px; }

/* Keep the checklist action anchored above the phone's home indicator. */
[data-scene="cleaning"] .gph-pane:has(.cl-next) {
  display:flex; flex-direction:column; height:100%; box-sizing:border-box;
  padding-bottom:16px;
}
[data-scene="cleaning"] .cl-next {
  margin-top:auto; flex-shrink:0; padding:14px 4px 0;
  border-top:1px solid var(--line-soft); background:#fff;
}
[data-scene="cleaning"] .cl-next>b {
  width:100%; min-height:42px; box-sizing:border-box;
  justify-content:center; padding:10px 16px; font-size:14px; border-radius:8px;
}

/* Preview the next task quietly beneath the focused card. */
[data-scene="cleaning"] .portal-task-track { gap:20px; }
[data-scene="cleaning"]:not(.checklist-second) .portal-task-track .it-2 {
  display:flex; max-height:100px; overflow:hidden;
  opacity:.4; filter:blur(2px); scale:.97;
  pointer-events:none; box-shadow:inset 0 0 0 1px #cbd2df;
}
[data-scene="cleaning"]:not(.checklist-second) .portal-task-track .it-2 :is(.cl-yn,.cl-shot) { display:none; }

/* Equal hit areas and icon sizing for both checklist responses. */
[data-scene="cleaning"] .portal-task-track .cl-yn>span {
  width:32px; height:32px; inline-size:32px; block-size:32px;
  min-width:32px; min-height:32px; flex:0 0 32px; padding:0;
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  scale:1; transform:none;
}
[data-scene="cleaning"] .portal-task-track .cl-yn>span>svg {
  width:16px; height:16px; inline-size:16px; block-size:16px; display:block; flex:none;
}
[data-scene="cleaning"] .portal-task-track .cl-yn>span.field-focus.field-focus {
  scale:1; transform:none; outline:none; box-shadow:none;
  filter:brightness(1.08);
}


/* Maintenance layout referenced from the live product: views, tabs and task table. */
[data-scene="cleaning"] .maintenance-continuation{display:none;position:absolute;inset:0 0 0 208px;z-index:20;background:#fff;color:#172033;font-size:14px}
[data-scene="cleaning"].maintenance-open .maintenance-continuation{display:block}
[data-scene="cleaning"].maintenance-open :is(.gph,.overview-focus){visibility:hidden}
[data-scene="cleaning"].maintenance-open .aw{opacity:1;filter:none}
.mt-crumb{height:58px;border-bottom:1px solid #edf0f5;display:flex;align-items:center;padding:0 22px;color:#667085}
.mt-nav{position:absolute;top:58px;bottom:0;width:185px;border-right:1px solid #edf0f5;padding:20px 10px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}
.mt-nav b{padding:0 8px 14px;font-size:17px}.mt-nav small{padding:0 8px;color:#667085}.mt-nav>span{padding:12px 8px;border-radius:6px;font-size:13px}.mt-nav .selected{background:#eef0fa}
.mt-main{margin-left:185px;padding:22px 20px}.mt-main h2{font-size:23px;margin:0}.mt-main h2 span{font-size:13px;font-weight:400;border:1px solid #edf0f5;padding:7px 12px;border-radius:7px;margin-left:12px}.mt-main header p{font-size:13px;color:#667085;margin:8px 0 26px}
.mt-tools{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}.mt-tabs{display:flex;gap:20px;background:#f5f5f8;border-radius:6px;padding:6px}.mt-tabs>*{padding:6px}.mt-tabs b{background:#fff;border-radius:4px}
.mt-search{display:flex;gap:10px;margin:22px 0}.mt-search>*{border:1px solid #e4e7ee;border-radius:6px;padding:9px 12px;font-size:12px;font-weight:400}.mt-search>span{flex:1;color:#667085}
.mt-table{border:1px solid #e4e7ee;border-radius:8px;overflow:visible}.mt-row{display:grid;grid-template-columns:22px 1.5fr 1.3fr .85fr .85fr .8fr;gap:12px;padding:18px 12px;align-items:center;border-bottom:1px solid #edf0f5;font-size:12px;min-height:36px}.mt-row:last-child{border-bottom:0}.mt-head{background:#f8f9fb;color:#667085;min-height:20px;border-radius:8px 8px 0 0;font-size:11px}.mt-item b{font-weight:500;line-height:1.4;display:block}.mt-item small{display:block;color:#667085;font-size:10px;margin-top:6px}.mt-status{font-style:normal;border-radius:999px;background:#faf6eb;color:#956117;padding:5px 7px;display:inline-block;font-size:11px;white-space:nowrap}.mt-status.complete{color:#187957;background:#eaf6ef}.mt-main footer{display:flex;justify-content:space-between;color:#667085;font-size:12px;padding:20px 0}.mt-focus{outline:2px solid #2f73ff;outline-offset:4px;border-radius:6px;box-shadow:0 0 0 9px #2f73ff20;scale:1.025}.mt-status.mt-focus{outline-color:#956117;border-radius:999px;box-shadow:0 0 0 8px #faf6eb}

/* Make the AI assignment visible as a change, rather than a prefilled name. */
.mt-assignee { transition:scale .3s; }
.mt-assignee>span { color:#667085; }
.mt-assignee .mt-ai-working { color:#4945ec; font-size:11px; }
.mt-assignee b { display:block; font-size:12px; font-weight:500; }
.mt-assignee small { display:block; color:#4945ec; font-size:10px; line-height:1.4; margin-top:5px; }
.mt-assignee[data-phase="assigning"] { background:#f0efff; border-radius:6px; }
.mt-assignee[data-phase="assigned"] b { animation:mt-assigned-in .35s ease-out; }
@keyframes mt-assigned-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .mt-assignee[data-phase="assigned"] b { animation:none; } }
/* Assignment remains readable when the review clock is paused. */
.mt-assignee[data-phase="assigned"] b { animation:none; opacity:1; transform:none; }

/* Carry the reported cleaning issue into the maintenance list. */
.maintenance-handoff { display:none; position:absolute; z-index:30; left:480px; top:230px; width:440px; box-sizing:border-box; padding:28px; border:1px solid #dde3f0; border-radius:16px; background:#fff; box-shadow:0 18px 60px #18243b20; }
.maintenance-handoff>span { font-size:15px; color:#667085; }
.maintenance-handoff>b { display:block; margin:14px 0 24px; font-size:23px; color:#172033; }
.maintenance-handoff>div { display:flex; align-items:center; gap:16px; font-size:17px; }
.maintenance-handoff i { font-style:normal; color:#4945ec; background:#eeedff; padding:8px 12px; border-radius:8px; }
.maintenance-handoff strong { font-weight:500; }
[data-scene="cleaning"].maintenance-handoff-active .maintenance-handoff { display:block; }
[data-scene="cleaning"].maintenance-handoff-active .maintenance-continuation { filter:blur(3px); opacity:.3; }
.mt-row { transition:opacity .4s,transform .4s; }
.mt-row.mt-arriving { transform:translateY(5px); background:#f3f5ff; }
[data-scene="cleaning"].maintenance-handoff-active .maintenance-continuation { opacity:1; }
[data-scene="cleaning"].maintenance-handoff-active .maintenance-continuation::after { content:""; position:absolute; inset:0; background:#ffffffb8; }

/* The exact issue reported in the checklist becomes the maintenance row. */
[data-scene="cleaning"].checklist-reported .portal-task-track .cl-flag { animation:none; opacity:1; transform:none; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
[data-scene="cleaning"] .checklist-to-maintenance { display:none!important; }
[data-scene="cleaning"].checklist-transfer .checklist-to-maintenance { display:block!important; color:#4945ec; font-size:12px; }
[data-scene="cleaning"] .reported-issue { font-size:14px; color:#172033; }
[data-scene="cleaning"].checklist-reported:not(.checklist-second) .portal-task-track .it-2 { max-height:60px; }

/* The checklist response triggers the maintenance scene. */
[data-scene="cleaning"].checklist-answer-selected .it-1 .cl-yn .no {
  filter:brightness(.85); box-shadow:inset 0 0 0 2px #fff9;
}
[data-scene="cleaning"].checklist-answer-selected .it-1 .cl-yn .yes { opacity:.35; }
[data-scene="cleaning"] .maintenance-continuation { transition:opacity .35s ease; }
[data-scene="cleaning"].checklist-reported .cl-next { margin-top:auto; }

/* Finish both checklist answers, then carry the issue to Maintenance. */
.checklist-transfer-spark { position:absolute; z-index:40; display:none; pointer-events:none; align-items:center; justify-content:center; gap:6px; padding:9px 13px; border-radius:999px; background:#4945ec; color:white; box-shadow:0 0 0 8px #6864ff20,0 0 30px #6864ff70; }
.checklist-transfer-spark>span { font-size:26px; line-height:1; }
.checklist-transfer-spark small { font-size:13px; font-weight:600; }
.spark-transferring .checklist-transfer-spark { display:flex; }
[data-scene="cleaning"].checklist-second .it-2 .cl-yn .yes { filter:brightness(1.08); }
.review-tools { max-width:calc(100vw - 24px); flex-wrap:wrap; justify-content:center; }
[data-scene="cleaning"].checklist-second .portal-task-track .it-2.current-task { max-height:none; height:auto; overflow:visible; opacity:1; filter:none; }

/* A small light spark, not a floating AI badge. */
.checklist-transfer-spark {
  width:24px; height:24px; padding:0; border-radius:0; background:none;
  box-shadow:none; transform:translate(-50%,-50%);
}
.checklist-transfer-spark svg {
  width:24px; height:24px; fill:#fff; stroke:#7974ff; stroke-width:1;
  filter:drop-shadow(0 0 4px #6961ff) drop-shadow(0 0 9px #817aff);
}
.checklist-transfer-spark>i {
  position:absolute; left:14px; top:10px; width:70px; height:3px;
  border-radius:50%; background:linear-gradient(90deg,#b7b2ff,transparent);
  filter:blur(1px); transform:rotate(8deg); transform-origin:left center;
}

/* A grounded interaction: submit checklist, close phone, open Maintenance. */
[data-scene="cleaning"] .gph { transition:opacity .45s,translate .45s; }
[data-scene="cleaning"].checklist-closing .gph { opacity:0!important; translate:0 18px; pointer-events:none; }
[data-scene="cleaning"].checklist-submitting .cl-next>b { transform:scale(.97); filter:brightness(.9); }
[data-scene="cleaning"].maintenance-nav-focus .hpn-sub>span:nth-child(2) { background:#eeedff; color:#4945ec; transform:scale(1.025); border-radius:8px; }
[data-scene="cleaning"] .cl-next>b { transition:transform .2s,filter .2s; }
.mt-row.mt-arriving { opacity:0; transform:translateY(8px); }

/* Keep the reported issue readable on one line with the approved focus ring. */
.mt-item>b { white-space:nowrap; }
.mt-item.mt-focus {
  outline:2px solid #2f73ff; outline-offset:3px;
  box-shadow:0 0 0 8px rgb(47 115 255 / 13%);
  border-radius:8px; scale:1.025;
}

/* Give the one-line issue label breathing room inside a subtler focus frame. */
.mt-item { padding:6px 5px; margin-inline:-5px; }
.mt-item.mt-focus {
  border-radius:4px; outline-offset:1px;
  box-shadow:0 0 0 5px rgb(47 115 255 / 10%);
  scale:1.015;
}

/* Show the photo action explicitly before submitting the checklist. */
[data-scene="cleaning"] .cl-shot { transition:transform .2s,background .2s; }
[data-scene="cleaning"] .photo-uploading { display:none; position:absolute; inset:0; align-items:center; justify-content:center; background:#f5f5ff; border-radius:10px; color:#4945ec; }
[data-scene="cleaning"][data-photo-state="press"] .cl-shot { transform:scale(.97); background:#e9e8ff; }
[data-scene="cleaning"][data-photo-state="uploading"] .photo-uploading { display:flex; }
.js [data-scene="cleaning"] .cl-shot .has { animation:none; opacity:0; }
[data-scene="cleaning"][data-photo-state="saved"] .cl-shot .has { opacity:1; background:#f0f8f4; }
[data-scene="cleaning"] .cl-shot .has img { width:46px; height:34px; object-fit:cover; border-radius:5px; }

/* Keep the answering phone visible as the issue reaches Maintenance behind it. */
[data-scene="cleaning"].phone-over-maintenance .gph { visibility:visible!important; z-index:25; }
.issue-spark { position:absolute; z-index:40; pointer-events:none; color:white; font-size:30px; line-height:1; text-shadow:0 0 3px #5149ff,0 0 12px #746cff,0 0 22px #aaa4ff; }
.issue-spark::after { content:""; position:absolute; left:20px; top:14px; width:54px; height:2px; background:linear-gradient(90deg,#a69fff,transparent); }

/* Clearly distinguish the saved photo and the confirmed second answer. */
[data-scene="cleaning"] .it-2 .cl-shot { min-height:96px; }
[data-scene="cleaning"] .it-2 .cl-shot .has { padding:8px; gap:10px; }
[data-scene="cleaning"] .it-2 .cl-shot .has img { width:94px; height:72px; }
[data-scene="cleaning"][data-photo-state="saved"] .it-2 .cl-yn .no { background:#f0f1f5; color:#98a2b3; opacity:.6; }
[data-scene="cleaning"][data-photo-state="saved"] .it-2 .cl-yn .yes { background:#187957; box-shadow:0 0 0 3px #dcefe6; }
[data-scene="cleaning"][data-photo-state="saved"] .it-2 .cl-yn::before { content:"Confirmed"; align-self:center; font-size:13px; color:#187957; margin-right:6px; }
/* Confirm the attachment without suggesting the image proves the reported issue. */
[data-scene="cleaning"] .it-2 .cl-shot { min-height:48px; }
[data-scene="cleaning"] .it-2 .cl-shot .has img { display:none; }
[data-scene="cleaning"] .it-2 .cl-shot .has { padding:10px; justify-content:center; }
/* Replace the choice controls with an unambiguous recorded answer. */
[data-scene="cleaning"].checklist-answer-selected .it-1 .cl-yn>span,
[data-scene="cleaning"][data-photo-state="saved"] .it-2 .cl-yn>span { display:none; }
[data-scene="cleaning"].checklist-answer-selected .it-1 .cl-yn::before {
  content:"Issue reported"; display:block; padding:7px 10px; border-radius:7px;
  color:#a12d56; background:#fcebf1; font-size:13px;
}
[data-scene="cleaning"][data-photo-state="saved"] .it-2 .cl-yn::before {
  content:"Key returned ✓"; display:block; padding:7px 10px; border-radius:7px;
  color:#187957; background:#eaf6ef; font-size:13px; margin:0;
}

.issue-spark { font-size:22px; text-shadow:0 0 3px #5149ff,0 0 8px #746cff; }
.issue-spark::after { width:28px; top:10px; left:13px; opacity:.5; }

/* Carry the report itself into the task row, without celebratory effects. */
.issue-spark {
  padding:10px 12px; box-sizing:border-box; border:1px solid #dce2ed;
  border-radius:7px; background:#fff; color:#344054; font-size:13px;
  line-height:1.35; white-space:nowrap; text-shadow:none;
  box-shadow:0 5px 15px #17203318; transform-origin:left top;
}
.issue-spark::after { display:none; }

/* Explicit creation: report, adding state, then a newly inserted list row. */
.issue-spark { left:440px; top:230px; width:350px; min-height:130px; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; font-size:18px; border-radius:12px; box-shadow:0 12px 40px #17203320; }
.issue-spark small { font-size:14px; color:#667085; }
.adding-indicator { width:22px; height:22px; border:2px solid #e2e5f5; border-top-color:#4945ec; border-radius:50%; }
.mt-row.mt-pending-insert { display:none; }
.issue-spark { left:385px; top:210px; width:480px; min-height:180px; padding:32px; font-size:24px; }
.issue-spark small { font-size:18px; }

/* A phone confirmation precedes insertion into the maintenance list. */
[data-scene="cleaning"] .gph-frame>.issue-spark {
  left:18px; right:18px; top:205px; width:auto; min-height:180px;
  padding:22px 14px; font-size:18px; text-align:center; white-space:normal;
  border-radius:14px; box-shadow:0 8px 24px #17203325;
}
.issue-spark .report-check { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#187957; background:#eaf6ef; font-size:22px; }
[data-scene="cleaning"] .issue-spark small { font-size:14px; }
[data-scene="cleaning"].checklist-answer-press .it-1 .cl-yn .no { transform:scale(.92); filter:brightness(.85); }
[data-scene="cleaning"] .it-1 .cl-yn .no { transition:transform .18s,filter .18s; }
.mt-assignee { justify-self:start; width:max-content; padding:5px 7px; }
[data-scene="cleaning"].checklist-answer-press .it-1 .cl-yn .no { transform:none; filter:none; }
[data-scene="cleaning"].checklist-answer-press .it-1 .cl-yn .yes { transform:scale(.92); filter:brightness(.85); }
[data-scene="cleaning"] .it-1 .cl-yn .yes { transition:transform .18s,filter .18s; }

/* Dim and blur only the phone content behind the report confirmation. */
[data-scene="cleaning"] .gph-frame { position:relative; }
[data-scene="cleaning"].report-modal-open .gph-frame::before {
  content:""; position:absolute; inset:0; z-index:35; border-radius:inherit;
  background:rgb(0 0 0 / 22%); backdrop-filter:blur(3px); pointer-events:none;
}
[data-scene="cleaning"] .gph-frame>.issue-spark { z-index:40; }
