:root{font-family:system-ui,sans-serif;color:#18363c;background:#f4f7f8}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}header{background:#0d363c;color:white;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}header a{color:white;text-decoration:none;font-weight:750}header span{margin-left:16px}main{max-width:850px;margin:40px auto;padding:0 24px}h1{font-size:32px;line-height:1.2}h2{font-size:22px;margin-top:32px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;color:#49736a}form{max-width:460px;margin:20px 0}label{display:block;font-weight:600;margin:16px 0}input{display:block;width:100%;font:inherit;padding:12px;margin-top:6px;background:white;color:#18363c;border:1px solid #b8cacb;border-radius:7px}button{font:inherit;font-weight:600;min-height:44px;padding:10px 18px;border:1px solid #176254;border-radius:7px;background:#176254;color:white;cursor:pointer}.secondary{color:#176254;background:white}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2ba38b;outline-offset:3px}.banner{padding:16px;background:#e1efec;border-radius:8px}#notice:not(:empty){padding:14px;border-left:4px solid #176254;background:white}#notice.error{border-color:#b23535;color:#852525}.person{background:white;border:1px solid #dbe5e5;border-radius:8px;padding:18px;margin:12px 0;overflow-wrap:anywhere}.person p{margin:4px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.muted{color:#5b7178;font-size:14px}footer{text-align:center;margin:45px 0;color:#5b7178;font-size:14px}[hidden]{display:none!important}@media(max-width:500px){header span{display:block;margin:0;font-size:14px}main{margin:24px auto;padding:0 16px}button{max-width:100%}}

select{display:block;font:inherit;padding:10px;margin-top:6px;max-width:100%}

main{max-width:1200px}.timecard-form{max-width:none}.day-entry{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;border:1px solid #c9dada;border-radius:8px;background:white;margin-bottom:14px}.day-entry label{margin:4px 0;font-size:14px}.day-entry legend{font-weight:700}.day-entry select{width:100%;min-width:0}.check{display:flex;align-items:center;gap:9px;font-size:15px}.check input{width:20px;height:20px;flex-shrink:0}.expense{display:flex;gap:14px;align-items:center}.week{margin:24px 0}details{margin-top:40px;border-top:1px solid #d7e0e0;padding:18px 0}summary{cursor:pointer;font-weight:700}fieldset:disabled{opacity:.85}@media(max-width:640px){.day-entry{grid-template-columns:1fr 1fr}.expense{flex-wrap:wrap}.expense label{width:100%}}

.signature-pad{width:100%;max-width:600px;height:auto;aspect-ratio:600/160;border:1px solid #587c79;background:white;touch-action:none;margin:16px 0}
.app-dialog{width:min(540px,calc(100vw - 32px));border:1px solid #b8cacb;border-radius:12px;padding:24px;color:#18363c}.app-dialog::backdrop{background:rgb(0 20 25 / .6)}.app-dialog form{margin:0;max-width:none}.app-dialog h2{margin:0 0 20px}.app-dialog textarea{width:100%;font:inherit;padding:12px;resize:vertical}
