.kb-table-wrap {
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  max-width: 1100px !important; margin: 0 auto 40px !important; padding: 20px !important; color: #1a1a1a !important;
}
.kb-table-wrap h2 { font-size: 24px !important; color: #1a1a2e !important; margin: 0 0 8px !important; }
.kb-table-wrap h3 { font-size: 20px !important; color: #1a1a2e !important; margin: 24px 0 10px !important; }
.kb-table-wrap .subtitle { font-size: 15px !important; color: #6b7280 !important; margin: 0 0 20px !important; }

/* --- Кнопки --- */
.kb-actions { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 20px !important; flex-wrap: wrap !important; }
.kb-btn-main {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: #4a7fe0 !important; color: #fff !important; border: none !important;
  padding: 12px 22px !important; font-size: 15px !important; font-weight: bold !important;
  border-radius: 10px !important; cursor: pointer !important; transition: background .2s, transform .1s !important;
  font-family: inherit !important;
}
.kb-btn-main:hover { background: #3a6bc4 !important; }
.kb-btn-main:active { transform: scale(0.97) !important; }
.kb-btn-mini {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: #eef2ff !important; color: #3a6bc4 !important; border: 1px solid #cdd9f5 !important;
  padding: 10px 16px !important; font-size: 14px !important; font-weight: 600 !important;
  border-radius: 10px !important; cursor: pointer !important; transition: background .2s, transform .1s !important;
  font-family: inherit !important;
}
.kb-btn-mini:hover { background: #dde6fb !important; }
.kb-btn-mini:active { transform: scale(0.97) !important; }
.kb-btn-main:disabled, .kb-btn-mini:disabled { opacity: .6 !important; cursor: wait !important; }

/* --- Таблица --- */
.kb-table-scroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
.kb-table {
  width: 100% !important; border-collapse: collapse !important; font-size: 14px !important;
  min-width: 640px !important; border-radius: 12px !important; overflow: hidden !important;
  box-shadow: 0 2px 14px rgba(0,0,0,0.10) !important; border: none !important;
}
.kb-table th, .kb-table td {
  padding: 11px 12px !important; text-align: center !important;
  border-bottom: 1px solid #d9dee6 !important;
  border-right: 1px solid #e8ecf1 !important;
  color: #1f2733 !important;
}
.kb-table thead th {
  background: #4a7fe0 !important; color: #ffffff !important; font-weight: 700 !important;
  font-size: 14px !important; border-bottom: none !important;
  border-right: 1px solid rgba(255,255,255,0.25) !important; letter-spacing: .2px !important;
}
.kb-table thead tr:first-child th { font-size: 15px !important; }
.kb-table tbody tr td { background: #ffffff !important; }
.kb-table tbody tr:nth-child(even) td { background: #eef2fb !important; }
.kb-table tbody tr:hover td { background: #dbe6fb !important; transition: background .15s !important; }
.kb-table td:first-child {
  font-weight: 700 !important; background: #f4f6fb !important; color: #1a2740 !important;
}
.kb-table tbody tr:nth-child(even) td:first-child { background: #e7edf9 !important; }
.kb-table tbody tr:hover td:first-child { background: #d2ddf7 !important; }
.kb-table .col-divider { border-left: 2px solid #4a7fe0 !important; }
.kb-table thead th.col-divider { border-left: 2px solid rgba(255,255,255,0.45) !important; }

/* Подпись источника */
.kb-source { text-align: right !important; font-size: 12px !important; color: #b0b4ba !important; margin-top: 8px !important; padding-right: 4px !important; letter-spacing: .3px !important; }

/* Примечание */
.kb-note { margin-top: 14px !important; padding: 14px 16px !important; background: #fff8ef !important; border: 1px solid #ffe0b8 !important; border-radius: 10px !important; font-size: 14px !important; line-height: 1.6 !important; color: #5a4632 !important; }

/* --- FAQ --- */
.kb-faq { max-width: 900px !important; margin: 32px auto !important; font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; }
.kb-faq h2 { font-size: 22px !important; margin-bottom: 16px !important; color: #1a1a1a !important; }
.kb-faq-item { border: 1px solid #e3e6ea !important; border-radius: 10px !important; margin-bottom: 10px !important; background: #fff !important; overflow: hidden !important; transition: box-shadow .2s !important; }
.kb-faq-item[open] { box-shadow: 0 2px 12px rgba(0,0,0,.06) !important; }
.kb-faq-item summary { cursor: pointer !important; padding: 14px 44px 14px 18px !important; font-weight: 600 !important; font-size: 16px !important; color: #1a1a1a !important; list-style: none !important; position: relative !important; user-select: none !important; }
.kb-faq-item summary::-webkit-details-marker { display: none !important; }
.kb-faq-item summary::after { content: "+" !important; position: absolute !important; right: 18px !important; top: 50% !important; transform: translateY(-50%) !important; font-size: 22px !important; color: #ff7a00 !important; }
.kb-faq-item[open] summary::after { content: "–" !important; }
.kb-faq-item p { margin: 0 !important; padding: 0 18px 16px !important; font-size: 15px !important; line-height: 1.6 !important; color: #444 !important; }

/* Мобильные */
@media (max-width: 600px) {
  .kb-table-wrap h2, .kb-faq h2 { font-size: 19px !important; }
  .kb-table { font-size: 13px !important; }
  .kb-table th, .kb-table td { padding: 7px 6px !important; }
  .kb-btn-main, .kb-btn-mini { flex: 1 1 auto !important; justify-content: center !important; }
}

/* Печать */
@media print {
  body * { visibility: hidden; }
  .kb-print-area, .kb-print-area * { visibility: visible; }
  .kb-print-area { position: absolute; left: 0; top: 0; width: 100%; }
  .kb-actions { display: none !important; }
  .kb-table { font-size: 11px !important; box-shadow: none !important; }
  .kb-table th, .kb-table td { padding: 5px 6px !important; }
  @page { size: landscape; margin: 10mm; }
}