:root { color-scheme: light; --ink:#11231d; --muted:#63726c; --paper:#f5f4ee; --card:#fff; --green:#0d7554; --lime:#dff36b; --line:#d9dfda; --red:#a63b35; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, sans-serif; }
.shell { width:min(1180px, calc(100% - 32px)); margin:auto; }
.header { display:flex; justify-content:space-between; align-items:center; padding:24px 0; }
.brand { color:var(--ink); text-decoration:none; font-size:1.15rem; font-weight:800; }.brand span{color:var(--green)}
.privacy { font-size:.85rem; background:#e6efe9; padding:9px 13px; border-radius:999px; }
.top-nav,.hero-actions{display:flex;align-items:center;gap:14px}.top-nav a{color:var(--green);font-size:.88rem;font-weight:700}.hero-actions .secondary{margin-top:24px}.demo-note{margin:18px 0;padding:12px 16px;border:1px solid #bad7ca;background:#edf7f1;border-radius:12px;color:var(--green);font-weight:700}
.steps { display:flex; gap:10px; border-bottom:1px solid var(--line); padding:12px 0 18px; color:#85918c; font-size:.85rem; font-weight:700; }
.steps span { flex:1; }.steps .active { color:var(--green); }
.screen { padding:64px 0; min-height:65vh; }.hidden { display:none !important; }
.landing { padding:82px 0 92px; min-height:76vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.landing .primary { font-size:1.05rem; padding:16px 24px; }
.benefits { display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.benefits span { background:#fff; border:1px solid var(--line); border-radius:999px; padding:9px 13px; color:var(--muted); font-size:.88rem; }
.local-note { color:var(--muted); font-size:.9rem; margin-top:16px; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.76rem; font-weight:800; color:var(--green); }
h1 { max-width:850px; font-size:clamp(2.4rem, 6vw, 5rem); letter-spacing:-.055em; line-height:.98; margin:16px 0 24px; }
h2 { font-size:clamp(2rem, 4vw, 3.4rem); letter-spacing:-.04em; max-width:800px; }
.lead { font-size:1.15rem; max-width:700px; color:var(--muted); line-height:1.6; }
.notice { margin:32px 0; border-left:4px solid var(--green); padding:14px 18px; background:#e9f2ed; }
.upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.drop-card { display:flex; flex-direction:column; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:24px; cursor:pointer; min-height:210px; }
.drop-card:hover,.drop-card:focus-within { border-color:var(--green); box-shadow:0 8px 30px #193d2d12; }
.drop-card .number { color:var(--green); font-weight:800; }.drop-card strong{font-size:1.35rem}.drop-card>span:not(.number){color:var(--muted)}
input[type=file]{ margin-top:auto; max-width:100%; } small{color:var(--muted)}
button { border:0; border-radius:999px; padding:14px 22px; font:inherit; font-weight:800; cursor:pointer; }
.primary { background:var(--ink); color:white; margin-top:24px; }.primary:hover{background:var(--green)}.primary:disabled{opacity:.45;cursor:not-allowed}
.secondary { background:transparent; border:1px solid var(--line); margin-top:24px; }
.error { color:var(--red); font-weight:700; }.error-panel{background:#fdecea;color:#7a2c27;padding:16px;border-radius:12px}
.loader { width:44px;height:44px;border:4px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite } @keyframes spin{to{transform:rotate(360deg)}}
.summary { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:30px 0; }
.stat { background:white; border:1px solid var(--line); padding:22px; border-radius:16px; display:flex; flex-direction:column; }.stat strong{font-size:2.2rem}.stat span{color:var(--muted)}.stat.safe{border-top:5px solid #1c8c63}.stat.needs{border-top:5px solid #d69a20}.stat.manual{border-top:5px solid #9b514d}
.actions{display:flex;gap:12px;flex-wrap:wrap}.hint{color:var(--muted)}
.table-wrap{overflow:auto;margin-top:28px;background:white;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;min-width:1000px}caption{text-align:left;padding:18px;font-weight:800}th,td{padding:14px;text-align:left;border-top:1px solid var(--line);vertical-align:top;font-size:.88rem}th{background:#edf0ec}.badge{white-space:nowrap;font-weight:800}.SAFE{color:#14704f}.NEEDS_USER_DATA{color:#9a6810}.MANUAL_REVIEW{color:#913f3b}
footer{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:.85rem}footer a{color:var(--green)}
@media(max-width:760px){.upload-grid,.summary{grid-template-columns:1fr}.privacy{display:none}.screen{padding:38px 0}.landing{padding:50px 0 64px}.steps{font-size:.72rem}}
