.tw-time-status{align-self:center;border-radius:999px;background:#e8f0ed;color:#174b3f;font-weight:800;padding:.45rem .8rem}
.tw-timecard-form,.tw-time-review>form{display:grid;gap:.75rem}
.tw-time-day{display:grid;grid-template-columns:minmax(145px,1.25fr) repeat(4,minmax(95px,.65fr)) minmax(160px,1.25fr) 75px;gap:.65rem;align-items:end;padding:.8rem;border:1px solid #d9e1de;border-radius:12px;background:#fff}
.tw-time-day.is-weekend{background:#f6f7f7}.tw-time-day.is-holiday{border-color:#d8b8b8;background:#fff8f8}
.tw-time-date{align-self:center}.tw-time-date strong,.tw-time-date span{display:block}.tw-time-date span{font-size:.78rem;color:#9a3434;font-weight:800;margin-top:.2rem}
.tw-time-day label{margin:0}.tw-time-day label span{font-size:.72rem}.tw-time-note{min-width:0}.tw-time-total{text-align:right;padding-bottom:.55rem}.tw-time-total span,.tw-time-total strong{display:block}.tw-time-total span{font-size:.72rem;color:#63706c;text-transform:uppercase;letter-spacing:.04em}
.tw-timecard-extra{margin:.5rem 0}.tw-timecard-extra[open]{padding-bottom:1rem}.tw-timecard-extra>summary{padding:1rem;cursor:pointer}.tw-timecard-extra>div,.tw-timecard-extra>p{margin-left:1rem;margin-right:1rem}
.tw-mileage-row{display:grid;grid-template-columns:155px 130px 130px 1fr;gap:.75rem;margin:.75rem 0}.tw-mileage-row label{margin:0}
.tw-time-actions{display:flex;gap:.65rem;flex-wrap:wrap}.tw-time-actions button{width:auto}.tw-timecard-review-list{display:grid;gap:1rem}.tw-time-review>summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer}.tw-time-review>summary div,.tw-time-review>summary span,.tw-time-review>summary small{display:block}.tw-time-review>summary span{font-size:.75rem;color:#286756;font-weight:800;text-transform:uppercase}.tw-time-review>summary small{color:#64726e;margin-top:.2rem}.tw-time-review>form{padding:0 1rem 1rem}.tw-pay-summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-radius:10px;background:#edf5f2}.tw-pay-summary span{font-size:.85rem;color:#52635d}.tw-time-audit{margin:0 1rem 1rem}.tw-time-audit summary{cursor:pointer;font-weight:700}.tw-time-audit li{margin:.6rem 0;color:#4f5d59}
.tw-timecard-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem;border-radius:12px;background:#173f36;color:#fff}.tw-timecard-summary div{text-align:center}.tw-timecard-summary span,.tw-timecard-summary strong{display:block}.tw-timecard-summary span{font-size:.75rem;opacity:.8;text-transform:uppercase;letter-spacing:.04em}.tw-timecard-summary strong{font-size:1.25rem;margin-top:.2rem}
.tw-timecard-record{scroll-margin-top:1.5rem}.tw-timecard-record+.tw-timecard-record{margin-top:2rem}.tw-timecard-record.is-action-required{padding:1rem;border:2px solid #d39a2c;border-radius:18px;background:#fffdf8}.tw-timecard-record.is-targeted{outline:4px solid rgba(32,109,85,.2);outline-offset:4px}.tw-timecard-reminder{display:grid;gap:.25rem;margin-bottom:1rem;padding:.85rem 1rem;border-radius:12px;border-left:5px solid #d39a2c;background:#fff4d6;color:#5b4300}.tw-timecard-reminder.is-urgent{border-color:#b52f36;background:#fff0f1;color:#762027}.tw-timecard-reminder p{margin:.35rem 0 0}
@media(max-width:900px){.tw-time-day{grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem}.tw-time-date{grid-column:1/-1;display:flex;justify-content:space-between;gap:.5rem}.tw-time-note{grid-column:1/-1}.tw-time-total{grid-column:1/-1;text-align:left;padding:0}.tw-time-total span,.tw-time-total strong{display:inline;margin-right:.35rem}.tw-mileage-row{grid-template-columns:1fr 1fr}.tw-mileage-reason{grid-column:1/-1}.tw-time-review>summary{align-items:flex-start}.tw-pay-summary{display:block}.tw-pay-summary span{display:block;margin-top:.35rem}}
@media(max-width:520px){.tw-time-day input{min-height:44px}.tw-time-actions{display:grid}.tw-time-actions button{width:100%}.tw-time-review>summary{display:block}.tw-time-review>summary>div+div{margin-top:.6rem;padding-top:.6rem;border-top:1px solid #e0e6e4}.tw-timecard-summary{gap:.35rem;padding:.8rem .4rem}.tw-timecard-summary span{font-size:.62rem}.tw-timecard-summary strong{font-size:1rem}}
.tw-time-review.is-already-approved{opacity:.78}
.tw-time-review.is-already-approved[open]{opacity:1}
