/* V29.1.2: flat, single-page employee Time Punch form. No nested card. */
.tp-shell{width:min(100%,850px);max-width:none;margin:10px auto 0;border:0;border-radius:0;overflow:visible;background:transparent;color:#172033;box-shadow:none}
.tp-form{display:flex;flex-direction:column;gap:17px;padding:10px 12px 16px}
.tp-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tp-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.tp-field label{font-size:21px;font-weight:750;color:#112640}
.tp-field input{width:100%;height:62px;padding:0 16px;min-width:0;font-size:23px;border:2px solid #a9b6c5;border-radius:9px;background:white;color:#14263a}
.tp-field input:focus{outline:3px solid #bbd5f2;border-color:#133867}
.tp-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:2px 0 0}
.tp-modes button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:84px;border-radius:10px;font-size:29px;font-weight:750;cursor:pointer}
.tp-modes strong{font-size:24px}
.tp-in{background:#e7f3eb;color:#166534;border:3px solid #15803d}.tp-in.selected{background:#15803d;color:white}
.tp-out{background:#e9f0fa;color:#133867;border:3px solid #133867}.tp-out.selected{background:#133867;color:white}
.tp-enter{width:100%;height:65px;min-height:65px!important;font-size:25px!important;font-weight:800!important;background:#133867!important;color:white!important;border:0!important;border-radius:10px!important;cursor:pointer}
.tp-result{font-size:17px;min-height:26px;text-align:center}.tp-error{color:#a02020}.tp-success{color:#166534;font-weight:700}
@media(max-width:680px){.tp-fields{grid-template-columns:1fr;gap:12px}.tp-form{gap:12px;padding:0 4px}.tp-field label{font-size:17px}.tp-field input{height:53px;font-size:19px}.tp-modes{gap:8px}.tp-modes button{min-height:72px;font-size:20px;gap:5px}.tp-modes strong{font-size:17px}.tp-enter{min-height:54px!important;height:54px;font-size:20px!important}}
