:root {
  --paper:#e9e4d3; --paper-dark:#dcd5bd; --ink:#242019; --ink-soft:#5a5344;
  --stamp-red:#a3312a; --stamp-green:#3f6b47; --stamp-amber:#8a6a1f; --rule:#c7bfa2;
}
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(ellipse at top left, rgba(0,0,0,.04), transparent 60%), var(--paper); color:var(--ink); font-family:Inter,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.wrap { max-width:700px; margin:0 auto; padding:0 20px 80px; }
.tab { max-width:260px; background:var(--paper-dark); border:1px solid var(--rule); border-bottom:none; border-radius:10px 10px 0 0; padding:8px 18px 4px; margin:36px 0 -1px 20px; font-family:'Courier New',monospace; font-size:.72rem; letter-spacing:.08em; color:var(--ink-soft); text-transform:uppercase; }
.folder { background:var(--paper-dark); border:1px solid var(--rule); border-radius:2px 10px 10px 10px; padding:36px 36px 30px; box-shadow:0 18px 40px -24px rgba(0,0,0,.35); }
header h1 { font-family:Georgia,serif; font-size:2rem; margin:0 0 4px; }
header .case-no { font-family:'Courier New',monospace; font-size:.8rem; color:var(--ink-soft); margin:0 0 18px; }
header p.dek { font-size:.95rem; color:var(--ink-soft); line-height:1.5; max-width:50ch; margin:0 0 28px; }
.field { margin-bottom:14px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:block; font-family:'Courier New',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:4px; }
input,select { width:100%; padding:9px 10px; background:var(--paper); border:1px solid var(--rule); border-radius:4px; font-family:Inter,Arial,sans-serif; font-size:.92rem; color:var(--ink); }
input:focus,select:focus { outline:2px solid var(--ink); outline-offset:1px; }
.consent { display:flex; gap:10px; align-items:flex-start; margin:22px 0 6px; padding:12px 14px; background:rgba(0,0,0,.03); border:1px dashed var(--rule); border-radius:6px; }
.consent input { width:auto; margin-top:3px; }
.consent span { font-size:.82rem; line-height:1.5; color:var(--ink-soft); }
button.submit { margin-top:18px; width:100%; padding:13px 16px; background:var(--ink); color:var(--paper); border:none; border-radius:4px; font-family:'Courier New',monospace; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
button.submit:disabled { opacity:.55; cursor:default; }
#progress { display:none; margin-top:20px; font-family:'Courier New',monospace; font-size:.76rem; color:var(--ink-soft); white-space:pre-wrap; max-height:160px; overflow-y:auto; border:1px solid var(--rule); border-radius:6px; padding:10px 12px; background:rgba(0,0,0,.03); }
#results { display:none; margin-top:34px; }
.summary { font-family:'Courier New',monospace; font-size:.82rem; color:var(--ink-soft); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:14px 0; margin-bottom:18px; }
.summary b { color:var(--ink); }
.ledger-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--rule); }
.ledger-row .name { font-weight:600; font-size:.95rem; }
.ledger-row .why { font-size:.78rem; color:var(--ink-soft); margin-top:2px; max-width:40ch; word-break:break-word; }
.stamp { font-family:Georgia,serif; font-size:.74rem; letter-spacing:.05em; padding:5px 10px; border:2px solid currentColor; border-radius:3px; transform:rotate(-3deg); white-space:nowrap; text-transform:uppercase; }
.stamp.success { color:var(--stamp-green); }
.stamp.manual { color:var(--stamp-red); }
.stamp.pending { color:var(--stamp-amber); }
.stamp.other { color:var(--ink-soft); }
footer.note { margin-top:28px; font-size:.76rem; color:var(--ink-soft); line-height:1.5; }
.privacy-note { margin-top:10px; font-size:.72rem; color:var(--ink-soft); line-height:1.45; }
@media (max-width:520px) { .row2 { grid-template-columns:1fr; } .folder { padding:26px 22px; } .ledger-row { grid-template-columns:1fr; gap:6px; } }
