/* Visual first, short captions, sufficiently large controls. */
.flow-primary:not(:disabled){background:#19864a!important;border-color:#19864a!important;color:#fff!important}.flow-primary:disabled{background:#aaa!important;border-color:#aaa!important;color:#fff!important;opacity:.65;cursor:not-allowed}.flow-primary:focus-visible{outline:3px solid #74c996;outline-offset:3px}
.visual-step-hero{display:flex;align-items:center;justify-content:center;gap:30px;padding:18px;margin-bottom:12px;border-radius:20px;background:#e8f1eb;color:#23663f}.visual-step-hero>.visual-icon{width:96px;height:96px}.visual-icon{width:24px;height:24px;flex-shrink:0}.visual-cloth{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:13px;font-weight:650;color:#25352c}.visual-cloth svg{width:85px;height:72px;stroke:#476452;stroke-width:1.3;fill:var(--cloth)}.cloth-green{--cloth:#b9ddbd}.cloth-blue{--cloth:#bad7ef}.cloth-red{--cloth:#efbcbf}.cloth-yellow{--cloth:#f2df9c}.visual-actions{display:grid;gap:12px}.visual-action{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--stone);border-radius:13px;background:var(--paper);line-height:1.45}.visual-action p{margin:0;font-size:16px}.visual-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#edf3ed;color:#2c6541;font-size:14px;font-weight:700}.visual-evidence{padding:16px 0}.visual-evidence h3{font-size:17px;margin:0 0 12px}.visual-choices{display:flex;gap:10px;flex-wrap:wrap}.visual-choices .btn,.visual-evidence>.btn{min-height:48px}.visual-evidence .btn,.flow-photo-button{display:inline-flex;align-items:center;justify-content:center;gap:9px}.visual-saved{color:#178147;font-weight:650}.visual-missing{display:grid;gap:10px;margin:16px 0}.visual-missing label{display:grid;grid-template-columns:22px 1fr 70px;gap:8px;align-items:center;font-size:14px}.visual-missing input[type=number]{width:100%;min-width:0}.visual-missing input[type=checkbox]{width:20px;height:20px}.visual-help{margin-top:16px;font-size:14px}.flow-content>div>h2{font-size:24px;margin:0 0 18px}.flow-overview>.flow-confirm{margin-bottom:18px}.flow-content .bedroom-visual{margin-top:16px}.flow-return-time{margin:12px 0}.flow-return-time .btn{width:100%}.flow-preview-label{padding:7px 18px;background:#fff1cd;color:#5e4716;font-size:12px;text-align:center;flex-shrink:0}.flow-report-actions{display:flex;justify-content:flex-end;gap:10px;margin:20px 0}.flow-content textarea{min-height:140px;width:100%;font-size:16px;margin:14px 0}.flow-content select{font-size:16px;min-height:48px}.flow-photo-attached{display:block;width:100%;max-height:220px;object-fit:contain;margin:12px 0}.flow-photo-review{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:var(--paper);color:var(--ink)}.flow-photo-review[open]{display:flex;flex-direction:column}.flow-photo-review header,.flow-photo-review footer{display:flex;justify-content:space-between;align-items:center;padding:16px;gap:12px;background:var(--paper);flex-shrink:0}.flow-photo-review footer{padding-bottom:max(16px,env(safe-area-inset-bottom));margin-top:auto}.flow-photo-review main{display:flex;flex:1;min-height:0;overflow:auto;flex-direction:column;padding:16px;gap:12px}.flow-photo-review img{width:100%;min-height:0;max-height:60dvh;object-fit:contain}.flow-photo-review::backdrop{background:#0009}.guide-preview-open{margin:8px 0 14px;font-size:13px;min-height:42px}.flow-footer[hidden]{display:none!important}
html[data-theme=dark] .visual-step-hero{background:#253d2f;color:#a9ddb9}html[data-theme=dark] .visual-number{background:#284b36;color:#c4edcd}html[data-theme=dark] .visual-cloth{color:#eee}
@media(min-width:700px) and (orientation:landscape){.visual-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-step-hero{max-width:600px;margin-inline:auto}.flow-content{padding-inline:32px}.flow-content>div{max-width:1000px;margin-inline:auto}.visual-action{min-height:100px}.flow-overview>.flow-confirm{grid-column:1}.flow-overview>.staff-preparation{grid-row:1/span 8}}

.visual-cloth-palette{display:flex;justify-content:space-around;gap:8px;margin-top:14px;padding:10px;border-top:1px solid var(--stone)}.visual-cloth-palette svg{width:42px;height:36px}.visual-cloth-palette .visual-cloth{font-size:11px}

.visual-action>.visual-icon{width:32px;height:32px;color:#25864c;stroke-width:1.8}.visual-cloth-label{display:flex;justify-content:flex-end;margin:-10px 0 12px}.visual-cloth-label .visual-cloth{flex-direction:row}.visual-cloth-label svg{width:42px;height:36px}.visual-inspection h3{display:flex;align-items:center;gap:10px}.inspection-photo{margin-top:14px;width:100%}.flow-content .visual-work-confirm{display:flex;align-items:center;justify-content:center;gap:12px;background:#19864a;color:white;border:2px solid #19864a;border-radius:16px;padding:20px 14px;margin:8px 0 20px;font-size:18px;font-weight:750;min-height:76px;cursor:pointer;box-shadow:0 4px 12px #19864a25}.visual-work-confirm input{width:24px;height:24px;accent-color:#145e35}.visual-work-confirm:has(input:checked){background:#e6f5eb;color:#145e35}.visual-work-confirm:focus-within{outline:3px solid #74c996;outline-offset:3px}

.visual-actions-grouped{gap:9px}.visual-action-heading{grid-column:1/-1;margin:10px 0 1px;font-size:21px;line-height:1.2}.visual-actions-grouped .visual-action{padding:11px 12px;min-height:0}.visual-actions-grouped .visual-action p{font-size:15px;line-height:1.35}

button.visual-action{width:100%;text-align:start;font:inherit;color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.visual-action>span:not(.visual-action-check){font-size:16px;line-height:1.4;flex:1}.visual-action-check{color:#21864a;opacity:0;font-weight:800}.visual-action.is-confirmed{background:#e3f3e8;border-color:#86bc96}.visual-action.is-confirmed .visual-action-check{opacity:1}.visual-action:focus-visible{outline:3px solid #59a374;outline-offset:2px}.visual-actions-grouped .visual-action>span:not(.visual-action-check){font-size:15px;line-height:1.35}html[data-theme=dark] .visual-action.is-confirmed{background:#244b34;border-color:#62a47a}

.visual-delivery-action{margin-top:12px}

.visual-delivery-photo{margin-top:14px}.visual-delivery-photo>.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px}

.visual-action-sequence{flex-wrap:wrap}.visual-action>.visual-icon-sequence{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;width:100%;color:#25864c}.visual-icon-sequence .visual-icon{width:38px;height:38px}.visual-icon-sequence .visual-icon:nth-child(2){width:24px;height:24px}.visual-action-sequence>span:not(.visual-icon-sequence):not(.visual-action-check){font-size:14px}.visual-action.needs-attention{border-color:#cf9c45;animation:visual-missing-nudge 2.4s ease-in-out infinite}@keyframes visual-missing-nudge{0%,20%,100%{transform:translateX(0)}4%,12%{transform:translateX(-4px) rotate(-.5deg)}8%,16%{transform:translateX(4px) rotate(.5deg)}}@media(prefers-reduced-motion:reduce){.visual-action.needs-attention{animation:none;outline:2px solid #cf9c45;outline-offset:1px}}

.routine-summary{display:grid;gap:12px;margin:12px 0 20px}.routine-summary>div{display:flex;align-items:center;gap:14px;padding:15px;border-radius:14px;background:var(--paper);border:1px solid var(--stone);font-size:16px}.routine-summary .visual-icon{color:#25864c;width:32px;height:32px}.routine-instructions,.routine-bed-plan{margin:14px 0;border:1px solid var(--stone);border-radius:12px;padding:12px}.routine-instructions>summary,.routine-bed-plan>summary{font-size:15px;font-weight:650;cursor:pointer;min-height:24px}.routine-instructions section{margin:18px 0}.routine-instructions h3{font-size:17px}.routine-instructions p{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4}.routine-instructions .visual-cloth{align-items:flex-start}.routine-instructions .visual-cloth svg{width:42px;height:36px}[data-routine-evidence] .visual-evidence{border-top:1px solid var(--stone);margin-top:14px}

.flow-photo-grid,.flow-saved-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:12px 0}.flow-photo-grid>div{position:relative}.flow-photo-grid img,.flow-saved-photos img{width:100%;height:130px!important;max-height:none;object-fit:contain;border:1px solid var(--stone);border-radius:10px}.flow-photo-grid>div>.btn{position:absolute;top:2px;right:2px;min-height:32px;padding:3px 10px;background:var(--paper);font-size:22px}

.linen-missing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.linen-missing-card{min-width:0;border:1px solid var(--stone);border-radius:12px;padding:6px;background:var(--paper)}.linen-missing-card.has-quantity{border-color:#65a87d;background:#eaf5ed}.linen-missing-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:7px;background:#f5f3ed}.linen-article-name{font-size:12px;line-height:1.25;text-align:center;min-height:31px;margin:7px 0;overflow-wrap:anywhere}.linen-quantity{display:grid;grid-template-columns:26px minmax(0,1fr) 26px;align-items:center;gap:0}.linen-quantity button{border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:23px;min-height:40px;min-width:0;padding:0;cursor:pointer}.linen-quantity button:disabled{opacity:.3}.linen-quantity input{width:100%;min-width:0;text-align:center;padding:2px 0!important;border:0!important;background:transparent!important;color:var(--ink);font-size:16px;font-weight:700;appearance:textfield;-moz-appearance:textfield}.linen-quantity input::-webkit-inner-spin-button,.linen-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}html[data-theme=dark] .linen-missing-card.has-quantity{background:#254432}.linen-quantity button:focus-visible{outline:2px solid #268348;outline-offset:1px}

.flow-content .flow-work-location{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:68px;padding:12px 14px;margin:10px 0 20px;border:1.5px solid #8bad99;border-radius:14px;background:var(--paper);color:var(--ink);text-align:start;cursor:pointer;font:inherit;box-shadow:0 2px 6px #173e2810}.flow-location-pin{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#e7f2e9;color:#227345}.flow-location-pin .visual-icon{width:24px;height:24px}.flow-location-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.flow-location-title{font-size:12px;line-height:1.3;color:var(--muted)}.flow-location-name{display:flex;gap:7px;flex-wrap:wrap;align-items:baseline;font-size:15px;line-height:1.3;font-weight:650}.flow-location-name bdi{font-weight:800}.flow-location-action{display:flex;flex:none;color:#287c4b}.flow-location-action svg{width:22px;height:22px}.flow-location-action .location-check{display:none}.flow-work-location.is-confirmed{background:#e8f5ec;border-color:#25884c}.flow-work-location.is-confirmed .flow-location-title{color:#1b683a}.flow-work-location.is-confirmed .location-arrow{display:none}.flow-work-location.is-confirmed .location-check{display:block}.flow-work-location:focus-visible{outline:3px solid #66ad82;outline-offset:3px}.arrival-summary>div{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}.arrival-summary>div>span:last-child{font-size:15px;font-weight:600;line-height:1.35}.arrival-icons{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;color:#28754a}.arrival-icons>.visual-icon{width:48px;height:48px}.arrival-icons>.visual-icon:nth-child(2){width:20px;height:20px;color:var(--muted)}.arrival-icons .opening-window-icon,.arrival-icons .storage-open-icon{width:64px;height:64px;flex:none}.window-leaf{transform-box:view-box}.window-leaf-left{transform-origin:11px 30px;animation:flow-window-left 5s ease-in-out infinite}.window-leaf-right{transform-origin:53px 30px;animation:flow-window-right 5s ease-in-out infinite}.window-air{animation:flow-window-air 5s ease-in-out infinite}@keyframes flow-window-left{0%,12%,100%{transform:perspective(100px) rotateY(0deg)}38%,82%{transform:perspective(100px) rotateY(-65deg)}}@keyframes flow-window-right{0%,12%,100%{transform:perspective(100px) rotateY(0deg)}38%,82%{transform:perspective(100px) rotateY(65deg)}}@keyframes flow-window-air{0%,22%,94%,100%{opacity:0}40%,80%{opacity:1}}@media(prefers-reduced-motion:reduce){.window-leaf,.window-air{animation:none}.window-leaf-left{transform:perspective(100px) rotateY(-65deg)}.window-leaf-right{transform:perspective(100px) rotateY(65deg)}}html[data-theme=dark] .flow-work-location.is-confirmed{background:#173b29;border-color:#68b88b}html[data-theme=dark] .flow-work-location.is-confirmed .flow-location-title{color:#9bd3b1}html[data-theme=dark] .flow-location-pin{background:#173b29;color:#9bd3b1}html[data-theme=dark] .arrival-icons{--window-wall:#243b31;--window-leaf:#263f34;--window-glass:#325567;color:#9bceb0}

/* Shared visual pairs: each instruction belongs directly to its pictogram. */
.routine-summary.routine-pairs>.routine-pair{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:start;gap:10px;padding:14px 12px}.routine-pair-item{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;text-align:center}.routine-pair-item>.visual-icon,.routine-pair-item>.opening-window-icon,.routine-pair-item>.storage-open-icon{width:64px;height:64px;flex:none;color:#28754a}.routine-pair-item>span{font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.routine-pair-arrow{display:grid;place-items:center;height:64px}.routine-pair-arrow>.visual-icon{width:20px;height:20px;color:var(--muted)}.routine-pair-note{grid-column:1/-1;margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--muted)}img.visual-equipment{object-fit:contain;flex:none;background:#f1f4ee;border-radius:9px;padding:3px;box-sizing:border-box}.routine-instructions .visual-icon-sequence{display:flex;align-items:center;gap:3px;flex:none}.routine-instructions .visual-icon-sequence>.visual-icon{width:34px;height:42px}.routine-instructions .visual-icon-sequence>.visual-icon:nth-child(2){width:14px}.routine-instructions p>.visual-icon{width:38px;height:42px;flex:none}.visual-inspection .visual-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visual-inspection .visual-choices>.btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px}.visual-inspection .visual-choices svg{width:25px;height:25px;flex:none}.flow-work-location:not(.is-confirmed){animation:flow-location-nudge 2.5s ease-in-out infinite}@keyframes flow-location-nudge{0%,12%,100%{transform:translateX(0) rotate(0)}3%,9%{transform:translateX(-2px) rotate(-.35deg)}6%{transform:translateX(2px) rotate(.35deg)}}@media(prefers-reduced-motion:reduce){.flow-work-location:not(.is-confirmed){animation:none}}html[data-theme=dark] .routine-pair-item{--window-wall:#243b31;--window-leaf:#263f34;--window-glass:#325567;color:#9bceb0}

.routine-inline-evidence{min-width:0}.routine-inline-evidence .visual-evidence{margin:0;padding:0 2px;border:0}.routine-inline-evidence .visual-inspection h3{margin:0 0 12px;font-size:16px;line-height:1.35}

.stock-fields{border:0;padding:0;margin:0;min-width:0}

.routine-pairs>.routine-bed-plan{margin:0}.routine-pairs>.routine-inline-evidence{padding:4px 2px}

.visual-stock>.visual-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.visual-stock>.visual-choices>.btn{min-width:0;width:100%;box-sizing:border-box;padding:10px 7px;font-size:14px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.routine-cloth-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex:none}.routine-cloth-icon .visual-cloth{display:flex;align-items:center;flex-direction:column;gap:0}.routine-cloth-icon .visual-cloth svg{width:60px;height:48px}.routine-cloth-icon .visual-cloth>span{font-size:11px;line-height:1.1}.routine-pairs>.routine-instructions{margin:0}

.routine-summary.routine-pairs>.routine-pair.is-sequence{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.routine-pair-item>.routine-order{display:block;align-self:stretch;text-align:start;width:100%;font-size:15px;font-weight:750;color:var(--ink);line-height:1.1}.routine-pair.is-sequence .routine-pair-note{grid-column:1/-1}

.container-beside-icon{display:block;position:relative;width:64px;height:64px;flex:none}.container-beside-icon>.visual-equipment{position:absolute;right:0;top:0;width:48px;height:64px}.container-beside-icon>.visual-icon:last-child{position:absolute;left:-4px;bottom:0;width:31px;height:31px;color:#28754a;background:var(--paper);border-radius:5px}.mattress-routine{padding:15px;border:1.5px solid #b7bf89;border-radius:14px;background:#f4f6e9;color:var(--ink)}.mattress-routine h3{font-size:17px;margin:7px 0 10px}.mattress-routine small{font-size:12px;color:var(--muted)}.mattress-visual{display:flex;align-items:center;justify-content:center;gap:15px}.mattress-visual .visual-icon{width:48px;height:48px;color:#34734e}.mattress-visual .visual-icon:nth-child(2){width:22px}.mattress-routine p{font-size:14px;line-height:1.4}.mattress-routine .btn{width:100%;min-height:48px}html[data-theme=dark] .mattress-routine{background:#25352b}

.bath-inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.bath-inventory-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;min-width:0;min-height:106px;padding:10px 5px;border:1px solid var(--line,#d9d2c9);border-radius:14px;background:var(--surface,#fff);color:var(--text,#222);font:inherit;font-size:12px;line-height:1.25;text-align:center}.bath-inventory-tile svg{width:48px;height:48px}.bath-inventory-tile.is-checked{background:#e7f3e9;border-color:#65a778;color:#236b37}.bath-inventory-tile b{position:absolute;top:4px;right:6px;color:#278340}.bath-inventory-tile:disabled{opacity:.65}
.goods-dialog{width:min(1060px,100vw);max-width:100vw;max-height:100dvh;padding:18px;border:0;border-radius:18px;background:var(--surface,#fff);color:var(--text,#222)}.goods-dialog::backdrop{background:#0008}.goods-head,.goods-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface,#fff)}.goods-head{position:sticky;top:-18px;z-index:2;padding:12px 0}.goods-dialog fieldset{border:0;padding:0;min-width:0}.goods-row{border:1px solid var(--line,#ddd);border-radius:14px;padding:14px;margin:14px 0}.goods-product{display:flex;gap:12px;align-items:center;margin-bottom:10px}.goods-product p{margin:5px 0}.goods-product img,.goods-no-photo{width:64px;height:64px;object-fit:contain;flex:none;background:#f4f3f0;border-radius:10px}.goods-no-photo{font-size:11px;display:grid;place-content:center;text-align:center;color:#555}.goods-actions{position:sticky;bottom:-18px;padding:12px 0;flex-wrap:wrap}.goods-row .compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goods-row input,.goods-row select{max-width:100%;width:100%}@media(max-width:600px){.goods-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.goods-row .compact-grid{grid-template-columns:1fr}.goods-head h2{font-size:20px}.goods-actions button{flex:1}}
.receipt-camera-launch{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}.receipt-camera-launch svg,.camera-capture-actions svg{width:22px;height:22px}.receipt-camera-dialog{width:min(760px,100vw);max-width:100vw;max-height:100dvh;border:0;border-radius:18px;padding:18px;background:var(--surface,#fff);color:var(--text,#222)}.receipt-camera-dialog::backdrop{background:#0008}.camera-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-18px;background:var(--surface,#fff);z-index:2;padding:10px 0}.camera-head h2{font-size:21px}.camera-capture-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.camera-capture-actions .btn{display:flex;align-items:center;gap:8px}.receipt-camera-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.receipt-camera-gallery article{display:flex;flex-direction:column;gap:7px;border:1px solid var(--line,#ddd);padding:8px;border-radius:12px}.receipt-camera-gallery img{width:100%;height:220px;object-fit:contain;background:#f6f5f2}.camera-article-check article{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#ddd)}.camera-article-check img{width:48px;height:48px;object-fit:contain}.camera-article-check small{display:block}.camera-success{background:#e8f5ec;color:#186735;padding:14px;border-radius:12px}@media(max-width:600px){.receipt-camera-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.receipt-camera-gallery img{height:180px}.camera-capture-actions .btn{flex:1}.camera-article-check strong{overflow-wrap:anywhere}}
