/* Дополнения Hub поверх app.css (общий стиль админок codevault). */
.content.wide { max-width: none; }
.notice { padding: 10px 12px; border-radius: 8px; background: #14321c; color: #bdf5cf; font-size: 13px; }
h3 { font-size: 15px; margin: 18px 0 6px; }

.filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filters input, .filters select, .tbl input, .tbl select, .form textarea {
  padding: 7px 10px; background: var(--bg); border: 1px solid var(--border); border-radius: 8px;
  color: var(--text); font: inherit; font-size: 13px;
}
.form textarea { width: 100%; margin-top: 6px; }
.filters input { min-width: 220px; }
.filters .narrow, .tbl .narrow { min-width: 0; width: 90px; }
.tbl input { width: 100%; min-width: 140px; }

.card.flush { padding: 0; overflow: hidden; }
.table-scroll { overflow-x: auto; }
.tbl.matrix td, .tbl.matrix th { white-space: nowrap; padding: 7px 10px; }
.tbl.matrix .sku { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.tbl.matrix th.col-sup { color: #9fb7e8; }
.sticky-col { position: sticky; left: 0; background: var(--surface); z-index: 1; }
tr.state-new td, tr.state-changed td { background: #2b2412; }
tr.state-deleted td { background: #2c1416; text-decoration: line-through; text-decoration-color: #8a3a40; }
tr.state-deleted td.actions { text-decoration: none; }
tr.row-muted td { opacity: .55; }

.pill-draft { background: #3a2e10; border-color: #6b5518; color: #ffd97a; }
.draft-text { color: #ffd97a; }
.inline-form { display: inline; margin: 0; }
.inline-form .btn-link, button.btn-link { background: none; border: 0; cursor: pointer; padding: 0; font: inherit; font-size: 14px; }

.form .grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.form .span2 { grid-column: span 2; }
.grid2.gap { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.mono-input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.danger-zone { margin-top: 8px; }
ul.plain { margin: 6px 0 0; padding-left: 18px; }

.kvdiff { border-collapse: collapse; font-size: 13px; }
.kvdiff td { padding: 2px 10px 2px 0; border: 0; }
del { color: #ffb3b8; background: #3a1416; text-decoration: line-through; padding: 0 3px; border-radius: 3px; }
ins { color: #7ee2a0; background: #14321c; text-decoration: none; padding: 0 3px; border-radius: 3px; }

.stat-bad .stat-value { color: #ffb3b8; }
.pager { display: flex; gap: 16px; align-items: center; }
code.big { display: inline-block; margin-top: 6px; font-size: 14px; color: var(--text); user-select: all; }

@media (max-width: 900px) {
  .form .grid4, .grid2.gap { grid-template-columns: 1fr; }
  .form .span2 { grid-column: auto; }
  .topbar { flex-wrap: wrap; }
  .nav { flex-wrap: wrap; }
}
.tbl.diff td:first-child, .tbl.diff th:first-child { width: 32px; }

/* app.css codevault делает формы-карточки узким столбцом (520px) — у Hub формы широкие, сеткой */
form.card.form, .card form.form { display: block; max-width: 1100px; }
.card form.inline-form, form.inline-form { display: inline; max-width: none; }
.card form.inline-form button[type="submit"] { margin-top: 0; }
.form .grid2 > label, .form .grid4 > label { margin-top: 10px; }
.card .form label input, .card label input.mono-input { max-width: none; }
.filters button[type="submit"] { margin: 0; }

/* --- продажи --- */
.tbl .num, .tbl th.num { text-align: right; font-variant-numeric: tabular-nums; }
.tbl.matrix td.clip { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.filters .narrow-lg, .resolve .narrow-lg { min-width: 0; width: 170px; }
.card.group { display: grid; gap: 10px; }
.group-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.card form.resolve { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-width: none; }
.resolve input, .resolve select { padding: 7px 10px; background: var(--bg); border: 1px solid var(--border);
  border-radius: 8px; color: var(--text); font: inherit; font-size: 13px; }
.card form.resolve button[type="submit"] { margin-top: 0; }
