/* RECATOOLS — Time Card / Weekly Hours Calculator */
.tc-table-wrap { overflow-x: auto; margin-bottom: 1rem; border: 1px solid #ebebeb; border-radius: 10px; }
.tc-table { width: 100%; border-collapse: collapse; font-size: .85rem; min-width: 560px; }
.tc-table thead { background: #fafaf9; }
.tc-table th { text-align: left; padding: .55rem .75rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: #6b6760; font-weight: 700; border-bottom: 1px solid #ebebeb; }
.tc-table td { padding: .45rem .55rem; border-bottom: 1px solid #f3f1ec; vertical-align: middle; }
.tc-table tr:last-child td { border-bottom: none; }
.tc-day-label { font-weight: 700; color: #1a1814; }
.tc-table input[type="time"], .tc-table input[type="number"] { width: 100%; box-sizing: border-box; border: 1px solid #ebebeb; border-radius: 5px; padding: .35rem .5rem; font-size: .85rem; font-family: inherit; color: #1a1814; background: #fff; }
.tc-table input:focus { outline: none; box-shadow: inset 0 0 0 2px #E8472F; border-color: #E8472F; }
.tc-table td.tc-hours-cell { font-weight: 700; font-family: 'IBM Plex Serif', serif; color: #14532d; text-align: right; }
.tc-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
@media (max-width: 640px) { .tc-controls { grid-template-columns: 1fr; } }
.input-row label { display: block; font-size: .75rem; font-weight: 600; color: #6b6760; margin-bottom: .25rem; }
.input-row .input-prefix-wrap { display: flex; align-items: stretch; border: 1px solid #ebebeb; border-radius: 6px; background: #fff; overflow: hidden; }
.input-row .ipx-label { padding: .5rem .65rem; background: #f0ede9; font-size: .8rem; font-weight: 600; color: #6b6760; border-right: 1px solid #ebebeb; }
.input-row input[type="number"] { flex: 1; border: none; padding: .5rem .65rem; font-size: .9rem; font-family: inherit; background: transparent; color: #1a1814; width: 100%; box-sizing: border-box; }
.input-row input:focus { outline: none; box-shadow: inset 0 0 0 2px #E8472F; }
.calc-btn { width: 100%; margin: 1rem 0; padding: .75rem 1.25rem; background: #E8472F; color: #fff; border: none; border-radius: 8px; font-size: .95rem; font-weight: 700; cursor: pointer; font-family: inherit; }
.calc-btn:hover { background: #c8391f; }
.res-hero { padding: 1.5rem; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 12px; text-align: center; margin-top: 1rem; }
.res-hero-label { font-size: .72rem; font-weight: 700; color: #16a34a; text-transform: uppercase; letter-spacing: .05em; }
.res-hero-value { font-size: 2.25rem; font-weight: 800; font-family: 'IBM Plex Serif', serif; color: #14532d; margin: .5rem 0 .25rem; }
.res-hero-sub { font-size: .82rem; color: #475569; }
.res-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .75rem; margin-top: 1rem; }
@media (max-width: 640px) { .res-grid { grid-template-columns: 1fr; } }
.res-tile { padding: 1rem; background: #fafaf9; border: 1px solid #ebebeb; border-radius: 10px; text-align: center; }
.res-tile-label { font-size: .68rem; font-weight: 700; color: #6b6760; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .35rem; }
.res-tile-value { font-size: 1.25rem; font-weight: 800; font-family: 'IBM Plex Serif', serif; color: #0d1b2a; }
.res-tile--ot { background: #fef9c3; border-color: #fde047; }
.res-tile--ot .res-tile-value { color: #854d0e; }

/* cache-buster: 2026-05-24T05:06:05Z */
