@font-face { font-family: Vazirmatn; src: url('/fonts/Vazirmatn[wght].woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
:root { --bg:#f7f7f5; --card:#fff; --ink:#1d1d1f; --muted:#6b6b70; --line:#e4e4e0; --brand:#1f5f4a; --brand-ink:#fff; --bad:#a32020; --ok:#1f5f4a; }
* { box-sizing: border-box; }
body { margin:0; font-family: Vazirmatn, Tahoma, sans-serif; background:var(--bg); color:var(--ink); line-height:1.8; font-size:15px; }
a { color: var(--brand); }
.wrap { max-width: 1040px; margin: 0 auto; padding: 20px 16px 60px; }
nav.top { background: var(--card); border-bottom: 1px solid var(--line); }
nav.top .in { max-width:1040px; margin:0 auto; padding:10px 16px; display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
nav.top .brand { font-weight:800; color:var(--ink); text-decoration:none; margin-left:12px; }
nav.top form.inline { margin-right:auto; }
nav.top a { text-decoration:none; }
h1 { font-size: 22px; margin: 8px 0 16px; } h2 { font-size: 18px; margin: 24px 0 10px; }
.card { background: var(--card); border:1px solid var(--line); border-radius: 12px; padding: 16px; margin-bottom: 14px; }
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap: 14px; }
.muted { color: var(--muted); font-size: 13px; }
.price { font-weight: 700; font-size: 18px; }
.btn, button { display:inline-block; background: var(--brand); color: var(--brand-ink); border:0; border-radius: 8px; padding: 8px 16px; font: inherit; cursor:pointer; text-decoration:none; }
.btn.ghost, button.ghost { background: transparent; color: var(--brand); border:1px solid var(--brand); }
button.bad { background: var(--bad); }
label { display:block; margin: 10px 0 4px; font-size: 14px; color: var(--muted); }
input, select, textarea { width:100%; font: inherit; padding: 8px 10px; border:1px solid var(--line); border-radius: 8px; background:#fff; }
textarea { min-height: 120px; }
.row { display:flex; gap: 12px; flex-wrap: wrap; } .row > * { flex: 1 1 200px; }
table { width:100%; border-collapse: collapse; background: var(--card); border:1px solid var(--line); border-radius: 12px; overflow:hidden; }
th, td { text-align: right; padding: 8px 10px; border-bottom: 1px solid var(--line); font-size: 14px; vertical-align: top; }
th { background:#fafaf8; font-weight:600; }
.num { direction: ltr; text-align: left; font-variant-numeric: tabular-nums; }
.tag { display:inline-block; padding: 0 8px; border-radius: 99px; font-size: 12px; background:#eef3f1; color: var(--brand); }
.tag.draft { background:#f3f0e8; color:#7a5b10; } .tag.archived, .tag.void, .tag.failed, .tag.cancelled { background:#f4e9e9; color: var(--bad); }
.flash { padding: 10px 14px; border-radius: 8px; margin-bottom: 14px; background:#eaf3ef; }
.flash.bad { background:#f7e6e6; color: var(--bad); }
.inline { display:inline; } .scroll { overflow-x:auto; }
.big { font-size: 22px; font-weight: 800; }
