
/* Layout: one working column, phone first. A sticky job bar on top, then each worker is one time-card line. */
:root{
  --bg:#e9edf2; --surface:#ffffff; --sunk:#dde3ea; --ink:#121b2d; --muted:#55617a; --line:#c9d1dc;
  --accent:#1b4fd6; --accent-ink:#ffffff; --accent-soft:#dfe8ff;
  --warn:#9a4a00; --warn-bg:#ffe9c7; --ok:#11694a; --ok-bg:#d9f2e5; --danger:#b3261e;
  --display:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:6px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0d1420; --surface:#162032; --sunk:#0a101a; --ink:#e7ecf6; --muted:#9aa7bf; --line:#2c3a52;
  --accent:#86a8ff; --accent-ink:#0b1325; --accent-soft:#1d2c4d;
  --warn:#ffc474; --warn-bg:#40290a; --ok:#7fdcb0; --ok-bg:#0f3526; --danger:#ff8f86; color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#0d1420; --surface:#162032; --sunk:#0a101a; --ink:#e7ecf6; --muted:#9aa7bf; --line:#2c3a52;
  --accent:#86a8ff; --accent-ink:#0b1325; --accent-soft:#1d2c4d;
  --warn:#ffc474; --warn-bg:#40290a; --ok:#7fdcb0; --ok-bg:#0f3526; --danger:#ff8f86; color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:400 16px/1.45 var(--body);font-variant-numeric:tabular-nums}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--ink);color:var(--bg);
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:10px 16px}
.brand{font:700 22px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.brand i{width:14px;height:18px;border:2px solid currentColor;border-radius:2px;position:relative;display:block}
.brand i::before{content:"";position:absolute;left:2px;right:2px;top:3px;height:2px;background:currentColor;box-shadow:0 4px 0 currentColor}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
.tabs button{background:none;border:0;color:inherit;opacity:.72;padding:8px 12px;border-radius:var(--r);cursor:pointer;
  font:600 17px/1 var(--display);letter-spacing:.05em;text-transform:uppercase}
.tabs button[aria-current="page"]{opacity:1;background:var(--accent);color:var(--accent-ink)}

main{max-width:900px;margin:0 auto;padding-inline:16px;padding-block:20px 32px;display:flex;flex-direction:column;gap:16px}
h1{font:700 34px/1.05 var(--display);letter-spacing:.01em;margin:0;text-wrap:balance}
h2{font:600 22px/1.1 var(--display);letter-spacing:.03em;text-transform:uppercase;margin:0}
.eyebrow{font:600 14px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.muted{color:var(--muted)} .small{font-size:14px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.grow{flex:1 1 auto;min-width:0}

.btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;min-height:44px;cursor:pointer;font-weight:600}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.quiet{background:none}
.btn.danger{color:var(--danger)}
.btn:disabled{opacity:.5;cursor:default}
input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:9px 10px;min-height:44px;min-width:0;max-width:100%}
input:disabled,select:disabled{background:var(--sunk);opacity:.8}

.notice{background:var(--warn-bg);color:var(--warn);border-radius:var(--r);padding:10px 14px;font-weight:500}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:28px 20px;text-align:center;color:var(--muted)}
.empty strong{display:block;color:var(--ink);font:600 22px/1.2 var(--display);letter-spacing:.02em;margin-bottom:6px}

/* date + site controls */
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pills button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer;font-weight:500}
.pills button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.datebar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.datebar .btn{padding-inline:14px}
.datebar .day{font:600 22px/1 var(--display);letter-spacing:.02em;margin-left:6px}

/* whole-crew fill */
.fill{background:var(--accent-soft);border-radius:var(--r);padding:12px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.fill .lead{grid-column:1/-1;font-weight:600}
label.f{display:flex;flex-direction:column;gap:3px;font:600 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:0}
label.f>*{font:400 16px/1.2 var(--body);letter-spacing:0;text-transform:none;color:var(--ink);width:100%}

/* time-card lines */
#rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.line{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--warn);border-radius:var(--r);padding:10px 12px;
  display:grid;gap:8px 10px;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-areas:"who who who who" "in in out out" "lunch lunch hrs hrs" "note note note note"}
.line.done{border-left-color:var(--ok)}
.line .who{grid-area:who;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;justify-content:space-between}
.line .nm{font:600 22px/1.1 var(--display);letter-spacing:.01em;overflow-wrap:break-word;flex:1 1 9ch;min-width:0}
.line .a-in{grid-area:in}.line .a-out{grid-area:out}.line .a-lunch{grid-area:lunch}.line .a-hrs{grid-area:hrs}.line .a-note{grid-area:note}
.line .a-hrs input{font:700 22px/1 var(--display);text-align:right}
.tag{font:600 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;border-radius:3px;white-space:nowrap}
.tag.warn{background:var(--warn-bg);color:var(--warn)} .tag.ok{background:var(--ok-bg);color:var(--ok)} .tag.info{background:var(--accent-soft);color:var(--accent)}
@media (min-width:760px){
  .fill{grid-template-columns:auto repeat(3,minmax(0,150px)) auto}
  .fill .lead{grid-column:auto}
  .line{grid-template-columns:minmax(140px,1.3fr) 132px 132px 104px 88px minmax(0,1.2fr);grid-template-areas:"who in out lunch hrs note";align-items:end}
  .line .who{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px}
}
.sum{position:sticky;bottom:0;background:var(--ink);color:var(--bg);border-radius:var(--r);padding:12px 14px;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;justify-content:space-between}
.sum b{font:700 26px/1 var(--display)}
.sum .st{font-size:14px;opacity:.8}

/* report */
.tw{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
td.note{white-space:normal;min-width:140px}
th{font:600 13px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--sunk)}
tr:last-child td{border-bottom:0}
.num{text-align:right} td.num{font-weight:600}
tfoot td{font-weight:700;border-top:2px solid var(--ink);border-bottom:0}
.sitehd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-top:6px}
.sitehd .t{font:700 20px/1 var(--display)}
.grand{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;background:var(--ink);color:var(--bg);border-radius:var(--r);padding:12px 14px}
.grand b{font:700 30px/1 var(--display)}

/* crews */
.crews{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));align-items:start}
.crew{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}
.crew.off{border-style:dashed}
.crew header{display:flex;gap:8px;align-items:center}
.crew header input{font:700 20px/1 var(--display);flex:1 1 auto;width:100%}
.count{font:600 14px/1 var(--display);letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.crew ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.crew li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"name nick x" "move move x";gap:6px;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--line)}
.crew li:last-child{border-bottom:0}
.crew li [data-worker]{grid-area:name}.crew li .nickin{grid-area:nick;font-style:italic}.crew li [data-move]{grid-area:move}.crew li .x{grid-area:x;align-self:stretch}
.crew li[hidden]{display:none}
.find{width:100%;min-height:52px;font-size:18px;padding:10px 14px}
.who2{display:flex;flex-direction:column;gap:2px;min-width:0}
.wc .nick{font:600 17px/1.1 var(--body);color:var(--accent)}
.crew li input,.crew li select{min-height:40px;padding:6px 8px;width:100%}
.x{border:1px solid var(--line);background:none;border-radius:var(--r);min-width:40px;min-height:40px;cursor:pointer;color:var(--muted);padding:0 8px}
.x.arm{background:var(--danger);border-color:var(--danger);color:var(--surface);font-weight:600}
.add{display:flex;gap:6px}
.add textarea{flex:1 1 auto;resize:vertical;min-height:44px;height:44px;width:100%}
.fm li{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);
  padding:10px 16px;border-radius:var(--r);z-index:9;max-width:calc(100% - 32px)}
@media (prefers-reduced-motion:no-preference){ .btn,.pills button,.tabs button{transition:background-color .12s} }

.sub{color:var(--muted);margin:6px 0 0}
.acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.mini{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:6px 10px;min-height:34px;cursor:pointer;font:600 14px/1 var(--body)}
.mini.go{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.line.sched{border-left-color:var(--accent);border-left-style:dashed}
.line.sched input,.line.sched select{color:var(--muted)}
.crew .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:end;justify-content:space-between}
.crew .meta label.f{flex:0 0 140px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end}
.panel label.f{flex:0 1 150px}
.panel p{flex:1 1 240px;margin:0;min-width:0}
@media (min-width:760px){ .line .who{min-width:0;flex-wrap:nowrap} .line .nm{flex:0 0 auto} .acts{justify-content:flex-start} }

/* foreman time card: big targets, one decision per worker */
.langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.langs button{border:2px solid var(--line);background:var(--surface);border-radius:var(--r);min-height:48px;font:600 17px/1 var(--body);cursor:pointer}
.langs button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.sub.big{font:600 22px/1.2 var(--display);color:var(--ink);letter-spacing:.01em}
.days{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.days button{min-height:52px;font-size:18px;border-radius:var(--r)}
.picklist{display:flex;flex-direction:column;gap:8px}
.picklist button{min-height:60px;text-align:left;padding:12px 16px;border:2px solid var(--line);background:var(--surface);border-radius:var(--r);font:600 22px/1.15 var(--display);cursor:pointer}
.plan{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.plan span{color:var(--muted)} .plan b{font:700 26px/1 var(--display)}
.bigbtn{width:100%;min-height:64px;border:0;border-radius:var(--r);background:var(--accent);color:var(--accent-ink);font:700 22px/1.15 var(--display);letter-spacing:.02em;cursor:pointer;padding:10px 14px}
.hint{color:var(--muted);margin:8px 2px 0}
.wc{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--warn);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:8px}
.wc[data-k="sched"],.wc[data-k="custom"]{border-left-color:var(--ok)} .wc[data-k="absent"]{border-left-color:var(--muted)}
.wc .top{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between}
.wc .nm{font:700 24px/1.1 var(--display);overflow-wrap:break-word;min-width:0}
.wc .what{margin:0;color:var(--muted);font-size:16px}
.wc[data-k="sched"] .what,.wc[data-k="custom"] .what{color:var(--ink);font-weight:600}
.tag.off{background:var(--sunk);color:var(--muted)}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.seg button{min-height:54px;border:2px solid var(--line);background:var(--surface);border-radius:var(--r);font:600 15px/1.15 var(--body);padding:6px 4px;cursor:pointer;overflow-wrap:break-word}
.seg button[aria-pressed="true"]{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.seg button.neg[aria-pressed="true"]{background:var(--sunk);border-color:var(--muted);color:var(--ink)}
.seg button:disabled{opacity:.4;cursor:default}
.edit{background:var(--sunk);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px}
.edit .times{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.edit .times label:last-child{grid-column:1/-1}
@media (min-width:560px){ .edit .times{grid-template-columns:1fr 1fr 1fr} .edit .times label:last-child{grid-column:auto} }
.calc{margin:0;font:700 24px/1 var(--display)}
.err{margin:0;color:var(--warn);background:var(--warn-bg);padding:8px 10px;border-radius:var(--r);font-weight:600}
.sum.done{background:var(--ok);color:var(--surface)}
#toast .mini{margin-left:8px;color:var(--ink)}
#toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.splits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sp{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}
.sp select{min-height:52px;font-size:16px;width:100%}
.stepper{display:flex;align-items:center;gap:4px}
.stepper button{width:44px;min-height:52px;border:2px solid var(--line);background:var(--surface);border-radius:var(--r);font:700 22px/1 var(--body);cursor:pointer}
.stepper input{width:80px;min-height:52px;text-align:center;font:700 20px/1 var(--display);padding:4px;-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sp .x{min-height:52px}
@media (max-width:420px){ .sp{grid-template-columns:1fr auto} .sp select{grid-column:1/-1} }
.shophd{margin-top:14px;padding-top:14px;border-top:2px solid var(--ink)}

/* compact phone layout: slim bar that scrolls away, one-line cards, thin progress bar */
.bar{position:static;padding:8px 16px;gap:8px 12px;flex-wrap:wrap}
.brand{font-size:17px;gap:8px;margin-right:auto}
.brand i{width:11px;height:14px}
#langSlot:empty{display:none}
.langs{display:flex;gap:2px;background:rgba(127,127,127,.25);border-radius:999px;padding:2px}
.langs button{min-height:30px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:inherit;font:600 13px/1 var(--body)}
.langs button[aria-pressed="true"]{background:var(--bg);color:var(--ink)}
.menubtn{border:1px solid currentColor;background:none;color:inherit;border-radius:var(--r);padding:6px 12px;font:600 15px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.menubtn::after{content:" ▾"}
@media (max-width:759px){
  .tabs{display:none;width:100%}
  .bar.open .tabs:not([hidden]){display:flex}
  .tabs button{flex:1 1 0;min-height:44px}
  main{padding-block:10px 20px;gap:10px}
}
@media (min-width:760px){ .menubtn{display:none} }
.tchead h1{font-size:26px}
.tchead .sub.big{font:500 16px/1.2 var(--body);color:var(--muted);margin-top:2px}
.days{gap:6px} .days button{min-height:40px;font-size:16px}
.plan{padding:8px 12px;gap:2px 10px;font-size:14px} .plan b{font-size:20px}
.notice{padding:8px 12px;font-size:15px}
.bigbtn{min-height:50px;font-size:19px;padding:8px 12px}
.hint{font-size:14px;margin:4px 2px 0}
.find{min-height:44px;font-size:16px;padding:8px 12px}
#rows{gap:6px}
.wc{padding:8px 10px;gap:6px;border-left-width:5px}
.wc .top{flex-wrap:nowrap;align-items:center;gap:8px}
.who2{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:0;min-width:0;flex:1 1 auto}
.wc .nm{font-size:20px}
.wc .nick{font-size:14px}
.st2{flex:0 1 auto;min-width:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.wc .what{font-size:13px;line-height:1.2;color:var(--ok);font-weight:600}
.wc[data-k="none"] .what,.wc[data-k="absent"] .what{display:none}
.wc[data-k="sched"] .tag,.wc[data-k="custom"] .tag,.wc[data-k="shop"] .tag,.wc[data-k="split"] .tag{display:none}
.seg{gap:5px}
.seg button{min-height:42px;font-size:14px;padding:4px}
.edit{padding:10px;gap:8px}
.sum{padding:7px 12px;padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));flex-wrap:nowrap;gap:10px;align-items:center;font-size:14px;border-radius:var(--r) var(--r) 0 0}
.sum b{font-size:18px}
.sum span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sum .st{font-size:13px}
#toast{bottom:calc(56px + env(safe-area-inset-bottom,0px))}
.bar{background:#121b2d;color:#e9edf2}
.langs button[aria-pressed="true"]{background:#e9edf2;color:#121b2d}
.tchead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tchead .tl{min-width:0}
.tchead .days{flex:0 0 auto;display:flex;gap:4px}
.tchead .days button{min-height:38px;padding:0 12px;font-size:14px;border-radius:999px}
.plan{background:none;border:0;padding:0 2px;font-size:14px;color:var(--muted);gap:0 8px}
.plan b{font-size:16px;color:var(--ink)}
.tchead ~ .datebar .day{display:none}
.tabs button{white-space:nowrap}
.edit .times label{min-width:0}
.edit .times input,.edit .times select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left}
.edit .times select{-webkit-appearance:menulist;appearance:auto}
.edit .times input::-webkit-date-and-time-value{text-align:left}

/* ---- standalone site additions ---- */
.signin{max-width:420px;margin:8vh auto 0;display:flex;flex-direction:column;gap:12px}
.signin input{width:100%}
.err-box{background:var(--warn-bg);color:var(--warn);border-radius:var(--r);padding:10px 12px;font-weight:600}
.rainbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rainbtn{border:2px solid var(--line);background:var(--surface);border-radius:999px;min-height:38px;padding:0 14px;font:600 14px/1 var(--body);cursor:pointer}
.rainpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:10px}
.rainpanel .row input{max-width:160px}
.rainbanner{background:var(--accent-soft);color:var(--ink);border-radius:var(--r);padding:8px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-weight:600}
.wc[data-k="rain"]{border-left-color:var(--accent)} .wc[data-k="rain"] .tag{background:var(--accent-soft);color:var(--accent)}
.offline{background:var(--warn-bg);color:var(--warn);text-align:center;padding:6px 12px;font-weight:600;font-size:14px}
.linkbox{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.linkbox input{flex:1 1 260px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.fmlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fmlist li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}
.fmlist li .acts2{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.fmlist li.off{opacity:.6}
.pay td.num,.pay th.num{min-width:52px}
.flag{display:inline-block;font-size:12px;background:var(--warn-bg);color:var(--warn);border-radius:3px;padding:2px 6px;margin:1px 2px 1px 0;white-space:nowrap}
.approved{background:var(--ok-bg);color:var(--ok);border-radius:var(--r);padding:10px 12px;font-weight:600;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.imp-table td,.imp-table th{white-space:normal}
.unk{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,1.4fr);gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.unk:last-child{border-bottom:0}
.unk .new{grid-column:2;display:flex;gap:6px;flex-wrap:wrap}
.unk .new input{flex:1 1 160px}
textarea.dates{width:100%;min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace}

/* ---- standard phone font and the logo bar ---- */
.bar{background:#ffffff;color:#121b2d;border-bottom:1px solid #dde3ea;padding:8px 16px;gap:8px 12px}
.brand{font:inherit;letter-spacing:0;text-transform:none;text-decoration:none;color:inherit;gap:10px;margin-right:auto;min-width:0}
.brand img{height:34px;width:auto;display:block}
.brand .app{font:600 15px/1.1 var(--body);color:#55617a;border-left:1px solid #dde3ea;padding-left:10px;white-space:nowrap}
.langs{background:#eef1f5}
.langs button{color:#121b2d}
.langs button[aria-pressed="true"]{background:#121b2d;color:#ffffff}
.menubtn{color:#121b2d;border-color:#c9d1dc;font:600 15px/1 var(--body);letter-spacing:0;text-transform:none}
.tabs button{color:#121b2d;opacity:.85;font:600 15px/1 var(--body);letter-spacing:0;text-transform:none}
.tabs button[aria-current="page"]{opacity:1;background:#1b4fd6;color:#ffffff}
@media (max-width:440px){ .brand img{height:28px} .brand .app{display:none} }
h1{font:700 26px/1.15 var(--body);letter-spacing:-.01em}
h2{font:700 18px/1.25 var(--body);letter-spacing:0;text-transform:none}
.eyebrow{font:600 12px/1 var(--body);letter-spacing:.06em}
label.f{font:600 12px/1.1 var(--body);letter-spacing:.03em}
.tag{font:600 11px/1 var(--body);letter-spacing:.03em}
.tchead h1{font-size:24px}
.wc .nm{font:600 19px/1.2 var(--body)}
.wc .nick{font:500 14px/1.2 var(--body)}
.bigbtn{font:700 18px/1.2 var(--body);letter-spacing:0}
.picklist button{font:600 18px/1.2 var(--body)}
.plan b{font:700 17px/1.2 var(--body)}
.calc{font:700 20px/1.2 var(--body)}
.sum b{font:700 16px/1.2 var(--body)}
.grand b{font:700 24px/1 var(--body)}
.sitehd .t{font:700 17px/1.2 var(--body)}
.datebar .day{font:600 17px/1.2 var(--body);letter-spacing:0}
.empty strong{font:600 18px/1.3 var(--body);letter-spacing:0}
.count{font:600 13px/1 var(--body);letter-spacing:.02em}
.crew header input{font:700 17px/1.2 var(--body)}
.stepper input{font:700 18px/1 var(--body)}
th{font:600 12px/1 var(--body);letter-spacing:.03em}
.line .nm{font:600 19px/1.2 var(--body)}

/* adding a worker */
.addw{width:100%;margin-top:10px;border-style:dashed;font-weight:600}
.addpanel{margin-top:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:10px}
.addpanel .row{display:flex;gap:8px}
.addpanel input{min-width:0;flex:1;font-size:17px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r)}
.addlist{list-style:none;margin:8px 0 0;padding:0}
.addlist li{padding:4px 0}
.addlist button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:var(--r);padding:10px 12px;min-height:52px;cursor:pointer;font:inherit;color:inherit}
.addlist button:active{background:var(--accent);color:var(--accent-ink)}
.addlist .nm{font:600 17px/1.2 var(--body)}
.addlist .nick{font-weight:500;color:var(--muted)}
.addlist .where{font-size:13px;color:var(--muted)}
.wc .st2 .mini{min-height:28px;padding:4px 8px;font-size:13px}
.addpanel{scroll-margin-top:12px}
.addlist{min-height:55vh}
