:root{--bg:#f4f1ea;--card:#fff;--ink:#1d2321;--muted:#6b7370;--line:#e3ddd1;--brand:#1f4e46;--brand2:#2d6b60;--ok:#1f7a4d;--okbg:#e5f4ea;--warn:#a35a00;--warnbg:#fff1dc;--bad:#b3261e;--badbg:#fde8e6;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
.top{position:sticky;top:0;z-index:5;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top))}
.brand{display:flex;gap:10px;align-items:center}.brand b{display:block;font-size:17px}.brand small{opacity:.8;font-size:12.5px;display:block;white-space:nowrap}
.logo{width:34px;height:34px;border-radius:9px;background:#f4f1ea;color:var(--brand);display:grid;place-items:center;font-weight:800;font-size:20px}
#who{font-size:13px;text-align:right;max-width:52%;display:flex;align-items:center;justify-content:flex-end;gap:6px}#who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#who button{background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:8px;padding:6px 10px;font-size:13px;min-height:34px;flex:0 0 auto}
.tabs{display:flex;gap:4px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--line);padding:6px 8px;position:sticky;top:56px;z-index:4;scrollbar-width:none}
.tabs[hidden]{display:none}
.tabs a{flex:1 0 auto;text-align:center;padding:8px 9px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px}
.tabs a.on{background:var(--brand);color:#fff}
.wrap{max-width:720px;margin:0 auto;padding:14px 12px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:0 0 12px}
h1{font-size:22px;margin:4px 0 12px}h2{font-size:18px;margin:18px 2px 8px}h3{font-size:16px;margin:0 0 6px}
.muted{color:var(--muted)}.small{font-size:13.5px}.center{text-align:center}.pad{padding:30px 0}
button,.btn{font:inherit;font-weight:650;border:0;border-radius:12px;padding:13px 16px;background:var(--brand);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;min-height:48px}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f0b44c;outline-offset:2px}
button.sec,.btn.sec{background:#eef0ed;color:var(--ink)}button.ghost{background:transparent;color:var(--brand);padding:8px 10px;min-height:0}
button.red{background:var(--bad)}button.big{width:100%;font-size:18px;min-height:56px}button[disabled]{opacity:.45}
.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.between{display:flex;justify-content:space-between;align-items:center;gap:8px}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 5px}
input,select,textarea{font:inherit;width:100%;padding:12px;border:1px solid #cfc8ba;border-radius:10px;background:#fff;color:var(--ink);min-height:46px}
textarea{min-height:80px}
.pin{font-size:30px;letter-spacing:12px;text-align:center;font-weight:700}
.clock{border-width:2px}.clock.in{border-color:var(--ok);background:var(--okbg)}.clock.out{border-color:var(--line)}
.clock .st{font-size:21px;font-weight:750}.clock .loc{margin:6px 0 12px;font-size:14.5px}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef0ed;color:var(--muted);vertical-align:middle}
.pill.ok{background:var(--okbg);color:var(--ok)}.pill.warn{background:var(--warnbg);color:var(--warn)}.pill.bad{background:var(--badbg);color:var(--bad)}.pill.ex{background:#ece6fb;color:#5b3fb0}
.job{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit}
.tick{flex:0 0 34px;height:34px;border-radius:50%;border:2.5px solid #b8b0a1;display:grid;place-items:center;font-weight:800;color:#fff;margin-top:2px}
.tick.done{background:var(--ok);border-color:var(--ok)}.job .t{font-weight:700;font-size:17px}.job .m{font-size:13.5px;color:var(--muted)}
.jobcard{display:block;text-decoration:none;color:inherit}.jobcard.isdone{background:#fbfdfb}
.thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.thumbs img{width:76px;height:76px;object-fit:cover;border-radius:9px;border:1px solid var(--line);cursor:zoom-in;background:#eee}
.refimg{width:100%;max-height:300px;object-fit:cover;border-radius:12px;border:1px solid var(--line);cursor:zoom-in}
.addphoto{border:2px dashed #b8b0a1;border-radius:12px;padding:18px;text-align:center;background:#faf8f3;color:var(--brand);font-weight:700;cursor:pointer;display:block}
.addphoto input{display:none}
.days{display:flex;gap:6px;flex-wrap:wrap}.days label{margin:0;font-weight:600}.days input{display:none}.days span{display:inline-block;padding:9px 11px;border-radius:10px;border:1px solid #cfc8ba;background:#fff;min-width:44px;text-align:center}
.days input:checked+span{background:var(--brand);color:#fff;border-color:var(--brand)}
.seg{display:flex;background:#eef0ed;border-radius:12px;padding:4px;gap:4px}.seg label{flex:1;margin:0}.seg input{display:none}.seg span{display:block;text-align:center;padding:10px 4px;border-radius:9px;font-weight:650}.seg input:checked+span{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12.5px;color:var(--muted);font-weight:650}td.num,th.num{text-align:right;white-space:nowrap}
tr.click{cursor:pointer}tr.click:hover{background:#faf8f3}
.stat{display:flex;gap:10px}.stat div{flex:1;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.stat b{display:block;font-size:24px}
.note{background:#fff8e6;border:1px solid #f1dfb0;border-radius:12px;padding:10px 12px;font-size:14px}
.err{color:var(--bad);font-weight:600;margin-top:8px}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#1d2321;color:#fff;padding:12px 16px;border-radius:12px;font-weight:600;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw;z-index:20}
#toast.show{opacity:1}
#viewer{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:30;display:grid;place-items:center}#viewer[hidden]{display:none}#viewer img{max-width:100vw;max-height:100vh;object-fit:contain}#viewer .x{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;background:rgba(255,255,255,.2);min-height:44px;width:44px;padding:0;border-radius:50%}
.back{display:inline-flex;margin:0 0 8px -6px}
[dir=rtl]{text-align:right}
.list>.card:last-child{margin-bottom:0}
hr{border:0;border-top:1px solid var(--line);margin:14px 0}
@media (min-width:700px){.wrap{padding:20px}}

a{color:var(--brand)}

button.tick.quick{background:#fff;padding:0;min-height:0;width:38px;height:38px;flex:0 0 38px;border:2.5px solid var(--brand);border-radius:50%;cursor:pointer;color:#fff;font-size:18px}
button.tick.quick.done{background:var(--ok);border-color:var(--ok)}
label.chk{display:flex;gap:10px;align-items:center;font-weight:600;margin:6px 0;cursor:pointer}
label.chk input{width:24px;height:24px;min-height:0;flex:0 0 24px;margin:0;accent-color:var(--ok)}
.checks{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.checks label.chk{padding:8px 4px;border-bottom:1px solid var(--line);margin:0;font-size:15.5px}
.checks label.chk:has(input:checked) span{color:var(--muted);text-decoration:line-through}
.repcard{border:2px solid var(--brand2)}.repcard.isdone{border-color:var(--ok);background:#fbfdfb}
.repcard .t{font-size:17px}.repcard .m{font-size:13.5px;color:var(--muted);margin-top:2px}
.marker{margin:4px 2px 12px;padding:8px 12px;border-radius:10px;background:#eef0ed;font-weight:700;text-align:center;color:var(--brand)}

.invcard summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}.invcard summary::-webkit-details-marker{display:none}.invcard summary .t{font-weight:750;font-size:17px}
.invcat{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 2px}
.invrow{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}.invrow .nm{flex:1;min-width:0;font-weight:600}
.stepper{display:flex;align-items:center;gap:4px;flex:0 0 auto}.stepper button{min-height:42px;width:42px;padding:0;font-size:22px;border-radius:10px}.stepper input{width:62px;min-height:42px;padding:6px;text-align:center;font-weight:700;font-size:17px}
table.inv td,table.inv th{padding:7px 3px}table.inv{font-size:13.5px}

/* language switch (worker side) */
.langsw{display:flex;justify-content:flex-end;gap:0;margin:0 0 10px}.langsw button{flex:0 0 auto;min-height:34px;padding:6px 12px;font-size:14px;border:1px solid var(--brand);background:#fff;color:var(--brand);border-radius:0;margin:0;width:auto}.langsw button:first-child{border-radius:999px 0 0 999px}.langsw button:last-child{border-radius:0 999px 999px 0;border-left:0}.langsw button.on{background:var(--brand);color:#fff;font-weight:700}

/* tappable date at the top → native calendar picker */
label.datepick{flex:1;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-size:inherit;cursor:pointer;padding:8px 6px;border-radius:10px;border:1px dashed #cfc8ba;background:#fff;-webkit-tap-highlight-color:rgba(0,0,0,.05)}
label.datepick b{text-align:center}
label.datepick .cal{font-size:18px;line-height:1}
label.datepick input.datein{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;margin:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none;background:transparent;z-index:2}
label.datepick input.datein::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;opacity:0}
.instock{font-size:12.5px;font-weight:400;margin-top:2px;line-height:1.35}.instock .lowst{color:var(--warn);font-weight:700}.instock .okst{color:var(--ok)}

.stkbtns{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:3px}.stkbtns .link0{white-space:nowrap}.stkbtns .link0{background:none;border:0;padding:2px 0;margin:0;min-height:0;width:auto;font-size:12.5px;font-weight:600;color:var(--warn);text-decoration:underline;cursor:pointer;box-shadow:none}.stkbtns .link0[data-icnt]{color:var(--muted,#667)}

.stat.invf button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.2;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 4px;text-align:center;color:inherit;font:inherit;cursor:pointer;min-width:0;-webkit-tap-highlight-color:transparent}.stat.invf button b{display:block;font-size:24px}.stat.invf button.on{border:2px solid var(--brand,#1f3a5f);box-shadow:0 0 0 3px rgba(31,58,95,.12);background:#f3f6fb}.stat.invf button:active{transform:scale(.97)}
.invfbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;background:#f3f6fb;border:1px solid var(--line);border-radius:10px;scroll-margin-top:70px}.invfbar .link0{font-weight:600;white-space:nowrap;background:none;border:0;color:var(--brand);padding:6px 4px;min-height:0;box-shadow:none}


/* ⭐ extra effort */
.effcard{border-left:4px solid #e0a526}
.effentry{border-top:1px solid var(--line);padding:10px 0 8px}.effentry:first-of-type{border-top:0}
.effcard h3+p+.effentry,.effcard h3+.effentry{border-top:0}
.effbtn{min-height:0;padding:7px 12px;font-size:13.5px;flex:0 0 auto!important;width:auto}
.efflike.on{background:#fde8ea;color:#b4232f}
.effph{display:flex;gap:8px;flex-wrap:wrap}
.effthumb{position:relative}.effthumb img{width:86px;height:86px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}
.effthumb button{position:absolute;top:-7px;right:-7px;width:26px;height:26px;min-height:0;padding:0;border-radius:50%;background:#1d2321;color:#fff;font-size:13px;line-height:26px}


/* 🔁 rolling repeats */
.again .againb{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.again .againb button{min-height:0;padding:9px 12px;font-size:14px;background:#eef0ed;color:var(--ink);border:2px solid transparent;flex:0 0 auto;width:auto}
.again .againb button.on{background:var(--brand);color:#fff}
.again .againc{display:inline-flex;align-items:center;gap:4px;font-size:14px}.again .againc input{width:74px;padding:8px;min-height:0}
.rollb{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:3px}
.rp-table{display:none}.rp-cards .card{cursor:pointer}
@media (min-width:900px){.rp-table{display:block}.rp-cards{display:none}.rp-table tr.click{cursor:pointer}}


/* ===== DESKTOP (≥900px): sidebar nav, wide content, grids, centered dialogs. Phone (<900px) unchanged. ===== */
.dgrid{display:contents}
@media (min-width:900px){
  :root{--side:216px;--maxw:1200px}
  body{font-size:16px}
  .top{padding:12px 24px;height:60px;padding-top:12px}
  .brand b{font-size:18px}.brand small{font-size:13px}
  #who{font-size:14px}#who button:hover{background:rgba(255,255,255,.28)}
  .tabs{position:fixed;top:60px;left:0;bottom:0;width:var(--side);flex-direction:column;gap:3px;overflow-y:auto;border-bottom:0;border-right:1px solid var(--line);padding:16px 12px;z-index:4}
  .tabs a{flex:0 0 auto;text-align:left;padding:11px 16px;border-radius:10px;font-size:15.5px}
  .tabs a:hover:not(.on){background:#eef0ed;color:var(--ink)}
  .wrap{max-width:calc(var(--maxw) + 64px);padding:24px 32px 60px}
  body:has(#tabs:not([hidden])) .wrap{margin-left:max(var(--side), calc((100vw - var(--maxw) - 64px + var(--side)) / 2));margin-right:auto}
  /* worker side (no nav): a comfortable centered column */
  body[data-pg^="w-"] .wrap{--maxw:900px}
  /* sub-pages with a Back button: centered; edit forms ("sheets") become a dialog card */
  #app:has(> .back){--maxw:920px}
  #app:has(> #bk){--maxw:700px}
  #app > #bk + .card{padding:24px 28px;box-shadow:0 12px 40px rgba(29,35,33,.12);border-radius:18px}
  .back:hover{background:#e9ece8}
  h1{font-size:24px}h2{font-size:19px}
  table{font-size:14.5px}table.inv{font-size:14.5px}table.inv td,table.inv th{padding:9px 8px}
  td,th{padding:9px 8px}
  /* hover states */
  button:not([disabled]):not(.ghost):not(.link0):hover,.btn:hover{filter:brightness(1.1)}
  button.sec:hover,.btn.sec:hover{filter:none;background:#e2e6e1}
  button.ghost:hover{background:#eef0ed}
  a.jobcard:hover,.card.jobcard:hover{border-color:#c9c1b2;box-shadow:0 3px 12px rgba(29,35,33,.07)}
  tr.click:hover{background:#f3f0e8}
  .stat.invf button:hover{border-color:var(--brand2)}
  .days span:hover,.seg span:hover{border-color:var(--brand2);cursor:pointer}
  label.datepick:hover{border-color:var(--brand2)}
  .thumbs img{width:96px;height:96px}
  /* grids */
  .dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin:0 0 12px;align-items:start}
  .dgrid > *{margin:0}
  .dgrid2{column-count:2;column-gap:22px}.dgrid2 > .dcell{break-inside:avoid;display:block;overflow:hidden}.dgrid2 > .dcell > h2{margin-top:6px}
  .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:12px}
  .list > .card{margin:0}
  .stat{gap:14px}
  /* pages made of independent cards: two columns */
  body[data-pg="a-settings"] #app,body[data-pg="a-plan"] #app{column-count:2;column-gap:22px}
  body[data-pg="a-settings"] #app > *,body[data-pg="a-plan"] #app > *{break-inside:avoid}
  body[data-pg="a-plan"] #app > .between{column-span:all}
  body[data-pg="a-workers"] #app > .card:first-child{max-width:600px}
  /* Inventory main: action buttons in one line */
  body[data-pg="a-inv"] #app > a.btn.big{width:auto!important;min-width:260px}
  #viewer img{max-width:92vw;max-height:92vh}
  #toast{bottom:28px}
}


/* ===== 🏠 HOME dashboards (admin + worker), Oct 20 2026 ===== */
.hm{--sh:0 1px 2px rgba(29,35,33,.05),0 6px 20px rgba(29,35,33,.06)}
.hm-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 14px;padding:18px 18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#1f4e46 0%,#2d6b60 55%,#3f8a6f 100%);box-shadow:0 8px 24px rgba(31,78,70,.25)}
.hm-greet{font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.hm-date{opacity:.85;font-size:14px;margin-top:3px}
.hm-rf{flex:0 0 auto;width:42px;height:42px;min-height:0;padding:0;border-radius:50%;background:rgba(255,255,255,.18);font-size:20px}
.hm-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.hm-kpi{position:relative;display:block;text-decoration:none;color:var(--ink);background:#fff;border-radius:16px;padding:12px 14px 12px;box-shadow:var(--sh);border:1px solid rgba(0,0,0,.04);overflow:hidden}
.hm-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kc)}
.hm-kpi b{display:block;font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--kc)}.hm-kpi b span{font-size:16px;color:var(--muted);font-weight:700}
.hm-kpi small{color:var(--muted);font-size:13px;font-weight:600}
.hm-ki{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:var(--kb)}
.k-green{--kc:#1f7a4d;--kb:#e5f4ea}.k-blue{--kc:#2459b3;--kb:#e6eefb}.k-amber{--kc:#b06a00;--kb:#fff1dc}.k-red{--kc:#b3261e;--kb:#fde8e6}
.hm-grid{display:grid;grid-template-columns:1fr;gap:14px}
.hc{background:#fff;border-radius:18px;box-shadow:var(--sh);border:1px solid rgba(0,0,0,.04);overflow:hidden;min-width:0}
.hc-h{display:flex;align-items:center;gap:11px;padding:14px 14px 12px;text-decoration:none;color:var(--ink);border-bottom:1px solid #f0ece4}
.hc-ic{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px}
.hc-ic.green{background:#e5f4ea}.hc-ic.blue{background:#e6eefb}.hc-ic.amber{background:#fff1dc}.hc-ic.purple{background:#efe9fb}.hc-ic.red{background:#fde8e6}.hc-ic.teal{background:#e2f3f1}
.hc-tt{flex:1;min-width:0}.hc-tt b{display:block;font-size:17px;font-weight:750}.hc-tt small{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-go{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--brand);background:#eef3f1;padding:6px 10px;border-radius:999px}
.hc-b{padding:6px 14px 14px}
.hm-p,.hm-job{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #f3efe8}.hm-p:last-child,.hm-job:last-of-type{border-bottom:0}
.hm-f{flex:1;min-width:0}.hm-f b{display:block;font-size:15.5px;font-weight:700}.hm-f small{display:block;font-size:13px;color:#4c5552;margin-top:1px}.hm-f small.muted{color:var(--muted)}
.hm-av{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff;background:#9aa29f}
.hm-av.ok{background:#1f7a4d;box-shadow:0 0 0 3px #e5f4ea}.hm-av.bad{background:#b3261e;box-shadow:0 0 0 3px #fde8e6}.hm-av.warn{background:#c77700;box-shadow:0 0 0 3px #fff1dc}.hm-av.brand{background:var(--brand2)}.hm-av.mute{background:#a9b0ad}
.chip{display:inline-block;flex:0 0 auto;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#eef0ed;color:#5d6562;white-space:nowrap}
.chip.ok{background:#e5f4ea;color:#1f7a4d}.chip.warn{background:#fff1dc;color:#a35a00}.chip.bad{background:#fde8e6;color:#b3261e}
.hm-big{display:flex;align-items:center;gap:14px;padding:8px 0 10px}
.hm-big>b{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}.hm-big>b span{font-size:20px;color:var(--muted)}
.hm-bigm{flex:1;min-width:0}.hm-bigm>span{font-weight:700;font-size:14px}.hm-bigm small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}
.hm-bar{height:8px;border-radius:99px;background:#ece8df;overflow:hidden;margin-top:5px}.hm-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2d6b60,#3f8a6f)}
.hm-bar.ok span{background:linear-gradient(90deg,#1f7a4d,#33a06a)}.hm-bar.bad span{background:linear-gradient(90deg,#c0392b,#e0604f)}
.hm-t{margin:4px 0 2px;font-size:14px}.hm-t th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}.hm-t td,.hm-t th{padding:7px 2px;border-bottom:1px solid #f3efe8}
.hm-sub{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 4px}
.hm-li,.hm-ti{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #f5f2ec;text-decoration:none;color:var(--ink);font-size:14.5px}.hm-li:last-child,.hm-ti:last-child{border-bottom:0}
.hm-lt{flex:1;min-width:0;font-weight:600}.hm-li>small,.hm-ti>small{flex:0 0 auto;font-size:12.5px;text-align:right;max-width:46%}
.dot{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:800;background:#eef0ed;color:#7a817e}
.dot.ok{background:#1f7a4d;color:#fff}.dot.bad{background:#fde8e6;color:#b3261e}.dot.warn{background:#fff1dc;color:#a35a00}.dot.mute{background:#eef0ed;color:#7a817e;font-size:12px}
.tx-bad{color:#b3261e;font-weight:700}.tx-warn{color:#a35a00;font-weight:700}
.hm-ti.is .hm-lt{color:var(--muted);text-decoration:line-through;text-decoration-color:#c9c3b8;font-weight:500}
.hm-empty{color:var(--muted);font-size:14px;padding:12px 0 6px}.hm-empty.sm{padding:4px 0;font-size:13.5px}
.hm-ok{color:#1f7a4d;font-weight:700;font-size:14px;padding:8px 0 2px}
.hm-flag{font-size:13.5px;padding:7px 10px;margin:4px 0;border-radius:10px;background:#fff6e6;border:1px solid #f4e0b5}
.hm-more{display:inline-block;margin-top:6px;font-size:13.5px;font-weight:700;text-decoration:none}
.hm-mini{display:block;margin-top:10px;padding:10px 12px;border-radius:12px;background:#f6f4ef;color:var(--ink);text-decoration:none;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-day{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f3efe8}.hm-day:last-child{border-bottom:0}
.hm-dl{flex:0 0 82px}.hm-dl b{display:block;font-size:14px}.hm-dl small{color:var(--muted);font-size:12.5px}
.hm-dj{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.hm-uj{display:block;padding:8px 10px;border-radius:10px;background:#f5f2fc;border-left:3px solid #7b5cd6;text-decoration:none;color:var(--ink)}.hm-uj b{display:block;font-size:14.5px}.hm-uj small{color:var(--muted);font-size:12.5px}
.hm-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 2px}
.hm-tile{display:flex;flex-direction:column;align-items:center;gap:0;min-height:0;padding:10px 2px;border-radius:12px;background:#f4f4f2;color:var(--ink);line-height:1.15;border:0}
.hm-tile b{font-size:22px;font-weight:800}.hm-tile small{font-size:11.5px;font-weight:700;color:var(--muted)}
.hm-tile.bad{background:#fde8e6}.hm-tile.bad b{color:#b3261e}.hm-tile.warn{background:#fff1dc}.hm-tile.warn b{color:#a35a00}.hm-tile.ok{background:#e5f4ea}.hm-tile.ok b{color:#1f7a4d}
.hm-chips{display:flex;flex-wrap:wrap;gap:6px}
.hm-btns{display:flex;gap:8px;margin-top:14px}.hm-btns .btn{flex:1;min-height:42px;padding:9px 10px;font-size:14px;border-radius:11px}
.hm-todo{border:1px solid #efebe3;border-radius:14px;margin:8px 0;background:#fcfbf8}
.hm-todo summary{display:flex;align-items:center;gap:11px;padding:10px 12px;cursor:pointer;list-style:none}.hm-todo summary::-webkit-details-marker{display:none}
.hm-cnt{flex:0 0 auto;font-size:14px;color:var(--muted)}.hm-cnt b{font-size:18px;color:var(--ink)}
.hm-chev{flex:0 0 auto;color:var(--muted);font-size:20px;transition:transform .15s}.hm-todo[open] .hm-chev{transform:rotate(90deg)}
.hm-tl{padding:0 12px 8px}
.hm #pushcard:empty{display:none}
@media (min-width:600px){.hm-kpis{grid-template-columns:repeat(4,1fr)}.hm-greet{font-size:25px}}
@media (min-width:900px){.hm-hero{padding:22px 26px}.hm-grid{grid-template-columns:1fr 1fr;align-items:start}.hc-wide{grid-column:1/-1}.hm-tl{columns:2;column-gap:24px}.hm-ti{break-inside:avoid}
  .hm-kpi:hover,.hc-h:hover .hc-go{filter:brightness(.97)}}
@media (min-width:1700px){.hm-grid{grid-template-columns:repeat(3,1fr)}}


/* ===== FRESH LOOK (Oct 20 2026): Inter font + refreshed colors, cards, buttons, inputs, header, nav. Visual only. ===== */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/inter-latin.woff2?v=1) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/inter-latin-ext.woff2?v=1) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--bg:#f3f5f3;--card:#fff;--ink:#16201d;--muted:#66716d;--line:#e4e8e5;--brand:#1f4e46;--brand2:#2f7d6d;--ok:#18794e;--okbg:#e3f5eb;--warn:#a35a00;--warnbg:#fff2dd;--bad:#c0322b;--badbg:#fde9e7;--r:16px;--sh1:0 1px 2px rgba(22,32,29,.05),0 4px 14px rgba(22,32,29,.05)}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;font-feature-settings:"cv11","ss03";letter-spacing:-.006em;background:var(--bg);-webkit-font-smoothing:antialiased}
[dir=rtl],.t[dir=auto]:lang(he){letter-spacing:0}
.top{background:linear-gradient(120deg,#1a453e 0%,#1f4e46 45%,#2a6a5d 100%);box-shadow:0 2px 12px rgba(20,50,44,.18)}
.brand b{font-weight:800;letter-spacing:-.01em}.brand small{opacity:.78}
.logo{background:#fff;color:var(--brand);border-radius:11px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
#who button{border-radius:999px;padding:6px 12px;font-weight:600}
.tabs{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.6) blur(10px);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line);padding:7px 8px;gap:5px}
.tabs a{font-weight:600;font-size:14px;color:#56615d;padding:8px 13px}
.tabs a.on{background:var(--brand);color:#fff;box-shadow:0 2px 8px rgba(31,78,70,.28)}
.card{border:1px solid rgba(22,32,29,.06);border-radius:var(--r);box-shadow:var(--sh1)}
h1{font-weight:800;letter-spacing:-.02em}h2{font-size:17.5px;font-weight:750;letter-spacing:-.012em}h3{font-weight:700}
button,.btn{font-weight:650;border-radius:12px;background:var(--brand);box-shadow:0 1px 2px rgba(22,32,29,.12);transition:transform .08s,filter .15s,background .15s}
button:active:not([disabled]),.btn:active{transform:scale(.98)}
button.sec,.btn.sec{background:#fff;color:var(--ink);border:1px solid #dfe3e0;box-shadow:0 1px 2px rgba(22,32,29,.04)}
button.ghost{box-shadow:none}button.red{background:var(--bad)}
.langsw button,.stkbtns .link0,.invfbar .link0,.link0,button.tick.quick,.hm-tile,.hm-rf{box-shadow:none}
input,select,textarea{border:1px solid #d6dbd7;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand2);box-shadow:0 0 0 3px rgba(47,125,109,.18)}
label{font-weight:600;color:#2b3532}
.pill{font-weight:650;padding:3px 9px}
.stat div{border:1px solid rgba(22,32,29,.06);border-radius:14px;box-shadow:var(--sh1)}.stat b{font-weight:800;letter-spacing:-.02em}
.stat.invf button{border:1px solid rgba(22,32,29,.06);border-radius:14px;box-shadow:var(--sh1)}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}td,th{border-bottom-color:#edf0ee}
.tick{border-color:#c3cbc7}.tick.done{background:var(--ok);border-color:var(--ok)}
.job .t{font-weight:650;letter-spacing:-.01em}
.clock{border-radius:18px}.clock.in{background:linear-gradient(180deg,#eaf7ef,#f6fbf8);border-color:#9fd6b6}.clock .st{font-weight:800;letter-spacing:-.015em}
.marker{background:#e9efec;color:var(--brand);border-radius:12px}
.note{border-radius:12px}
.addphoto{border-radius:14px;border-color:#b9c4bf;background:#f7faf8}
.days span,.seg span{border-radius:10px}.seg{border-radius:12px;background:#eceeec}
#toast{border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.thumbs img{border-radius:10px}
#app>.card:has(#lf){max-width:420px;margin:24px auto;padding:26px 22px;border-radius:22px;box-shadow:0 10px 40px rgba(22,32,29,.10)}
/* worker home bits */
.hm-hero.wk .langsw{margin:0;flex:0 0 auto}.hm-hero.wk .langsw button{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55);min-height:30px;padding:4px 10px;font-size:12.5px}.hm-hero.wk .langsw button.on{background:#fff;color:var(--brand)}
.hm-hero.wk{align-items:flex-start}
.hm-kpis.wk3{grid-template-columns:repeat(3,1fr)}.hm-kpis.wk3 .hm-kpi{padding:11px 10px 10px}.hm-kpis.wk3 .hm-kpi b{font-size:24px}.hm-kpis.wk3 .hm-ki{display:none}.hm-kpis.wk3 small{font-size:12px;line-height:1.25;display:block}
.wk-h{margin-top:20px}
.wk-y .wk-yg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.wk-yg div{background:#f5f7f6;border-radius:12px;padding:10px 6px;text-align:center}.wk-yg b{display:block;font-size:22px;font-weight:800}.wk-yg small{color:var(--muted);font-size:12px}
@media (min-width:900px){.tabs{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.tabs a.on{box-shadow:none}.top{height:60px}}

/* show/hide password toggle (login) */
.pwwrap{position:relative;display:block}
.pwwrap>input{padding-right:50px !important}
.pwwrap>button.pweye{position:absolute;top:0;bottom:0;right:3px;margin:auto 0;width:44px;height:44px;min-height:0;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:10px;box-shadow:none;color:var(--muted);cursor:pointer;filter:none;transform:none}
.pwwrap>button.pweye:hover{color:var(--brand);background:rgba(0,0,0,.04)}
.pwwrap>button.pweye[aria-pressed="true"]{color:var(--brand)}
.pwwrap>button.pweye svg{display:block;pointer-events:none}
.pwwrap>input.pin{padding-left:50px !important}

/* forgot password link + reset page */
p.fpw{margin:10px 0 0;text-align:center}
button.linkbtn{background:transparent;border:0;box-shadow:none;color:var(--brand);font-weight:600;font-size:14.5px;padding:6px 8px;min-height:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;filter:none}
.fpwmsg{text-align:center;margin:2px 0 6px}

/* ---- 💲 Price list (admin, Inventory) ---- */
#plwrap .plhead{margin:4px 0 10px;flex-wrap:wrap}
.pltools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.pltools #plq{flex:1 1 240px;width:auto}.pltools #plsup{flex:0 1 220px;width:auto}
.plchk{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);white-space:nowrap}.plchk input{width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--brand)}
.plbtns{display:inline-flex;gap:6px;margin-left:auto}.plbtns button{min-height:40px;padding:8px 12px;font-size:13.5px}
.plscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px rgba(16,24,20,.04)}
table.pltab{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;font-size:13.5px;font-variant-numeric:tabular-nums}
table.pltab th{position:sticky;top:0;background:#f7f8f6;color:var(--muted);font-size:12px;font-weight:650;text-transform:none;letter-spacing:.01em;padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap;user-select:none}
table.pltab th.sort{cursor:pointer}table.pltab th.sort:hover{color:var(--ink)}table.pltab th.on{color:var(--brand)}
table.pltab td{padding:9px 10px;border-bottom:1px solid #eeebe4;vertical-align:top}
table.pltab tbody tr:last-child>td{border-bottom:0}
table.pltab .plitem{position:sticky;left:0;background:#fff;z-index:1;min-width:150px;max-width:230px;box-shadow:1px 0 0 #eeebe4}
table.pltab th:first-child{position:sticky;left:0;z-index:2}
table.pltab tr.plrow:hover td,table.pltab tr.plrow:hover .plitem{background:#f6f8f6}
table.pltab tr.plrow.open td{background:#eef4f2}
table.pltab .nowrap{white-space:nowrap}
.plchg{display:inline-block;font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px}
.plchg.up{background:var(--badbg);color:var(--bad)}.plchg.down{background:var(--okbg);color:var(--ok)}.plchg.same{background:#eef0ed;color:var(--muted)}
.plbest{color:var(--ok);font-weight:800}
tr.plnone td{color:#a3a9a6;background:#fbfbfa}tr.plnone td b{color:#9aa19e;font-weight:600}tr.plnone .plitem{background:#fbfbfa}tr.plnone{cursor:pointer}
tr.plhist>td{padding:0 10px 10px;background:#eef4f2}
.plhbox{background:#fff;border:1px solid #d9e4e0;border-radius:12px;padding:10px 12px;position:sticky;left:10px;max-width:640px}
table.plh{width:100%;font-size:13px;margin-top:6px}table.plh th{background:none;position:static;padding:6px 6px;font-size:11.5px}table.plh td{padding:7px 6px;border-bottom:1px solid #f0ede7}table.plh tr:last-child td{border-bottom:0}
.plfoot{margin:8px 2px 0}.plprinthead{display:none}
@media (max-width:520px){.plbtns{margin-left:0}.pltools #plsup{flex:1 1 100%}table.pltab{font-size:13px}table.pltab .plitem{min-width:132px;max-width:150px}}
@media print{
  body:has(#plwrap) .top,body:has(#plwrap) .tabs,body:has(#plwrap) .back,body:has(#plwrap) .pltools,body:has(#plwrap) .plhead,body:has(#plwrap) #toast{display:none!important}
  body:has(#plwrap){background:#fff}body:has(#plwrap) .wrap,body:has(#plwrap) #app{padding:0!important;max-width:none!important;margin:0!important}
  .plprinthead{display:block;font-weight:700;font-size:15px;margin:0 0 8px}
  .plscroll{overflow:visible;border:0;box-shadow:none}table.pltab{min-width:0;font-size:10.5px}table.pltab th,table.pltab td{padding:4px 5px}
  table.pltab th{position:static}table.pltab .plitem{position:static;box-shadow:none;max-width:none}tr.plrow,tr.plnone{break-inside:avoid}
  .plchg{padding:0;background:none!important}
}
@media (min-width:900px){.wrap:has(#plwrap),#app:has(#plwrap){--maxw:1200px}}

/* big jobs: what-to-do box + edit form (Oct 20 2026) */
.howto{margin:8px 0 4px;background:#fff8e6;border:2px solid #f0b44c;border-radius:12px;padding:10px 12px;color:#1d1d1f}
.howto-h{font-size:13px;font-weight:800;letter-spacing:.02em;color:#a3670b;margin-bottom:3px}
.howto-t{font-size:17px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:500}
.howto.big .howto-t{font-size:20px;line-height:1.5}
.howto.big{padding:12px 14px;margin:6px 0 2px}
.pill.bjtime{background:#e8efff;color:#1d4ed8}
.bjtodo{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere;color:#3a3a3c}
.bjedit{flex:0 0 auto;font-size:14px;font-weight:700;color:var(--accent,#1d4ed8);white-space:nowrap}
.red-t{color:var(--bad)!important;border-color:#f3c2bd}
.bjform textarea{min-height:96px}
.bjform select{min-height:44px}
@media print{.howto{border-width:1px}}
@media (min-width:900px){body[data-pg="a-plan"] #app:has(> .bjform){column-count:1}}

/* ===== Jobs tab: sub-tabs + Excel-style tables (Oct 20 2026) ===== */
.jsubs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 12px;padding-bottom:2px;scrollbar-width:none}.jsubs::-webkit-scrollbar{display:none}
.jsub{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:650;font-size:14px;text-decoration:none;white-space:nowrap}
.jsub.on{background:var(--brand);border-color:var(--brand);color:#fff}
.xhead{margin:0 0 10px;gap:10px;flex-wrap:wrap}.xhead h1{font-size:22px}.xadd{flex:0 0 auto;width:auto;min-height:40px;padding:8px 16px}
.pltools #xq{flex:1 1 240px;width:auto}
.xchips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;align-items:center}
.xchips button{width:auto;min-height:34px;padding:5px 12px;border-radius:999px;background:#fff;color:var(--ink);border:1px solid var(--line);font-size:13.5px;font-weight:600;box-shadow:none}
.xchips button b{color:var(--muted);font-weight:700;margin-left:3px}
.xchips button.on{background:#1f4e46;border-color:#1f4e46;color:#fff}.xchips button.on b{color:#cfe3dc}
.xchips button.xbad:not(.on){color:#b3261e}.xsep{width:1px;height:22px;background:var(--line);margin:0 4px}
table.xtab{min-width:980px}table.xtab th:first-child{left:auto;z-index:2}
table.xtab td.xjob{min-width:200px;max-width:300px}table.xtab td.xnote{max-width:260px;min-width:160px}
table.xtab .x1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
table.xtab tr.xlate td{background:#fdf1ef}table.xtab tr.xlate:hover td{background:#fbe6e3}
table.xtab tr.xdone td{color:#5d6562}table.xtab tr.xtoday td{background:#fffaf0}
table.xtab tr.click{cursor:pointer}table.xtab .bjedit{min-height:32px;padding:4px 10px;font-size:13px;width:auto;display:inline-block}
table.xtab .xth{width:30px;height:30px;object-fit:cover;border-radius:6px;vertical-align:middle;cursor:zoom-in}
table.xtab td.num,table.xtab th.num{text-align:right}
.chip.up{background:#e8eefb;color:#2b4c8c}
.xgh{display:flex;align-items:center;gap:8px;margin:18px 0 8px}.xfoot{margin:8px 2px 0}
/* ===== Inventory: Case / Each + notes (Oct 20 2026) ===== */
.csteps{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:0 0 auto}.cst{display:flex;flex-direction:column;align-items:flex-end}.cst small{font-size:11.5px;font-weight:650;color:var(--muted);margin:0 2px 1px}
.ctot{font-size:12px;color:var(--ok);text-align:right;min-height:0}.ctot:empty{display:none}
.innote{margin-top:6px;min-height:38px;font-size:14px;font-weight:400}.lnote{font-size:12.5px;font-weight:400;color:#7a4e00;margin-top:2px;overflow-wrap:anywhere}
.stkbtns .link0[data-inote]{color:var(--brand,#1f4e46)}
.nmark{font-size:13px;cursor:help}
.msheet{position:fixed;inset:0;z-index:40;background:rgba(16,24,20,.45);display:flex;align-items:flex-end;justify-content:center;padding:0}
.msheet-c{width:100%;max-width:520px;margin:0;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:92vh;overflow:auto}
.msteps{flex-direction:row;justify-content:flex-start;align-items:flex-end;gap:14px;flex-wrap:wrap}.msteps .cst{align-items:flex-start}.mtot{text-align:left;font-size:15px;margin:6px 0 2px}
body.noscroll{overflow:hidden}
@media (min-width:700px){.msheet{align-items:center}.msheet-c{border-radius:18px}}
@media print{.jsubs,.xchips,.pltools,.xadd{display:none!important}}
table.xtab{table-layout:fixed}table.xtab th.c-date{width:112px}table.xtab th.c-time{width:86px}table.xtab th.c-title,table.xtab th.c-name{width:250px}table.xtab th.c-who{width:140px}table.xtab th.c-rep,table.xtab th.c-freq{width:150px}table.xtab th.c-status{width:112px}table.xtab th.c-photo{width:100px}table.xtab th.c-edit{width:86px}table.xtab th.c-sort{width:48px}table.xtab th.c-area{width:150px}
table.xtab td{overflow-wrap:anywhere}table.xtab td.xnote,table.xtab td.xjob{max-width:none}

/* Oct 20 2026: new-version banner + error box with Back/Retry */
#newver{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:300;background:#1f4e46;color:#fff;padding:10px 12px 10px 16px;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);display:flex;gap:12px;align-items:center;font-weight:600;cursor:pointer;max-width:calc(100vw - 24px)}
#newver button{background:#fff;color:#1f4e46;padding:8px 12px;border-radius:10px;font-weight:700;min-height:0}
.errbox .row button{flex:0 0 auto}

/* Oct 20 2026: job example pictures (admin → worker) */
.refpics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.refpics img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#eee;cursor:zoom-in;display:block}
.refpics.big{grid-template-columns:1fr;gap:8px}
.refpics.big img{aspect-ratio:auto;max-height:440px;object-fit:contain;background:#f3f1ec}
.refpics.one:not(.big){grid-template-columns:minmax(0,180px)}
.refpick{display:flex;gap:8px;flex-wrap:wrap}
.rpi{position:relative;width:110px;height:110px}
.rpi img{width:110px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:zoom-in;display:block}
.rpi .rpx{position:absolute;top:-8px;right:-8px;width:30px;height:30px;min-height:0;padding:0;border-radius:50%;background:#c0392b;color:#fff;font-weight:800;line-height:30px;font-size:15px;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.rpbusy{display:flex;align-items:center;justify-content:center;border:2px dashed #b9c4bf;border-radius:10px;font-size:13px;color:var(--brand)}
.xcam{font-size:14px}

/* ===== Shopping list with every supplier's price (Oct 20 2026 v31) ===== */
.shtop{margin-bottom:12px}.shtop>.between>div:first-child{flex:1 1 380px}.shtotal{display:flex;flex-direction:column;align-items:flex-end;text-align:right;background:#eaf5ef;border:1px solid #bfe0cc;border-radius:12px;padding:8px 14px;min-width:170px}
.shtotal b{font-size:24px;color:#1e7a46;line-height:1.2}.shtotal small{font-size:11.5px;color:var(--muted);font-weight:600}
.shtools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.shtools .xchips{margin:0}.shtools select{width:auto;min-width:170px;flex:0 1 240px;margin:0}.shtools #shpr{width:auto;margin-left:auto}
.shitem{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 10px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.shhead{align-items:flex-start;gap:10px}.shname{font-weight:750;font-size:16px;color:var(--ink);text-decoration:none}.shname:hover{text-decoration:underline}
.shord{display:flex;flex-direction:column;align-items:center;background:#f4f2ee;border-radius:10px;padding:4px 12px;flex:0 0 auto}.shord b{font-size:20px;line-height:1.1}.shord small{font-size:11px;color:var(--muted);font-weight:600}
table.shsup{width:100%;margin-top:8px;font-size:13.5px;border-collapse:collapse}table.shsup th{font-size:11px;padding:4px 6px;background:none;position:static;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line)}
table.shsup td{padding:6px 6px;border-bottom:1px solid #f0ede7;vertical-align:top}table.shsup tr:last-child td{border-bottom:0}
table.shsup tr.shbest td{background:#e8f6ec}table.shsup tr.shbest td:first-child{border-radius:8px 0 0 8px}table.shsup tr.shbest td:last-child{border-radius:0 8px 8px 0}
.shok{color:#1e7a46;font-weight:700;font-size:12.5px}.shmore{color:#b3261e;font-weight:650;white-space:nowrap}.shmore small{font-weight:500}
.shnone{margin-top:8px;padding:7px 10px;border-radius:8px;background:#f6f4f0;font-size:13.5px;font-weight:650;color:#6b6257}
.shgrp{margin-top:14px}.shgh{align-items:center;gap:8px;flex-wrap:wrap;margin:0 2px 8px}.shgh h2{margin:0}.shgt{display:flex;align-items:center;gap:8px;font-size:15px}.shgt b{color:#1e7a46}.shgt button{width:auto;min-height:32px;padding:4px 10px;font-size:13px}
.shtext{margin-top:14px}.shdm{display:none}
@media (min-width:900px){.wrap:has(#shwrap),#app:has(#shwrap){--maxw:1000px}}
@media (max-width:520px){table.shsup .shc{display:none}.shdm{display:block;font-size:12px;margin-top:1px}table.shsup{font-size:12.5px}table.shsup th,table.shsup td{padding:5px 4px}.shtotal{align-items:flex-start;text-align:left;width:100%}.shtools select{flex:1 1 100%}.shtools #shpr{margin-left:0}}
@media print{
  body:has(#shwrap) .top,body:has(#shwrap) .tabs,body:has(#shwrap) .back,body:has(#shwrap) .shtools,body:has(#shwrap) .shtext,body:has(#shwrap) .shcp,body:has(#shwrap) #toast,body:has(#shwrap) .upbar{display:none!important}
  body:has(#shwrap){background:#fff}body:has(#shwrap) .wrap,body:has(#shwrap) #app{padding:0!important;max-width:none!important;margin:0!important}
  #shwrap .card,.shitem{box-shadow:none}.shitem{break-inside:avoid;padding:6px 8px;margin-bottom:6px}.shgh{break-after:avoid}
  table.shsup{font-size:11px}table.shsup tr.shbest td{background:#e8f6ec!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .shtotal{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ===== 📦 Delivery arrived + 📷 barcode scan (Oct 21 2026) ===== */
.wkinvbtns{display:flex;gap:8px;margin-top:14px}.wkinvbtns>*{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;margin:0}
.msheet-c{max-height:92vh;overflow:auto}
.seg button{flex:1;min-height:44px;border-radius:9px;background:transparent;color:var(--ink);border:0;font-weight:700;box-shadow:none}.seg button.on{background:#fff;color:var(--brand);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.scanbox{position:relative;width:100%;aspect-ratio:4/3;max-height:52vh;background:#111;border-radius:14px;overflow:hidden}
.scanbox video{width:100%;height:100%;object-fit:cover;display:block}
.scanline{position:absolute;left:10%;right:10%;top:50%;height:2px;background:#ff3b30;box-shadow:0 0 8px #ff3b30;animation:scanl 1.6s ease-in-out infinite alternate}
@keyframes scanl{from{top:30%}to{top:70%}}
.scanmsg{position:absolute;left:8px;right:8px;bottom:8px;color:#fff;font-size:14px;text-align:center;text-shadow:0 1px 3px #000}.scanmsg:empty{display:none}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.pklist{max-height:52vh;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:12px;padding:4px 6px;background:#fff}
.pkrow{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:46px;padding:10px 6px;font-weight:600;box-shadow:none}.pkrow:last-child{border-bottom:0}
.dlline .dlrm{min-height:36px;padding:4px 10px;color:var(--bad);flex:0 0 auto}
.dlline .csteps{margin-top:8px}

/* ===== worker Supplies: two tabs Used / Arrived (Oct 21 2026) ===== */
.supcard h3{font-size:18px}.suptabs-home{display:flex;gap:8px;margin-top:10px}.suptabs-home .btn{flex:1;text-align:center;margin:0;display:flex;align-items:center;justify-content:center}
.suptabs{display:flex;gap:6px;background:#eef0ed;border-radius:14px;padding:5px;margin:4px 0 12px;position:sticky;top:0;z-index:5}
.suptabs a{flex:1;text-align:center;padding:12px 6px;border-radius:10px;font-weight:800;font-size:17px;color:var(--muted);text-decoration:none}
.suptabs a.on{background:#fff;color:var(--brand);box-shadow:0 1px 5px rgba(0,0,0,.14)}
.suprow,.cntrow{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:8px 0}
.suprow .csteps{margin-top:8px}.suprow .instock{font-size:14px;margin-top:2px}
.rowact{display:flex;align-items:center;gap:8px;margin-top:8px}.rowact .rowstate{flex:1}.rowact .ghost{min-height:38px;padding:4px 10px;flex:0 0 auto}
.rowsave{flex:0 0 auto;min-height:42px;padding:6px 16px;font-weight:800}
.supsticky{position:sticky;bottom:10px;z-index:6;margin:8px 0}.supsticky .big{width:100%;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.cntrow{display:flex;align-items:center;gap:10px}.cntrow .nm{flex:1;min-width:0}.cntrow button{flex:0 0 auto;min-height:44px}
.dlline{border-top:1px solid var(--line);padding:10px 0 4px;margin-top:10px}
.suplinks{text-align:center;margin:14px 0 6px}.suplinks a{font-weight:700}
.flash{animation:flashrow 1.6s ease-out}@keyframes flashrow{from{background:#e5f4ea;box-shadow:0 0 0 3px #1f7a4d55}to{}}
[hidden]{display:none!important}
.suprow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center}.suprow .nm{grid-column:1;min-width:0}.suprow .csteps{grid-column:2;margin-top:0}.suprow .rowact,.suprow .innote{grid-column:1/-1}.suprow .rowact{margin-top:2px}.suprow .rowact:has(.rowstate:empty){margin-top:-6px}
.dlline .csteps{flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:8px}

/* ⚠️ low-stock flags (Oct 21 2026) */
.lowflag{font-size:12.5px;font-weight:600;color:#8a4b00;background:#fff4dc;border:1px solid #f3d38c;border-radius:8px;padding:2px 8px;margin-top:4px;display:inline-block;overflow-wrap:anywhere}
p.lowflag{display:block}
.lowbtn{color:#8a4b00}
.cntbtns{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.cntbtns button{min-height:40px;padding:6px 10px;font-size:14px}
.lowhint{color:#8a4b00}.lowhint .link0{font-weight:700;color:#8a4b00;text-decoration:underline;padding:0;min-height:0;background:none;border:0;font-size:inherit}
.lowgo{background:#c26a00;border-color:#c26a00}
.lowcard{background:#fff7e6;border:1.5px solid #f0c060;border-radius:14px;padding:10px 12px;margin:0 0 12px}
.lowcard .lowhead{color:#7a4200;margin-bottom:4px}
.lowrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #f3dca8}.lowrow:first-of-type{border-top:0}
.lowrow .lowtx{flex:1;min-width:0}.lowrow a{color:inherit;text-decoration:none}.lowrow button{flex:0 0 auto;min-height:38px}
.lowfoot{margin-top:4px}
.hm-wrap .lowcard,.lowcard.compact{margin-top:12px}
.lowhint .link0{width:auto;box-shadow:none;cursor:pointer}

/* ===== Item pictures + cleaner supply lists (Oct 21 2026) ===== */
.ithumb{flex:0 0 auto;width:52px;height:52px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.ithumb img{width:100%;height:100%;object-fit:cover;display:block}
.ithumb.none{background:#f3f5f3;font-size:24px;cursor:default;filter:grayscale(.2);opacity:.75}
.ithumb.sm{width:40px;height:40px;border-radius:10px}
.ithumb.sm.none{font-size:19px}
.ithumb.big{width:132px;height:132px;border-radius:16px}
.ithumb.big.none{font-size:54px}
.ithumb:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.inm{font-size:16px;line-height:1.25;letter-spacing:-.005em}
/* worker 📉 Usado row: picture | name + stock, then the amount boxes and buttons */
.suprow{grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;padding:12px;align-items:center}
.suprow>.ithumb{grid-column:1;grid-row:1;align-self:start}
.suprow .nm{grid-column:2}
.suprow .csteps{grid-column:3}
@media (max-width:560px){
  .suprow{grid-template-columns:auto minmax(0,1fr)}
  .suprow .csteps{grid-column:1/-1;flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:2px}
}
.suprow .rowact,.suprow .innote{grid-column:1/-1}
/* worker 📦 Llegó count row */
.cntrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px}
.cntrow>.ithumb{grid-column:1;align-self:start}
.cntrow .nm{grid-column:2}
.cntrow .cntbtns{grid-column:3;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:560px){
  .cntrow{grid-template-columns:auto minmax(0,1fr)}
  .cntrow .cntbtns{grid-column:1/-1}
  .cntrow .cntbtns button{flex:1 1 0}
}
.dlnm{display:flex;gap:10px;align-items:flex-start;min-width:0}
.pkrow{display:flex;align-items:center;gap:12px;padding:8px 6px}
.pktx{min-width:0;flex:1}
/* admin lists */
.itcell{display:flex;gap:10px;align-items:center;min-width:0}
.ittx{min-width:0}
table.inv td.itd{vertical-align:middle}
@media (max-width:560px){ table.inv .ithumb{width:44px;height:44px;border-radius:10px} .itcell{gap:8px} }
.shhead>.ithumb{align-self:flex-start}
.shhead{display:flex}
table.pltab td.plitem{vertical-align:middle}
/* item page picture */
.itpicbox{display:flex;gap:14px;align-items:center;margin:4px 0 6px}
.itpicact{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.itpicact .btn,.itpicact button{min-height:38px}
.itpicup{position:relative;overflow:hidden;cursor:pointer}
.itpicup input{position:absolute;inset:0;opacity:0;cursor:pointer}
.itprm{color:var(--bad)}
.itplink{display:flex;gap:8px;margin-top:6px}
.itplink input{flex:1;min-width:0}
#viewer img{background:#fff}

/* admin Inventory on a phone: each item is a clean card row — picture + name, status on the right, the numbers on one line under it */
.itcell{align-items:flex-start}
@media (max-width:600px){
  table.invl,table.invl tbody{display:block;width:100%}
  table.invl tr.invh{display:none}
  table.invl tr[data-it]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px;padding:10px 0;border-bottom:1px solid var(--line)}
  table.invl tr[data-it]:last-child{border-bottom:0}
  table.invl tr[data-it]>td{padding:0;border:0;text-align:left}
  table.invl td.itd{grid-column:1/4;grid-row:1}
  table.invl td.ist{grid-column:4;grid-row:1;text-align:right;align-self:start}
  table.invl td[data-l]{grid-row:2;font-size:13px;padding-left:54px}
  table.invl td[data-l]~td[data-l]{padding-left:0}
  table.invl td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
  table.invl .ithumb{width:44px;height:44px}
}

.cntrow .cntbtns{flex-direction:row}
@media (min-width:561px){ .cntrow .cntbtns{flex-direction:column} }
button.ghost.itprm{color:var(--bad);padding-left:4px}

/* phone: one amount box sits on the right of the buttons row (shorter rows); items counted by case + each get their own line */
@media (max-width:560px){
  .suprow{grid-template-columns:auto minmax(0,1fr) auto}
  .suprow .nm{grid-column:2/-1}
  .suprow .csteps{grid-column:3;grid-row:2;margin-top:0}
  .suprow .rowact{grid-column:1/3;grid-row:2;flex-wrap:wrap;margin-top:0;align-self:end}
  .suprow .rowact:has(.rowstate:empty){margin-top:0}
  .suprow.two .csteps{grid-column:1/-1}
  .suprow.two .rowact{grid-row:3}
  .suprow .innote{grid-row:auto}
}
@media (max-width:560px){ .suprow .rowact .rowstate:empty{display:none} .suprow .rowact{justify-content:flex-start;gap:4px} }

/* v39 — worker item pictures (📷 on the thumbnail → take / choose a photo) + admin "Picture by … ↩ Restore previous" */
.ithumb.wk{position:relative;cursor:pointer}
.ithumb.wk.none{opacity:1;filter:none;cursor:pointer;border-style:dashed;border-color:#b9c4bd}
.ithumb .icam{position:absolute;right:2px;bottom:2px;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 1px 2px rgba(0,0,0,.25);font-size:10px;line-height:18px;text-align:center;filter:none}
.ithumb.sm .icam{width:15px;height:15px;line-height:15px;font-size:8px;right:1px;bottom:1px}
.wpic .wpicbig{display:flex;justify-content:center}
.wpic .wpicbig img{width:240px;height:240px;max-width:100%;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#fff}
.wpic .wpicnone{width:200px;height:160px;border-radius:16px;background:#f3f5f3;border:1px dashed #b9c4bd;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:54px;gap:6px}
.wpic .wpicnone small{font-size:14px;color:var(--muted,#667)}
.wpic label.btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:0 0 8px;position:relative;overflow:hidden;cursor:pointer;box-sizing:border-box}
.wpic label.btn[hidden]{display:none}
.wpic label.btn.big{font-size:18px;min-height:56px}
.wpic label.btn input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.picby{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#f5f8f6;border:1px solid var(--line)}
.picby .small{flex:1 1 180px}
.picnew{margin:10px 0;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.picnrow{display:flex;align-items:center;gap:10px;padding:6px 0;text-decoration:none;color:inherit;border-top:1px solid var(--line)}
.picnrow:first-of-type{border-top:0}
.picnrow img{width:36px;height:36px;border-radius:8px;object-fit:cover;flex:0 0 auto;border:1px solid var(--line)}
.picnrow .small{flex:1;min-width:0}
.wpic .wpicbig[hidden],.wpic .wphint[hidden]{display:none}

/* ===== 📄 SCAN AN INVOICE (v41) ===== */
.btn.scanbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;line-height:1.2;padding:10px 14px}
.btn.scanbtn small{font-size:12.5px;font-weight:500;opacity:.88}
.scnor{text-align:center;margin:8px 0 6px}
.scnpages{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.scnpg{position:relative;width:96px;height:128px;border-radius:10px;overflow:visible;flex:0 0 auto}
.scnpg img{width:96px;height:128px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block;background:#fff}
.scnpages.sm .scnpg,.scnpages.sm .scnpg img{width:60px;height:80px}
.scnpgn{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;border-radius:8px;padding:1px 7px}
.scnpgbusy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.6);border-radius:10px;font-weight:800;font-size:22px}
.scnbusy{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 8px;text-align:center}
.spin{width:34px;height:34px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--brand);animation:scnspin .9s linear infinite}
@keyframes scnspin{to{transform:rotate(360deg)}}
.scnl{border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;background:#fff}
.scnl.skip{background:#f4f2ee;opacity:.75}
.scnread{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;justify-content:space-between;padding-bottom:6px;margin-bottom:8px;border-bottom:1px dashed var(--line)}
.scnread b{font-weight:600}
.scnq{white-space:nowrap}
.scnitem{align-items:flex-start}
.scnbtns{margin-top:8px;flex-wrap:wrap}.scnbtns button{flex:1 1 auto;min-height:40px;padding:6px 10px;font-size:14px}
.scnl .csteps{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;margin-top:8px}
.scnl .cst input[data-sv$="|price"]{width:104px}
.scndup{background:var(--warnbg);color:#6b3b00;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:14px}
.scntot{margin:10px 0 2px;padding:8px 10px;border-radius:10px;background:#faf8f3}
.scntot .bad{background:none;color:var(--bad);font-weight:600}
.pill.q{background:#e8eefc;color:#2a4fa8}
.scancard{border-color:#c9d6f5;background:#f7f9ff}
.scnico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 36px}
.scanpanel table{width:100%}

/* v42 auto-add result screen */
.scnres h4{margin:14px 0 4px;font-size:15px}
.scnsec{border-top:1px solid var(--line);padding-top:4px}
.scnsec.chk{background:var(--warnbg);border:0;border-radius:12px;padding:6px 10px 2px;margin:8px 0}
.scnsec.pend{border:2px dashed var(--line);border-radius:12px;padding:4px 10px 2px;margin:8px 0}
.scnr{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}
.scnsec h4+.small+.scnr,.scnsec h4+.scnr{border-top:0}
.scnrt{flex:1;min-width:0;overflow-wrap:anywhere}
.scnplus{color:var(--ok);font-weight:600;white-space:nowrap}
.scnr .scnbtns{display:flex;gap:6px;margin-top:6px}
.scnr .scnbtns button{flex:0 1 auto;min-height:36px;font-size:14px}
.scnr .scnq{display:flex;gap:8px;margin-top:6px;white-space:normal}
.scnr .scnq input{width:80px}
.scnrowx{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line)}
.scnrowx:first-of-type{border-top:0}
.scnrowx .picnrow{flex:1;min-width:0;border-top:0}
.scnrowx button{flex:0 0 auto;min-height:34px;padding:4px 8px;font-size:13px;width:auto}
button.sm{width:auto;min-height:36px;padding:6px 10px;font-size:14px}


/* ===================================================================================================
   ===== FRESH & FRIENDLY THEME (Oct 21 2026) — VISUAL ONLY. Paste this whole block at the END of app.css.
   Soft cool background, white header, rounded cards with soft shadows, friendly rounded font (Plus Jakarta Sans,
   self-hosted /jakarta-latin.woff2), mint-green brand, pastel status colors, icons on the admin tabs (CSS only).
   No HTML/JS/text changes. Remove the block to go back to the previous look.
   =================================================================================================== */
@font-face{font-family:"Jakarta";font-style:normal;font-weight:400 800;font-display:swap;src:url(/jakarta-latin.woff2?v=1) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f4f7f9;--card:#fff;--ink:#17212b;--muted:#5f6b7e;--line:#e7ecf1;--brand:#0b7d57;--brand2:#12a06f;--brandsoft:#e4f6ee;--brandink:#09603f;--sky:#2f7bf6;--skysoft:#e8f0fe;--ok:#0f7a52;--okbg:#e2f6ec;--warn:#ad5b00;--warnbg:#fff2df;--bad:#c7362d;--badbg:#fdeceb;--r:20px;--sh1:0 1px 2px rgba(23,33,43,.04),0 6px 20px rgba(23,33,43,.06);--sh:var(--sh1)}
body{font-family:"Jakarta","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;font-feature-settings:normal;letter-spacing:0;word-spacing:.02em;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
.hm-greet,h1,h2{letter-spacing:-.01em;word-spacing:.04em}
/* header: clean white bar, green check badge */
.top{background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px)}
.brand b{font-weight:800;letter-spacing:-.015em;color:var(--ink)}.brand small{opacity:1;color:var(--muted);font-weight:600}
.logo{background:linear-gradient(140deg,#22c38a 0%,#0b7d57 100%);color:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(11,125,87,.28);font-size:19px}
#who{color:var(--muted);font-weight:600}
#who button{background:#f0f3f6;color:var(--ink);border:0;border-radius:999px;font-weight:700;padding:6px 13px}
#who button:hover{background:#e6ebf0}
/* tabs: soft chips with icons */
.tabs{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);padding:8px 10px;gap:6px}
.tabs a{color:#4d5a6c;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;background:#f2f5f8}
.tabs a.on{background:var(--brandsoft);color:var(--brandink);box-shadow:inset 0 0 0 1.5px rgba(11,125,87,.22)}
.tabs a[href="#today"]::before{content:"📋 "}.tabs a[href="#hours"]::before{content:"⏱️ "}.tabs a[href="#pay"]::before{content:"💵 "}.tabs a[href="#jobs"]::before{content:"🧹 "}.tabs a[href="#inv"]::before{content:"📦 "}.tabs a[href="#missed"]::before{content:"⚠️ "}.tabs a[href="#workers"]::before{content:"👥 "}.tabs a[href="#settings"]::before{content:"⚙️ "}
.wrap{padding-top:16px}
/* cards */
.card{border:1px solid rgba(23,33,43,.05);border-radius:var(--r);box-shadow:var(--sh1);padding:16px}
h1{font-weight:800;letter-spacing:-.02em;font-size:23px}h2{font-weight:800;letter-spacing:-.015em}h3{font-weight:750}
/* buttons */
button,.btn{font-weight:700;border-radius:14px;background:var(--brand);box-shadow:0 2px 6px rgba(11,125,87,.22);letter-spacing:-.005em}
button:hover:not([disabled]),.btn:hover{filter:brightness(1.06)}
button.sec,.btn.sec{background:#fff;color:var(--ink);border:1px solid #e1e7ed;box-shadow:0 1px 2px rgba(23,33,43,.05)}
button.ghost{background:transparent;color:var(--brand);box-shadow:none}
button.red{background:var(--bad);box-shadow:0 2px 6px rgba(199,54,45,.22)}
button.big,.btn.big{border-radius:16px;min-height:56px}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(18,160,111,.45);outline-offset:2px}
/* inputs */
label{color:#2c3846;font-weight:700}
input,select,textarea{border:1.5px solid #e1e7ed;border-radius:14px;background:#fbfcfd}
input:focus,select:focus,textarea:focus{border-color:var(--brand2);background:#fff;box-shadow:0 0 0 4px rgba(18,160,111,.14)}
.pin{letter-spacing:14px}
/* small things */
.pill{border-radius:999px;font-weight:700;background:#eff3f6;color:#4d5a6c}
.pill.ok{background:var(--okbg);color:var(--ok)}.pill.warn{background:var(--warnbg);color:var(--warn)}.pill.bad{background:var(--badbg);color:var(--bad)}
.chip{background:#eff3f6;color:#4d5a6c}.chip.ok{background:var(--okbg);color:var(--ok)}.chip.warn{background:var(--warnbg);color:var(--warn)}.chip.bad{background:var(--badbg);color:var(--bad)}.chip.up{background:var(--skysoft);color:#1f5bc4}
.dot{background:#eff3f6;color:#6a7686}.dot.ok{background:var(--ok);color:#fff}.dot.bad{background:var(--badbg);color:var(--bad)}.dot.warn{background:var(--warnbg);color:var(--warn)}.dot.mute{background:#eff3f6;color:#6a7686}
.tick{border-color:#c9d2db;border-width:2.5px}.tick.done{background:linear-gradient(140deg,#22c38a,#0b7d57);border-color:transparent;box-shadow:0 3px 8px rgba(11,125,87,.25)}
.stat div,.stat.invf button{border:1px solid rgba(23,33,43,.05);border-radius:16px;box-shadow:var(--sh1)}
th{color:#6a7686;font-weight:700}td,th{border-bottom-color:#eef2f5}
tr.click:hover{background:#f6faf8}
.note{background:#fff8ea;border-color:#f6e2b4;border-radius:14px}
.marker{background:var(--brandsoft);color:var(--brandink);border-radius:999px}
.addphoto{border:2px dashed #b9d9ca;background:#f3fbf7;color:var(--brand);border-radius:18px}
.thumbs img,.refimg{border-radius:14px;border-color:var(--line)}
.days span{border-radius:12px;border-color:#e1e7ed}.days input:checked+span{background:var(--brand);border-color:var(--brand)}
.seg{background:#eef2f5;border-radius:14px}.seg span{border-radius:11px}.seg input:checked+span{box-shadow:0 1px 4px rgba(23,33,43,.12);color:var(--brandink)}
.jsub{border-color:#e1e7ed;font-weight:700}.jsub.on{background:var(--brand);border-color:var(--brand)}
.clock{border-radius:22px}.clock.in{background:linear-gradient(160deg,#e6f8ef,#f5fcf8);border-color:#a8e0c4}
.repcard{border-color:#bfe6d3}
#toast{background:#17212b;border-radius:999px;padding:12px 20px}
.langsw button{border-color:var(--brand);color:var(--brand)}.langsw button.on{background:var(--brand);color:#fff}
/* home dashboards (admin + worker): light, friendly hero instead of the dark green block */
.hm-hero{color:var(--ink);background:radial-gradient(circle at 92% 18%,rgba(255,255,255,.75) 0 38px,transparent 39px),radial-gradient(circle at 78% 110%,rgba(34,195,138,.18) 0 70px,transparent 71px),linear-gradient(135deg,#dcf5ea 0%,#e6f2fd 100%);box-shadow:none;border:1px solid rgba(11,125,87,.08);border-radius:24px}
.hm-greet{color:var(--ink)}.hm-date{color:var(--muted);opacity:1;font-weight:600}
.hm-rf{background:#fff!important;color:var(--brand)!important;border:0!important;box-shadow:0 2px 8px rgba(23,33,43,.08)!important}
.hm-hero.wk .langsw button{background:rgba(255,255,255,.7);color:var(--brandink);border-color:rgba(11,125,87,.35)}.hm-hero.wk .langsw button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.hm-kpi{border:1px solid rgba(23,33,43,.05);border-radius:20px;box-shadow:var(--sh1)}
.hm-kpi::before{display:none}
.hm-ki{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--kc) 13%,#fff);font-size:17px;margin-bottom:6px}
.hm-card,.hc{border-radius:22px}
.hc-h{border-bottom-color:#eef2f5}
.hc-ic{border-radius:14px}.hc-ic.green{background:var(--okbg)}.hc-ic.blue{background:var(--skysoft)}.hc-ic.amber{background:var(--warnbg)}.hc-ic.red{background:var(--badbg)}
.hc-go{color:var(--brand);font-weight:700}
.hm-av{box-shadow:none}.hm-av.ok{background:linear-gradient(140deg,#22c38a,#0b7d57);box-shadow:0 0 0 3px var(--okbg)}.hm-av.brand{background:linear-gradient(140deg,#4f9bff,#2f6fe0)}.hm-av.mute{background:#b3bdc8}
.hm-tile{background:#f2f5f8;border-radius:16px}.hm-tile.bad{background:var(--badbg)}.hm-tile.warn{background:var(--warnbg)}.hm-tile.ok{background:var(--okbg)}
.hm-empty{background:#f7f9fb;border:1.5px dashed #dfe6ec;border-radius:16px;color:var(--muted)}
.wk-yg div{background:#f4f7f9;border-radius:16px}
.btn.scanbtn{background:linear-gradient(135deg,#12a06f,#0b7d57)}
/* login: soft gradient page + floating card */
body:has(#lf){background:radial-gradient(circle at 12% 8%,#d9f4e8 0,transparent 42%),radial-gradient(circle at 95% 30%,#e3eefd 0,transparent 40%),var(--bg)}
body:has(#lf) .top{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
#app>.card:has(#lf){border-radius:28px;box-shadow:0 18px 50px rgba(23,33,43,.10);border:1px solid rgba(255,255,255,.8)}
#app>.card:has(#lf) h1{text-align:center;font-size:26px}
#app>.card:has(#lf) h1+p.muted{text-align:center}
#app>.card:has(#lf)::before{width:96px;height:96px;border-radius:22px;box-shadow:0 12px 28px rgba(11,125,87,.25)}
.demohint{border-radius:14px}
/* remaining warm-beige leftovers → cool soft tones */
.hm-bar span{background:linear-gradient(90deg,#22c38a,#0b7d57)}
.hm-p,.hm-job,.hm-t td,.hm-t th,.hm-day{border-color:#eef2f5}
.hm-mini{background:#f2f7f5;border-radius:14px}
a.jobcard:hover,.card.jobcard:hover{border-color:#bfe6d3}
.back:hover,button.ghost:hover{background:#eef3f2}
button.sec:hover,.btn.sec:hover{background:#f4f7f9}
.again .againb button,.plchg.same,.suptabs{background:#eef2f5}
table.pltab td,table.pltab .plitem,table.plh td,table.shsup td{border-color:#eef2f5}
tr.plnone td,tr.plnone .plitem{background:#fafbfc}
.shord,.scnl.skip,.scntot{background:#f5f7f9}
.ithumb.none,.wpic .wpicnone{background:#f2f5f8}
label.datepick{border-color:#e1e7ed;border-radius:14px}
.xchips button.on{background:var(--brand);border-color:var(--brand)}
#newver{background:var(--brand)}#newver button{color:var(--brand)}
.stkbtns .link0[data-inote]{color:var(--brand)}
/* fix (also in live v41/v42): the ✕ "remove page" button on a scanned invoice page had no style outside .rpi */
.scnpg .rpx{position:absolute;top:-8px;right:-8px;width:30px;height:30px;min-height:0;padding:0;border-radius:50%;background:var(--bad);color:#fff;font-weight:800;line-height:30px;font-size:15px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
@media (min-width:900px){
  .tabs{background:#fff}
  .tabs a{background:transparent;border-radius:12px}
  .tabs a:hover:not(.on){background:#f2f5f8}
  .tabs a.on{box-shadow:none}
  #who button:hover{background:#e6ebf0}
}

/* ===================================================================================================
   PRO LAYOUT — round 3 (Oct 21 2026). Built on the round-1 look (colors/font unchanged).
   Copied patterns: Sortly (stats strip, item rows with photo + qty chip, search), MaintainX/UpKeep (big main
   actions, grouped list rows with icon + count + ›), Connecteam/Homebase (big clock card), Jibble (clean rows).
   Mixed sizes on purpose: 1 big hero action, 2 medium actions, then normal full-width list rows.
   =================================================================================================== */
.px-sec{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:24px 4px 8px;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b778a}
.px-sec em{font-style:normal;font-weight:700;letter-spacing:0;text-transform:none;color:#8a95a5;margin-left:4px}
.px-sec a{font-size:14px;letter-spacing:0;text-transform:none;font-weight:700;color:var(--brand);text-decoration:none}
.px-list{background:#fff;border-radius:18px;box-shadow:var(--sh1);border:1px solid rgba(23,33,43,.05);overflow:hidden}
.px-list>*+*{border-top:1px solid var(--line)}
.px-row{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:11px 14px;margin:0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--ink);text-decoration:none;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.px-row:active,a.px-irow:active,a.px-jrow:active{background:#f5f7f9}
.px-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:#eef2f6}
.px-ic.green,.px-mi.green{background:var(--brandsoft)}.px-ic.blue,.px-mi.blue{background:var(--skysoft)}.px-ic.amber,.px-mi.amber{background:var(--warnbg)}.px-ic.red,.px-mi.red{background:var(--badbg)}.px-ic.purple,.px-mi.purple{background:#f1ebff}.px-ic.teal,.px-mi.teal{background:#e2f5f6}
.px-ic.green{color:var(--ok);font-weight:800}
.px-tx{flex:1;min-width:0;display:block}
.px-tx b{display:block;font-size:15.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.px-tx small{display:block;font-size:13px;color:var(--muted);line-height:1.35;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.px-n{flex:none;min-width:28px;height:26px;padding:0 9px;border-radius:999px;background:#eef2f6;color:#334155;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.px-n.ok{background:var(--okbg);color:var(--ok)}.px-n.warn{background:var(--warnbg);color:var(--warn)}.px-n.bad{background:var(--badbg);color:var(--bad)}
.px-chev{flex:none;color:#a7b1be;font-size:24px;line-height:1;font-weight:400;margin-left:-2px;transition:transform .15s}
details.px-acc>summary{list-style:none}details.px-acc>summary::-webkit-details-marker{display:none}
details.px-acc[open]>summary .px-chev{transform:rotate(90deg)}
details.px-acc[open]>summary{background:#fafbfc}
.px-body{padding:6px 14px 14px;border-top:1px solid var(--line)}
.px-body .lowcard,.px-body .picnew,.px-body .effcard{margin:0;padding:0;border:0;box-shadow:none;background:none}
.px-body .lowhead,.px-body .picnew>.small:first-child{display:none}
.px-body .hm-p,.px-body .hm-job,.px-body .hm-li{padding-left:0;padding-right:0}
.px-body .hm-more{display:inline-block;margin-top:8px;font-weight:700;color:var(--brand);text-decoration:none}
/* big main action */
.px-big{display:flex;align-items:center;gap:14px;min-height:98px;padding:18px;border-radius:22px;text-decoration:none;color:var(--ink);background:#fff;box-shadow:var(--sh1)}
.px-big.hero{background:linear-gradient(135deg,#19ad78 0%,#0b7d57 100%);color:#fff;box-shadow:0 12px 26px rgba(11,125,87,.28)}
.px-bi{flex:none;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:rgba(255,255,255,.2)}
.px-big .px-tx b{font-size:20px;font-weight:800;color:inherit}
.px-big .px-tx small{color:inherit;opacity:.9;font-size:13.5px;white-space:normal}
.px-big .px-chev{color:rgba(255,255,255,.85);font-size:30px}
/* two medium actions */
.px-mid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.px-mid{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border-radius:18px;background:#fff;box-shadow:var(--sh1);border:1px solid rgba(23,33,43,.05);color:var(--ink);text-decoration:none}
.px-mi{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:21px;background:#eef2f6}
.px-mid b{font-size:15.5px;font-weight:800;line-height:1.2}.px-mid small{font-size:12.5px;color:var(--muted);margin-top:-6px}
/* numbers strip */
.px-stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-top:12px;background:#fff;border-radius:18px;box-shadow:var(--sh1);border:1px solid rgba(23,33,43,.05);overflow:hidden}
.px-st{display:block;padding:11px 4px 10px;text-align:center;background:none;border:0;border-radius:0;box-shadow:none;margin:0;font:inherit;color:var(--ink);text-decoration:none;cursor:pointer}
.px-st+.px-st{border-left:1px solid var(--line)}
.px-st b{display:block;font-size:22px;font-weight:800;line-height:1.15}.px-st b span{font-size:14px;color:#8a95a5;font-weight:700}
.px-st small{display:block;font-size:12px;color:var(--muted);font-weight:600}
.px-st.on{background:var(--brandsoft);box-shadow:inset 0 -3px 0 var(--brand)}
div.px-st{cursor:default}
.tx-ok{color:var(--ok)}
/* page head, search, item rows */
.px-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 2px 12px}
.px-head h1{margin:0;font-size:26px;font-weight:800}
.px-add{padding:8px 14px;border-radius:999px;background:var(--brandsoft);color:var(--brandink);font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap}
.px-search{margin:14px 0 2px}
.px-search input{width:100%;height:46px;border-radius:14px;border:1px solid var(--line);background:#fff;padding:0 14px;font:inherit;font-size:16px;box-shadow:var(--sh1)}
.px-irow{display:flex;align-items:center;gap:12px;padding:9px 12px 9px 10px;color:var(--ink);text-decoration:none}
.px-irow .ithumb{width:48px;height:48px;flex:none;border-radius:12px}
.px-irow .ithumb img{width:48px;height:48px;border-radius:12px;object-fit:cover}
.px-q{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:54px}
.px-q b{font-size:18px;font-weight:800;line-height:1}
.px-chip{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:#eef2f6;color:#475569;white-space:nowrap}
.px-chip.ok{background:var(--okbg);color:var(--ok)}.px-chip.warn{background:var(--warnbg);color:var(--warn)}.px-chip.bad{background:var(--badbg);color:var(--bad)}
.px-grp.need .px-sec span{color:var(--bad)}
.px-none{padding:14px;text-align:center;color:var(--muted)}
.px-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:10px 4px 0;font-size:13px;color:var(--muted)}
.px-info{display:inline-block;vertical-align:middle}
.px-info>summary{list-style:none;width:24px;height:24px;border-radius:50%;background:#e9eef3;color:#5f6b7e;font-size:13px;font-weight:800;display:grid;place-items:center;cursor:pointer}
.px-info>summary::-webkit-details-marker{display:none}
.px-info[open]{flex-basis:100%;display:block}
.px-infob{margin-top:8px;padding:10px 12px;border-radius:12px;background:#f3f6f9;font-size:13px;line-height:1.45;color:#4a5568;text-align:left}
/* admin home: Today card */
.px-today{display:block;margin-top:14px;padding:16px 18px;border-radius:22px;background:#fff;box-shadow:var(--sh1);border:1px solid rgba(23,33,43,.05);color:var(--ink);text-decoration:none}
.px-tt{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b778a}
.px-go{color:var(--brand);font-size:14px;letter-spacing:0;text-transform:none}
.px-tbig{display:flex;align-items:baseline;gap:8px;margin:4px 0 8px}
.px-tbig b{font-size:42px;font-weight:800;line-height:1}.px-tbig b span{font-size:22px;color:#8a95a5}
.px-tbig small{font-size:15px;color:var(--muted);font-weight:600}
.px-today .hm-bar{height:10px}
.px-tin{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px;color:var(--muted)}
.px-tin b{color:var(--ink)}
.px-avs{display:flex}.px-avs .hm-av{width:30px;height:30px;font-size:13px;border:2px solid #fff;margin-left:-8px}.px-avs .hm-av:first-child{margin-left:0}
.px-avs:empty{display:none}
.px-allok{margin-top:18px;padding:13px 16px;border-radius:16px;background:var(--okbg);color:var(--ok);font-weight:700}
/* worker home */
.px .clock{padding:18px;border-radius:22px;margin-top:14px}
.px .clock .st{font-size:18px;font-weight:800}
.px .clock #cbtn{min-height:58px;font-size:18px;border-radius:16px;margin-top:12px}
.px-cfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:14px;color:var(--muted)}
.px-jrow{display:block;padding:11px 12px 11px 14px;color:var(--ink);text-decoration:none;background:#fff}
.px-jrow .job{align-items:center}
.px-jrow .t{font-weight:700;font-size:15.5px}
.px-jrow .m{font-size:13px}
.px-jrow.isdone{opacity:1}.px-jrow.isdone .t{color:#5f6b7e}
.px-inner>*+*{border-top:1px solid var(--line)}
.px-inner .px-jrow{padding-left:0;padding-right:0}
.px .marker{padding:9px 14px;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b778a;background:#f7f9fb}
.px .repcard{margin:10px 0}
.hm.px .hm-hero{margin-bottom:0}
@media (min-width:900px){.px-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:start}.px-mid2{grid-template-columns:repeat(4,1fr)}.inv3 .px-mid2{grid-template-columns:1fr 1fr}}
.px-gap{margin-top:12px}
.px-tmb>h2{display:none}.px-tmb .card{margin:0;border:0!important;background:none!important;padding:4px 0;box-shadow:none}
.px-body .scancard{margin:0;padding:0;border:0;box-shadow:none;background:none}.px-body .scancard>.small:first-child{display:none}
.px-stline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.px-stline .px-info[open]{order:3}
.px .px-list .marker{border-radius:0;margin:0;border:0;box-shadow:none}
@media (min-width:900px){.home3 .px-mid2{grid-template-columns:1fr 1fr}}

/* ===================================================================================================
   UPKEEP STYLE — round 4 (Oct 21 2026). Avrom picked UpKeep: "small dots on top, then a nice list —
   not too bulky, not too small". Line icons (no emoji tiles), a white band of round quick-action dots,
   then a light-grey body with small section headers and quiet bordered rows. Green stays the accent.
   =================================================================================================== */
:root{--uk-bg:#f5f6f8;--uk-line:#e3e6ea;--uk-ink:#1f2633;--uk-sub:#6b7380;--uk-ic:#4b5563}
body{background:var(--uk-bg)}
svg.uki{width:22px;height:22px;display:block}
/* header + tabs: flat, white, text tabs with an underline (UpKeep "Details / Files / Work Orders") */
.top{background:#fff;box-shadow:none;border-bottom:1px solid var(--uk-line);padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px}
.brand .logo{width:30px;height:30px;font-size:15px}
.brand b{font-size:16px}.brand small{font-size:12px}
.tabs{background:#fff;padding:0 8px;gap:2px;border-bottom:1px solid var(--uk-line)}
.tabs a{background:transparent;border-radius:0;padding:12px 10px 10px;font-size:14px;font-weight:600;color:#6b7380;border-bottom:2.5px solid transparent;box-shadow:none}
.tabs a.on{background:transparent;color:var(--brand);border-bottom-color:var(--brand);box-shadow:none}
@media (min-width:900px){.tabs{padding:16px 12px}.tabs a{border-bottom:0;border-radius:8px;padding:10px 14px}.tabs a.on{background:var(--brandsoft);color:var(--brandink)}}
/* page head */
.uk .uk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;margin:-16px -12px 0;padding:14px 16px 6px}
.uk .uk-head h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--uk-ink);line-height:1.25}
.uk .uk-head small{display:block;font-size:13px;color:var(--uk-sub);margin-top:2px;font-weight:500}
.uk .uk-hbtn{flex:none;width:38px;height:38px;min-height:0;padding:0;margin:0;border-radius:50%;border:1px solid var(--uk-line);background:#fff;color:var(--uk-ic);display:grid;place-items:center;box-shadow:none;text-decoration:none}
.uk .uk-hbtn svg.uki{width:19px;height:19px}
.uk .uk-hbtn.uk-add{background:var(--brand);border-color:var(--brand);color:#fff}
.uk .uk-head .langsw{margin:0;flex:none}
.uk .uk-head .langsw button{min-height:30px;padding:4px 10px;font-size:12.5px;background:#fff;color:var(--uk-ic);border-color:var(--uk-line)}
.uk .uk-head .langsw button.on{background:var(--brandsoft);color:var(--brandink);border-color:var(--brandsoft)}
/* the dots */
.uk-dots{display:flex;justify-content:space-around;align-items:flex-start;gap:4px;background:#fff;margin:0 -12px;padding:12px 8px 14px;border-bottom:1px solid var(--uk-line)}
.uk-da{flex:1 1 0;min-width:0;max-width:84px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;margin:0;min-height:0;background:none;border:0;box-shadow:none;color:var(--uk-ink);text-decoration:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.uk-dot{position:relative;width:48px;height:48px;border-radius:50%;background:#eef0f3;color:#3f4754;display:grid;place-items:center;transition:transform .12s}
.uk-dot svg.uki{width:22px;height:22px}
.uk-dot.pri{background:var(--brand);color:#fff;box-shadow:0 2px 6px rgba(11,125,87,.28)}
.uk-dot.out{background:#fdecea;color:#c7362d}
.uk-da:active .uk-dot{transform:scale(.93)}
.uk-da:disabled{opacity:.55}
.uk-dl{font-size:12px;font-weight:500;line-height:1.25;color:#374151;text-align:center;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.uk-bdg{position:absolute;top:-3px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e5483f;color:#fff;font:700 11px/18px system-ui,sans-serif;font-style:normal;text-align:center;border:2px solid #fff}
/* body */
.uk .uk-body{padding-top:2px}
.uk .px-sec{margin:20px 2px 8px;font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--uk-ink)}
.uk .px-sec em{color:var(--uk-sub);font-weight:500;font-size:13.5px}
.uk .px-sec a{font-size:14px;font-weight:600;color:var(--brand)}
/* nav rows = separate quiet bordered cards with a small gap (UpKeep dashboard) */
.uk .px-list:not(:has(.px-irow,.px-jrow,.repcard)){background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible;display:flex;flex-direction:column;gap:8px}
.uk .px-list:not(:has(.px-irow,.px-jrow,.repcard))>*+*{border-top:0}
.uk .px-list:not(:has(.px-irow,.px-jrow,.repcard))>.px-row,.uk .px-list:not(:has(.px-irow,.px-jrow,.repcard))>details.px-acc{background:#fff;border:1px solid var(--uk-line);border-radius:8px;overflow:hidden}
.uk .px-row{min-height:56px;padding:9px 14px;gap:12px}
.uk .px-ic{width:24px;height:24px;border-radius:0;background:none!important;color:var(--uk-ic)}
.uk .px-ic.green{color:var(--ok)}.uk .px-ic.blue{color:#2f6fe0}.uk .px-ic.amber{color:#c27400}.uk .px-ic.red{color:#d03b31}.uk .px-ic.purple{color:#7c4ddb}.uk .px-ic.teal{color:#0e8a8a}
.uk .px-tx b{font-size:15px;font-weight:600;color:var(--uk-ink)}
.uk .px-tx small{font-size:13px;color:var(--uk-sub);margin-top:1px}
.uk .px-n{background:none;color:var(--uk-sub);font-size:15px;font-weight:600;min-width:0;height:auto;padding:0 2px}
.uk .px-n.ok{background:none;color:var(--ok)}
.uk .px-n.warn,.uk .px-n.bad{min-width:24px;height:22px;padding:0 7px;font-size:12.5px;font-weight:700}
.uk .px-n.warn{background:#fff1dc;color:#ad5b00}.uk .px-n.bad{background:#fdeceb;color:#c7362d}
.uk .px-chev{color:#9aa3af;font-size:0;margin:0}.uk .px-chev svg.uki{width:18px;height:18px}
.uk details.px-acc[open]>summary{background:#fafbfc}
.uk .px-allok{background:#fff;border:1px solid var(--uk-line);border-radius:8px;box-shadow:none;font-size:14.5px;padding:14px;margin-top:16px}
/* admin "Today" card */
.uk-today{display:block;background:#fff;border:1px solid var(--uk-line);border-radius:8px;padding:12px 14px;text-decoration:none;color:var(--uk-ink)}
.uk-today .uk-tr{display:flex;align-items:center;justify-content:space-between;gap:10px}
.uk-today .uk-tl{font-size:14px;color:var(--uk-sub);font-weight:500}
.uk-today .uk-tr>b{font-size:20px;font-weight:700}.uk-today .uk-tr>b span{font-size:14px;color:var(--uk-sub);font-weight:600}
.uk-today .hm-bar{height:6px;margin:8px 0 10px;background:#eef0f3}
.uk-today .uk-tin{justify-content:flex-start;font-size:13.5px;color:var(--uk-sub)}.uk-today .uk-tin b{color:var(--uk-ink)}
.uk-today .hm-av{width:24px;height:24px;font-size:11px;border:2px solid #fff;margin-right:-6px}
.uk-today .px-avs{display:flex;margin-right:10px}
/* inventory: search, filter chips, sort line, UpKeep "Parts" rows */
.uk-search{position:relative;margin:14px 0 0}
.uk-search svg.uki{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#8a929e;pointer-events:none}
.uk-search input{width:100%;height:42px;min-height:0;margin:0;padding:0 12px 0 38px;border-radius:10px;border:0;background:#e9ecef;font-size:15px;box-shadow:none}
.uk-search input:focus{background:#fff;outline:2px solid var(--brand)}
.uk-filt{display:flex;gap:8px;margin:10px 0 0;overflow-x:auto;scrollbar-width:none}
.uk-fc{flex:none;min-height:0;height:32px;margin:0;width:auto;padding:0 12px;border-radius:999px;border:1px solid var(--uk-line);background:#fff;color:#374151;font-size:13.5px;font-weight:600;box-shadow:none}
.uk-fc b{font-weight:700;color:var(--uk-sub);margin-left:3px}
.uk-fc.warn b{color:#ad5b00}.uk-fc.bad b{color:#c7362d}
.uk-fc.on{background:var(--brand);border-color:var(--brand);color:#fff}.uk-fc.on b{color:#fff}
.uk-sort{display:flex;justify-content:space-between;font-size:13px;color:var(--uk-sub);margin:14px 2px 0}.uk-sort b{color:#374151;font-weight:600}
.uk .px-grp .px-sec{margin-top:16px}
.uk .px-grp .px-list{background:#fff;border:1px solid var(--uk-line);border-radius:8px;box-shadow:none}
.uk .px-grp .px-list>*+*{border-top:1px solid #eceef1}
a.uk-irow{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;text-decoration:none;color:var(--uk-ink)}
a.uk-irow .px-tx b{font-size:15px;font-weight:600}
a.uk-irow .px-tx small{white-space:normal}
a.uk-irow .uk-q{display:inline;font-size:13px;font-weight:700;color:var(--uk-ink)}
.uk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.uk-chip{display:inline-block;font-size:12px;font-weight:600;line-height:1;padding:4px 8px;border-radius:999px}
.uk-chip.bad{background:#fde3e1;color:#b42318}.uk-chip.warn{background:#fff0d6;color:#9a5200}
a.uk-irow .ithumb,a.uk-irow img{flex:none;width:46px;height:46px;border-radius:6px;object-fit:cover}
.uk .invfbar{margin-top:10px}
.uk .px-foot{margin-top:10px}
/* worker: clock status card + job rows */
.uk .uk-clock{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--uk-line);border-left:4px solid #c3c9d1;border-radius:8px;box-shadow:none;padding:11px 14px;margin:14px 0 0}
.uk .uk-clock.in{border-left-color:var(--ok)}
.uk .uk-clock .uk-cm{flex:1;min-width:0}
.uk .uk-clock .st{font-size:15px;font-weight:600;color:var(--uk-ink)}
.uk .uk-clock .loc{margin-top:4px;font-size:13px}
.uk .uk-clock .loc .pill{font-size:12px;padding:3px 8px}
.uk .uk-wh{flex:none;text-align:right;border-left:1px solid #eceef1;padding-left:12px}
.uk .uk-wh b{display:block;font-size:18px;font-weight:700;color:var(--uk-ink)}.uk .uk-wh b span{font-size:13px;color:var(--uk-sub);font-weight:600}
.uk .uk-wh small{font-size:12px;color:var(--uk-sub)}
.uk .px-list:has(.px-jrow){background:#fff;border:1px solid var(--uk-line);border-radius:8px;box-shadow:none}
.uk .px-list:has(.px-jrow)>*+*{border-top:1px solid #eceef1}
.uk a.px-jrow .job .t{font-size:15px;font-weight:600}
.uk a.px-jrow .job .m{font-size:13px}
.uk .card{box-shadow:none;border:1px solid var(--uk-line);border-radius:10px}
.uk .repcard{margin-top:8px}
@media (min-width:900px){.uk .uk-head{margin:0 0 0;border-radius:10px 10px 0 0;border:1px solid var(--uk-line);border-bottom:0}.uk-dots{margin:0;border:1px solid var(--uk-line);border-top:0;border-radius:0 0 10px 10px;justify-content:flex-start;gap:18px;padding:14px 18px}.uk-da{flex:0 0 84px}}
.tabs a::before{content:none!important}
#who{font-size:13px;font-weight:500}
#who button{background:#fff;border:1px solid var(--uk-line);color:#374151;font-weight:600;font-size:13px;min-height:32px;padding:4px 12px;box-shadow:none}
body{font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,"Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;word-spacing:0;letter-spacing:-.005em;font-feature-settings:"cv11"}
/* other screens: same quiet surface (flat cards, thin border) */
#app .card{box-shadow:none;border:1px solid var(--uk-line);border-radius:10px}
#app h1,#app h2{letter-spacing:-.01em}

/* ===================================================================================================
   ROUND 5 (Oct 22 2026): refresh button in the header + the UpKeep look carried onto every inner page
   (item, job, payroll, today, hours, borrowed, shopping list, setup, worker screens): same white page head,
   line icons instead of emoji, quiet bordered cards, small grey labels, 44px controls, green accent.
   =================================================================================================== */
/* header refresh button */
#who .uk-rf{width:34px;height:34px;min-height:0;padding:0;margin:0;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;border:1px solid var(--uk-line);color:#374151}
#who .uk-rf svg.uki{width:17px;height:17px}
#who .uk-rf:active{background:#f1f3f5}
#who .uk-rf.spin{color:var(--brand);border-color:#b9dccd}
#who .uk-rf.spin svg{animation:ukspin .7s linear infinite}
@keyframes ukspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){#who .uk-rf.spin svg{animation-duration:2s}}
/* emoji turned into line icons */
.uk-ei{display:inline-flex;vertical-align:-0.16em;margin-right:.32em;line-height:1}
.uk-ei svg.uki{width:1.05em;height:1.05em;display:block}
.uk-ei-alert,.uk-ei-alertc{color:#c27400}
.uk-ei-star{color:#d49a00}
.uk-ei-checks,.uk-ei-check{color:var(--ok)}
.uk-ei-heartf{color:#e0413a}.uk-ei-heartf svg{fill:currentColor}
.uk-ei-ban,.uk-ei-trash{color:inherit}
button .uk-ei,.btn .uk-ei,label.btn .uk-ei,a.jsub .uk-ei,.suptabs .uk-ei{color:inherit}
.pill .uk-ei{margin-right:.25em}
/* the page head on inner pages: white band, ‹ back circle, title + grey line, actions right */
#app>.uk-ph{display:flex;align-items:center;gap:10px;background:#fff;margin:-16px -12px 14px;padding:12px 14px 12px;border-bottom:1px solid var(--uk-line)}
#app>.uk-ph .uk-pht{flex:1;min-width:0}
#app>.uk-ph h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--uk-ink);line-height:1.25;overflow-wrap:anywhere}
#app>.uk-ph small{display:block;font-size:13px;color:var(--uk-sub);margin-top:2px;font-weight:500}
#app>.uk-ph .back.uk-back{flex:none;width:36px;height:36px;min-height:0;padding:0;margin:0;border-radius:50%;border:1px solid var(--uk-line);background:#fff;color:var(--uk-ic);display:grid;place-items:center;box-shadow:none}
#app>.uk-ph .back.uk-back svg.uki{width:20px;height:20px}
#app>.uk-ph .uk-hadd{flex:none;width:auto;min-height:0;height:36px;margin:0;padding:0 14px;border-radius:999px;font-size:14px;font-weight:600;background:var(--brand);border:1px solid var(--brand);color:#fff;box-shadow:none;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
#app>.uk-ph .langsw{margin:0;flex:none}
#app>.uk-ph .langsw button{min-height:30px;padding:4px 9px;font-size:12.5px;background:#fff;color:var(--uk-ic);border-color:var(--uk-line);box-shadow:none}
#app>.uk-ph .langsw button.on{background:var(--brandsoft);color:var(--brandink);border-color:var(--brandsoft)}
#app .uk-hid{display:none!important}
@media (min-width:900px){#app>.uk-ph{margin:0 0 16px;border:1px solid var(--uk-line);border-radius:10px;padding:14px 16px}#app:has(> .uk-ph > .back){--maxw:920px}}
@media print{#app>.uk-ph,#who .uk-rf{display:none!important}}
/* cards, headings, labels */
#app .card{background:#fff;border:1px solid var(--uk-line);border-radius:10px;box-shadow:none;padding:14px}
#app .card h3,#app .card>h2,#app .card>h1{font-size:16px;font-weight:700;color:var(--uk-ink);letter-spacing:-.005em}
#app>h2,#app .list>h2,#app>.between>h2,#app section>h2,#app .shgh h2{font-size:15px;font-weight:700;color:var(--uk-ink);margin:20px 2px 8px;letter-spacing:0}
#app h4{font-size:14px;font-weight:700;color:var(--uk-ink)}
#app label{font-size:13px;font-weight:600;color:#4b5563}
#app .muted{color:var(--uk-sub)}
#app .small{font-size:13px}
/* inputs */
#app input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),#app select,#app textarea{border:1px solid #d9dde3;border-radius:8px;background:#fff;font-size:15px;box-shadow:none;color:var(--uk-ink)}
#app input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),#app select{min-height:42px}
#app input:focus,#app select:focus,#app textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,125,87,.14)}
#app input[type=checkbox],#app input[type=radio]{accent-color:var(--brand)}
.uk-search input{border:0!important;background:#e9ecef!important}
/* buttons: medium, rounded, green primary, white secondary */
#app button:not(.uk-da):not(.uk-fc):not(.tick):not(.uk-back):not(.ithumb):not(.x),#app a.btn,#app label.btn{border-radius:10px;font-weight:600;box-shadow:none;letter-spacing:0}
#app button.big,#app a.btn.big{min-height:46px;font-size:15.5px;border-radius:10px}
#app button.sec,#app a.btn.sec,#app label.btn.sec{background:#fff;color:#1f2633;border:1px solid #d9dde3}
#app button.ghost:not(.uk-back){background:transparent;border:0;color:var(--brand)}
#app button.ghost.red-t,#app .red-t{color:#c7362d}
#app button.small,#app .btn.small{min-height:34px;font-size:13.5px;padding:6px 11px}
/* date navigation ‹ date › (Today, Hours, Payroll) */
#app>.between:has(.datepick){background:#fff;border:1px solid var(--uk-line);border-radius:10px;padding:6px;margin-bottom:12px!important}
#app>.between:has(.datepick) a.btn.sec{width:36px;height:36px;min-height:0;padding:0;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1;border:1px solid var(--uk-line)}
#app .datepick{font-size:14.5px;color:var(--uk-ink)}
#app .datepick .cal{color:var(--uk-sub)}
/* number strip (Today, Borrowed …) */
#app .stat{background:#fff;border:1px solid var(--uk-line);border-radius:10px;box-shadow:none;gap:0;padding:0;overflow:hidden}
#app .stat>div{background:#fff;border:0;border-radius:0;box-shadow:none;padding:12px 8px;text-align:center}
#app .stat>div+div{border-left:1px solid #eceef1}
#app .stat b{font-size:20px;font-weight:700;color:var(--uk-ink)}
#app .stat .small{display:block;font-size:12.5px;color:var(--uk-sub);margin-top:2px}
/* tables (Hours, Payroll, Repeating, Price list) */
#app table{border-collapse:collapse;width:100%;font-size:14px}
#app th{font-size:12px;font-weight:600;color:var(--uk-sub);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--uk-line);padding:9px 6px;background:transparent}
#app td{padding:10px 6px;border-bottom:1px solid #eef0f2;color:var(--uk-ink)}
#app tr:last-child td{border-bottom:0}
#app td a{color:var(--brand);font-weight:600;text-decoration:none}
/* sub tabs (Jobs: Big / Daily / By day; worker Supplies: Used / Arrived) → word tabs with a green underline */
#app .jsubs,#app .suptabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;background:#fff;border:1px solid var(--uk-line);border-radius:10px;padding:0 6px;margin:0 0 12px;box-shadow:none}
#app .jsubs .jsub,#app .suptabs a{flex:none;background:transparent!important;border:0;border-bottom:2.5px solid transparent;border-radius:0;padding:11px 9px 9px;font-size:14px;font-weight:600;color:#6b7380;box-shadow:none;text-decoration:none;white-space:nowrap}
#app .jsubs .jsub.on,#app .suptabs a.on{color:var(--brand);border-bottom-color:var(--brand)}
/* lists of cards (Missed, Team, Effort) → one white list with thin dividers */
#app .list{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid var(--uk-line);border-radius:10px;overflow:hidden}
#app .list>.card{border:0;border-radius:0;margin:0}
#app .list>.card+.card{border-top:1px solid #eef0f2}
#app .list:empty{display:none}
/* pills / tags: soft, small */
#app .pill{font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px;box-shadow:none}
/* item detail picture block, job detail, worker job */
#app .itpic{border:0;background:transparent;padding:0}
#app .itpicbox{gap:14px}
#app .ithumb.big,#app .ithumb.big img{border-radius:10px}
#app .refpics img{border-radius:10px}
#app details.card>summary{font-weight:600;color:var(--uk-ink)}
#app .seg{border-radius:10px}
#app .marker{border-radius:8px}
/* job checklist rows on the worker job page */
#app .checks .chk{border-bottom:1px solid #eef0f2;padding:10px 2px}
#app .checks .chk:last-child{border-bottom:0}
#app .seg .uk-ei{display:none}
#who span{max-width:110px}

/* ===== v49 (Oct 22 2026): Jobs = Today only (To do / Done, one line per job, "Missed (N)" button) + flat shortcut row ===== */
#app .jsubs4{display:grid;grid-template-columns:repeat(4,1fr);padding:0 4px}
#app .jsubs4 .jsub{text-align:center;padding-left:2px;padding-right:2px}
.jlw .jl-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 2px 0}
.jlw .jl-tt b{display:block;font-size:17px;font-weight:700;color:var(--uk-ink);letter-spacing:-.01em}
.jlw .jl-tt small{display:block;font-size:13px;color:var(--uk-sub);margin-top:1px}
.jl-miss{flex:none;display:inline-block;font-size:13px;font-weight:600;color:#b42318;background:#fff;border:1px solid #f3c6c1;border-radius:999px;padding:6px 12px;text-decoration:none;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent;letter-spacing:0;text-transform:none}
.jl-miss.zero{color:var(--uk-sub);border-color:var(--uk-line)}
.jl-miss:active,.jl-miss.open{background:#fef3f2}
.jl-list{background:#fff;border:1px solid var(--uk-line);border-radius:10px;overflow:hidden}
.jl-i+.jl-i{border-top:1px solid #eceef1}
.jl{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;min-height:48px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.jl:active{background:#f7f8fa}
.jl:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.jl-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#fff;border:1.75px solid #a3aab5;box-sizing:border-box}
.jl-dot.ok{background:#12a150;border-color:#12a150}
.jl-dot.warn{background:#f59e0b;border-color:#f59e0b}
.jl-dot.bad{background:#dc2626;border-color:#dc2626}
.jl-n{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.3;color:var(--uk-ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.jl-m{flex:none;max-width:44%;font-size:13px;color:var(--uk-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.jl-cv{flex:none;display:grid;place-items:center;margin-left:-4px}
.jl-cv svg.uki{width:16px;height:16px;color:#b6bcc6;transition:transform .15s}
.jl.open .jl-cv svg.uki{transform:rotate(90deg)}
.jl-done .jl-n{color:#6b7380;font-weight:500}
.jl-big{display:inline}
.jl-big svg.uki{display:inline-block;width:13px;height:13px;color:#d97706;vertical-align:-1px;margin-right:5px}
.jl-x{padding:0 14px 12px 34px;font-size:13.5px;line-height:1.4;color:#4b5563}
.jl-d{margin-top:3px}
.jl-d.tx-ok{color:var(--ok)}
.jl-x .tx-bad{color:#b42318}
.jl-x .thumbs{margin-top:8px}
.jl-a{margin-top:8px}
.jl-a a{font-weight:600;color:var(--brand);text-decoration:none}
.jl-empty{background:#fff;border:1px solid var(--uk-line);border-radius:10px;padding:14px;color:var(--uk-sub);font-size:14px;text-align:center}
.jlw .jl-back{font-weight:600;color:var(--brand);text-decoration:none;font-size:15px;padding:6px 2px}
.jl-seg{display:inline-flex;border:1px solid var(--uk-line);border-radius:8px;overflow:hidden;background:#fff}
.jl-seg a{padding:6px 12px;font-size:13px;font-weight:600;color:#4b5563;text-decoration:none}
.jl-seg a.on{background:#ecf6f1;color:var(--brand)}
.jl-seg a+a{border-left:1px solid var(--uk-line)}
.wk-latebox{margin:0 0 10px}
.wk-latehd{font-size:13px;font-weight:600;color:#b42318;margin:0 2px 6px}
.uk .px-sec .jl-miss{font-size:13px}
/* flat shortcut row (replaces the round "dots"): one white bar, equal cells, line icon over a short label */
#app .uk-dots{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin:12px 0 0;padding:0;background:#fff;border:1px solid var(--uk-line);border-radius:10px;overflow:hidden;justify-content:stretch}
#app .uk-da{flex:none;max-width:none;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;padding:11px 3px 10px;margin:0;border:0;border-left:1px solid #eceef1;border-radius:0;background:#fff;min-height:64px}
#app .uk-da:first-child{border-left:0}
#app .uk-da:active{background:#f5f6f8}
#app .uk-dot{width:auto;height:22px;border-radius:0;background:none;box-shadow:none;color:#4b5563;transform:none}
#app .uk-dot svg.uki{width:21px;height:21px;stroke-width:1.75}
#app .uk-dot.pri{background:none;box-shadow:none;color:var(--brand)}
#app .uk-dot.pri+.uk-dl{color:var(--brand)}
#app .uk-dot.out{background:none;color:#c7362d}
#app .uk-dot.out+.uk-dl{color:#c7362d}
#app .uk-da:active .uk-dot{transform:none}
#app .uk-dl{font-size:11.5px;font-weight:600;line-height:1.2;color:#374151;letter-spacing:0}
#app .uk-bdg{top:-5px;right:-11px}
@media (min-width:900px){#app .uk-dots{grid-auto-columns:minmax(0,120px);justify-content:start}}

/* ===== v50 (Oct 22 2026): Used / Arrived · Simchas · Maintenance · borrow return photo ===== */
.v50gap{margin:10px 0 4px}
.v50seg{display:flex;width:100%;margin:10px 0 2px}
.v50seg a{flex:1;text-align:center;padding:8px 6px}
.v50bar{display:flex;align-items:center;gap:10px;margin:10px 0 2px}
.v50bar .v50seg{margin:0;flex:1}
.v50link{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--brand);text-decoration:none;white-space:nowrap}
.v50link svg.uki{width:15px;height:15px}
.v50mv{margin-top:10px}
.v50scan{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.v50scan svg.uki{width:20px;height:20px}
.v50or{margin-top:12px}
.v50note{background:#fff8eb;border:1px solid #f4d9a6;border-radius:8px;padding:8px 10px;color:#7a4b00}
.v50item{display:flex;align-items:center;gap:10px;margin:12px 0 2px;padding:10px;border:1px solid var(--uk-line);border-radius:10px;background:#fafbfc}
.v50item img,.v50noimg{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none;background:#eef0f3;display:grid;place-items:center;color:#9aa1ab}
.v50item div{display:flex;flex-direction:column;min-width:0}
.v50item small{color:var(--uk-sub);font-size:13px}
.v50rec .ghost.sm,.v50vd .sm{flex:none;padding:6px 10px;min-height:0;font-size:13px}
.v50rec.undone .px-tx b{text-decoration:line-through;color:#8a919c}
.v50mnav{display:flex;align-items:center;justify-content:space-between;margin:8px 0 6px;background:#fff;border:1px solid var(--uk-line);border-radius:10px;padding:2px 4px}
.v50mnav b{font-size:15px}
.v50mnav .ghost{font-size:22px;line-height:1;padding:6px 14px;min-height:0}
.v50owed{margin:6px 2px 0;color:#7a4b00}
.v50gt{font-size:12px;font-weight:600;color:var(--uk-sub);text-transform:none;letter-spacing:0}
.v50sm{align-items:center}
.v50day{flex:none;width:44px;height:46px;border-radius:9px;background:#f1f5f3;color:var(--brand);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.v50day b{font-size:18px}
.v50day small{font-size:11px;font-weight:600;margin-top:3px;color:#5b6b63}
.v50amt{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
.v50amt b{font-size:15px}
.v50amt small{font-size:12px}
.v50amt .pill{font-size:11px;padding:2px 7px}
.v50sm .px-chev{display:none}
.v50line{padding:10px 12px;margin:0 0 8px}
.v50line .row{align-items:center;gap:6px}
.v50x{flex:none;font-size:22px;line-height:1;padding:4px 10px;min-height:0;color:#9aa1ab}
.v50l3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.v50l3 label{margin:0;font-size:12px;color:var(--uk-sub);font-weight:600}
.v50l3 input{margin-top:3px}
.v50lt{margin-top:6px}
.v50add{width:100%;margin:0 0 10px}
.v50tot{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--uk-line);border-radius:10px;margin:0 0 12px;overflow:hidden}
.v50tot div{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-left:1px solid #eceef1}
.v50tot div:first-child{border-left:0}
.v50tot small{font-size:12px;color:var(--uk-sub);font-weight:600}
.v50tot b{font-size:17px;margin-top:2px}
.v50pay{margin-top:0}
.v50telrow{align-items:center;gap:8px}
.v50call{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;white-space:nowrap}
.v50call svg.uki{width:17px;height:17px}
#mtCall{margin-top:10px}
.v50del{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;color:#b42318;margin-top:8px}
.v50del svg.uki{width:16px;height:16px}
.v50tbl{overflow-x:auto;margin:6px 0 10px}
.v50tbl table{border-collapse:collapse;font-size:12px;width:100%}
.v50tbl th,.v50tbl td{border:1px solid #e5e7eb;padding:4px 6px;text-align:left;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.v50tbl th{background:#f6f7f9}
.v50mt{position:relative;align-items:center}
.v50ub{position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 3px 3px 0;background:#d1d5db}
.u-urgent .v50ub{background:#dc2626}
.u-normal .v50ub{background:#f59e0b}
.v50th{flex:none;width:40px;height:40px;border-radius:8px;object-fit:cover;background:#eef0f3}
.v50mt .pill{flex:none;font-size:11px;padding:2px 8px}
.v50mt .px-chev{display:none}
.v50img{display:block;max-width:150px;max-height:150px;border-radius:10px;object-fit:cover;margin:6px 0;border:1px solid var(--uk-line)}
.v50img.lg{max-width:100%;max-height:260px}
.v50phw:empty{display:none}
.v50chk{display:flex;gap:8px;align-items:center;margin-top:14px;font-weight:600}
.v50chk input{width:auto}
.v50rep{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px}
.v50rep svg.uki{width:20px;height:20px}
.v50hint{margin:8px 2px 0}
.v50pre{white-space:pre-line}
.v50ret{display:inline-flex;align-items:center;gap:5px;flex:none;white-space:nowrap;padding:7px 11px;font-size:13px}
.v50ret svg.uki{width:15px;height:15px}
.v50cam{font-weight:600}
.v50more{margin:8px 0 0}
#app .uk-da.on{background:#f5f6f8}

.v50money .px-st b{font-size:19px;letter-spacing:-.2px}
.v50seg a.on[data-v=urgent]{background:#fdecec;color:#b42318}
.v50seg a.on[data-v=low]{background:#f3f4f6;color:#374151}
#mtRw{gap:8px}
#mtRw>div:nth-child(1){flex:0 0 72px}
#mtRw>div:nth-child(2){flex:0 0 110px}

/* ===== v51: AI helper ===== */
#who .uk-ai{color:var(--brand)}
.ai-home{display:flex;align-items:center;gap:12px;width:100%;margin:2px 0 12px;padding:11px 14px;background:#fff;border:1px solid var(--uk-line,#e5e7eb);border-radius:14px;text-align:left;color:#111827;font:inherit;cursor:pointer;box-shadow:none;min-height:0}
.ai-home:hover{background:#f8faf9}
.ai-home .ai-ic,.ai-hd .ai-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(11,125,87,.1);color:var(--brand);flex:none}
.ai-home .ai-ic svg.uki,.ai-hd .ai-ic svg.uki{width:19px;height:19px}
.ai-home .ai-ht{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ai-home .ai-ht b{font-size:15px;font-weight:650}
.ai-home .ai-ht small{font-size:12.5px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-home .ai-chev{color:#9ca3af;font-size:20px;line-height:1}
#aibox{position:fixed;inset:0;z-index:60;background:#fff;display:flex;flex-direction:column;font-family:inherit}
#aibox[hidden]{display:none}
.ai-hd{display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid var(--uk-line,#e5e7eb)}
.ai-tt{flex:1;min-width:0;display:flex;flex-direction:column}
.ai-tt b{font-size:16px;font-weight:700;color:#111827}
.ai-tt small{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-hd button{background:#fff;border:1px solid var(--uk-line,#e5e7eb);color:#374151;border-radius:999px;min-height:34px;height:34px;padding:0 12px;font:600 13px inherit;font-family:inherit;box-shadow:none;width:auto;margin:0;flex:none}
.ai-hd .ai-x{width:34px;padding:0;font-size:15px}
.ai-msgs{flex:1;overflow-y:auto;padding:14px 12px 8px;background:#f7f8fa;-webkit-overflow-scrolling:touch}
.ai-m{display:flex;margin:0 0 10px}
.ai-m.u{justify-content:flex-end}
.ai-b{max-width:86%;padding:9px 12px;border-radius:16px;font-size:15px;line-height:1.42;word-wrap:break-word;overflow-wrap:anywhere}
.ai-m.a .ai-b{background:#fff;border:1px solid var(--uk-line,#e5e7eb);color:#111827;border-bottom-left-radius:6px}
.ai-m.u .ai-b{background:var(--brand);color:#fff;border-bottom-right-radius:6px}
.ai-m.err .ai-b{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}
.ai-go{display:inline-block;margin:4px 4px 0 0;padding:3px 10px;border-radius:999px;background:rgba(11,125,87,.1);color:var(--brand);font-weight:600;font-size:13.5px;text-decoration:none}
.ai-sugs{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 6px}
.ai-sug{background:#fff;border:1px solid var(--uk-line,#e5e7eb);color:#1f2937;border-radius:999px;padding:7px 12px;font:500 14px inherit;font-family:inherit;min-height:0;height:auto;width:auto;margin:0;box-shadow:none;text-align:left}
.ai-dots{display:flex;gap:5px;align-items:center;min-height:21px}
.ai-dots i{width:7px;height:7px;border-radius:50%;background:#9ca3af;animation:aiDot 1s infinite ease-in-out}
.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ai-in{display:flex;gap:8px;align-items:flex-end;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--uk-line,#e5e7eb);background:#fff;margin:0}
.ai-in textarea{flex:1;resize:none;min-height:42px;max-height:110px;padding:10px 12px;border:1px solid #d1d5db;border-radius:21px;font:16px/1.3 inherit;font-family:inherit;margin:0;box-sizing:border-box}
.ai-in .ai-send{width:42px;height:42px;min-height:0;border-radius:50%;padding:0;margin:0;display:grid;place-items:center;background:var(--brand);color:#fff;border:0;flex:none;box-shadow:none}
.ai-in .ai-send:disabled{opacity:.5}
.ai-in .ai-send svg.uki{width:18px;height:18px}
@media (min-width:900px){#aibox{left:auto;width:420px;border-left:1px solid var(--uk-line,#e5e7eb);box-shadow:-8px 0 30px rgba(0,0,0,.08)}}

/* v51: simchas calendar */
.smc{background:#fff;border:1px solid var(--uk-line,#e3e6ea);border-radius:14px;padding:8px 8px 10px;margin:4px 0 12px}
.smc-w,.smc-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.smc-w span{text-align:center;font-size:11.5px;font-weight:600;color:var(--uk-sub,#6b7380);padding:2px 0 4px}
.smc-d{position:relative;aspect-ratio:1/1;min-height:0;height:auto;width:auto;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--uk-ink,#1f2633);font:500 14px inherit;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:none;cursor:pointer}
.smc-d.off{cursor:default}
.smc-d.has{background:rgba(11,125,87,.09);font-weight:700}
.smc-d.today b{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.smc-d.on{background:var(--brand);color:#fff}
.smc-d.on.today b{color:#fff}
.smc-n{display:block;min-width:6px;height:6px;border-radius:999px;background:var(--brand);margin-top:2px;font:700 9px/6px inherit;font-style:normal;color:transparent}
.smc-d .smc-n:not(:empty){min-width:14px;height:12px;line-height:12px;color:#fff;padding:0 3px;font-size:9.5px}
.smc-n.owe{background:#d97706}
.smc-d.on .smc-n{background:#fff}.smc-d.on .smc-n:not(:empty){color:var(--brand)}
.smc-d.on .smc-n.owe{background:#fde68a}
.smc-key{display:flex;gap:14px;justify-content:center;font-size:12px;color:var(--uk-sub,#6b7380);margin-top:8px}
.smc-key span{display:flex;align-items:center;gap:5px}.smc-key .smc-n{margin:0}
.v50bar .v50seg a{white-space:nowrap;padding-left:9px;padding-right:9px}
@media (max-width:420px){#who>span.who-a{display:none}}

/* ===== v51b: date fields — the whole field opens the calendar ===== */
#app input[type=date]:not(.datein):not(.smpk):not(.sxpk),#app input[type=datetime-local]{position:relative;cursor:pointer;display:block;text-align:left;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312a06f' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px 20px;min-height:46px}
#app input[type=date]:not(.datein):not(.smpk):not(.sxpk)::-webkit-calendar-picker-indicator,#app input[type=datetime-local]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer;background:transparent}
#app input[type=date]::-webkit-date-and-time-value,#app input[type=datetime-local]::-webkit-date-and-time-value{text-align:left}
@supports (-webkit-touch-callout:none){#app input[type=date]:not(.datein):not(.smpk):not(.sxpk),#app input[type=datetime-local]{-webkit-appearance:none;appearance:none;line-height:20px}}
#app label.datepick.smpick{flex:0 1 auto;border:0;background:transparent;padding:6px 10px;gap:6px;color:var(--uk-ink)}
#app label.datepick.smpick .cal{display:inline-flex;color:var(--brand2,#12a06f)}
#app label.datepick.smpick .cal svg{width:18px;height:18px}
#app label.datepick.smpick b{text-decoration:underline dotted;text-underline-offset:4px;text-decoration-color:#9aa7a2}
#app label.datepick input.smpk{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;margin:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none;background:transparent;z-index:2}
#app label.datepick input.smpk::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer;opacity:0}
.v50sm .v50day[data-calday]{cursor:pointer;border-radius:10px;box-shadow:inset 0 0 0 1px #d6e9e1}
.v50sm .v50day[data-calday]:active{background:#e8f6f0}
a.v51bdl{display:inline-flex;align-items:center;gap:4px;color:var(--brand2,#12a06f);font-weight:600;text-decoration:none;white-space:nowrap}
a.v51bdl svg{width:15px;height:15px}
/* ===== end v51b ===== */

/* ===== v52 (demo): SIMCHAS REDESIGN ===== */
.sx{--sxg:#12a06f;--sxo:#e8890c;--sxl:var(--uk-line,#e3e6ea);--sxs:var(--uk-sub,#6b7380)}
.sx h2{margin:0}
.sx-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 10px}
.sx-new{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:10px;font-weight:650;font-size:15px}
.sx-new svg{width:18px;height:18px}
.sx-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.sx-k{background:#fff;border:1px solid var(--sxl);border-radius:10px;padding:7px 6px;text-align:center;min-width:0}
.sx-k b{display:block;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-k small{display:block;font-size:11.5px;color:var(--sxs);margin-top:1px}
.sx-k.ok b{color:var(--ok)}.sx-k.bad b{color:var(--bad)}.sx-k.owe b{color:var(--warn)}
.sx-cal{background:#fff;border:1px solid var(--sxl);border-radius:12px;padding:6px 8px 8px;margin-bottom:10px}
.sx-mn{display:flex;align-items:center;justify-content:space-between;height:36px}
.sx-ar{width:34px;height:34px;min-height:0;padding:0;border-radius:50%;background:transparent;border:0;color:var(--uk-ic,#4b5563);display:grid;place-items:center;box-shadow:none}
.sx-ar svg{width:20px;height:20px}
.sx-mt{position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:15.5px;color:var(--uk-ink)}
.sx-mt svg{width:16px;height:16px;color:var(--sxg)}
.sx-mt:active{background:#f1f5f3}
.sx #sxPick{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;margin:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none;background:transparent}
.sx #sxPick::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.sx-w,.sx-g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.sx-w span{font-size:11px;font-weight:600;color:var(--sxs);padding:2px 0 3px;letter-spacing:.02em}
.sx-c{position:relative;height:34px;min-height:0;padding:0;margin:0;border:0;background:transparent;box-shadow:none;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--uk-ink);font:inherit}
.sx-c b{font-size:13.5px;font-weight:500;line-height:1;width:26px;height:26px;display:grid;place-items:center;border-radius:50%}
.sx-c.sh b{color:#7a4fb5}
.sx-c.has b{font-weight:700}
.sx-c.today b{box-shadow:inset 0 0 0 1.5px var(--sxg)}
.sx-c.on b{background:var(--sxg);color:#fff;box-shadow:none}
.sx-c.off{pointer-events:none}
.sx-dots{position:absolute;bottom:1px;left:0;right:0;display:flex;justify-content:center;gap:2px;height:4px}
.sx-dots i{width:4px;height:4px;border-radius:50%;background:var(--sxg)}
.sx-dots i.owe{background:var(--sxo)}
.sx-fl{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.sx-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:1px}
.sx-chips::-webkit-scrollbar{display:none}
.sx-chips.wrap{flex-wrap:wrap;overflow:visible}
.sx-chip{flex:0 0 auto;min-height:32px;padding:5px 12px;border-radius:999px;border:1px solid var(--sxl);background:#fff;color:var(--uk-ink);font-size:13.5px;font-weight:550;box-shadow:none;white-space:nowrap}
.sx-chip.on{background:var(--uk-ink,#1f2633);border-color:var(--uk-ink,#1f2633);color:#fff}
.sx-search{position:relative;display:block;margin:0}
.sx-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--sxs);pointer-events:none}
.sx-search input{min-height:40px;padding:8px 12px 8px 36px;border-radius:10px;font-size:16px}
.sx-cap{display:flex;align-items:center;justify-content:space-between;margin:10px 2px 6px;font-size:13px;font-weight:650;color:var(--sxs);text-transform:uppercase;letter-spacing:.03em}
.sx-clear{min-height:0;padding:3px 8px;border:0;background:transparent;color:var(--sxg);font-size:13px;font-weight:650;text-transform:none;letter-spacing:0;box-shadow:none}
.sx-list{background:#fff;border:1px solid var(--sxl);border-radius:12px;overflow:hidden}
.sx-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-top:1px solid var(--sxl);color:inherit;text-decoration:none;min-height:56px}
.sx-row:first-child{border-top:0}
.sx-row:active{background:#f6f8f7}
.sx-row.past{opacity:.72}
.sx-dc{flex:0 0 44px;text-align:center;line-height:1.1;border-radius:8px;background:#f2f5f4;padding:4px 0}
.sx-dc small{display:block;font-size:10.5px;font-weight:650;color:var(--sxs);text-transform:uppercase}
.sx-dc b{display:block;font-size:14px}
.sx-mid{flex:1;min-width:0}
.sx-mid>b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-sub{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:12.5px;flex-wrap:wrap}
.sx-tag{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11.5px;font-weight:650;background:#eef1f4;color:#4b5563}
.sx-tag.t-kiddush{background:#e4f6ee;color:#09603f}.sx-tag.t-bris{background:#e8f0fe;color:#1d5bd8}.sx-tag.t-shalomzachor{background:#f3ecfb;color:#6a3fa8}.sx-tag.t-aufruf,.sx-tag.t-{background:#fff2df;color:#9a5200}
.sx-r{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.sx-r b{font-size:14.5px}
.sx-pill{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:650;background:#eef1f4;color:#4b5563;white-space:nowrap}
.sx-pill.ok{background:#e2f6ec;color:#0f7a52}.sx-pill.owe{background:#fff2df;color:#ad5b00}
.sx-empty{padding:18px;text-align:center;color:var(--sxs);font-size:14px}
.sx-foot{text-align:center;margin:14px 0 4px;font-size:13.5px}.sx-foot a{color:var(--sxs);display:inline-flex;align-items:center;gap:5px}.sx-foot svg{width:15px;height:15px}
.sx-card{padding:12px 12px 12px;margin-bottom:10px;border-radius:12px}
.sx-card h3{margin:0;font-size:15.5px}
.sx-2{display:flex;gap:8px}.sx-2>div{flex:1;min-width:0}
.sx-big{width:100%;min-height:48px;margin-top:12px;border-radius:10px;font-weight:700;font-size:16px}
.sx-hrow{display:flex;align-items:center;gap:12px}
.sx-dcb{position:relative;flex:0 0 54px;text-align:center;border-radius:10px;background:#e4f6ee;color:#09603f;padding:6px 0;line-height:1.1;cursor:pointer}
.sx-dcb small{display:block;font-size:11px;font-weight:700;text-transform:uppercase}.sx-dcb b{display:block;font-size:17px}
.sx-dcb input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;margin:0;border:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;font-size:16px}
.sx-dcb input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.sx-hmain{flex:1;min-width:0}.sx-hmain h2{font-size:20px;line-height:1.2;overflow-wrap:anywhere}
.sx-icb{flex:0 0 auto;width:38px;height:38px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--sxl);background:#fff;color:var(--uk-ic,#4b5563);display:grid;place-items:center;box-shadow:none}
.sx-icb svg{width:18px;height:18px}
.sx-call{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 12px;border-radius:999px;background:#f2f5f4;color:var(--uk-ink);font-weight:600;font-size:14.5px;text-decoration:none}
.sx-call svg{width:16px;height:16px;color:var(--sxg)}
.sx-hed{margin-top:10px;border-top:1px solid var(--sxl);padding-top:4px}
.sx-mg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;text-align:center}
.sx-mg small{display:block;font-size:11.5px;color:var(--sxs)}.sx-mg b{display:block;font-size:15.5px;margin-top:2px}
.tx-warn{color:var(--warn)}
.sx-pay{margin-top:10px;border-top:1px solid var(--sxl);padding-top:10px}
.sx-seg{display:flex;background:#f1f3f2;border-radius:10px;padding:3px;gap:3px}
.sx-seg button{flex:1;min-height:34px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--uk-ink);font-weight:600;font-size:13.5px;box-shadow:none}
.sx-seg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);color:var(--uk-ink)}
.sx-link{display:block;margin:10px auto 0;min-height:0;padding:4px;border:0;background:transparent;color:var(--sxg);font-size:13px;font-weight:600;box-shadow:none}
.sx-sh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}
.sx-lines{border-top:1px solid var(--sxl)}
.sx-li{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--sxl);min-height:50px}
.sx-li.open{background:#f7faf9}
.sx-lm{flex:1;min-width:0;text-align:left;align-items:flex-start;min-height:48px;padding:6px 2px;border:0;background:transparent;box-shadow:none;color:inherit;display:flex;flex-direction:column;justify-content:center}
.sx-lm b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sx-lm small{font-size:12px;color:var(--sxs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sx-lc{flex:0 0 auto;font-weight:650;font-size:14px}
.sx-st{flex:0 0 auto;min-height:28px;padding:3px 9px;border-radius:999px;border:0;font-size:12px;font-weight:700;box-shadow:none;white-space:nowrap}
.st-order{background:#fff2df;color:#ad5b00}.st-ordered{background:#e8f0fe;color:#1d5bd8}.st-received{background:#e2f6ec;color:#0f7a52}
.sx-ed{padding:4px 2px 12px;border-bottom:1px solid var(--sxl);background:#f7faf9}
.sx-ed label,.sx-hed label,.sx-card label{font-size:12.5px;margin:8px 0 3px}
.sx-ed input{min-height:42px;padding:8px 10px}
.sx-edb{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.sx-ok{min-height:38px;padding:6px 18px;border-radius:9px;font-weight:650}
.sx-del{min-height:38px;padding:6px 10px;border:0;background:transparent;color:var(--bad);font-weight:600;display:inline-flex;align-items:center;gap:5px;box-shadow:none}
.sx-del svg{width:16px;height:16px}
.sx-none{padding:12px 2px;color:var(--sxs);font-size:13.5px;border-bottom:1px solid var(--sxl)}
.sx-add{display:inline-flex;align-items:center;gap:6px;margin-top:10px;min-height:38px;padding:6px 12px;border-radius:9px;border:1px dashed #b9c4bf;background:#fff;color:var(--sxg);font-weight:650;box-shadow:none}
.sx-add svg{width:17px;height:17px}
.sx-quick{margin-top:10px}.sx-qrow{display:flex;gap:6px;margin-top:8px}.sx-qrow input{min-height:40px;padding:8px 10px}
.sx-files{display:flex;flex-wrap:wrap;gap:8px}
.sx-th{width:64px;height:64px;border-radius:9px;overflow:hidden;border:1px solid var(--sxl);display:grid;place-items:center;background:#f5f6f8;color:var(--sxs);text-decoration:none}
.sx-th img{width:100%;height:100%;object-fit:cover}.sx-th.pdf{display:flex;flex-direction:column;gap:2px}.sx-th svg{width:22px;height:22px}.sx-th small{font-size:10.5px;font-weight:700}
.sx-inv{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;margin:10px 0 0;padding:12px;border-radius:10px;background:#e4f6ee;color:#09603f;font-weight:700;font-size:15px;cursor:pointer;text-align:center}
.sx-inv svg{width:22px;height:22px}.sx-inv small{font-weight:500;font-size:12px;color:#2c6e52}
.sx-inv input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.sx-rm{display:block;margin:6px auto 80px;min-height:0;border:0;background:transparent;color:var(--bad);font-size:13.5px;font-weight:600;box-shadow:none}
.sx-save{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:none;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;border-radius:14px;background:#1f2633;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:560px;margin:0 auto}
.sx-save.show{display:flex}.sx-save button{min-height:40px;padding:6px 22px;border-radius:10px;background:var(--sxg);border:0;color:#fff;font-weight:700}
.sx-ov{position:fixed;inset:0;z-index:200;background:rgba(15,20,28,.45);display:flex;align-items:flex-end;justify-content:center}
.sx-sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px calc(16px + env(safe-area-inset-bottom))}
.sx-busy{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 0}.sx-busy small{color:var(--sxs)}
.sx-ivh{display:flex;align-items:center;justify-content:space-between}.sx-ivh h3{margin:0}
.sx-ivm{display:flex;gap:10px;align-items:flex-start;margin:8px 0}.sx-ivm img{width:64px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--sxl)}.sx-ivm>div{flex:1;min-width:0}.sx-ivm label{margin-top:0}
.sx-ivl{border-top:1px solid var(--sxl)}
.sx-ivr{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--sxl)}
.sx-ivr.off .sx-ivf{opacity:.45}
.sx-ivr>input[type=checkbox]{width:22px;height:22px;min-height:0;flex:0 0 22px;margin:9px 0 0;accent-color:var(--sxg)}
.sx-ivf{flex:1;min-width:0}.sx-ivf input{min-height:38px;padding:6px 9px;font-size:16px}
.sx-ivs{display:flex;gap:6px;margin-top:5px}.sx-ivs .ivQ{flex:0 0 64px}.sx-ivs .ivP{flex:1}
.ivK{flex:0 0 auto;min-height:38px;padding:4px 10px;border-radius:9px;border:0;font-size:12.5px;font-weight:700;box-shadow:none}
.ivK.item{background:#e4f6ee;color:#09603f}.ivK.expense{background:#f1eefb;color:#5b3fa0}
.sx-mk{display:flex!important;align-items:center;gap:8px;margin:10px 0 0!important;font-size:14px!important;font-weight:600}.sx-mk input{width:20px;height:20px;min-height:0;accent-color:var(--sxg)}
.sx-ivt{margin-top:8px;font-size:14px;color:var(--uk-ink)}
@media (min-width:900px){.sx{max-width:640px}}
/* ===== end v52 ===== */
.sx-spin{width:30px;height:30px;border-radius:50%;border:3px solid #e4f6ee;border-top-color:#12a06f;animation:sxsp .8s linear infinite}@keyframes sxsp{to{transform:rotate(360deg)}}

.sx-owet{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff7ec;border:1px solid #f6dcb6;border-radius:12px;padding:10px 14px;margin-bottom:6px}
.sx-owet small{display:block;font-size:12px;color:#8a5a12;font-weight:600}.sx-owet b{font-size:22px;color:#ad5b00}.sx-owet span{font-size:12.5px;color:#8a5a12;text-align:right}
.sx-tpl{display:inline-flex;align-items:center;gap:5px;margin:2px 0 8px}.sx-tpl svg{width:14px;height:14px}
.sx-owe{background:#fff;border:1px solid var(--sxl);border-radius:12px;padding:8px 10px 8px;margin-bottom:8px}
.sx-oh{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.sx-ob{flex:0 0 auto;text-align:right}.sx-ob small{display:block;font-size:11px;color:var(--sxs)}.sx-ob b{font-size:16px;color:#ad5b00}
.sx-rbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.sx-rb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:4px 2px;border-radius:10px;border:1px solid var(--sxl);background:#f8faf9;color:var(--uk-ink);font-size:12px;font-weight:650;text-decoration:none;box-shadow:none}
.sx-rb svg{width:19px;height:19px;color:var(--sxg)}.sx-rb.off{opacity:.4}
.sx-rn{font-size:12px;color:var(--sxs);margin-top:6px}
.sx-rem{margin-top:10px;border-top:1px solid var(--sxl);padding-top:10px}
.sx-remh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--sxs)}.sx-remh b{font-size:15px;color:#ad5b00}
.sx-cts{display:flex;flex-wrap:wrap;gap:6px}.sx-cts .sx-call{margin-top:10px}
button.sx-k{font:inherit;min-height:0;box-shadow:none;color:inherit;cursor:pointer}
button.sx-k{display:block;width:100%;padding:7px 4px}button.sx-k small{font-size:11.5px}

/* v52b: usual items */
.sx-us{margin:12px 0 4px;border:1px solid #dfe9e3;background:#f6faf7;border-radius:12px;padding:10px 10px 8px}
.sx-ush{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}
.sx-ush small{flex-basis:100%;color:#667;font-size:12px}
.sx-ut{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#1f7a4d;background:#e2f3e9;border-radius:999px;padding:1px 7px;vertical-align:middle}
.sx-ui{display:flex;align-items:center;gap:8px;padding:7px 2px;border-top:1px solid #e6eee9}
.sx-ui.off{opacity:.45}.sx-ui.off .sx-uin b{text-decoration:line-through}
.sx-uin{flex:1;min-width:0;display:flex;flex-direction:column}
.sx-uin b{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.sx-uin small{color:#778;font-size:12px}
.sx-ux{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid #d5ddd8;background:#fff;color:#556;font-size:17px;line-height:1;padding:0;cursor:pointer}
.sx-uft{display:flex;justify-content:space-between;border-top:1px solid #dfe9e3;padding-top:7px;margin-top:2px;font-size:13px;color:#445}
.sx-un{margin:10px 0 0}
.sx-uadd{display:block;width:100%;text-align:left;margin:8px 0 2px;padding:10px 12px;border-radius:12px;border:1px dashed #9cc9b0;background:#f3faf6;color:#1f6a45;font-weight:700;font-size:14px;cursor:pointer}
.sx-uadd small{display:block;font-weight:500;color:#5b7a69;font-size:12px;margin-top:2px;overflow-wrap:anywhere}
