:root{--primary:#183f46;--primary-strong:#0e3036;--background:#f3f5f3;--surface:#fff;--surface-subtle:#edf1ef;--text:#172427;--muted:#647174;--border:#d8dfdc;--success:#24714f;--success-soft:#e8f3ed;--warning:#9a6713;--warning-soft:#fff5df;--danger:#a13c34;--danger-soft:#faecea;--shadow:0 16px 40px #14282b12}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--background);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--primary)}.container{width:min(1080px,100% - 40px);margin:0 auto}.site-header{border-bottom:1px solid var(--border);background:#ffffffe6}.header-inner{justify-content:space-between;align-items:center;min-height:70px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:11px;font-size:1.08rem;font-weight:700;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-weight:800;display:inline-grid}.private-label{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 9px;font-size:.82rem}.page-content{padding:62px 0 52px}.intro{max-width:720px;margin-bottom:34px}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.11em;margin:0 0 8px;font-size:.76rem;font-weight:800}.intro h1{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(2rem,4vw,3.25rem);font-weight:720;line-height:1.08}.intro>p:last-child{color:var(--muted);max-width:650px;margin:0;font-size:1.08rem}.upload-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:24px}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.upload-card{background:#fbfcfb;border:1.5px dashed #b8c5c1;border-radius:13px;flex-direction:column;min-height:220px;padding:22px;transition:border-color .15s,background .15s;display:flex}.upload-card:hover,.upload-card.has-file{border-color:var(--primary);background:#f7faf9}.upload-heading{align-items:flex-start;gap:13px;display:flex}.upload-heading h2{margin:1px 0 2px;font-size:1rem}.upload-heading p,.drop-note{color:var(--muted);margin:0;font-size:.86rem}.file-icon{width:35px;height:35px;color:var(--primary);background:var(--surface-subtle);border-radius:8px;place-items:center;font-size:1.2rem;display:grid}.file-picker{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;margin:auto auto 8px;padding:9px 15px;font-weight:700}.drop-note{text-align:center}.selected-file{border:1px solid var(--border);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:auto 0;padding:11px 12px;display:flex}.selected-file span{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.selected-file button{color:var(--primary);background:0 0;border:0;font-weight:700}.primary-button,.secondary-button{border:0;border-radius:9px;padding:12px 18px;font-weight:760}.primary-button{color:#fff;background:var(--primary)}.primary-button:hover:not(:disabled){background:var(--primary-strong)}.secondary-button{color:var(--primary);background:var(--surface-subtle);border:1px solid var(--border)}.check-button{min-width:190px;margin:22px auto 0;display:block}.processing{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;align-items:center;gap:13px;max-width:600px;margin:20px auto 0;padding:15px;display:flex}.processing p{color:var(--muted);margin:2px 0 0;font-size:.88rem}.spinner{border:2px solid #afc0bb;border-top-color:var(--primary);border-radius:50%;flex:none;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:var(--danger);background:var(--danger-soft);border:1px solid #ecc7c2;border-radius:8px;margin-top:16px;padding:12px 14px}.privacy-strip{color:var(--muted);gap:3px;padding:22px 4px;font-size:.88rem;display:grid}.privacy-strip strong{color:var(--text)}.results{margin-top:34px}.verdict-card{border:1px solid var(--border);border-radius:15px;justify-content:space-between;gap:25px;padding:24px;display:flex}.verdict-card.warning{background:var(--warning-soft);border-color:#ead09b}.verdict-card.partial{background:#edf3f2;border-color:#cbdad6}.verdict-card h2{letter-spacing:-.03em;margin:0 0 5px;font-size:1.8rem}.verdict-card p{color:var(--muted);margin:0}.verdict-numbers{align-items:center;gap:26px;display:flex}.verdict-numbers span,.comparison-grid span{color:var(--muted);gap:2px;font-size:.82rem;display:grid}.verdict-numbers strong{color:var(--text);white-space:nowrap;font-size:1.15rem}.result-disclaimer{color:var(--muted);margin:10px 3px 20px;font-size:.84rem}.correction-card,.evidence-card,.developer-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:16px 18px}summary{cursor:pointer;color:var(--primary);font-weight:750}.correction-card>p{color:var(--muted);font-size:.9rem}.correction-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.correction-grid label{color:var(--muted);font-size:.82rem}.correction-grid input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:7px;margin-top:5px;padding:9px}.section-list{gap:12px;display:grid}.payroll-section{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:19px}.section-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.section-title h3{margin:0;font-size:1.02rem}.status-pill{letter-spacing:.05em;background:var(--surface-subtle);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:800}.status-pill.matched{color:var(--success);background:var(--success-soft)}.status-pill.possible_discrepancy,.status-pill.requires_manual_review,.status-pill.minor_rounding_difference{color:var(--warning);background:var(--warning-soft)}.status-pill.clear_discrepancy{color:var(--danger);background:var(--danger-soft)}.comparison-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0 12px;padding:13px 0;display:grid}.comparison-grid strong{color:var(--text);font-size:1rem}.payroll-section>p{color:var(--muted);margin:12px 0 0;font-size:.9rem}.payroll-section dl{flex-wrap:wrap;gap:20px;margin:12px 0;display:flex}.payroll-section dl div{min-width:130px}.payroll-section dt{color:var(--muted);font-size:.78rem}.payroll-section dd{margin:2px 0 0;font-weight:700}.payroll-section details{margin-top:13px;font-size:.86rem}.evidence-card h3{margin-top:18px;font-size:.95rem}.evidence-card li{color:var(--muted);margin:5px 0}.developer-card pre{color:#d7e4e0;background:#10191b;border-radius:8px;max-height:500px;padding:14px;font-size:.75rem;overflow:auto}.site-footer{border-top:1px solid var(--border);background:#e9eeeb;padding:30px 0}.footer-inner{color:var(--muted);justify-content:space-between;gap:32px;font-size:.78rem;display:flex}.footer-inner p{max-width:720px;margin:0}.footer-inner nav{white-space:nowrap;gap:16px;display:flex}.login-shell{place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(390px,100%);box-shadow:var(--shadow);border-radius:16px;padding:32px}.login-card h1{margin:17px 0 0}.login-card>p{color:var(--muted);margin:1px 0 20px}.login-card label{margin-bottom:5px;font-size:.85rem;font-weight:700;display:block}.login-card input{border:1px solid var(--border);border-radius:8px;width:100%;margin-bottom:14px;padding:11px}.login-card .primary-button{width:100%}.legal-page{max-width:760px;padding:54px 0}.legal-page h1{margin-bottom:26px;font-size:2.3rem}.legal-page h2{margin-top:27px;font-size:1.1rem}.legal-page p{color:var(--muted)}@media (max-width:760px){.container{width:min(100% - 26px,1080px)}.page-content{padding-top:40px}.upload-grid,.correction-grid{grid-template-columns:1fr}.upload-card{min-height:190px}.verdict-card,.footer-inner{flex-direction:column}.verdict-numbers{justify-content:space-between}.comparison-grid{grid-template-columns:1fr}.private-label{display:none}}
