/* Công việc · Lệnh kiểm tra (work-inspections.mjs): the Mobile first (big buttons, one column), the Desktop in a grid. */
.work{min-width:0;--work-line:#dbe5df;--work-muted:#5d6f64;--work-green:#286548;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;overflow-wrap:anywhere}
.work-bar{display:flex;align-items:center;gap:10px}
.work-tabs{display:flex;gap:6px;overflow-x:auto;flex:1;min-width:0;padding:2px;scrollbar-width:thin}
:is(.work,.work-sheet) .work-tab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid #c5d6cb;border-radius:22px;background:white;color:#294c3d;font-size:14px;font-weight:600;white-space:nowrap}
:is(.work,.work-sheet) .work-tab[aria-selected=true]{background:#294c3d;border-color:#294c3d;color:white}
.work-count{display:inline-block;min-width:22px;padding:1px 6px;border-radius:11px;background:#e9f1eb;color:#294c3d;font-size:12px;text-align:center}
.work-tab[aria-selected=true] .work-count{background:#ffffff26;color:white}
:is(.work,.work-sheet) .work-refresh{flex:0 0 auto}
.work-status{margin:0;font-size:14px;color:var(--work-muted)}.work-status:empty{display:none}
.work-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-items:start}
.work-empty{padding:18px 14px;background:white;border:1px dashed #c5d6cb;border-radius:12px;color:var(--work-muted);font-size:14px}
.work-card{display:grid;gap:8px;padding:14px;background:white;border:1px solid var(--work-line);border-left:6px solid #7293aa;border-radius:12px;box-shadow:0 1px 4px #14302108}
.work-card[data-state=waiting]{border-left-color:#c08a2e}.work-card[data-state=assigned]{border-left-color:#41648d}.work-card[data-state=working]{border-left-color:#745589}
.work-card[data-state=reported]{border-left-color:#c0612b}.work-card[data-state=confirmed]{border-left-color:#387f57}
.work-card.busy{opacity:.7}.work-card.work-focus{outline:3px solid #f0b429;outline-offset:2px}
.work-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.work-plate{font-size:21px;letter-spacing:.5px;color:#203930}.work-card-head>div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.work-ro{display:inline-block;font-size:14px;font-weight:600;color:var(--work-muted);white-space:nowrap}
.work-badge{flex:0 0 auto;padding:4px 10px;border-radius:12px;background:#eef3f0;color:#294c3d;font-size:12px;font-weight:700}
.work-card[data-state=waiting] .work-badge{background:#fbf0dc;color:#7a5414}.work-card[data-state=reported] .work-badge{background:#fbe8de;color:#8a3d14}
.work-card[data-state=working] .work-badge{background:#f0ebf6;color:#5a3d70}.work-card[data-state=confirmed] .work-badge{background:#e3f2e8;color:#245b3a}
:is(.work,.work-sheet) .work-car,:is(.work,.work-sheet) .work-meta{margin:0;font-size:14px;color:var(--work-muted)}
.work-ask{display:grid;gap:2px}.work-caption{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--work-muted);text-transform:uppercase}
:is(.work,.work-sheet) .work-text{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.45}
:is(.work,.work-sheet) .work-returned{margin:0;padding:8px 10px;border-radius:8px;background:#fff1e6;color:#7d4210;font-size:14px}
:is(.work,.work-sheet) .work-confirmed{margin:0;color:#2f6b48;font-weight:650;font-size:14px}
.work-people{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.work-people>li{display:grid;gap:4px;padding:8px 10px;border-radius:8px;background:#f6f9f7}
.work-person{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.work-person strong{font-size:15px}
.work-person-state{font-size:13px;color:var(--work-muted)}.work-people>li[data-state=started] .work-person-state{color:#5a3d70;font-weight:650}
.work-people>li[data-state=done] .work-person-state{color:#2f6b48}
:is(.work,.work-sheet) .work-result{font-size:14px;padding:6px 8px;background:white;border-radius:6px;border:1px solid var(--work-line)}
.work-actions{display:flex;flex-wrap:wrap;gap:8px}
:is(.work,.work-sheet) :is(.work-primary,.work-secondary),.work-picker :is(.work-primary,.work-secondary),.work-panel :is(.work-primary,.work-secondary){min-height:48px;margin:0;padding:10px 16px;border-radius:9px;font-size:15px;font-weight:700}
:is(.work,.work-sheet) .work-primary,.work-picker .work-primary,.work-panel .work-primary{background:var(--work-green,#286548);border:1px solid var(--work-green,#286548);color:white}
:is(.work,.work-sheet) .work-secondary,.work-picker .work-secondary,.work-panel .work-secondary{background:white;border:1px solid #b9d0c0;color:#1e5138}
:is(.work,.work-sheet) .work-small{min-height:34px;margin-left:auto;padding:4px 12px;border:1px solid #d9b8ad;border-radius:8px;background:white;color:#8a3b2b;font-size:13px;font-weight:600}
:is(.work,.work-sheet) :is(button):disabled{opacity:.55;cursor:wait}
/* The page's own #module-panel button margin (mobile.css) does not apply here. */
#module-panel :is(.work,.work-sheet) button{margin:0}#module-panel :is(.work,.work-sheet) .work-small{margin-left:auto}
.work-form{display:grid;gap:8px}.work-form .work-field{display:grid;gap:4px;margin:0;font-size:14px;font-weight:650}
.work-form .work-field span{color:#203930;font-weight:650}
.work-form textarea,.work-form input:not([type=checkbox]){display:block;width:100%;margin:0;font-size:16px;line-height:1.45}
.work-who{display:grid;gap:4px;margin:0;padding:0;border:0}.work-who legend{padding:0 0 4px;font-size:14px;font-weight:650}
.work-check{display:flex;align-items:center;gap:10px;margin:0;font-weight:400;font-size:15px;min-height:44px;cursor:pointer}
.work-check input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0;padding:0}
.work-tag{padding:2px 8px;border-radius:10px;background:#eef3f0;color:#294c3d;font-size:11px;font-weight:650}
:is(.work,.work-sheet) .work-message,.work-picker .work-message,.work-panel .work-message{margin:0;font-size:14px;color:#7d4210}
.work-message:empty{display:none}
/* Giao KTV: a sheet over the screen. */
.work-picker{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;border:1px solid var(--work-line,#dbe5df);border-radius:14px;color:#203930;box-shadow:0 12px 40px #14302140}
.work-picker::backdrop{background:#14302166}
.work-picker form{display:grid;gap:10px}.work-picker h2{margin:0;font-size:20px}.work-picker .work-meta{margin:0;color:#5d6f64}
.work-picker input[type=search]{display:block;width:100%;margin:0;font-size:16px}
.work-staff{list-style:none;margin:0;padding:0;max-height:min(52vh,460px);overflow:auto;border:1px solid #dbe5df;border-radius:10px}
.work-staff li{padding:2px 12px;border-bottom:1px solid #edf2ef}.work-staff li:last-child{border-bottom:0}
.work-staff .work-tag{margin-left:auto}.work-staff .work-tag+.work-tag{margin-left:0}
.work-picker .work-actions{justify-content:flex-end}
/* The phiếu (Desktop window, Mobile Danh sách phiếu): its inspection. */
.work-panel{display:grid;gap:8px;margin-top:12px}.work-panel h3{margin:0}
.work-panel .work-line{margin:0;font-weight:650}.work-panel .work-meta{margin:0;color:#5d6f64;font-size:14px}
.work-panel .work-people{list-style:none;margin:0;padding:0;display:grid;gap:6px}.work-panel .work-people li{padding:8px 10px;border-radius:8px;background:#f6f9f7}
.work-panel .work-text{margin:4px 0 0;white-space:pre-wrap}.work-panel .work-confirmed{margin:0;color:#2f6b48;font-weight:650}
.work-panel>button{justify-self:start}
.mobile-list-detail .work-panel{padding:12px;border:1px solid #dbe5df;border-radius:10px}
/* Desktop: the cards side by side. */
.work-desktop .work-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
/* One page at a time (Owner 28/10/2026: "đừng làm một trang quá dài"): the list (a line a car); a car alone, ‹ Công việc;
   a form of ＋ Thêm công việc / ＋ Tự thêm việc alone. */
.work[data-page=car]>:is(.work-jobs,.work-bar),.work[data-page=form]>:is(.work-back,.work-bar,.work-status,.work-list,.work-split),.work[data-page=list]>.work-back{display:none}
:is(.work,.work-sheet) .work-back{justify-self:start;min-height:44px;padding:4px 0;border:0;background:transparent;color:#1e5138;font-size:17px;font-weight:700}
.work-card.work-row{padding:0}
:is(.work,.work-sheet) .work-row-open{display:grid;gap:6px;width:100%;min-height:0;margin:0;padding:12px 14px;border:0;border-radius:0 11px 11px 0;background:transparent;color:inherit;font:inherit;font-weight:400;text-align:left;cursor:pointer}
.work-row-open .work-card-head>span:first-child{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.work-row-open .work-plate{font-weight:700}
.work-row-line{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;font-size:14px;line-height:1.4;color:var(--work-muted)}
.work-row-go{flex:0 0 auto;font-size:20px;line-height:1;color:#5d6f64}
.work-more{display:grid}
/* The Desktop (Đợt 2): the list on the left, the car chosen on the right, each scrolling on its own. */
.work-desktop .work-split{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}
.work-desktop .work-split>.work-list{grid-template-columns:minmax(0,1fr);gap:8px}
.work-desktop .work-detail{min-width:0;position:sticky;top:0;display:grid;list-style:none;margin:0;padding:0}
.work-desktop .work-row.selected{border-color:#8fb39d;background:#f1f7f3;box-shadow:inset 0 0 0 1px #8fb39d}
body.privacy-hidden .work,body.privacy-hidden .work-picker{visibility:hidden}
/* The phone (Owner 28/10/2026): the tabs scroll on one line with ↻ at its end, so the first car shows high on the screen. */
@media(max-width:600px){.work-bar{flex-wrap:nowrap;gap:6px}.work-tabs{scrollbar-width:none}.work-tabs::-webkit-scrollbar{display:none}:is(.work,.work-sheet) .work-tab{min-height:40px;padding:6px 10px;font-size:13px}
  #module-panel :is(.work,.work-sheet) .work-refresh{flex:0 0 44px;width:44px;min-height:40px;padding:0;font-size:20px;line-height:1}.work-actions>button{flex:1 1 auto}.work-picker{padding:14px}}
/* GỬI LỆNH (send-order.mjs; Owner 30/10/2026, PLAN-GUI-LENH-001): the intake form (Desktop and phone) and a saved phiếu. */
.send-order{display:grid;gap:10px;min-width:0;margin:12px 0 0;padding:12px 14px 14px;border:1px solid #c9d8ce;border-radius:12px;background:#fbfdfb}
.send-order[hidden]{display:none}
.send-order>legend{padding:0 6px;font-size:13px;font-weight:800;letter-spacing:.04em;color:#1d3a2c}
.send-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.send-order .send-mode{min-height:52px;margin:0;padding:6px 8px;border:1px solid #b9cfc1;border-radius:10px;background:#fff;color:#1d3a2c;font:inherit;font-size:15px;font-weight:700;line-height:1.25;cursor:pointer}
.send-order .send-mode[aria-checked=true]{background:#286548;border-color:#286548;color:#fff}
.send-order .send-mode[hidden]{display:none}
.send-order .send-mode:disabled{opacity:.6;cursor:default}
.send-task,.send-to{display:grid;gap:6px;min-width:0}.send-task[hidden],.send-to[hidden]{display:none}
.send-task>span,.send-caption{font-size:14px;font-weight:700;color:#1d3a2c}.send-task b,.send-caption b{color:#b3261e}
.send-order textarea,.send-order .send-search{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:0;padding:8px 12px;border:1px solid #b9c8be;border-radius:9px;background:#fff;color:inherit;font:inherit;font-size:15px;line-height:1.4}
.send-order .send-search:focus{outline:none;border:2px solid #286548;padding:7px 11px}
.send-hint,.send-note,.send-fixed{margin:0;color:#5d6f64;font-size:13px;line-height:1.45}:is(.send-fixed,.send-hint)[hidden]{display:none}
.send-chips{display:flex;flex-wrap:wrap;gap:6px}.send-empty{color:#7a857f;font-size:13px}
.send-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:2px 4px 2px 12px;border:1px solid #9fc2ad;border-radius:18px;background:#e9f3ec;color:#1d3a2c;font-size:15px;font-weight:600}
.send-chip-role{padding:1px 8px;border-radius:9px;background:#fff;font-size:11.5px;font-weight:700;color:#41584b}
.send-order .send-chip-x{display:inline-grid;place-items:center;width:28px;height:28px;min-height:28px;margin:0;padding:0;border:0;border-radius:50%;background:#fff;color:#41584b;font-size:14px;cursor:pointer}
.send-people{display:grid;max-height:300px;overflow:auto;list-style:none;margin:0;padding:0;border:1px solid #9fb8a8;border-radius:10px;background:#fff}
.send-people[hidden]{display:none}.send-people li[hidden]{display:none}
.send-people>li+li{border-top:1px solid #edf2ef}
.send-person{display:flex;align-items:center;gap:10px;min-height:52px;margin:0;padding:6px 12px;cursor:pointer}
.send-person.on{background:#eef6f0}
.send-order .send-person input[type=checkbox]{display:inline-block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:#286548}
.send-person-name{display:grid;flex:1 1 auto;min-width:0}.send-person-name strong{font-size:15px;font-weight:600;color:#1d2d24}
.send-person-name small{color:#6b7a71;font-size:12.5px}
.send-state{flex:0 0 auto;max-width:48%;padding:2px 10px;border-radius:11px;font-size:12.5px;font-weight:700;text-align:right;white-space:normal}
.send-state[data-state=free]{background:#e3f2e8;color:#245b3a}.send-state:is([data-state=busy],[data-state=wait]){background:#fbf0dc;color:#7a5414}
.send-state[data-state=leave]{background:#eceeed;color:#59645e}
.send-people li[data-state=leave] .send-person-name{opacity:.55}
.send-none{padding:12px;color:#6b7a71;font-size:13.5px}
#intake-mobile.intake-window .send-order{padding:10px 10px 12px}
#intake-mobile.intake-window .send-order :is(textarea,.send-search){font-size:16px}
#intake-mobile.intake-window .send-order .send-person input[type=checkbox]{min-height:20px;padding:0}
#intake-mobile.intake-window .send-order .send-chip-x{min-height:28px}
/* VIỆC GIAO of a phiếu (its window). */
.work-panel-direct{display:grid;gap:6px}.work-panel-direct h3{margin:6px 0 0}
.work-panel-job{display:grid;gap:2px;padding:8px 10px;border:1px solid #d7e2db;border-left:4px solid #c08a2b;border-radius:8px;background:#fff}
.work-panel-job :is(p){margin:0}.work-panel-job[data-state=done]{border-left-color:#286548}.work-panel-job[data-state=cancelled]{opacity:.6}
.work-panel>.send-order{margin-top:0}
:is(.work,.work-sheet) .work-to{color:#41648d}
/* Ảnh kiểm tra (inspection-photos.mjs): Ảnh phiếu kiểm tra and Ảnh phụ tùng hư hỏng, thumbnails in rows; the full photo over the page. */
.work-photos{display:grid;gap:6px;margin-top:2px}
.work-photo-group{display:grid;gap:4px}
.work-photo-list,.work-photo-queue{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.work-photo-list>li,.work-photo-queue>li{position:relative;display:grid;gap:4px;justify-items:start}
:is(.work,.work-sheet) :is(.work-photo-thumb),.work-panel .work-photo-thumb{display:grid;place-items:center;width:84px;height:84px;margin:0;padding:0;overflow:hidden;border:1px solid var(--work-line,#dbe5df);border-radius:8px;background:#f6f9f7;cursor:zoom-in}
.work-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.work-photo-queue .work-photo-thumb{cursor:default;position:relative}
.work-photo-label{position:absolute;inset:auto 0 0 0;padding:2px 4px;background:#203930cc;color:#fff;font-size:10px;line-height:1.25}
.work-photo-pending[data-state=failed] .work-photo-thumb{border-color:#c0612b}
:is(.work,.work-sheet) .work-photo-remove,.work-panel .work-photo-remove{position:absolute;top:-6px;right:-6px;width:26px;height:26px;min-height:26px;margin:0;padding:0;border:1px solid #d9b8ad;border-radius:13px;background:#fff;color:#8a3b2b;font-size:16px;line-height:1;font-weight:700}
#module-panel :is(.work,.work-sheet) .work-photo-remove{margin:0}
.work-photo-broken{padding:4px;font-size:11px;color:#7d4210;text-align:center}
.work-photo-taker{display:grid;gap:8px}
.work-photo-tools{display:flex;flex-wrap:wrap;gap:8px}
:is(.work,.work-sheet) .work-photo-take{flex:1 1 180px}
.work-hint{display:block;font-weight:400;font-size:13px;color:var(--work-muted,#5d6f64)}
.work-photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#000;color:#fff;overflow:hidden}
.work-photo-viewer[open]{display:flex;flex-direction:column}
.work-photo-viewer::backdrop{background:#000}
.work-photo-viewer-top{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px 14px;font-size:14px}
.work-photo-viewer-count{flex:0 0 auto;padding:3px 9px;border-radius:12px;background:#ffffff26;font-weight:700}
.work-photo-viewer-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#d8e2dc}
.work-photo-viewer .work-photo-viewer-close{flex:0 0 auto;width:48px;height:48px;min-height:48px;margin:0;padding:0;border:0;border-radius:24px;background:#ffffff1f;color:#fff;font-size:22px;font-weight:700}
.work-photo-viewer-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.work-photo-viewer img{display:block;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.work-photo-viewer .work-photo-viewer-step{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;min-height:44px;margin:0;padding:0;border:0;border-radius:10px;background:#00000059;color:#fff;font-size:30px;line-height:1}
.work-photo-viewer [data-step=prev]{left:6px}.work-photo-viewer [data-step=next]{right:6px}
body.privacy-hidden .work-photo-viewer{visibility:hidden}
@media(max-width:600px){.work-photo-thumb,:is(.work,.work-sheet) .work-photo-thumb{width:72px;height:72px}}
.work-photo-message{margin:0;font-size:14px;color:#7d4210}.work-photo-message:empty{display:none}

/* Chụp ảnh (Owner 28/10/2026, like the phone's gallery): one row per kind, the photos saved, those on their way (spinner; ⚠
   when failed, tap for Thử lại / Bỏ) and the ＋ Chụp tile last. */
.work-photo-rows{display:grid;gap:10px}
.work-photo-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.work-photo-row>ul{display:contents}
:is(.work,.work-sheet) .work-photo-add{display:grid;place-content:center;justify-items:center;gap:0;width:84px;height:84px;min-height:84px;margin:0;padding:0;border:2px dashed #8fb39d;border-radius:8px;background:#f3f8f5;color:#286548;font-weight:700}
.work-photo-plus{font-size:28px;line-height:1}:is(.work,.work-sheet) .work-photo-add small{font-size:12px}
:is(.work,.work-sheet) .work-photo-queue .work-photo-thumb{position:relative;cursor:default}
.work-photo-pending[data-state=failed] .work-photo-thumb{cursor:pointer;border:2px solid #c0612b}
.work-photo-pending:not([data-state=failed]) .work-photo-thumb::before{content:'';position:absolute;inset:0;background:#00000059}
.work-photo-pending:not([data-state=failed]) .work-photo-thumb::after{content:'';position:absolute;top:calc(50% - 16px);left:calc(50% - 14px);width:22px;height:22px;border:3px solid #ffffff80;border-top-color:#fff;border-radius:50%;animation:work-spin .9s linear infinite}
@keyframes work-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.work-photo-pending .work-photo-thumb::after{animation:none}}
.work-photo-sign{position:absolute;top:calc(50% - 20px);left:0;right:0;text-align:center;font-size:24px;line-height:1;color:#fff;text-shadow:0 1px 3px #000}
.work-photo-sign:empty{display:none}
.work-photo-pending[data-state=failed] .work-photo-thumb{background:#7d4210}
.work-photo-menu{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#7d4210}:is(.work,.work-sheet) .work-photo-menu .work-small,#module-panel :is(.work,.work-sheet) .work-photo-menu .work-small{margin:0;min-height:36px;padding:4px 12px}
.work-actions .work-wait{flex-basis:100%;margin:0;font-size:13px}
@media(max-width:600px){:is(.work,.work-sheet) .work-photo-add{width:72px;height:72px;min-height:72px}}

/* Kết quả theo dòng (work-findings.mjs; Owner 28/10/2026: "trang sẽ bị dài quá" with many parts): a short list, a row a part
   (number, part, symptom cut short, its photos); the line itself in a sheet from the bottom; the others read a table. */
.work-result-editor{display:grid;gap:10px}
.work-lines{list-style:none;margin:0;padding:0;border:1px solid #c5d6cb;border-radius:12px;overflow:hidden;background:#fff}
.work-lines>li+li{border-top:1px solid var(--work-line,#dbe5df)}
:is(.work,.work-sheet) .work-line{display:grid;grid-template-columns:26px minmax(0,1fr) 46px 12px;gap:8px;align-items:center;width:100%;min-height:58px;margin:0;padding:7px 10px;border:0;border-radius:0;background:#fff;color:#203930;font:inherit;text-align:left;cursor:pointer}
:is(.work,.work-sheet) .work-line:hover{background:#f6f9f7}
.work-lines .work-line-n{display:grid;place-items:center;width:24px;height:24px;border-radius:12px;background:#294c3d;color:#fff;font-size:12px;font-weight:800}
.work-line-text{display:grid;min-width:0}.work-line-text b{font-size:15px;line-height:1.25}
.work-line-text span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--work-muted,#5d6f64);font-size:13px;line-height:1.3}
.work-line-text .work-line-missing{color:#a2561d;font-style:italic}
.work-line-thumb{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1.5px dashed #8fb39d;border-radius:7px;background:#f3f8f5;color:#286548;font-size:18px}
.work-line-thumb:has(img){border:0;background:#203930}
.work-line-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.work-line-thumb i{position:absolute;right:-5px;bottom:-5px;padding:0 5px;border:2px solid #fff;border-radius:9px;background:#294c3d;color:#fff;font-size:11px;font-style:normal;font-weight:800;line-height:15px}
.work-line-thumb[data-pending=true]::after{content:'';position:absolute;inset:10px;border:3px solid #ffffff99;border-top-color:#286548;border-radius:50%;animation:work-spin .9s linear infinite}
.work-line-go{color:#9aa8a0;font-size:18px}
:is(.work,.work-sheet) .work-line-add{width:100%;min-height:48px;margin:0;padding:10px;border:2px dashed #8fb39d;border-radius:12px;background:#f3f8f5;color:#286548;font-size:15px;font-weight:800}
.work-result-editor .work-field{display:grid;gap:4px;margin:0;font-size:14px;font-weight:650}
.work-result-editor textarea,.work-line-form textarea,.work-line-form input{display:block;width:100%;margin:0;font-size:16px}
:is(.work,.work-sheet) .work-sheet-link{margin:0;color:var(--work-muted,#5d6f64);font-size:14px}
:is(.work,.work-sheet) .work-link{display:inline;min-height:0;margin:0;padding:0;border:0;background:none;color:#286548;font:inherit;font-weight:650;text-decoration:underline}
/* The sheet of one line: from the bottom on the phone, a window on the Desktop. */
.work-line-sheet,.work-ask-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--work-line,#dbe5df);border-radius:16px;color:#203930;box-shadow:0 12px 40px #14302140}
.work-line-sheet::backdrop,.work-ask-dialog::backdrop{background:#14302180}
.work-sheet{--work-line:#dbe5df;--work-muted:#5d6f64;--work-green:#286548;display:grid;gap:10px;min-width:0;overflow-wrap:anywhere}
.work-line-form,.work-ask-form{padding:14px 16px 16px}
.work-line-sheet-head{display:flex;align-items:center;gap:10px}.work-line-sheet-head h2{flex:1;margin:0;font-size:18px}
:is(.work,.work-sheet) .work-line-close{flex:0 0 auto;width:40px;height:40px;min-height:40px;margin:0;padding:0;border:1px solid #c5d6cb;border-radius:20px;background:#fff;color:#203930;font-size:16px}
.work-line-form .work-field{display:grid;gap:4px;margin:0;font-size:14px;font-weight:650}
.work-line-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}
:is(.work,.work-sheet) .work-line-remove{justify-self:center;min-height:40px;margin:0;padding:6px 12px;border:0;background:none;color:#8a3b2b;font-size:14px;font-weight:700}
.work-line-remove[hidden]{display:none}
.work-ask-form h2{margin:0;font-size:18px}.work-ask-form .work-meta{margin:0 0 4px}
@media(max-width:600px){
  .work-line-sheet{width:100vw;max-width:100vw;margin:auto 0 0;border:0;border-radius:18px 18px 0 0;max-height:92dvh}
  .work-line-sheet .work-line-form{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .work-line-sheet .work-photo-thumb,.work-line-sheet .work-photo-add{width:72px;height:72px;min-height:72px}}
/* The table the others read (Tổ trưởng / Tổ phó, the office, the people given it). */
.work-result-view{display:grid;gap:6px;min-width:0}
.work-lines-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px;table-layout:auto}
.work-lines-table th{padding:6px;border:1px solid var(--work-line,#dbe5df);background:#e9f1eb;color:#203930;font-size:12px;text-align:left}
.work-lines-table td{padding:6px;border:1px solid var(--work-line,#dbe5df);vertical-align:top;line-height:1.35;overflow-wrap:anywhere}
.work-lines-table .work-line-n{width:22px;color:var(--work-muted,#5d6f64);font-weight:700;text-align:center}
.work-lines-table .work-line-part{font-weight:700}
.work-lines-table .work-line-photos{width:56px}
.work-lines-table .work-photo-list{gap:4px}
:is(.work,.work-sheet) .work-lines-table .work-photo-thumb,.work-panel .work-lines-table .work-photo-thumb{width:44px;height:44px}
body.privacy-hidden .work-line-sheet,body.privacy-hidden .work-ask-dialog{visibility:hidden}
/* desktop.css sets every third table cell in monospace (an older read-back table): not in the lines' table. The photos of a
   line side by side where there is room (the phiếu, the Desktop), plain thumbnails whatever the window's buttons look like. */
table.work-lines-table td:nth-child(3){font-family:inherit;max-width:none}
.work-lines-table input,.work-line-form input,.work-line-form textarea,.work-result-editor textarea{font-weight:400}
.work-panel .work-lines-table .work-line-photos,.work-desktop .work-lines-table .work-line-photos{width:1%}
.work-panel .work-lines-table .work-photo-list,.work-desktop .work-lines-table .work-photo-list{flex-wrap:nowrap}
.work-lines-table .work-photo-thumb,.work-panel .work-lines-table .work-photo-thumb{padding:0;border:1px solid var(--work-line,#dbe5df);background:#f6f9f7;box-shadow:none}
/* Where the table has no room (the phone: Danh sách phiếu › Xem, Công việc; Owner 30/10/2026 "ok sửa bảng trên điện thoại
   đi", the words were cut in the middle): a line a block, the part over its symptom, its photos under them. */
.work-result-view{container-type:inline-size}
@container (max-width:560px){
  .work-lines-table,.work-lines-table tbody{display:block}.work-lines-table{background:none}
  .work-lines-table thead{display:none}
  .work-lines-table tr{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px 8px;padding:9px 10px;border:1px solid var(--work-line,#dbe5df);border-top:0;background:#fff}
  .work-lines-table tr:first-child{border-top:1px solid var(--work-line,#dbe5df);border-radius:8px 8px 0 0}
  .work-lines-table tr:last-child{border-radius:0 0 8px 8px}.work-lines-table tr:only-child{border-radius:8px}
  .work-lines-table td{display:block;padding:0;border:0;min-width:0;overflow-wrap:break-word}
  .work-lines-table .work-line-n{grid-row:1/span 3;width:auto;font-size:15px;line-height:1.35;text-align:left}
  .work-lines-table .work-line-part{grid-column:2;font-size:15px}
  .work-lines-table .work-line-symptom{grid-column:2}
  .work-result-view .work-lines-table td.work-line-photos{grid-column:2;width:auto;padding-top:3px}
  .work-result-view .work-lines-table td.work-line-photos:empty{display:none}
  .work-result-view .work-lines-table .work-photo-list{flex-wrap:wrap}
  :is(.work,.work-sheet,.work-panel) .work-result-view .work-lines-table .work-photo-thumb{width:64px;height:64px}}
/* The phone's layout in a wider window (Owner's test 28/10/2026, a narrow browser on the computer): the buttons of a card fill
   their row as on the phone. */
.work-mobile .work-actions>button{flex:1 1 auto}
/* The chips of a tab on two lines as Sửa chữa's (work-repairs.css), not cut under ↻ (review of the workshop on the phone, Owner
   09/11/2026 "Sửa cả 12": "Chờ xác n…", Đã xác nhận out of sight). */
@media(max-width:600px){.work-bar .work-tabs{flex-wrap:wrap;overflow-x:visible}}
/* Review of the KTV's flow on the phone (Owner 10/11/2026 "Sửa cả 6"): the step just taken at the top of Việc của tôi; after Báo
   xong of a Kiểm tra, what else waits on this account and the way to it. */
.work-now-said{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#e6f2ea;color:#1f5b3a;font-weight:700;font-size:14px;line-height:1.4}
.work-next{display:grid;gap:4px;margin:12px 0;padding:12px;border:1.5px solid #284b3e;border-radius:14px;background:#fff;list-style:none}
.work-next .work-next-title{margin:0;font-weight:800;color:#203930}
.work-next .work-meta{margin:0 0 6px}
.work-next .work-primary{width:100%}
