/* Site tools: RA bill, labour bill, labour wages (owner-approved tools mockup,
   2026-10-12). Only DESIGN.md tokens, the six type sizes, the 4px rhythm and
   44px tap areas; guarded by tests/test_type_scale.py and test_spacing_scale.py. */

.tool-lead{max-width:680px}
.tool-facts{font-size:var(--fs-sm);color:var(--text-sec)}
.tool-wrap{padding-top:var(--s8);padding-bottom:var(--s10)}
.js-only{display:none}
.tool-js .js-only{display:revert}
.tool-js .no-js-only{display:none}

/* ---------- Start screen ---------- */
.tstart{display:grid;gap:var(--s10);align-items:start}
@media (min-width:1024px){.tstart{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s12)}}
.tstart__main{display:flex;flex-direction:column;gap:var(--s4)}
.tstart__main .section-head{margin-bottom:var(--s2)}
.tstart__saved{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);padding:var(--s5);border:1px solid var(--teal);border-radius:var(--r-card);background:#fff}
.tstart__saved[hidden]{display:none}
.tstart__saved-copy{display:flex;flex-direction:column;gap:4px;flex:1 1 260px;min-width:0}
.tstart__eyebrow{font-size:var(--fs-sm);color:var(--text-sec)}
.tstart__saved-title{font-weight:600}
.tstart__saved-acts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.tstart__choices{display:flex;flex-direction:column;gap:var(--s3)}
.tstart__choice{position:relative;padding-right:var(--s10);gap:var(--s2)}
.tstart__choice::after{content:"";position:absolute;right:var(--s5);top:50%;width:8px;height:8px;margin-top:-4px;border-top:1.5px solid var(--text-sec);border-right:1.5px solid var(--text-sec);transform:rotate(45deg);transition:transform .15s ease,border-color .15s ease}
.tstart__choice:hover::after{border-color:var(--teal-dark);transform:translateX(3px) rotate(45deg)}
.tstart__choice-t{font-weight:600}
.tstart__choice-d{font-size:var(--fs-sm);color:var(--text-sec);line-height:var(--lh-snug)}
.tstart__other{font-size:var(--fs-sm);color:var(--text-sec)}
.tstart__aside{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6);border:1px solid var(--border);border-radius:var(--r-card)}
.tstart__aside h2{font-size:var(--fs-h3)}
.tneed{list-style:none;display:flex;flex-direction:column;gap:var(--s3);font-size:var(--fs-sm);line-height:var(--lh-body)}
.tneed li{position:relative;padding-left:var(--s8)}
.tneed li::before{content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--teal-light)}
.tneed li::after{content:"";position:absolute;left:9px;top:7px;width:6px;height:10px;border-right:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);transform:rotate(45deg)}
.tstart__steps{list-style:none;counter-reset:ts;display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s4);border-top:1px solid var(--border);font-size:var(--fs-sm)}
.tstart__steps li{counter-increment:ts;display:flex;align-items:center;gap:var(--s3)}
.tstart__steps li::before{content:counter(ts);width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-sec)}

/* ---------- Layout: steps + answer ---------- */
.tool-layout{display:grid;gap:var(--s6);align-items:start}
@media (min-width:1024px){.tool-layout{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s8)}}
.tool-steps{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
@media (min-width:1024px){.tool-answer{position:sticky;top:var(--s6)}}
.tool-answer{display:flex;flex-direction:column;gap:var(--s4)}

/* ---------- A step ---------- */
.tstep{border:1px solid var(--border);border-radius:var(--r-card);background:#fff}
.tstep.is-open{border-color:var(--teal)}
.tstep__head{display:flex;align-items:center;gap:var(--s4);width:100%;min-height:72px;padding:var(--s4) var(--s5);border:0;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer;border-radius:var(--r-card)}
.tstep__head:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.tstep__dot{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-sm);color:var(--text-sec);box-shadow:inset 0 0 0 1px var(--border-strong)}
.tstep.is-open .tstep__dot{background:var(--teal-light);color:var(--teal-deep);box-shadow:inset 0 0 0 2px var(--teal)}
.tstep.is-done .tstep__dot{background:var(--teal-dark);color:#fff;box-shadow:none}
.tstep__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.tstep__title{font-weight:600}
.tstep__sum{font-size:var(--fs-sm);color:var(--text-sec);line-height:var(--lh-snug)}
.tstep__edit{margin-left:auto;font-size:var(--fs-sm);font-weight:500;color:var(--teal-dark)}
.tstep.is-open .tstep__edit{display:none}
.tool-js .tstep:not(.is-open) .tstep__body{display:none}
.tstep__body{display:flex;flex-direction:column;gap:var(--s5);padding:0 var(--s5) var(--s5)}
.tstep__count{font-size:var(--fs-sm);color:var(--text-sec);margin-bottom:calc(var(--s2) * -1)}
.tstep__lead{line-height:var(--lh-body)}
.tstep__next{display:flex;justify-content:flex-end}

/* ---------- Fields ---------- */
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s4)}
.tfield label,.tseg-field legend{display:block;font-size:var(--fs-sm);font-weight:500;margin-bottom:6px}
.tfield--narrow{max-width:320px}
.tool input[type=text],.tool input[type=number],.tool input[type=date],.tool input:not([type]),.tool textarea{box-sizing:border-box;width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-btn);background:#fff;font:400 var(--fs-base)/var(--lh-snug) var(--font);color:var(--text);font-variant-numeric:tabular-nums}
.tool textarea{min-height:96px;padding:10px 12px;resize:vertical}
.tool input:focus,.tool textarea:focus{outline:3px solid var(--teal);outline-offset:1px;border-color:var(--teal-dark)}
.tool input[type=number]{-moz-appearance:textfield}
.tool input[type=number]::-webkit-inner-spin-button,.tool input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.thelp{font-size:var(--fs-sm);color:var(--text-sec);line-height:var(--lh-snug);margin-top:6px}
.tool .errorlist{list-style:none;margin-top:4px;color:var(--error);font-size:var(--fs-sm)}
.tool .is-invalid{border-color:var(--error)!important}
.terr{margin-top:4px;color:var(--error);font-size:var(--fs-sm)}
.tlink{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;font:500 var(--fs-sm) var(--font);color:var(--teal-dark);cursor:pointer;text-align:left}
.tlink:hover{color:var(--teal-deep);text-decoration:underline}
.tfold__body[hidden]{display:none}

/* Running / Final bill */
.tseg-field{border:0;margin:0;padding:0;min-width:0}
.tseg-field legend{padding:0}
.tseg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-btn);overflow:hidden}
.tseg__opt{position:relative}
.tseg__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tseg__opt span{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s5);font-size:var(--fs-sm);font-weight:500;background:#fff}
.tseg__opt+.tseg__opt span{border-left:1px solid var(--border-strong)}
.tseg__opt input:checked+span{background:var(--teal-light);color:var(--teal-deep);font-weight:600}
.tseg__opt input:focus-visible+span{outline:3px solid var(--teal);outline-offset:-3px}

/* Tap choices for a percentage */
.tchips{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) 0;border-top:1px solid var(--border)}
.tstep__body>.tchips:first-of-type,.tstep__lead+.tchips{border-top:0;padding-top:0}
.tchips__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3)}
.tchips__label{font-weight:500}
.tchips__amt{font-size:var(--fs-sm);color:var(--text-sec);font-variant-numeric:tabular-nums;white-space:nowrap}
.tchips__opts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.tool-js .tchips__opts{display:flex}
/* .topt (tap choices) lives in style.css since 2026-10-15: About you uses it too. */
.tchips__other{display:flex;flex-direction:column}
.tool-js .tchips__other.is-folded{display:none}
.tinput-suffix{display:inline-flex;align-items:center;gap:var(--s2);max-width:160px}
.tinput-suffix span{color:var(--text-sec)}
.st-more{border-top:1px solid var(--border)}
.st-more summary{display:flex;align-items:center;min-height:44px;font-size:var(--fs-sm);font-weight:500;color:var(--teal-dark);cursor:pointer}
.st-more[open] summary{margin-bottom:var(--s2)}

/* ---------- Tables ---------- */
.ttools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}
.ttable-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-btn)}
.ttable-wrap--plain{border:0}
.ttable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ttable th{font-size:var(--fs-sm);font-weight:600;color:var(--text-sec);text-align:left;padding:10px 8px;border-bottom:1px solid var(--border-strong);white-space:nowrap;background:var(--surface)}
.ttable td{font-size:var(--fs-sm);padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}
.ttable tr:last-child td{border-bottom:0}
.ttable .num{text-align:right}
.ttable .num input{text-align:right}
.ttable input{min-height:40px!important;padding:0 10px!important;min-width:72px}
th.ttable__key{color:var(--teal-deep)}
.ttable__key input{border-color:var(--teal)!important}
.tout{white-space:nowrap;font-weight:500}
.col-mb{display:none}
.ttable[data-col-mb=on] .col-mb{display:table-cell}
.tcell-act{width:48px;text-align:right}
.ticon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:var(--r-btn);background:#fff;color:var(--text-sec);cursor:pointer}
.ticon:hover{border-color:var(--teal-dark);color:var(--teal-deep)}
.titem__desc td{padding:var(--s3) 8px 4px;border-bottom:0}
.titem__nums td{border-bottom:1px solid var(--border)}
.titem.has-note .titem__nums td{border-bottom:0}
.titem:last-of-type .titem__nums td,.titem:last-of-type .trow-note td{border-bottom:0}
.titem[hidden]{display:none}
.titem__meta,.titem__links{display:none}
.trow-note td{padding-top:0;border-bottom:1px solid var(--border)}
.tnote{padding:8px 12px;border-radius:var(--r-btn);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-sm);line-height:var(--lh-snug)}
.tpaste{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-btn);background:var(--surface)}
.tpaste[hidden]{display:none}
.tpaste label{font-size:var(--fs-sm);font-weight:500}
.tpaste__acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}
.tsub{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s4);border-top:1px solid var(--border)}
.tsub__title{font-size:var(--fs-base);font-weight:600}
.ttable--pairs td:first-child{width:65%}
.ttable--sum td{padding:10px 12px}
.ttable--sum .is-total td{font-weight:600}

/* Phones: rows become cards */
@media (max-width:767px){
  .ttable--items thead,.ttable--history thead{display:none}
  .ttable--items,.ttable--history,.ttable--history tbody{display:block}
  .ttable--items .titem{display:block;position:relative;padding:var(--s4);border-bottom:1px solid var(--border)}
  .ttable--items .titem[hidden]{display:none}
  .ttable--items .titem:last-of-type{border-bottom:0}
  .ttable--items .titem__desc,.ttable--items .titem__desc td{display:block;padding:0 0 var(--s3);border:0}
  .tool-js .ttable--items .titem__meta{display:block;margin-top:var(--s2);font-size:var(--fs-sm);color:var(--text-sec);font-variant-numeric:tabular-nums}
  .tool-js .ttable--items .titem__links{display:flex;gap:var(--s6)}
  .tool-js .ttable--items .titem__edit[hidden]{display:none}
  .tool-js .ttable--items .tcell-act{display:none}
  .tool-js .ttable--items .titem:not(.is-editing) td[data-carry]{display:none}
  .ttable--items[data-col-mb=off] .titem__nums td.col-mb{display:none}
  .ttable--items .titem__nums,.ttable--history tr[data-row]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .ttable--history tr[data-row]{padding:var(--s4);border-bottom:1px solid var(--border)}
  .ttable--items .titem__nums td,.ttable--history td{display:flex;flex-direction:column;gap:4px;padding:0;border:0}
  .ttable--items .titem__nums td::before,.ttable--history td::before{content:attr(data-label);font-size:var(--fs-sm);color:var(--text-sec);text-align:left}
  .ttable--items .num,.ttable--history .num{text-align:left}
  .ttable--items .ttable__key{grid-column:1 / -1}
  .tool .ttable--items .ttable__key input{font-size:var(--fs-h3);min-height:48px!important}
  .ttable--items .tcell-act{grid-column:2;justify-self:end;align-self:end;width:auto}
  .ttable--items .titem__nums td.tcell-act::before{content:none}
  .ttable--items .tout{font-size:var(--fs-base)}
  .ttable--items .trow-note,.ttable--items .trow-note td{display:block;padding:var(--s3) 0 0;border:0}
  .ttable--items .trow-note[hidden]{display:none}
  .ticon{width:44px;height:44px}
  .ttable input{min-height:44px!important}
}

/* ---------- Labour wages: one card per worker ---------- */
.tcrew{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-btn)}
.wkr{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border-bottom:1px solid var(--border)}
.wkr:last-child{border-bottom:0}
.wkr[hidden]{display:none}
.wkr__id{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1fr);gap:var(--s3)}
.wkr__id .titem__meta{grid-column:1 / -1}
.wkr__att{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3) var(--s4)}
.wkr__out{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.wkr__out-label{font-size:var(--fs-sm);color:var(--text-sec)}
.wkr__net{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-variant-numeric:tabular-nums}
.wkr__links{display:flex;flex-wrap:wrap;gap:0 var(--s6);margin-top:calc(var(--s2) * -1)}
.wkr__links .titem__edit{display:none}
.wkr__more{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}
.tool-js .wkr__more:not(.is-open){display:none}
.wkr .trow-note[hidden]{display:none}
.tnum.is-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--border-strong);border-radius:var(--r-btn);overflow:hidden;background:#fff}
.tnum.is-stepper:focus-within{outline:3px solid var(--teal);outline-offset:1px}
.tool .tnum.is-stepper input{width:56px;min-width:0;border:0;border-radius:0;padding:0 4px;text-align:center;font-weight:600}
.tool .tnum.is-stepper input:focus{outline:none}
.tnum__btn{flex:none;width:44px;min-height:44px;border:0;background:#fff;font:500 var(--fs-h3)/1 var(--font);color:var(--teal-dark);cursor:pointer}
.tnum__btn:hover{background:var(--teal-light);color:var(--teal-deep)}
.tnum__btn:disabled{color:var(--border-strong);cursor:default;background:#fff}
@media (max-width:767px){
  .wkr__id{grid-template-columns:minmax(0,1fr)}
  .tool-js .wkr:not(.is-editing) [data-carry]{display:none}
  .tool-js .wkr .titem__meta{display:block;font-size:var(--fs-sm);color:var(--text-sec)}
  .tool-js .wkr__links .titem__edit{display:inline-flex}
  .tool-js .wkr__links .titem__edit[hidden]{display:none}
  .wkr__att .tfield{flex:1 1 120px}
  .tool .tnum.is-stepper input{width:40px}
  .wkr__out{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center}
}

/* ---------- Daily progress report: one card per row, as the crew list ---------- */
.drows{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-btn)}
.drow{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);border-bottom:1px solid var(--border)}
.drow:last-child{border-bottom:0}
.drow[hidden]{display:none}
.drow__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--s3)}
.drow__wide{grid-column:span 2}
.drow--note .drow__fields{grid-template-columns:minmax(0,1fr)}
.drow--note .drow__wide{grid-column:auto}
.drow__fields textarea{width:100%;min-height:64px;font:inherit;padding:var(--s2) var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-btn);resize:vertical}
.drow__out{display:flex;flex-direction:column;justify-content:flex-end;gap:6px}
.drow__out-label{font-size:var(--fs-sm);font-weight:500}
.drow__out-value{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-variant-numeric:tabular-nums}
.drow__remove{align-self:flex-start}
.drows + .ttools{margin-top:var(--s3)}
.dweather{border:0;padding:0;margin:var(--s4) 0 0;display:flex;flex-direction:column;gap:var(--s2)}
.dweather legend{font-size:var(--fs-sm);font-weight:500;margin-bottom:6px;padding:0}
.dweather__opts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.dweather__note{max-width:400px}
@media (max-width:767px){.drow__wide{grid-column:1 / -1}.drow__fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Answer panel ---------- */
.tool-answer__status{font-size:var(--fs-sm);color:var(--text-sec)}
.tool-answer__status:empty{display:none}
.tool-answer__status.is-error{color:var(--warn)}
.ta-card{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6);border:1px solid var(--border);border-radius:var(--r-card);background:#fff}
.ta-card--main{box-shadow:var(--shadow-2)}
.ta-card+.ta-card{margin-top:var(--s4)}
.ta-label{font-size:var(--fs-sm);color:var(--text-sec)}
.ta-big{font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:600;font-variant-numeric:tabular-nums;margin-top:calc(var(--s3) * -1);overflow-wrap:anywhere}
.ta-big--empty{color:var(--text-sec)}
.ta-lines{display:flex;flex-direction:column;border-top:1px solid var(--border);padding-top:var(--s2)}
.ta-lines--plain{border-top:0;padding-top:0}
.ta-line{display:flex;justify-content:space-between;gap:var(--s4);padding:6px 0;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.ta-line span:last-child{white-space:nowrap}
.ta-line--sub{font-weight:500}
.ta-line--total{font-weight:600;border-top:1px solid var(--border);margin-top:4px;padding-top:10px}
.ta-checks{padding:var(--s3) var(--s4);border:1px solid var(--warn-border);border-radius:var(--r-btn);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-sm);line-height:var(--lh-snug)}
.ta-checks__title{font-weight:600;color:#5c3d00}
.ta-checks ul{margin:var(--s2) 0 0;padding-left:var(--s5);display:flex;flex-direction:column;gap:6px}
.ta-checks__go{display:inline-flex;align-items:center;min-height:44px;font-weight:500;color:#5c3d00;text-decoration:underline}
.ta-ok{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--teal-deep)}
.ta-card__title{font-size:var(--fs-sm);font-weight:600}
.ta-note{font-size:var(--fs-sm);color:var(--text-sec);line-height:var(--lh-snug)}
.tool-answer__foot{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0 4px}
.tsaved{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-sec)}
.tsaved[hidden]{display:none}

/* Phone bar with the answer */
.tool-bar{display:none}
@media (max-width:1023px){
  .tool-js .tool-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;align-items:center;gap:var(--s3);padding:var(--s3) var(--gutter) calc(var(--s3) + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--border);box-shadow:0 -8px 24px -18px rgba(26,26,26,.35)}
  .tool-js .tool-bar .btn{margin-left:auto}
  body.has-tool-bar{padding-bottom:88px}
  html.has-tool-bar{scroll-padding-bottom:96px}
}
.tool-bar__copy{display:flex;flex-direction:column}
.tool-bar__label{font-size:var(--fs-sm);color:var(--text-sec)}
.tool-bar__value{font-size:var(--fs-h3);font-weight:600;font-variant-numeric:tabular-nums}

/* Keep on this device? */
.tkeep{position:fixed;right:var(--s6);bottom:var(--s6);z-index:30;max-width:380px;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-card);background:#fff;box-shadow:var(--shadow-2)}
.tkeep[hidden]{display:none}
.tkeep__t{font-weight:600}
.tkeep__d{font-size:var(--fs-sm);color:var(--text-sec);line-height:var(--lh-snug)}
.tkeep__acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4)}
@media (max-width:1023px){.tkeep{left:var(--gutter);right:var(--gutter);bottom:calc(88px + var(--s3));max-width:none}}

/* Removed. Undo */
.ttoast{position:fixed;left:var(--s6);bottom:var(--s6);z-index:40;display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);border-radius:var(--r-btn);background:var(--text);color:#fff;font-size:var(--fs-sm);box-shadow:var(--shadow-2)}
.ttoast[hidden]{display:none}
.ttoast .tlink{color:var(--teal-light)}
@media (max-width:1023px){.ttoast{left:var(--gutter);right:var(--gutter);bottom:calc(88px + var(--s3))}}

/* ---------- Below the tool ---------- */
.tool-below{padding-bottom:var(--s16)}
.tool-read{margin-top:var(--s10)}
.tool-read__main h2{font-size:var(--fs-h2);margin:var(--s10) 0 var(--s3)}
.tool-read__main h2:first-child{margin-top:0}
.tool-read__main p,.tool-read__main li{line-height:var(--lh-body)}
.tool-read__main ul{padding-left:var(--s5);display:flex;flex-direction:column;gap:6px}
.tool-read__main p{margin:var(--s3) 0}
.tool-faq{margin-top:var(--s16)}
.tool-others{margin-top:var(--s16)}

@media print{
  .site-header,.site-footer,.page-head .breadcrumb,.tool-bar,.tkeep,.ttoast,.tool-below,.tstep__head,.tstep__next,.ttools,.tfold,.tlink,.ticon,.tool-answer__foot,.tool-answer .btn,.tool-submit,.tchips__opts{display:none!important}
  .tool-js .tstep:not(.is-open) .tstep__body{display:flex}
  .tool-layout{display:block}
  .tstep{border:0;break-inside:avoid}
  .ta-card--main{box-shadow:none}
}

/* The line above a tool (2026-10-15): no start screen; example, new, other tools. */
.tline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);margin:0 0 var(--s4);font-size:var(--fs-sm)}
.tline__lead{margin:0}
.tline__other{flex-basis:100%;margin:0;color:var(--text-sec)}

/* Dates day first (final flow, 2026-10-16): a text box shows dd/mm/yyyy; the real date box stays in the form, out of sight, and opens as the calendar. */
.dmy{position:relative;display:flex;gap:var(--s2);align-items:stretch}
.dmy .dmy__text{flex:1;min-width:0}
.dmy__pick{flex:none;width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--r-btn);background:#fff;color:var(--teal-dark);cursor:pointer}
.dmy__pick:hover{border-color:var(--teal-dark)}
.tool .dmy .dmy__real{position:absolute;left:0;bottom:0;width:1px;min-height:0;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
.dmy__note{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--error)}
/* Wages: hours and overtime behind one line (final flow). */
.tbasis{margin-top:var(--s2)}
.tbasis__line{margin:0;font-size:var(--fs-sm);color:var(--text-sec)}
.tbasis #basis-fields{margin-top:var(--s3)}

/* In a frame on its template page (owner-approved mockup, 2026-10-20;
   static/js/embed.js). The frame never scrolls, so the keep prompt and Undo
   sit at the bottom of the part of the frame on screen (--embed-vb, posted by
   the page, which leaves out its own phone Download bar); that bar replaces the
   tool's, and the answer panel is kept in view by embed.js, not by sticky. */
html[data-embed] body{min-height:0;position:relative}
html[data-embed] body.has-tool-bar{padding-bottom:0}
html[data-embed] .tool-js .tool-bar{display:none}
html[data-embed] .tool-answer{position:static}
html[data-embed] .tkeep,html[data-embed] .ttoast{position:absolute;bottom:auto;top:calc(var(--embed-vb,100%) - var(--s6));transform:translateY(-100%)}
@media (max-width:1023px){html[data-embed] .tkeep,html[data-embed] .ttoast{top:calc(var(--embed-vb,100%) - var(--s3))}}
