/* Cleaning: the active shift first, with history and periodic work inside each zone. */
#cleanView { background:var(--nx-bg); }
#cleanView #cleanList { padding:0 0 calc(104px + env(safe-area-inset-bottom,0px)); scroll-padding-bottom:110px; }
#cleanView .cleanlite-workspace { width:min(1180px,100%); margin:0 auto; padding:18px clamp(12px,3vw,28px); box-sizing:border-box; }
#cleanView .cleanlite-work-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; }
#cleanView .cleanlite-work-head h1 { margin:4px 0 0; font:650 clamp(27px,4vw,36px)/1.15 var(--nx-font-body,system-ui); letter-spacing:-.035em; color:var(--nx-text-strong); }
#cleanView .cleanlite-eyebrow { font-size:12px; color:var(--nx-text); }
#cleanView .cleanlite-head-actions { display:flex; gap:8px; }
#cleanView .cleanlite-tool { display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:10px; border:1px solid var(--nx-border); background:var(--nx-surface-0); color:var(--nx-text); font-size:24px; }
#cleanView .cleanlite-top { margin:0 0 14px; padding:0; }
#cleanView .cleanlite-loc-picker { display:flex; width:100%; gap:4px; padding:4px; background:var(--nx-surface-0); border:1px solid var(--nx-border); border-radius:12px; box-sizing:border-box; }
#cleanView .cleanlite-loc { min-width:44px; min-height:44px; flex:1; padding:8px 5px; border-radius:9px; font-size:14px; color:var(--nx-text); }
#cleanView .cleanlite-loc.is-active { background:var(--nx-gold-fill); color:var(--nx-gold-on); border-color:var(--nx-gold-ink); }
#cleanView .cleanlite-loc.cleanlite-loc-add { max-width:44px; font-size:24px; color:var(--nx-gold-ink); }
#cleanView .cleanlite-progress { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:16px; border:1px solid var(--nx-border); border-radius:14px; background:var(--nx-surface-0); margin-bottom:14px; }
#cleanView .cleanlite-progress>div:not(.cleanlite-progress-track) { display:flex; align-items:baseline; gap:8px; }
#cleanView .cleanlite-progress strong { font-size:27px; font-weight:650; color:var(--nx-text-strong); white-space:nowrap; }
#cleanView .cleanlite-progress small { font-size:14px; font-weight:500; color:var(--nx-text); }
#cleanView .cleanlite-progress span { font-size:13px; color:var(--nx-text); }
#cleanView .cleanlite-progress-track { grid-column:1/-1; height:6px; border-radius:4px; background:var(--nx-surface-2); overflow:hidden; }
#cleanView .cleanlite-progress-track>span { display:block; height:100%; background:var(--nx-gold-ink); }
#cleanView .cleanlite-work-filters { display:grid; grid-template-columns:1fr; gap:12px; margin-bottom:14px; }
#cleanView .cleanlite-task-views { display:flex; gap:6px; }
#cleanView .cleanlite-task-views button { min-width:44px; min-height:44px; flex:1; padding:9px 6px; border:1px solid var(--nx-border); border-radius:9px; color:var(--nx-text); background:var(--nx-surface-0); font:500 13px var(--nx-font-body,system-ui); }
#cleanView .cleanlite-task-views button[aria-pressed="true"] { border-color:var(--nx-gold-ink); background:var(--nx-gold-fill); color:var(--nx-gold-on); font-weight:650; }
#cleanView .cleanlite-search-label { display:flex; flex-direction:column; gap:5px; color:var(--nx-text); font-size:12px; }
#cleanView #cleanTaskSearch { width:100%; min-height:46px; box-sizing:border-box; padding:10px 12px; border:1px solid var(--nx-border); border-radius:10px; color:var(--nx-text); background:var(--nx-surface-0); font:400 16px var(--nx-font-body,system-ui); }
#cleanView #cleanTaskSearch::placeholder { color:var(--nx-text) !important; opacity:.7; }
#cleanView .cleanlite-wk-chip { min-height:44px; margin:0 0 10px; padding:10px 12px; border-radius:10px; box-shadow:none; font-size:13px; color:var(--nx-text); }
#cleanView .cleanlite-dayrow { gap:8px; flex-wrap:wrap; margin:0 0 14px; }
#cleanView .cleanlite-dayrow-label { font-size:11px; color:var(--nx-text); }
#cleanView .cleanlite-shift { border-radius:10px; padding:2px; background:var(--nx-surface-0); }
#cleanView .cleanlite-shift-btn { min-width:44px; min-height:44px; padding:8px 10px; border-radius:8px; font-size:13px; color:var(--nx-text); background:transparent; }
#cleanView .cleanlite-shift-btn.is-active { background:var(--nx-gold-fill); color:var(--nx-gold-on); }
#cleanView .cleanlite-lang { margin-left:auto; }
#cleanView .cleanlite-overdue { min-height:44px; width:100%; box-sizing:border-box; margin:0 0 12px; padding:12px; border-radius:10px; font-size:13px; color:var(--nx-text); text-align:left; justify-content:flex-start; }
#cleanView .cleanlite-zones { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; align-items:start; }
#cleanView .cleanlite-zone { min-width:0; border:1px solid var(--nx-border); border-radius:14px; background:var(--nx-surface-0); box-shadow:none; overflow:hidden; margin:0; }
#cleanView .cleanlite-zone-head { display:grid; grid-template-columns:44px minmax(0,1fr) auto 44px 44px; gap:8px; padding:14px 12px; align-items:center; }
#cleanView .cleanlite-person-btn,#cleanView .cleanlite-guide { min-width:44px; min-height:44px; padding:0; border-radius:10px; box-shadow:none; }
#cleanView .cleanlite-av { width:38px; height:38px; font-size:14px; }
#cleanView .cleanlite-zone-name { font-size:16px; line-height:1.35; letter-spacing:0; font-weight:650; color:var(--nx-text-strong); overflow-wrap:anywhere; }
#cleanView .cleanlite-zone-person { font-size:12px; line-height:1.5; color:var(--nx-text); }
#cleanView .cleanlite-zone-count { font-size:12px; padding:5px 7px; min-width:0; }
#cleanView .cleanlite-zone-count.is-complete { color:var(--nx-gold-on); background:var(--nx-gold-fill); }
#cleanView .cleanlite-task { display:grid !important; grid-template-columns:24px minmax(0,1fr) auto; gap:10px; align-items:center; width:100%; min-height:60px; margin:0 !important; padding:12px 14px !important; border:0 !important; border-top:1px solid var(--nx-border) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; text-align:left; color:var(--nx-text); }
#cleanView .cleanlite-check { width:24px; height:24px; border-radius:7px; }
#cleanView .cleanlite-task-name { font-size:15px; line-height:1.5; text-decoration:none !important; color:var(--nx-text); white-space:normal; overflow-wrap:anywhere; }
#cleanView .cleanlite-task.is-done { background:var(--nx-surface-1) !important; opacity:1; }
#cleanView .cleanlite-task-by,#cleanView .cleanlite-task-ver { font-size:11px; max-width:80px; overflow-wrap:anywhere; color:var(--nx-gold-ink); }
#cleanView .cleanlite-task-cam { color:var(--nx-text); }
#cleanView .cleanlite-task-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:5px; max-width:85px; }
#cleanView .cleanlite-zone-done { display:flex; align-items:center; gap:8px; padding:12px 14px 4px; color:var(--nx-text); font-size:13px; }
#cleanView .cleanlite-show-completed { width:100%; text-align:left; min-height:44px; padding:10px 14px; background:transparent; color:var(--nx-gold-ink); border:0; font-size:13px; }
#cleanView .cleanlite-empty { padding:14px; color:var(--nx-text); font-size:13px; }
#cleanView .cleanlite-pdrawer-toggle { min-height:48px; padding:12px; font-size:12px; color:var(--nx-text); }
#cleanView .cleanlite-pdrawer-label { letter-spacing:.025em; white-space:normal; }
#cleanView .cleanlite-pdrawer-badge { font-size:11px; }
#cleanView .cleanlite-pdrawer[hidden] { display:none !important; }
#cleanView .cleanlite-ptask { padding:12px; border-radius:10px; }
#cleanView .cleanlite-ptask { display:grid; grid-template-columns:44px minmax(0,1fr); gap:10px; }
#cleanView :is(.cleanlite-pcheck,.cleanlite-ppeople,.cleanlite-pkebab) { min-width:44px; min-height:44px; }
#cleanView .cleanlite-pcheck { align-self:start; border-radius:9px; }
#cleanView .cleanlite-ptask-top { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
#cleanView .cleanlite-ptask-name { font-size:15px; line-height:1.5; color:var(--nx-text); }
#cleanView .cleanlite-ptask-actions { display:flex; justify-content:flex-end; gap:6px; }
#cleanView .cleanlite-ptask-sub { flex-wrap:wrap; gap:6px; font-size:12px; }
#cleanView .cleanlite-pfreq { color:var(--nx-text); background:var(--nx-surface-2); font-size:11px; }
#cleanView .cleanlite-pdone,#cleanView .cleanlite-pedit,#cleanView .cleanlite-passign,#cleanView .cleanlite-padd-row { min-width:44px; min-height:44px; }
#cleanView .cleanlite-load-note { margin:0 0 12px; padding:12px; background:var(--nx-surface-0); border:1px solid var(--nx-border); border-left:3px solid var(--nx-gold-ink); border-radius:10px; color:var(--nx-text); font-size:13px; line-height:1.5; }
#cleanView .cleanlite-workspace :is(button,input,select):focus-visible { outline:3px solid var(--nx-gold-ink); outline-offset:2px; }
#cleanView .cleanlite-workspace button:disabled { opacity:.6; cursor:wait; }
#cleanView .cleanlite-ovgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
@media(min-width:900px) { #cleanView .cleanlite-zones { grid-template-columns:repeat(2,minmax(0,1fr)); } #cleanView .cleanlite-work-filters { grid-template-columns:1fr 1fr; align-items:end; } }
#cleanView .cleanlite-options { margin-top:18px; border:1px solid var(--nx-border); border-radius:10px; background:var(--nx-surface-0); color:var(--nx-text); }
#cleanView .cleanlite-options summary { min-height:44px; padding:14px 12px; box-sizing:border-box; cursor:pointer; font-size:13px; }
#cleanView .cleanlite-options-body { padding:0 12px 4px; }
@media(max-width:600px) {
  #cleanView .cleanlite-workspace { padding:12px 14px 30px; }
  #cleanView .cleanlite-heading { margin-bottom:12px; }
  #cleanView .cleanlite-top { margin-bottom:10px; }
  #cleanView .cleanlite-progress { padding:12px; gap:8px; margin-bottom:10px; }
  #cleanView .cleanlite-progress strong { font-size:24px; }
  #cleanView .cleanlite-work-filters { gap:8px; margin-bottom:10px; }
  #cleanView .cleanlite-search-label>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #cleanView .cleanlite-overdue { margin-bottom:10px; }
  #cleanView .cleanlite-loc { font-size:13px; font-family:var(--nx-font-body,system-ui); }
}
@media(max-width:370px) { #cleanView .cleanlite-zone-head { grid-template-columns:44px minmax(0,1fr) auto 44px; gap:6px; } #cleanView .cleanlite-zone-head>.cleanlite-guide:not(.cleanlite-kebab) { grid-column:4; grid-row:2; } #cleanView .cleanlite-zone-head>.cleanlite-kebab { grid-column:4; grid-row:1; } #cleanView .cleanlite-progress>div:not(.cleanlite-progress-track) { flex-direction:column; gap:2px; } }

/* One calm control language across daily work, deep cleans and scheduling. */
#cleanView .cleanlite-zone { border-radius:16px; }
#cleanView .cleanlite-zone-head { padding:12px; background:var(--nx-surface-1); }
#cleanView .cleanlite-task { grid-template-columns:24px minmax(0,1fr); gap:8px 12px; min-height:58px; border-top-color:color-mix(in srgb,var(--nx-border) 55%,transparent) !important; }
#cleanView .cleanlite-task-meta { grid-column:2; justify-content:flex-start; max-width:none; }
#cleanView .cleanlite-task:not(:disabled):active { background:var(--nx-surface-2) !important; }
#cleanView .cleanlite-ptask { grid-template-columns:44px minmax(0,1fr); padding:10px 8px; gap:6px; background:transparent; border:0; border-top:1px solid var(--nx-border); border-radius:0; }
#cleanView .cleanlite-ptask-top { grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:6px; }
#cleanView .cleanlite-ptask-actions { grid-column:1/-1; gap:4px; }
#cleanView .cleanlite-ptask-name { padding-top:10px; }
#cleanView .cleanlite-pcheck { display:grid; place-items:center; padding:10px; border:0 !important; background:transparent !important; box-shadow:none !important; }
:is(#cleanView,.sched3-modal) .cleanlite-check { display:grid; place-items:center; box-sizing:border-box; width:24px; height:24px; min-width:24px; border:1.5px solid var(--nx-muted); border-radius:7px; background:var(--nx-surface-0); color:var(--nx-text); box-shadow:none; }
:is(#cleanView,.sched3-modal) [role=checkbox][aria-checked=false] .cleanlite-check { background:var(--nx-surface-0); border-color:var(--nx-muted); }
:is(#cleanView,.sched3-modal) [role=checkbox][aria-checked=true] .cleanlite-check { background:var(--nx-gold-fill); color:var(--nx-gold-on); border-color:var(--nx-gold-ink); }
:is(#cleanView,.sched3-modal) [role=checkbox] .cleanlite-check svg { display:block; width:16px; height:16px; opacity:0; transform:none; }
:is(#cleanView,.sched3-modal) [role=checkbox][aria-checked=true] .cleanlite-check svg { opacity:1; }
#cleanView [role=checkbox][aria-busy=true] .cleanlite-check { border-style:dashed; border-color:var(--nx-gold-ink); }
#cleanView :is(.cleanlite-task,.cleanlite-tool,.cleanlite-check,.cleanlite-shift-btn,.cleanlite-loc,.cleanlite-task-views button) { transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
#cleanView :is(.cleanlite-progress-track>span,.cleanlite-pbar-fill) { transition:width 180ms ease; }
#cleanView .cleanlite-pdrawer-chev { transition:transform 150ms ease; }
#cleanView .cleanlite-zone { content-visibility:auto; contain-intrinsic-size:auto 360px; }
#cleanView .cleanlite-zone:focus-within { content-visibility:visible; }
.sched3-modal .s3-day { display:grid; place-items:center; min-height:44px; padding:4px; background:transparent; border-radius:9px; color:var(--nx-text); }
.sched3-modal .s3-day.on { background:var(--nx-surface-1); }
:is(.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) input[type=checkbox] { appearance:none; -webkit-appearance:none; flex:none; width:24px !important; height:24px !important; box-sizing:border-box; border:1.5px solid var(--nx-muted); border-radius:7px; background:var(--nx-surface-0); color:var(--nx-gold-ink); display:grid; place-content:center; }
:is(.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) input[type=checkbox]::after { content:''; width:10px; height:6px; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(-45deg) scale(0); }
:is(.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) input[type=checkbox]:checked { background:var(--nx-gold-fill); border-color:var(--nx-gold-ink); color:var(--nx-gold-on); }
:is(.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) input[type=checkbox]:checked::after { transform:translateY(-2px) rotate(-45deg) scale(1); }
:is(.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) :is(button,input,select,textarea):focus-visible { outline:2px solid var(--nx-gold-ink); outline-offset:3px; }
:is(.cleanlite-ov,.cleanlite-sheet-bg) :is(.cleanlite-ov-row,.cleanlite-ov-btn,.cleanlite-cta) { min-height:44px; }
:is(.cleanlite-ov,.cleanlite-sheet-bg) :is(input,textarea,select) { font-size:16px; }
@media(prefers-reduced-motion:reduce) {
  :is(#cleanView,.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) *, :is(#cleanView,.cleanlite-ov,.cleanlite-sheet-bg,.sched3-modal) *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}

/* Keep every schedule day finger-sized; narrow phones scroll within the grid. */
.sched3-modal .s3-row { grid-template-columns:96px repeat(7,minmax(44px,1fr)); min-width:432px; }
.sched3-modal .s3-day { min-width:44px; }
.sched3-modal .s3-name { position:sticky; left:0; z-index:1; background:var(--nx-surface-1); }
