:root{--blauw:#0e364d;--blauw-licht:#1b4d6b;--oranje:#e2552c;--papier:#f7f5f1;--kaart:#fff;--lijn:#e4ded5;--tekst:#14202a;--grijs:#6b7780;--rood:#b3402f;--groen:#2f6d4f}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--papier);color:var(--tekst);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--blauw)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--kaart);border-bottom:1px solid var(--lijn)}.topbar img{height:34px;width:auto;display:block}.topbar .gebruiker{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--grijs)}.knop{font:inherit;font-weight:600;border:0;border-radius:8px;padding:12px 20px;background:var(--blauw);color:#fff;cursor:pointer;transition:background .15s ease}.knop:hover{background:var(--blauw-licht)}.knop:disabled{opacity:.5;cursor:default}.knop.oranje{background:var(--oranje)}.knop.oranje:hover{background:#c8471f}.knop.kaal{background:transparent;color:var(--grijs);padding:6px 10px;font-weight:500}.knop.kaal:hover{background:#f0ece5;color:var(--tekst)}.veld{font:inherit;width:100%;padding:12px 14px;border:1px solid var(--lijn);border-radius:8px;background:#fff;color:var(--tekst)}.veld:focus{outline:2px solid var(--blauw);outline-offset:1px;border-color:var(--blauw)}.midden{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.kaart{width:100%;max-width:400px;background:var(--kaart);border:1px solid var(--lijn);border-radius:14px;padding:36px 32px}.kaart .logo{height:38px;margin-bottom:24px}.kaart h1{font-size:21px;margin:0 0 6px;color:var(--blauw)}.kaart p.sub{margin:0 0 24px;color:var(--grijs);font-size:14px}.label{display:block;font-size:13px;font-weight:600;color:var(--grijs);margin:0 0 6px}.fout{padding:10px 12px;background:#fbeae6;border:1px solid #f0c8bf;border-radius:8px;color:var(--rood)}.fout,.melding{margin-top:14px;font-size:14px}.melding{color:var(--grijs)}.werkblad{max-width:720px;margin:48px auto;padding:0 24px}.werkblad h1{font-size:26px;color:var(--blauw);margin:0 0 4px}.werkblad .lead{color:var(--grijs);margin:0 0 28px}.dropzone{border:2px dashed var(--lijn);border-radius:16px;background:#fff;padding:48px 24px;text-align:center;transition:border-color .15s ease,background .15s ease;cursor:pointer}.dropzone.over{border-color:var(--oranje);background:#fff7f3}.dropzone .icoon{font-size:34px;margin-bottom:10px}.dropzone .hoofd{font-weight:600;font-size:17px;color:var(--tekst)}.dropzone .hint{color:var(--grijs);font-size:14px;margin-top:4px}.bestand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:14px 16px;background:#fff;border:1px solid var(--lijn);border-radius:10px}.bestand .naam{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acties{margin-top:22px;align-items:center;gap:14px;text-align:center}.acties,.status{display:flex;flex-direction:column}.status{font-size:14px;color:var(--grijs);gap:2px}.status .naamregel{font-weight:400;color:var(--grijs);word-break:break-word}.status.klaar{color:var(--groen);font-weight:600}.status.mis{color:var(--rood);font-weight:600}.uitleg{margin-top:36px;padding-top:22px;border-top:1px solid var(--lijn);color:var(--grijs);font-size:13.5px;line-height:1.6}