/* extras for book-purchases */
.badge { display: inline-block; padding: 0.2rem 0.55rem; border-radius: 999px; font-size: 0.82rem; background: var(--surface-2); }
.badge.success { background: rgba(74, 222, 128, 0.15); color: var(--success); }
.badge.warning { background: rgba(251, 191, 36, 0.15); color: var(--warning); }
.badge.danger { background: rgba(248, 113, 113, 0.15); color: var(--danger); }
.badge.muted { color: var(--muted); }

.panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; margin-bottom: 1rem; }
.panel.mb { margin-bottom: 1.25rem; }
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; }
.filters { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: end; }
.filters label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.9rem; }
.inline-form { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.inline-add { display: flex; gap: 0.5rem; margin-bottom: 1rem; flex-wrap: wrap; }
.stack-form { display: flex; flex-direction: column; gap: 0.5rem; max-width: 420px; }
.vendor-cell { min-width: 220px; font-size: 0.85rem; }
.vendor-line { display: flex; flex-direction: column; margin-bottom: 0.35rem; padding-bottom: 0.35rem; border-bottom: 1px dashed var(--border); }
.center { text-align: center; }
.tabs { display: flex; gap: 0.5rem; margin-bottom: 1rem; flex-wrap: wrap; }
.tabs a { padding: 0.5rem 0.9rem; border-radius: 8px; background: var(--surface); border: 1px solid var(--border); color: var(--text); }
.tabs a.active { background: var(--primary); color: #0f172a; font-weight: 700; }
.checkbox-row { display: flex; align-items: center; gap: 0.5rem; margin: 0.5rem 0; }
.help-list { line-height: 1.8; color: var(--muted); }
.hint { font-size: 0.85rem; margin-top: 0.75rem; }
.mt { margin-top: 1rem; }
.vendor-fin-block, .customer-block { border: 1px solid var(--border); border-radius: 8px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; background: var(--surface); }
.vendor-fin-block summary, .customer-block summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.danger-zone { border-color: rgba(248, 113, 113, 0.35); }
.danger-zone h2 { color: var(--danger); margin-top: 0; }
.company-checks { display: flex; flex-wrap: wrap; gap: 0.35rem 0.85rem; max-width: 520px; }
.compact-check { margin: 0; font-size: 0.88rem; }
.company-check-item { display: inline-flex; align-items: center; gap: 0.3rem; border: 1px dashed var(--border); border-radius: 6px; padding: 0.2rem 0.45rem; }
.auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 1rem; }
.auth-card { width: min(420px, 100%); background: var(--surface); padding: 2rem; border-radius: var(--radius); border: 1px solid var(--border); box-shadow: var(--shadow); }
.auth-card h1 { margin-top: 0; }
.auth-card label { display: block; margin: 0.75rem 0 0.35rem; }
.auth-card input { width: 100%; }
.btn.small { padding: 0.25rem 0.55rem; font-size: 0.82rem; }
.data-table.compact td, .data-table.compact th { padding: 0.45rem 0.55rem; }
