/* Phân hệ Kế toán G1 (29/10/2026) — chỉ lớp kt-* + body.kt-desk. Màu lấy từ biến của styles.css; bảng/tab dùng lớp tm-* của tm.css. */
.kt { --kt-gap: 14px; }
.kt-page { display: grid; gap: var(--kt-gap); grid-template-columns: minmax(0, 1fr); }
.kt-head h2 { margin: 2px 0 0; font-size: 22px; font-weight: 800; color: var(--ink); }
.kt-head .sub { margin-top: 4px; font-size: 13px; color: var(--muted); }
.kt-eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--info); }
.kt-money { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 700; }
.kt-money.neg { color: var(--bad); }
.kt-empty { padding: 28px 12px; text-align: center; color: var(--muted); font-size: 14px; }
.kt-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kt-toolbar .grow { min-width: 160px; }
.kt-toolbar .input { height: 42px; }
.kt-sug { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px 12px; margin-top: 8px; background: var(--surface); }
.kt-sug.on { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(16, 24, 40, .06); }
.kt-sug .r { font-size: 12px; color: var(--muted); margin-top: 2px; }
.kt-sug .amt { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.kt-sug .amt .input { height: 44px; max-width: 160px; font-variant-numeric: tabular-nums; }
.kt-sum { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; font-size: 14px; margin-top: 12px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--surface-2); }
.kt-sum b { text-align: right; font-variant-numeric: tabular-nums; }
.kt-pc { display: flex; gap: 10px; align-items: center; padding: 10px 2px; border-top: 1px solid var(--line); font-size: 14px; }
.kt-pc:first-child { border-top: 0; }
.kt-pc input[type=checkbox] { width: 22px; height: 22px; flex: none; }
.kt-grid2 { display: grid; gap: var(--kt-gap); grid-template-columns: minmax(0, 1fr); align-items: start; }
.kt-kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; font-size: 14px; }
.kt-kv dt { color: var(--muted); } .kt-kv dd { margin: 0; font-weight: 600; color: var(--ink); }
.kt-ev { font-size: 13px; }
.kt-sheet-wide .input { height: 46px; }
.kt-map { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.kt-cards .item .kt-money { margin-left: auto; }
.kt-side-brand { display: flex; align-items: center; gap: 10px; padding: 4px 8px 14px; }
.kt-side-brand .logo { width: 34px; height: 34px; border-radius: 10px; background: var(--info-bg); color: var(--info); display: grid; place-items: center; font-weight: 800; }
.kt-side-brand b { display: block; font-size: 15px; font-weight: 800; color: var(--ink); }
.kt-side-brand span { display: block; font-size: 12px; color: var(--muted); }
@media (min-width: 700px) { .kt-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kt-map { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  .kt-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.kt-desk .app { max-width: none; display: grid; grid-template-columns: 248px minmax(0, 1fr); grid-template-rows: auto auto 1fr; box-shadow: none; }
  body.kt-desk .side { display: flex !important; flex-direction: column; grid-column: 1; grid-row: 1 / span 3; align-self: start; position: sticky; top: 0; height: 100dvh; overflow-y: auto; padding: 16px 12px 24px; box-sizing: border-box; background: var(--surface); border-right: 1px solid var(--line); }
  body.kt-desk .topbar, body.kt-desk .demo-strip, body.kt-desk main { grid-column: 2; }
  body.kt-desk .topbar { padding: 0 24px; }
  body.kt-desk .nav { display: none; }
  body.kt-desk main { width: 100%; max-width: 1480px; margin: 0 auto; box-sizing: border-box; padding: 22px 32px 64px; }
  body.kt-desk .toast { left: calc(248px + (100vw - 248px) / 2); bottom: 28px; }
  body.kt-desk .sheet-backdrop { align-items: center; }
  body.kt-desk .sheet { max-width: 760px; max-height: 88dvh; border-radius: 20px; padding-bottom: 20px; }
  body.kt-desk .sheet .handle { display: none; }
}
