:root{--green:#23584b;--ink:#243f38;--muted:#657972;--line:#dce5df;--bg:#f3f6f2;--red:#a53d43}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 system-ui,-apple-system,sans-serif}header{max-width:900px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;font-size:21px}.brand small{display:block;color:var(--muted);font-size:13px}.logo{display:grid;place-items:center;background:var(--green);color:white;width:48px;height:48px;border-radius:16px;font-size:26px;font-family:Georgia,serif}main{max-width:760px;margin:0 auto;padding:0 24px 50px}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:12px 0}h2{font-size:25px;margin:0}h3{font-size:21px}p{color:var(--muted)}button,input,textarea{font:inherit}button,.upload,.backup{cursor:pointer;border:0;border-radius:14px;padding:15px 20px;font-weight:650;min-height:52px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #df9b41;outline-offset:3px}.primary{background:var(--green);color:white}.secondary{background:#edf2ef;color:var(--green)}.quiet{background:transparent;color:var(--muted);padding:10px}.wide{width:100%;margin-top:12px}.card{background:white;border:1px solid var(--line);border-radius:23px;padding:26px;margin:18px 0;box-shadow:0 5px 18px #233f3805}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:750;color:var(--green)}.intro{margin:32px 0 24px}.intro p{margin-top:8px}.wave{font-size:26px;color:#bf8838}nav{display:flex;background:#e6ede7;border-radius:16px;padding:5px;gap:4px;margin-top:10px}nav button{flex:1;background:transparent;color:var(--muted);padding:12px 8px}nav .selected{background:white;color:var(--green);box-shadow:0 2px 5px #233f3812}.shiftTop{display:flex;justify-content:space-between;gap:12px;align-items:center}.badge{padding:5px 10px;border-radius:30px;background:#edf3ed;font-size:12px;font-weight:700;white-space:nowrap}.hours{font-size:38px;font-weight:730;letter-spacing:-1.3px;margin:8px 0}.place{margin:0 0 12px;color:var(--muted)}.timegrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:10px;padding-top:14px;margin:14px 0}.timegrid small{display:block;color:var(--muted)}.timegrid strong{font-size:19px}.checkin,.checkout{width:100%;font-size:22px;padding:22px;border-radius:17px;display:block}.checkin{background:var(--green);color:white}.checkout{background:var(--red);color:white}.cardActions{display:flex;gap:8px;margin-top:12px}.cardActions button{flex:1}.hint{font-size:13px;line-height:1.5}.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:28px 0 20px;gap:12px}.empty{padding:30px;text-align:center;border:1px dashed #c0cfc4;border-radius:22px;margin:20px 0}.summary{display:flex;gap:15px;padding:20px;background:#e5ece5;border-radius:18px}.summary>div{flex:1}.summary strong{display:block;font-size:25px}.summary small{color:var(--muted)}label{display:block;margin:16px 0 10px;font-weight:650;font-size:15px}label small{font-weight:400;color:var(--muted)}input:not([type=checkbox]),textarea{display:block;width:100%;min-width:0;padding:13px;border:1px solid #c8d5cc;border-radius:11px;background:white;color:var(--ink);margin-top:7px}textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:center;gap:10px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}details{margin:20px 0;color:var(--muted)}summary{cursor:pointer;font-size:15px}dialog{border:1px solid var(--line);border-radius:24px;width:min(600px,calc(100% - 24px));max-height:90dvh;padding:24px;color:var(--ink)}dialog::backdrop{background:#15382c80}.dialogTitle{display:flex;justify-content:space-between;align-items:center}.error{color:var(--red);font-size:14px}#notice{padding:14px 18px;border-radius:13px;background:#e1eee2;color:var(--green);position:sticky;top:8px;z-index:10}#notice.bad{background:#fae8e5;color:var(--red)}.upload{display:block;background:#edf2ef;color:var(--green);text-align:center}.upload input{font-size:14px!important;background:transparent!important;border:0!important}.preview{display:inline-flex;flex-direction:column;margin:6px}.preview img{width:85px;height:85px;object-fit:cover;border-radius:10px}.preview button{font-size:12px;min-height:32px;padding:4px}.message{border-top:1px solid var(--line);padding:18px 0}.message p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.message small{color:var(--muted)}.imageButton{background:transparent;padding:5px}.imageButton img{width:110px;height:100px;object-fit:cover;border-radius:12px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}#largeImage{display:block;max-width:100%;max-height:75dvh;margin:auto}.backup{display:block;background:white;border:1px solid var(--line);color:var(--green);font-size:14px;margin-top:25px;text-align:center;text-decoration:none}.auditItem{font-size:13px;border-top:1px solid var(--line);padding:8px 0}table{width:100%;border-collapse:collapse;font-size:15px}td,th{padding:10px 6px;text-align:left;border-bottom:1px solid var(--line)}th{font-weight:650;color:var(--muted)}[hidden]{display:none!important}@media(max-width:480px){header{padding:19px 18px}main{padding:0 16px 30px}.card{padding:20px}.hours{font-size:32px}h1{font-size:30px}.sectionTitle h1{font-size:26px}.sectionTitle button{padding:12px}.summary strong{font-size:21px}dialog{padding:20px}.badge{font-size:11px}}

#importDialog{width:min(700px,calc(100% - 24px))}#importSourcePreview{max-width:100%;max-height:220px;border-radius:12px;margin-top:14px}#ocrProgress{font-size:14px;color:var(--green)}.importWarning{padding:12px;background:#fff3dc;border-radius:12px;color:#735624;font-size:14px}.importRow{background:#f3f6f2;border:1px solid var(--line);border-radius:17px;padding:16px;margin:14px 0}.importRow .check{font-size:17px;margin:0}.importRow label{margin-top:10px}.importRow small{color:var(--muted)}.sourceExcerpt{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.importRow .two input{font-size:15px;padding:11px}

select{font:inherit;display:block;width:100%;min-width:0;max-width:100%;padding:13px 32px 13px 13px;border:1px solid #c8d5cc;border-radius:11px;background:white;color:var(--ink);margin-top:7px;min-height:52px;text-overflow:ellipsis}.importRow select{font-size:15px}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}.two>label{min-width:0}@media(max-width:480px){.importRow .two{grid-template-columns:minmax(0,1fr)}}
