:root{color-scheme:light;--navy:#092e49;--gold:#f6bc52;--ink:#193043;--muted:#677888;--line:#dde7ee;--green:#157a51;--red:#a32d3a;--bg:#f0f3f6}
*{box-sizing:border-box}html{font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body{min-height:100dvh;background:var(--bg);margin:0;color:var(--ink)}.hidden{display:none!important}
.top{background:var(--navy);border-bottom:5px solid var(--gold);color:#fff;padding:15px 18px}.header-inner{display:flex;align-items:center;gap:14px;max-width:600px;margin:auto}.brand-logo{width:50px;height:50px;border-radius:12px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:30px}.header-inner strong{font-size:24px;display:block;letter-spacing:.07em;line-height:1.15}.header-inner span{font-size:11px;letter-spacing:.045em;color:#c6d8e7}.layout{max-width:620px;padding:16px 14px 28px;margin:auto}
.status-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;font-size:12px;font-weight:800}.tag{padding:7px 12px;border-radius:30px;background:#e3eef7;color:#175579}.tag.online{background:#dff4e9;color:#096443}.tag.offline{background:#fff0d4;color:#885900}.tag.warning{background:#fde6e6;color:#8a2632}.tag.neutral{background:#fff;color:#4d5c6b;border:1px solid var(--line)}
.panel{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:0 14px 40px #0e345111;padding:26px 23px 30px;text-align:center}.eyebrow{font-size:12px;letter-spacing:.12em;color:#99702c;font-weight:900}h1{font-size:30px;line-height:1.15;margin:10px 0 9px;color:var(--navy)}.lead{font-size:16px;color:var(--muted);margin:0 auto 20px}.muted{color:var(--muted)}
form{margin:auto;text-align:left}label{display:block;font-size:13px;font-weight:800;text-align:left;margin:14px 0 6px}input,textarea{width:100%;min-height:53px;display:block;padding:12px 14px;margin:0;border:2px solid #c6d5e1;border-radius:12px;font:inherit;font-size:18px;color:var(--ink);background:#fff}textarea{font-size:15px;min-height:86px;resize:vertical}input:focus,textarea:focus{outline:3px solid #ffe7b0;border-color:#c9912b}button{font:inherit;cursor:pointer}.btn{min-height:54px;padding:13px 18px;border:0;border-radius:13px;font-size:17px;font-weight:850;color:#fff;background:var(--navy)}.btn.gold{background:var(--gold);color:var(--navy)}.btn.green{background:var(--green)}.btn.block{width:100%;display:block}.btn.hero{font-size:30px;min-height:100px;margin-top:20px;letter-spacing:.015em}.btn.subtle{color:var(--navy);background:#eaf1f6;margin-top:12px;font-size:14px}.btn:disabled{opacity:.62;cursor:wait}.btn:focus-visible,.text-link:focus-visible{outline:3px solid #db9c30;outline-offset:2px}form .btn{margin-top:20px}
.tip{border-radius:11px;background:#eef4f9;color:#465d70;padding:12px 14px;font-size:13px;margin-top:21px;line-height:1.55;text-align:left}.location-note{margin-top:14px;padding:12px 14px;background:#fff7e6;border-radius:12px;color:#775826;text-align:left;font-size:13px}.tiny{font-size:12px;color:var(--muted);margin:16px auto 0}.small{font-size:12px;color:var(--muted)}.message{border-radius:11px;padding:12px 13px;text-align:left;font-size:14px;margin:13px 0}.error{background:#fff0f0;color:var(--red);border:1px solid #f0bdc0}.tick{display:grid;place-items:center;font-size:52px;width:84px;height:84px;border-radius:50%;background:#e1f5e9;color:#16734b;margin:10px auto 18px}.status-pill{display:inline-block;background:#fff2d1;color:#775200;font-weight:900;border-radius:30px;padding:8px 13px;font-size:14px;margin:9px 0 16px}.status-pill.uploaded{background:#def5e6;color:#10613e}.status-pill.review{background:#ffecd9;color:#854b0b}.system-panel{padding:0 3px}.system-panel .tip{margin:15px 0}.system-row{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin:8px 0 12px}.text-link{border:0;color:#185779;text-decoration:underline;background:transparent;display:inline-block;font-size:13px;font-weight:800;padding:8px 0;cursor:pointer}.loader{height:33px;width:33px;border:3px solid #e9eef3;border-top-color:var(--gold);border-radius:99px;animation:spin .9s linear infinite;margin:12px auto}@keyframes spin{to{transform:rotate(360deg)}}footer{font-size:12px;text-align:center;color:var(--muted);padding:5px 12px 24px}
@media(max-width:420px){.layout{padding:10px 8px 22px}.panel{padding:23px 17px 25px;border-radius:15px}h1{font-size:28px}.status-row{justify-content:center}.header-inner strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.loader{animation:none}}

/* V11.1 driver-private From/To hours summary; no changes to the clocking buttons. */
.my-hours{text-align:left;margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}
.my-hours-heading h2{font-size:23px;color:var(--navy);margin:4px 0 5px}
.my-hours-heading p{margin:0 0 13px}
.hours-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hours-date-grid input{font-size:15px;min-width:0;min-height:49px;padding:10px 9px}
.my-hours .btn.subtle{background:#e9f1f7;color:var(--navy);margin:14px 0 0}
.hours-message{background:#eef4f9;border-radius:10px;margin:13px 0;padding:11px 12px;line-height:1.5}
.hours-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}
.hours-stat{border:1px solid #dce7ef;border-radius:14px;padding:13px 12px;background:#fbfdff;text-align:center}
.hours-stat strong{display:block;color:var(--navy);font-size:27px;line-height:1.15;white-space:nowrap}
.hours-stat small{display:block;color:var(--muted);font-size:12px;margin-top:7px;line-height:1.3}
.hours-entries{margin-top:13px;max-height:380px;overflow:auto}
.hours-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;border-bottom:1px solid var(--line);padding:12px 2px}
.hours-entry strong{font-size:14px}.hours-entry span{grid-column:1;color:var(--muted);font-size:12px}
.hours-entry b{grid-column:2;grid-row:1;font-size:16px;color:var(--navy);text-align:right}
.hours-entry small{grid-column:2;grid-row:2;font-size:11px;color:var(--muted);text-align:right}
@media(max-width:390px){.hours-stat strong{font-size:23px}.hours-date-grid{gap:8px}}

/* V11.2: integrated, driver-private correction requests and office responses. */
.my-corrections{text-align:left;margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}
.my-corrections h2{color:var(--navy);font-size:23px;margin:4px 0 8px}
.my-corrections h3{font-size:17px;color:var(--navy);margin:4px 0 9px}
.my-corrections>.small{margin:10px 0}
.my-corrections .btn.subtle{background:#eaf1f6;color:var(--navy)}
.entry-correction-btn{grid-column:1/-1;grid-row:auto;min-height:41px!important;font-size:13px!important;margin:8px 0 0!important;padding:9px!important;text-align:center}
.correction-form-wrap{padding:16px 14px;margin:17px 0;background:#f8fafc;border:1px solid var(--line);border-radius:13px}
.correction-form-wrap label{margin-top:14px}
.correction-form-wrap input{font-size:16px;min-height:50px}
.correction-form-wrap .btn{margin:12px 0 0}
.correction-form-wrap .tiny{margin:12px 0 0}
.correction-history-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px}
.correction-history-heading h3{margin:0}
.correction-item{border:1px solid var(--line);background:#fbfdff;border-radius:12px;padding:13px;margin:10px 0;text-align:left}
.correction-item header{display:flex;justify-content:space-between;align-items:center;gap:9px}
.correction-item strong{font-size:14px}
.correction-item p{margin:7px 0;font-size:12px;overflow-wrap:anywhere}
.correction-status{border-radius:30px;font-size:11px;padding:4px 8px;font-weight:850;white-space:nowrap}
.correction-status.pending{color:#8c5b12;background:#fff1d2}
.correction-status.approved{color:#166643;background:#e0f4e8}
.correction-status.declined{color:#912d39;background:#fee8eb}

/* V11.3 - Inline recorded-shift selection for clock-in or clock-out corrections. */
.correction-picker{margin:13px 0 16px;padding:15px 13px;background:#f8fafc;border:1px solid var(--line);border-radius:13px}
.correction-picker h3{margin:0 0 5px}
.correction-picker .small{margin:6px 0 10px}
.correction-picker form .btn{margin-top:12px}
.correction-picker .hours-message{margin-bottom:10px}
.correction-shift-list{max-height:410px;overflow:auto;overscroll-behavior:contain}
.shift-choice{padding:13px;margin:9px 0;border:1px solid #dae5ed;border-radius:12px;background:#fff}
.shift-choice strong{display:block;color:var(--navy);font-size:15px}
.shift-choice p{font-size:12px;margin:5px 0;overflow-wrap:anywhere;color:var(--ink)}
.shift-choice small{display:block;font-size:12px;color:var(--muted)}
.shift-choice .btn{margin-top:10px!important;min-height:43px;font-size:13px!important}
