:root{--ink:#17150f;--grey:#8d887e;--line:#e7e2d8;--bg:#f6f3ec;--card:#fffdf8;--accent:#a8744f}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,Segoe UI,sans-serif;font-weight:300;line-height:1.6}
a{color:var(--accent)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:1px solid var(--line);background:var(--card)}
.brand{font-family:Georgia,serif;font-size:18px;display:flex;align-items:center;gap:10px}
.mono{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ink);border-radius:50%;font-style:italic;font-size:12px}
.center{min-height:calc(100vh - 62px);display:flex;align-items:center;justify-content:center;padding:30px}
.wrap{max-width:760px;margin:30px auto;padding:0 18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:30px}
.card.narrow{max-width:520px;width:100%}
h1{font-family:Georgia,serif;font-weight:400;font-size:28px;margin-bottom:18px}
h3{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:22px 0 12px}
label{display:block;font-size:13px;color:var(--grey);margin:12px 0}
input,textarea{width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;font:inherit;background:#fff;color:var(--ink)}
button{font:inherit;cursor:pointer;border-radius:7px;border:1px solid var(--ink);padding:11px 22px;background:#fff}
button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
button.ghost{background:transparent;border-color:var(--line);color:var(--grey)}
.primary:hover{opacity:.9}
.step{border-top:1px solid var(--line);padding-top:4px}
.drop{border:2px dashed var(--line);border-radius:10px;padding:30px;text-align:center;color:var(--grey)}
.drop.over{border-color:var(--accent);background:#fff}
.pick{display:inline-block;margin:8px 6px 0;padding:9px 16px;border:1px solid var(--ink);border-radius:7px;color:var(--ink);cursor:pointer;font-size:13px}
.files{list-style:none;margin:14px 0;max-height:230px;overflow:auto}
.files li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.muted{color:var(--grey);font-size:13px}
.items{width:100%;border-collapse:collapse;margin-top:6px}
.items th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--grey);padding:6px 4px}
.items td{padding:4px}.items input{margin:0}
.items .x{border:none;background:none;color:var(--grey);padding:4px 8px}
.total{text-align:right;margin:14px 0;font-size:18px}
.total strong{font-family:Georgia,serif}
.progress{height:6px;background:var(--line);border-radius:6px;margin:16px 0;overflow:hidden}
.progress #bar{height:100%;width:0;background:var(--accent);transition:width .3s}
.status{color:var(--grey);margin-top:10px;min-height:20px}
.done{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.dlrow{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.pay{display:inline-block;padding:11px 22px;border-radius:7px;background:var(--accent);color:#fff;text-decoration:none}
.err{color:#b3261e;margin-top:10px;font-size:14px}
.hidden{display:none}
#send{margin-top:22px;width:100%}
