:root{font-family:IBM Plex Sans,Arial,sans-serif;color:#16211c;background:#f7f8f7;font-synthesis:none;--background: #f7f8f7;--surface: #ffffff;--text: #16211c;--muted: #607069;--border: #dbe2de;--accent: #0d6e6e;--accent-soft: rgb(13 110 110 / .08);--late: #b45309}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--background);color:var(--text);font-size:16px;line-height:1.6}button,input,select{font:inherit}a{color:var(--accent);text-underline-offset:3px}button,.drop-zone{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.drop-zone:focus-visible,.table-scroll:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{min-height:40px;padding:8px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}button:hover:not(:disabled){box-shadow:0 2px 8px #00000014}button:disabled{border-color:#9ca9a3;background:#9ca9a3;cursor:not-allowed}.secondary-button{border-color:var(--border);background:var(--surface);color:var(--accent)}.site-header,main,footer{width:min(1440px,100%);margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--border)}.site-header a{color:var(--text);font-size:14px}.wordmark{font-size:16px!important;font-weight:600;text-decoration:none}.hero{padding:clamp(52px,8vw,112px) clamp(20px,4vw,64px) clamp(72px,10vw,136px)}.hero-copy{max-width:940px;margin-bottom:clamp(34px,5vw,64px)}.eyebrow,.label,.privacy{margin:0 0 12px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1{max-width:800px;margin-bottom:18px;font-size:clamp(28px,5vw,44px);font-weight:600;letter-spacing:-.02em}h2{margin-bottom:28px;font-size:clamp(25px,3vw,34px);letter-spacing:-.015em}h3{margin-bottom:8px;font-size:20px}.subtitle{max-width:850px;margin:0;color:#435149;font-size:clamp(17px,2vw,20px);line-height:1.55}.hero-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:clamp(32px,5vw,72px);align-items:start}.tool{position:relative;min-height:330px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.progress{position:absolute;z-index:4;top:0;right:0;left:0;height:2px;overflow:hidden;background:var(--accent-soft)}.progress span{display:block;width:45%;height:100%;background:var(--accent);animation:loading 1s ease-in-out infinite alternate}@keyframes loading{0%{transform:translate(-20%)}to{transform:translate(150%)}}.drop-zone{display:flex;min-height:330px;padding:48px 24px;align-items:center;justify-content:center;flex-direction:column;border:1.5px dashed #8fa09a;border-radius:8px;margin:12px;cursor:pointer;text-align:center}.drop-zone.drag-over{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.drop-zone svg{width:34px;margin-bottom:18px;fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.drop-zone strong{font-size:18px}.drop-zone>span{color:var(--muted)}.drop-zone .file-hint{margin-top:18px;font-family:IBM Plex Mono,monospace;font-size:12px}.privacy{display:flex;align-items:center;gap:8px;margin:14px 4px 0;letter-spacing:.08em}.privacy svg{width:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}.workspace{min-height:330px}.workspace-bar,.export-bar,.matrix-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}.workspace-bar{border-bottom:1px solid var(--border)}.workspace-bar>div{display:flex;align-items:baseline;gap:10px}.workspace-bar .label,.matrix-heading .eyebrow{margin-bottom:0}.mono,td,.matrix-heading>p{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.file-list{max-height:152px;overflow:auto;border-bottom:1px solid var(--border)}.file-row{display:flex;min-height:52px;padding:8px 20px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);font-size:13px}.file-row:last-child{border-bottom:0}.file-row.file-error{border-left:3px solid #b42318;background:#fff5f4}.file-row>span:first-child{min-width:0}.file-row strong,.file-row small,tr th small,.review-row small{display:block}.file-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row small,tr th small,.review-row small{color:var(--muted);font-size:11px;font-weight:400}.controls{display:flex;padding:14px 20px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);background:#fbfcfb;font-size:13px}.controls fieldset{display:flex;margin:0;padding:0;gap:14px;border:0}.controls legend{float:left;margin-right:12px;font-weight:600}.controls input[type=radio]{accent-color:var(--accent)}.threshold-label{white-space:nowrap}.number-input,select{border:1px solid #aebbb5;border-radius:8px;background:var(--surface);color:var(--text)}.number-input{width:58px;padding:5px 7px;text-align:right}.date-note,.errors{margin:0;padding:12px 20px;border-bottom:1px solid var(--border);background:#fff8ed;color:#75420b;font-size:13px}.errors{border-left:3px solid #b42318;background:#fff5f4;color:#7a271a}.errors p{margin:0 0 6px}.errors p:last-child{margin-bottom:0}.review-panel{padding:22px 20px;border-bottom:1px solid var(--border);background:#fffbf4}.review-panel>div:first-child>p:last-child{max-width:680px;margin-bottom:18px;color:var(--muted);font-size:13px}.review-row{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;padding:12px 0;align-items:end;gap:12px;border-top:1px solid var(--border);font-size:13px}.review-row label{display:grid;gap:3px;color:var(--muted);font-size:11px}.review-row select{max-width:210px;padding:6px 8px;color:var(--text);font-size:13px}.matrix-panel{padding-top:6px}.matrix-heading{align-items:end}.matrix-heading h3{margin:7px 0 0}.matrix-heading>p{margin:0;color:var(--muted);font-size:11px;white-space:nowrap}.late-key{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:var(--late)}.table-scroll{max-height:520px;overflow:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th,td{min-width:105px;height:48px;padding:7px 10px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);text-align:right}tr>:first-child{position:sticky;z-index:1;left:0;min-width:200px;text-align:left}thead th{position:sticky;z-index:2;top:0;height:42px;padding:0;background:#eff3f1}thead tr>:first-child{z-index:3;background:#eff3f1}.sort-button{display:flex;width:100%;min-height:41px;padding:6px 10px;align-items:center;justify-content:flex-end;gap:6px;border:0;border-radius:0;background:transparent;color:var(--text);font-size:11px;text-align:right}thead th:first-child .sort-button{justify-content:flex-start}.sort-button.active{border-bottom:2px solid var(--accent);color:var(--accent)}.sort-button:hover:not(:disabled){border-bottom:2px solid var(--accent)}.total-row th,.total-row td{position:sticky;z-index:1;top:42px;background:#f6faf8;font-weight:600}.total-row th{z-index:2}td.late{border-left:3px solid var(--late);background:#fff8ed;color:#8b4208;font-weight:500}td.absent{color:#9ca9a3;font-size:18px}.nowrap{white-space:nowrap}.export-bar p{margin:0;color:var(--muted);font-size:13px}.export-actions{display:flex;gap:8px}.how-it-works{padding-top:18px}.how-it-works ol{margin:0;padding:0;list-style:none}.how-it-works li{display:grid;grid-template-columns:42px 1fr;padding:20px 0;gap:16px;border-top:1px solid var(--border)}.how-it-works li>span{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:12px}.how-it-works strong{font-size:17px}.how-it-works li p{margin:4px 0 0;color:var(--muted);font-size:14px}.faq{padding:80px clamp(20px,8vw,128px) 112px;border-top:1px solid var(--border);background:var(--surface)}.faq-list{max-width:900px}.faq details{border-top:1px solid var(--border)}.faq details:last-child{border-bottom:1px solid var(--border)}.faq summary{padding:18px 32px 18px 0;font-weight:600;cursor:pointer}.faq details p{max-width:720px;margin:-4px 0 20px;color:var(--muted)}footer{display:flex;padding:26px clamp(20px,4vw,64px);justify-content:space-between;gap:20px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:959px){.hero-grid{grid-template-columns:1fr}.how-it-works{max-width:680px}}@media(max-width:640px){.hero{padding-top:42px}.workspace-bar,.export-bar,.controls,.matrix-heading,footer{align-items:stretch;flex-direction:column}.controls fieldset{flex-wrap:wrap}.controls legend{width:100%}.review-row{grid-template-columns:1fr}.review-row select{max-width:none}.export-actions button{flex:1}.privacy{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.report-guide{max-width:72rem;margin:0 auto;padding:3.5rem 1.5rem 1rem;border-top:1px solid var(--border)}.report-guide h2{margin:.35rem 0 1.5rem;letter-spacing:-.02em}.guide-columns{display:grid;grid-template-columns:3fr 2fr;gap:2.5rem}.guide-columns h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:1.4rem 0 .4rem}.guide-columns h3:first-child{margin-top:0}.guide-columns p{margin:0 0 .9rem;line-height:1.6}.guide-bridge{border-left:2px solid var(--accent);padding-left:.9rem}@media(max-width:959px){.guide-columns{grid-template-columns:1fr;gap:.5rem}}
