.tc{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);overflow:clip}.tc-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.tc-period{align-items:center;gap:var(--space-1);display:flex}.tc-period-label{text-align:center;min-width:11ch;font-weight:700}.tc-button,.tc-icon-button{font:inherit;min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius-small);border:1px solid var(--field-line);background:var(--paper);color:var(--ink);padding:0 var(--space-4);cursor:pointer}.tc-icon-button{padding:0;font-size:1.3rem;line-height:1}.tc-button:hover,.tc-icon-button:hover{border-color:var(--ink-soft)}.tc-button-primary{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}.tc-select{font:inherit;width:100%;max-width:100%;min-height:var(--tap);border-radius:var(--radius-small);border:1px solid var(--field-line);background:var(--paper);color:var(--ink);padding:0 var(--space-3)}.tc-days{margin:0;padding:0;list-style:none}.tc-day{border-bottom:1px solid var(--rule);padding:var(--space-3) var(--space-4)}.tc-day-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.tc-day-name{text-transform:uppercase;letter-spacing:.04em;font-size:1rem;font-weight:700}.tc-day-total{font-size:1.1rem;font-weight:700}.tc-day-total[data-empty=true]{color:var(--ink-soft);font-weight:400}.tc-pairs{gap:var(--space-2);display:grid}.tc-pair{gap:var(--space-2);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.tc-field{gap:2px;display:grid}.tc-field label{color:var(--ink-soft);font-size:.85rem}.tc-input{font:inherit;min-height:var(--tap);width:100%;padding:0 var(--space-3);border:1px solid var(--field-line);border-radius:var(--radius-small);background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15rem}.tc-input::placeholder{color:var(--ink-soft);opacity:.7}.tc-input[aria-invalid=true]{border-color:var(--overtime);box-shadow:inset 0 0 0 1px var(--overtime)}.tc-input[data-inferred=true]{color:var(--ink-soft)}.tc-day-extras{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;align-items:end;display:flex}.tc-break{max-width:9rem}.tc-link-button{font:inherit;min-height:var(--tap);color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber);text-underline-offset:3px;cursor:pointer;padding:0 var(--space-2);background:0 0;border:none;font-size:.95rem}.tc-badges{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.tc-badge{border:1px solid var(--rule);background:var(--paper);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.85rem;display:inline-flex}.tc-badge-warn{border-color:var(--amber)}.tc-working{margin-top:var(--space-2);font-size:.95rem}.tc-working summary{cursor:pointer;min-height:36px;color:var(--ink-soft);align-items:center;display:inline-flex}.tc-working table{border-collapse:collapse;width:100%;margin-top:var(--space-1)}.tc-working td{padding:2px var(--space-2) 2px 0}.tc-working td:last-child{text-align:right}.tc-chart{grid-template-columns:repeat(var(--tc-days,7), 1fr);height:48px;margin:var(--space-3) var(--space-4) var(--space-3);border-bottom:1px solid var(--rule);align-items:end;gap:4px;display:grid}.tc-chart[hidden]{display:none}.tc-chart span{background:var(--amber);border-radius:4px 4px 0 0;transition:height .2s;display:block}@media (prefers-reduced-motion:reduce){.tc-chart span{transition:none}}.tc-totals{background:var(--bar-bg);color:var(--bar-ink);padding:var(--space-3) var(--space-4);gap:var(--space-2);display:grid;position:sticky;bottom:0}.tc-totals-main{align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.tc-total-hours{font-size:1.9rem;font-weight:800}.tc-total-sub{opacity:.85}.tc-total-ot{color:var(--bar-accent);font-weight:600}.tc-actions-bar{background:var(--bar-bg);color:var(--bar-ink);padding:0 var(--space-4) var(--space-4);gap:var(--space-2);display:grid}.tc-actions-bar .estimate-note{color:var(--bar-ink);margin:0;font-size:.85rem}.tc-actions-bar .tc-button{color:var(--bar-ink);border-color:var(--bar-line);background:0 0}.tc-actions-bar .tc-button-primary{background:var(--amber);border-color:var(--amber);color:#1e2a44}.tc-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.tc-status{opacity:.85;font-size:.9rem}.tc-status:empty,.tc-live-line:empty,.tc-total-ot:empty{display:none}@media (max-width:759px){.tc-totals{padding:var(--space-2) var(--space-4);gap:0}.tc-total-hours{font-size:1.5rem}.tc-totals .tc-live-line,.tc-total-sub{font-size:.9rem}}.tc-live-line{font-size:.95rem}.tc-settings{border-bottom:1px solid var(--rule);padding:0 var(--space-4)}.tc-settings summary{min-height:var(--tap);cursor:pointer;align-items:center;font-weight:600;display:flex}.tc-settings-grid{gap:var(--space-3) var(--space-4);padding-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));display:grid}.tc-settings-grid .tc-field label{color:var(--ink);font-size:.95rem}.tc-help{color:var(--ink-soft);font-size:.85rem}@media (min-width:760px){.tc-day{gap:var(--space-3);grid-template-columns:9rem 1fr 7rem;align-items:start;display:grid}.tc-day-head{display:contents}.tc-day-name{padding-top:28px}.tc-day-total{text-align:right;grid-area:1/3;padding-top:28px}.tc-day-body{grid-area:1/2}.tc-totals{grid-template-columns:1fr auto;align-items:center;position:static}}.tc-print{display:none}@media print{.tc,.page-intro,.page-help{display:none!important}.tc-print{color:#000;font-size:11pt;display:block}.tc-print table{border-collapse:collapse;width:100%;margin:8pt 0}.tc-print th,.tc-print td{text-align:left;border:1px solid #000;padding:4pt 6pt}.tc-print .sign{grid-template-columns:1fr 1fr;gap:24pt;margin-top:28pt;display:grid}.tc-print .sign div{border-top:1px solid #000;padding-top:4pt}}.tc[data-simple=true] .tc-pay-field{display:none}:is(.tc-totals :focus-visible,.tc-actions-bar :focus-visible){outline-color:var(--bar-accent)}
