:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203345;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit}button,a,label,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #56a7b8;outline-offset:3px}[hidden]{display:none!important}.topbar{padding:22px max(24px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid #e0e8ef;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:850;letter-spacing:.06em;color:#166a5a;text-decoration:none}.brand span{display:block;font-size:10px;color:#78908c;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}.top-actions{display:flex;align-items:center;gap:18px;font-size:13px}.top-actions a{text-decoration:none}.top-actions select{border:1px solid #d8e1e8;padding:8px;border-radius:8px;background:white;color:#40576b}main{max-width:1120px;margin:auto;padding:36px 24px 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#568077}h1{font-size:clamp(26px,4vw,38px);letter-spacing:-.035em;margin:8px 0 10px}h2{font-size:17px;margin:0 0 7px}p{font-size:13px;line-height:1.65;color:#607082;margin:0}.privacy-badge{font-size:11px;color:#216d5d;background:#e6f4ed;border:1px solid #c5e2d5;padding:9px 12px;border-radius:20px;white-space:nowrap}.upload-panel{display:grid;grid-template-columns:1fr auto;gap:16px 26px;padding:24px;border-radius:16px;border:1px solid #c8d8df;background:#fff;box-shadow:0 5px 25px #234b6610}.file-button{display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer;background:#166a5a;border-radius:10px;min-height:46px;padding:12px 28px;font-size:14px;font-weight:650;color:white}.file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-button:focus-within{outline:3px solid #56a7b8;outline-offset:3px}#fileStatus{grid-column:1/-1;padding-top:12px;border-top:1px solid #edf1f5;font-size:12px;overflow-wrap:anywhere}#readerError{padding:15px;margin-top:14px;background:#fff1ef;color:#9a3328;border:1px solid #efc5bf;border-radius:10px}.reader-toolbar{margin:26px 0 16px;display:flex;align-items:end;justify-content:space-between;gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:160px}.field label{font-size:12px;font-weight:650}.field input,.field select{background:#fff;color:#253849;border:1px solid #cdd9e2;border-radius:9px;padding:11px 12px;max-width:100%;min-height:44px}.reader-toolbar .field{flex:1;max-width:400px}.export-actions{display:flex;gap:8px;flex-wrap:wrap}button{border:1px solid #b9cfd4;border-radius:9px;background:#eaf4f4;color:#214f59;padding:11px 14px;font-size:12px;font-weight:700;min-height:44px}button.secondary{background:white;color:#607082;border-color:#d7e1e8}.settings{background:#ecf2f6;border-radius:10px;padding:14px 18px}.settings summary{cursor:pointer;font-weight:650;font-size:12px}.settings-fields{display:flex;gap:16px;margin:18px 0 10px;flex-wrap:wrap}.settings p{font-size:12px}.report-heading{margin:28px 0 14px}.report-heading h2{font-size:20px}#printRules{display:none}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.summary-grid>div{background:#fff;border:1px solid #dde5ec;border-radius:12px;padding:16px}.summary-grid span{display:block;color:#607082;font-size:11px}.summary-grid strong{display:block;font-size:26px;font-weight:750;margin-top:8px;color:#174e51}.summary-grid .warning-summary strong{color:#99620e}.table-scroll{overflow-x:auto;background:#fff;border:1px solid #d9e2ea;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:13px 14px;background:#eaf0f5;color:#546b7c;font-size:10px;font-weight:750;white-space:nowrap}td{border-top:1px solid #e5ebf0;padding:13px 14px;vertical-align:top}td:first-child{white-space:nowrap;font-weight:650}td:nth-child(2){font-variant-numeric:tabular-nums;white-space:pre-line;min-width:130px}td:nth-child(4){font-weight:750;color:#176453}.punch-status{font-size:11px;white-space:pre-line}.punch-status.warning{color:#a26000}.punch-status.muted{color:#8492a0}td details{margin-top:6px;color:#728698;font-size:10px;max-width:280px}td summary{cursor:pointer}td pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}.empty-state{text-align:center;padding:50px 16px}.empty-mark{display:inline-grid;place-items:center;border:1px solid #cbdcd8;color:#438576;border-radius:12px;width:58px;height:65px;font-size:16px;font-weight:750;background:#e9f1ee;margin-bottom:16px}.empty-state p{max-width:520px;margin:auto}.empty-state h2{font-size:16px}footer{border-top:1px solid #dce5ec;padding-top:20px;margin-top:24px;display:flex;align-items:start;gap:32px;justify-content:space-between}footer p{font-size:11px;max-width:730px}footer span{font-size:10px;white-space:nowrap;color:#82949f}@media(max-width:700px){.topbar{padding:16px 18px}.top-actions{gap:12px;font-size:11px}main{padding:26px 16px}.intro{display:block}.privacy-badge{display:inline-block;margin-top:14px}.upload-panel{grid-template-columns:1fr;padding:20px}.file-button{width:100%}.reader-toolbar{align-items:stretch;flex-direction:column}.reader-toolbar .field{max-width:none}.export-actions button{flex:1;padding:10px 9px}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-grid strong{font-size:24px}footer{display:block}footer span{display:block;margin-top:14px}td,th{padding:11px 10px}.settings-fields .field{flex:1}}
@media print{@page{size:A4 portrait;margin:12mm}:root,body{background:white;color:#111}.topbar,.intro,.upload-panel,.reader-toolbar,.settings,#readerError,#emptyState,footer{display:none!important}main{max-width:none;padding:0}.report-heading{margin:0 0 14px}#printRules{display:block;font-size:10px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:6px}.summary-grid>div{padding:9px;border-radius:0}.summary-grid strong{font-size:18px}.table-scroll{overflow:visible;border:0;border-radius:0}table{font-size:10px;table-layout:fixed}thead{display:table-header-group}tr{break-inside:avoid}th,td{padding:7px 6px;border:1px solid #bac7ce;white-space:normal}td:nth-child(2){min-width:0}td details{display:none}th:first-child{width:17%}th:nth-child(2){width:26%}th:nth-child(3),th:nth-child(4){width:16%}}
