
.tc-settings--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tc-settings--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media screen and (max-width: 860px) { .tc-settings--5, .tc-settings--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wk { display: grid; gap: var(--sp-2); }
.wk-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3); flex-wrap: wrap; }
.wk-head .tc-h { margin-bottom: 0; }
.wk-sum { font-size: var(--fs-14); color: var(--color-text-muted); font-variant-numeric: var(--num); }
.wk-sum .ot { color: var(--color-ot-text); font-weight: var(--fw-semibold); }
.wk-charts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
.wk-chart-label { font-size: var(--fs-13); font-weight: var(--fw-semibold); color: var(--color-text-muted); margin-bottom: var(--sp-2); }
.week-chart--sm { height: 132px; gap: 6px; }
.week-chart--sm .week-chart__val { font-size: min(var(--fs-12), 4.2cqi); }
@media screen and (max-width: 420px) { .wk-charts { grid-template-columns: 1fr; gap: var(--sp-4); } }
.wk-insight svg { color: var(--color-brand); }
.hw-inputs { align-content: start; }
.hw-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.hw-chips .chip { height: 32px; min-width: 0; padding: 0 12px; font-size: var(--fs-13); }
.shifts { display: grid; gap: 0; border-top: 1px solid var(--color-line); }
.shift { display: grid; gap: var(--sp-3); padding: var(--sp-4) 0; border-bottom: 1px solid var(--color-line); }
.shift__head { display: flex; align-items: baseline; gap: var(--sp-3); min-height: 24px; }
.shift__name { font-weight: var(--fw-semibold); font-size: var(--fs-15); }
.shift__note { font-size: var(--fs-13); color: var(--color-text-muted); }
.shift__rm { margin-left: auto; font-size: var(--fs-14); }
.shift__grid { display: grid; grid-template-columns: repeat(2, max-content); gap: var(--sp-3) var(--sp-4); align-items: end; }
.shift__grid .field__label { font-size: var(--fs-14); }
.shift__out { display: grid; gap: 6px; }
.shift__hours { display: flex; align-items: center; height: 44px; font-weight: var(--fw-semibold); font-size: var(--fs-16); font-variant-numeric: var(--num); white-space: nowrap; }
.shift__hours.muted { color: var(--color-text-muted); font-weight: var(--fw-medium); }
@media screen and (max-width: 520px) {
  .shift__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shift__grid .timefield .input { flex: 1; width: auto; min-width: 0; }
  .shift__grid .breakfield .input { width: 100%; }
}
.hw-hero { display: flex; align-items: baseline; gap: var(--sp-2); min-width: 0; }
.hw-hero .result__hero { flex: 0 1 auto; min-width: 0; }
.hw-unit { font-size: var(--fs-18); font-weight: var(--fw-semibold); color: var(--green-800); white-space: nowrap; }
.tl { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); }
.tl__top { display: flex; justify-content: space-between; gap: var(--sp-3); font-size: var(--fs-14); margin-bottom: 4px; }
.tl__name { font-weight: var(--fw-semibold); }
.tl__time { color: var(--ink-700); font-variant-numeric: var(--num); white-space: nowrap; }
.tl__track { display: flex; gap: 2px; height: 14px; border-radius: var(--radius-bar); background: var(--white); overflow: hidden; }
.tl__work { background: var(--color-regular); height: 100%; }
.tl__brk { background: var(--ink-200); height: 100%; }
.key-brk { background: var(--ink-200); }
.hw-insight svg { color: var(--color-brand); }
.finish { margin-top: var(--sp-5); display: grid; gap: var(--sp-4); padding: var(--sp-6); border-radius: var(--radius-panel); background: var(--color-surface-tint); }
.finish__inputs { display: grid; grid-template-columns: max-content 120px 120px; gap: var(--sp-4); align-items: end; }
.finish__num { height: 44px; }
.finish__num input { font-size: var(--fs-16); }
.finish .chip { height: 32px; min-width: 0; padding: 0 12px; font-size: var(--fs-13); }
.finish__out { display: grid; gap: 2px; padding-top: var(--sp-4); border-top: 1px solid var(--green-200); }
.finish__label { font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--green-800); }
.finish__time { font-size: 2.25rem; font-weight: var(--fw-bold); line-height: 1.1; letter-spacing: -0.02em; color: var(--color-brand); font-variant-numeric: var(--num); }
.finish__time.is-empty { color: var(--ink-500); }
.finish__sub { font-size: var(--fs-15); color: var(--ink-700); min-height: 1.5em; }
@media screen and (max-width: 560px) {
  .finish { padding: var(--sp-5) var(--sp-4); }
  .finish__inputs { grid-template-columns: 1fr 1fr; }
  .finish__inputs > .field:first-child { grid-column: 1 / -1; }
  .finish__num { width: 100%; }
}
.tk-settings { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--sp-4); align-items: end; }
@media screen and (max-width: 860px) { .tk-settings { grid-template-columns: minmax(0, 1fr); } }
@media screen and (max-width: 480px) { .tk-steps { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tc { grid-template-columns: minmax(0, 1fr); }
.tk-day { height: 44px; width: 148px; }
.tk-day select { font-size: var(--fs-15); font-weight: var(--fw-semibold); }
.tk-grid tbody th { width: 164px; }
.tk-rounded { font-size: var(--fs-14); color: var(--ink-700); white-space: nowrap; font-variant-numeric: var(--num); }
.tk-grid td.r { width: 92px; }
.tk-grid td.r small { display: block; font-size: var(--fs-12); font-weight: var(--fw-medium); color: var(--color-text-muted); }
.tk-rm { width: 72px; text-align: right; }
.tk-rm .linkish { font-size: var(--fs-14); }
.tk-add { display: grid; gap: var(--sp-2); justify-items: start; }
.tk-days { margin-top: 0; }
.muted-cell { color: var(--color-text-muted); }
@media screen and (max-width: 860px) {
  .tc-grid.tk-grid tbody tr.day-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tc-grid.tk-grid tbody tr.day-row > th { grid-column: 1; display: block; }
  .tc-grid.tk-grid tbody tr.day-row > td:nth-of-type(1) { grid-column: 1; grid-row: 2; }
  .tc-grid.tk-grid tbody tr.day-row > td:nth-of-type(2) { grid-column: 2; grid-row: 2; }
  .tc-grid.tk-grid tbody tr.day-row > td:nth-of-type(3) { grid-column: 1; grid-row: 3; align-self: end; }
  .tc-grid.tk-grid tbody tr.day-row > td:nth-of-type(4) { grid-column: 2; grid-row: 3; }
  .tc-grid.tk-grid tbody tr.day-row > td:nth-of-type(5) { grid-column: 2; grid-row: 1; align-self: center; }
  .tk-day { width: 100%; }
  .tk-grid tbody th { width: auto; }
  .tk-rm { width: auto; }
}
@media print {
  .wk + .wk { margin-top: 10pt; }
  .wk-head { display: flex !important; }
  .wk-head .tc-h { font-size: 12pt; }
  .wk-sum { color: #000 !important; }
  .tc-grid th, .tc-grid td { padding: 4pt 6pt !important; }
  .is-blank .print-val, .is-blank .tc-grid td.r, .is-blank .wk-sum, .is-blank .tc-grid tbody th small,
  .is-blank .kpi dd, .is-blank .kpi dd small { color: transparent !important; }
  .is-blank .tc-grid tbody th, .is-blank .tc-grid tbody td { height: 24pt; }
  .tk-add, .tk-settings, .tk-rm { display: none !important; }
  .finish { display: none !important; }
}
@media screen and (max-width: 860px) { .tc-bottom { grid-template-columns: minmax(0, 1fr); } }
.tk-days td.n + td, .tk-days th.n + th { padding-left: var(--sp-3); border-left: 0; }
@media screen and (max-width: 480px) { .tk-days { font-size: var(--fs-14); } .tk-days th, .tk-days td { padding-right: var(--sp-2); } }
.kpi dd { line-height: 32px; min-height: 0; height: 52px; display: grid; grid-template-rows: 32px 20px; align-content: start; }
.kpi dd small { line-height: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpi dd[data-len="xlong"] { padding-top: 0; }
.kpi-empty { font-size: var(--fs-18); color: inherit; }
.tk-none { display: none; } 
@media screen and (max-width: 420px) { .kpi dd { line-height: 28px; grid-template-rows: 28px 20px; height: 48px; } }
.ga-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
.ga-actions .btn { width: 100%; padding: 0 var(--sp-3); }
.ga-actions .btn--wide { grid-column: 1 / -1; }
@media print { .ga-actions { display: none !important; } }
@media print {
  .tc-grid thead tr { display: table-row !important; }
  .tc-grid thead th { display: table-cell !important; padding: 4pt 6pt !important; border-bottom: 1px solid #000 !important; color: #000 !important; font-size: 9pt !important; }
  .tc-grid tbody th { width: 26% !important; }
  .tc-grid tbody th small { display: block !important; font-size: 8pt !important; }
  .tc-grid td.r { font-size: 11pt !important; width: 12% !important; text-align: right !important; }
  .tc-grid thead th.r { text-align: right !important; }
  .tc-grid th, .tc-grid td { padding: 3pt 6pt !important; }
  .kpi-empty { color: #000 !important; }
  .kpi dd { height: auto !important; line-height: 1.3 !important; display: block !important; }
  .kpi { padding: 6pt 8pt !important; }
  .sign { margin-top: 24pt !important; }
  .print-head { margin-bottom: 6pt !important; }
  .print-head h2 { font-size: 14pt !important; }
  .print-head p { font-size: 9.5pt; }
  .wk-head .tc-h { font-size: 11pt !important; }
  .wk-sum { font-size: 9pt !important; }
  .wk + .wk { margin-top: 6pt !important; }
  .tc { gap: 8pt !important; }
  .tk-grid thead th:last-child, .tk-grid td.tk-rm { display: none !important; }
  .tk-day { display: none !important; }
  .tk-grid .print-day { display: inline !important; }
}
.print-day { display: none; }
p.byline { display: block; }
@media screen and (max-width: 760px) {
  p.byline { font-size: var(--fs-12); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .page-head { margin-bottom: var(--sp-4); }
  .page-head .answer { margin-top: var(--sp-2); line-height: 1.5; }
  .crumbs { margin-top: var(--sp-3); }
}
@media print {
  .wk-sum .ot { color: #000 !important; }
  .is-blank .wk-sum * { color: transparent !important; }
  .is-blank .tc-grid tbody th small { display: none !important; }
}
@media screen and (min-width: 861px) {
  .tk-grid { table-layout: fixed; }
  .tk-grid thead th:nth-child(1) { width: 164px; }
  .tk-grid thead th:nth-child(4) { width: 172px; }
  .tk-grid thead th:nth-child(5) { width: 92px; }
  .tk-grid thead th:nth-child(6) { width: 76px; }
}
.tc-side .insight { min-height: calc(1.5em * 3); }
.tc-side .rule-line { min-height: calc(1.5em * 3 + var(--sp-4)); }
.hw-insight b, .tk-insight b { color: var(--color-brand); }
.shifts:has(> .shift:only-child) .shift__out { display: none; }
.shift__grid .timefield--in .input { width: 156px; }
@media screen and (max-width: 520px) { .shift__grid .timefield--in .input, .finish .timefield--in .input { width: 100%; } }
.finish__inputs { grid-template-columns: 156px 120px 120px; }
@media screen and (max-width: 560px) { .finish__inputs { grid-template-columns: 1fr 1fr; } }
.loc-note { display: flex; align-items: center; gap: 4px; min-height: 24px; margin-top: 4px; font-size: var(--fs-13); color: var(--green-800); visibility: hidden; white-space: nowrap; overflow: hidden; }
.loc-note.is-on { visibility: visible; }
.loc-note button { font: inherit; font-weight: var(--fw-ui); color: var(--color-brand); background: none; border: 0; padding: 0 2px; min-height: 24px; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.loc-note button:hover { color: var(--green-800); }
@media print { .loc-note { display: none !important; } }
.tk-settings { grid-template-columns: minmax(0, 1fr) max-content; }
@media screen and (max-width: 560px) { .tk-settings { grid-template-columns: minmax(0, 1fr); } }
.icon-btn { width: 44px; height: 44px; display: inline-grid; place-items: center; border-radius: 10px; border: 1px solid transparent; background: transparent; color: var(--ink-600); cursor: pointer; transition: background-color var(--dur-ui), color var(--dur-ui); }
.icon-btn svg { width: 18px; height: 18px; }
.icon-btn:hover { background: var(--ink-50); color: var(--color-error); }
.icon-btn[hidden] { display: none; }
.tc-settings--loc { align-items: start; }
.tc-tools--rows { display: grid; gap: var(--sp-3); }
.tc-tools--rows .ts-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-5); }
.tc-tools--rows .ts-row .btn { margin-left: auto; }
@media screen and (max-width: 560px) { .tc-tools--rows .ts-row .btn { margin-left: 0; } }
.tc-side #tag-line { min-height: 1.6em; }
@media print {
  .tc-grid tbody th, .tc-grid tbody td { padding: 1.5pt 6pt !important; font-size: 9.5pt !important; }
  .tc-grid td.r { font-size: 10pt !important; }
  .tc-grid tbody th small { font-size: 7.5pt !important; }
  .kpis { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  .kpi { border-bottom: 0 !important; }
  .kpi dd { font-size: 12pt !important; }
  .kpi dd small { font-size: 7.5pt !important; white-space: normal !important; }
}
.tc-side .rule-line { min-height: calc(1.6em * 3 + var(--sp-4)); }
.tc-side .rule-line--states { min-height: calc(1.5em * 4 + var(--sp-4) + 1px); }
.tk-grid .tk-fill { display: none; }
@media print {
  .tk-grid .tk-fill { display: none !important; }
  .tk-grid.tk-grid .tk-fill { display: none !important; }
  .is-blank .tk-grid .tk-fill { display: table-row-group !important; }
  .is-blank .tk-none { display: block !important; margin: 4pt 0 0; font-size: 9.5pt; }
  .kpi-empty { font-size: 0 !important; } 
  .kpi-empty::after { content: "__________"; font-size: 11pt; white-space: nowrap; }
  .is-blank .tk-grid .tk-fill td { height: 24pt; }
  .is-blank .kpi dd, .is-blank .tk-grid tbody .print-val { visibility: hidden; }
  .is-blank .tk-grid tbody td.r, .is-blank .tk-grid tbody td.tk-rounded { font-size: 0 !important; line-height: 0 !important; } 
  .is-blank .tk-grid tbody td.r small { display: none !important; }
  .is-blank .kpi { min-height: 36pt; }
}
@media print { #timeline, .tl { display: none !important; } }
.total-note { margin: var(--sp-2) 0 0; font-size: var(--fs-14); font-weight: var(--fw-medium); color: var(--color-ot-text); }
.total-note[hidden] { display: none; }
@media print { .total-note { color: #000 !important; font-size: 9.5pt; margin-top: 3pt; } .total-note:not([hidden]) { display: block !important; } }
.print-total-line { margin: 3pt 0 0; font-size: 10pt; font-weight: 600; color: #000; }
@media screen { .print-total-line { display: none !important; } }
.tk-meal { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--sp-3); align-items: start; margin-top: var(--sp-3); cursor: pointer; font-size: var(--fs-15); line-height: 1.45; color: var(--ink-700); }
.tk-meal input { appearance: none; -webkit-appearance: none; width: 24px; height: 24px; margin: 0; border: 1px solid var(--color-field-border); border-radius: 6px; background: var(--white); display: grid; place-items: center; cursor: pointer; }
.tk-meal input::after { content: ""; width: 6px; height: 11px; border-right: 2px solid var(--white); border-bottom: 2px solid var(--white); transform: translateY(-1px) rotate(45deg); opacity: 0; }
.tk-meal input:checked { background: var(--color-brand); border-color: var(--color-brand); }
.tk-meal input:checked::after { opacity: 1; }
.tk-meal input:hover:not(:disabled) { border-color: var(--ink-600); }
.tk-meal input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.tk-meal:has(input:disabled) { opacity: 0.55; cursor: not-allowed; }
.tk-meal input:disabled { cursor: not-allowed; }
.tk-ins { display: grid; flex: 1; min-width: 0; }
.tk-ins > * { grid-area: 1 / 1; }
.tk-ins__sizer { visibility: hidden; }
@media print { .tk-ins__sizer { display: none; } }
.tk-law { margin-top: var(--sp-4); font-size: var(--fs-15); line-height: 1.5; color: var(--ink-700); }
.tk-law { display: grid; }
.tk-law > * { grid-area: 1 / 1; }
.tk-law__sizer { visibility: hidden; }
@media print { .tk-law__sizer { display: none; } }
.tk-kpi-law { display: grid; margin: calc(var(--sp-3) - var(--sp-6) - 16px) 0 0; font-size: var(--fs-14); line-height: 1.5; color: var(--ink-700); }
.tk-kpi-law > * { grid-area: 1 / 1; }
.tk-kpi-law__sizer { visibility: hidden; }
@media print { .tk-kpi-law__sizer { display: none; } }
