:root { --fg:#1d232a; --muted:#5b6670; --bg:#f6f7f8; --card:#fff; --line:#dde1e5;
  --accent:#0a6e4f; --err:#b3261e; --warn:#8a5a00; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--fg); background:var(--bg); }
.top { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:#1d232a; color:#fff; flex-wrap:wrap; gap:8px; }
.top a { color:#fff; text-decoration:none; margin-right:16px; }
.brand { font-weight:600; }
nav { display:flex; align-items:center; }
nav form { display:inline; }
main { max-width:1100px; margin:0 auto; padding:16px; }
h1 { font-size:22px; } h2 { font-size:17px; margin-top:28px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:16px; }
.narrow { max-width:360px; }
label { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--muted); }
input, select { font:inherit; padding:7px 9px; border:1px solid var(--line); border-radius:6px; color:var(--fg); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.wide { grid-column:1/-1; }
fieldset { border:1px solid var(--line); border-radius:6px; margin:16px 0 0; }
button { font:inherit; padding:8px 16px; border:0; border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; margin-top:12px; }
button.secondary { background:#e6e9ec; color:var(--fg); }
button.link { background:none; padding:0; margin:0; color:#fff; }
button.small { padding:4px 10px; margin:0; font-size:13px; }
.actions { display:flex; gap:12px; justify-content:flex-end; }
.scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; background:var(--card); }
th, td { text-align:left; padding:7px 9px; border-bottom:1px solid var(--line); vertical-align:top; }
.num { text-align:right; }
.error { color:var(--err); } .warning { color:var(--warn); } .small { font-size:12px; }
.note { background:#fff6e0; border:1px solid #f0d58a; padding:8px 12px; border-radius:6px; }
.hint { color:var(--muted); font-size:13px; }
.edi { background:#1d232a; color:#d7f5e3; padding:12px; border-radius:8px; overflow-x:auto; font-size:13px; }
.status { padding:2px 8px; border-radius:10px; font-size:12px; background:#e6e9ec; }
.status.sent { background:#d6f0e3; color:#0a6e4f; } .status.failed { background:#fbe0de; color:var(--err); }
.confirm { margin-top:12px; color:var(--warn); font-weight:600; }
