:root{font-family:Arial,Helvetica,sans-serif;color:#041e42;background:#f3f6fb;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:280px}
.topbar{background:#041e42;color:white;border-bottom:5px solid #003594}
.topbar-inner{max-width:1050px;margin:auto;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar img{display:block;width:215px;max-width:52vw;height:auto}
.topbar strong{font-size:13px;letter-spacing:.12em;text-align:right}
.shell{max-width:1050px;margin:auto;padding:30px 20px 70px}
.page-head{margin-bottom:22px}.page-head h1{font-size:clamp(27px,4vw,42px);margin:4px 0 8px;line-height:1.15}.page-head p{line-height:1.55;margin:0;color:#53657d}
.eyebrow{font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#003594!important}
.card{background:#fff;border:1px solid #dce5f0;border-radius:17px;padding:26px;margin:0 0 20px;box-shadow:0 7px 22px #041e420b}
.card h1,.card h2{margin-top:0}.card h2{font-size:21px}.card p{line-height:1.5}.narrow{max-width:720px;margin:20px auto}
.stack{display:grid;gap:20px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
label{display:grid;gap:8px;font-size:14px;font-weight:700}
input,textarea{width:100%;border:1px solid #b9c8d9;background:#fff;color:#041e42;border-radius:9px;font:inherit;font-size:16px;padding:12px 13px;min-height:45px}
input[readonly]{background:#f2f5f9;color:#45566a}textarea{resize:vertical}
input:focus,textarea:focus{outline:3px solid #6d9eff;border-color:#003594}
.hours-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:8px 0 4px}
.day{padding:12px;background:#f6f8fc;border:1px solid #e2eaf2;border-radius:10px;display:grid;gap:8px;align-content:start}
.day span{font-size:13px}.day small{display:block;color:#65758a;font-size:11px;font-weight:400;margin-top:4px}
.day input{text-align:center;padding:9px 3px}.day strong{font-size:16px}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #e2eaf2;padding-top:20px}
.form-footer strong,.total strong{font-size:21px}
.button{display:inline-block;background:#003594;color:#fff;border:0;border-radius:9px;font:inherit;font-weight:800;font-size:15px;padding:14px 20px;text-decoration:none;cursor:pointer;text-align:center}
.button:hover{background:#041e42}.button.secondary{background:#e7effc;color:#041e42}.button.secondary:hover{background:#d2e2fa}
.footnote{color:#5d6d80;font-size:13px;line-height:1.5}
.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-bottom:20px;border-bottom:1px solid #e2eaf2;margin-bottom:20px}
.details div{display:grid;gap:5px}.details span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#62738a}.details strong{overflow-wrap:anywhere}
.total{display:flex;justify-content:space-between;border-top:1px solid #e2eaf2;padding:18px 0;margin-top:12px}
.approval-form{border-top:1px solid #e2eaf2;padding-top:20px;display:grid;gap:18px;max-width:440px}
.po-section{background:#f4f7ff;border:1px solid #b9cbec;border-radius:12px;padding:18px;display:grid;gap:10px}
.po-section h2{font-size:19px;margin:0}.po-section p{margin:0;color:#53677e;font-size:13px;line-height:1.45}.po-section label{max-width:520px}
.notice,.alert{border-radius:10px;padding:15px 18px;margin:0 0 18px;line-height:1.5}.notice{background:#eaf5f0;color:#14543f}.alert{background:#fff3df;color:#704800}
.link-field{font-size:13px}.sheet-list{display:grid;gap:10px}.sheet-list a{display:grid;gap:5px;padding:15px;border:1px solid #dce5f0;border-radius:10px;color:#041e42;text-decoration:none}.sheet-list a:hover{border-color:#003594;background:#f5f8ff}.sheet-list span{color:#5c6d82;font-size:13px}
.back{display:inline-block;margin-bottom:16px;color:#003594;text-decoration:none;font-weight:700}
@media(max-width:800px){.hours-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.topbar-inner{display:block}.topbar img{width:170px;max-width:70vw}.topbar strong{display:block;text-align:left;margin-top:15px;font-size:10px}.shell{padding:23px 13px 48px}.card{padding:19px}.field-grid,.details{grid-template-columns:1fr}.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-footer .button,.approval-form .button{width:100%}}
