:root{
  --paper:#f7f2e8; --ink:#20242e; --ink-soft:#4a4f5c;
  --accent:#c8452f; --accent-deep:#a5341f; --line:#e2d8c4; --card:#fffdf8;
  --green:#2f7d4f; --amber:#b57a12; --red:#c8452f;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.55;}
h1,h2,.wordmark{font-family:Georgia,"Times New Roman",serif;}
h1{font-size:1.7rem;margin:18px 0 6px;}
h2{font-size:1.15rem;margin-bottom:12px;}
.wrap{max-width:840px;margin:0 auto;padding:0 20px;}
header{background:var(--card);border-bottom:1px solid var(--line);padding:16px 0;}
.headrow{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.wordmark{font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);}
.wordmark svg{width:24px;height:24px;}
nav a{margin-left:16px;color:var(--accent-deep);text-decoration:none;font-weight:600;font-size:.95rem;}
nav a:hover{text-decoration:underline;}
main{padding:24px 0 60px;}
footer{border-top:1px solid var(--line);padding:22px 0;color:var(--ink-soft);font-size:.85rem;text-align:center;}

.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;margin:18px 0;}
.card.narrow{max-width:420px;margin:40px auto;}
.card.subtle{background:transparent;border-style:dashed;}
.muted{color:var(--ink-soft);font-size:.92rem;}
.field-label{font-size:.85rem;color:var(--ink-soft);margin-top:6px;}

.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:999px;
  font-weight:700;padding:11px 22px;cursor:pointer;font-size:1rem;text-decoration:none;}
.btn:hover{background:var(--accent-deep);}
.btn.small{padding:8px 16px;font-size:.9rem;}
.btn.tiny{padding:6px 12px;font-size:.82rem;}
.btn.ghost{background:transparent;color:var(--accent-deep);border:1.5px solid var(--accent);}
.link-danger{background:none;border:none;color:var(--accent-deep);cursor:pointer;font-size:.85rem;text-decoration:underline;padding:6px 4px;}

input,select{font-size:.95rem;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;background:#fff;font-family:inherit;}
input:focus,select:focus{outline:none;border-color:var(--accent);}
.stack{display:flex;flex-direction:column;gap:12px;margin:14px 0;}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;}
.inline{display:inline;}
.consent{display:flex;gap:10px;font-size:.88rem;color:var(--ink-soft);align-items:flex-start;}
.consent input{margin-top:3px;}

table{width:100%;border-collapse:collapse;margin:6px 0;}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:.92rem;}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}

.line-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.line-row .ext{font-family:Georgia,serif;font-size:1.15rem;color:var(--accent);font-weight:700;min-width:90px;}
.line-meta{flex:1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.line-actions{display:flex;gap:8px;flex-wrap:wrap;}
.row-actions{display:flex;gap:6px;}

.pill{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--line);color:var(--ink-soft);}
.pill.green{background:#dff0e4;color:var(--green);}
.pill.amber{background:#f6ead0;color:var(--amber);}
.pill.red{background:#f6ddd7;color:var(--red);}

.flash{padding:11px 16px;border-radius:9px;margin:12px 0;font-size:.92rem;}
.flash.ok{background:#dff0e4;color:var(--green);}
.flash.error{background:#f6ddd7;color:var(--accent-deep);}
