/* Page-scoped styles for knowledge.html */
.knowledge-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem; margin-top: 1rem; }

    .knowledge-card {
      background: var(--card-bg); border-radius: var(--radius); box-shadow: var(--card-shadow);
      padding: 1.25rem; position: relative; transition: box-shadow var(--transition);
    }
    .knowledge-card:hover { box-shadow: var(--card-shadow-hover); }
    .knowledge-card h3 { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.5rem; line-height: 1.4; }
    .knowledge-card .card-answer { font-size: 0.8125rem; color: var(--muted); line-height: 1.6; margin-bottom: 0.75rem; }
    .knowledge-card .card-answer.pending-answer { color: var(--danger); font-style: italic; }
    .knowledge-card .card-meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
    .knowledge-card .card-actions { display: flex; gap: 0.375rem; margin-top: 0.75rem; }

    .badge-category {
      display: inline-block; padding: 0.15rem 0.5rem; border-radius: 999px;
      font-size: 0.625rem; font-weight: 600; text-transform: uppercase;
      letter-spacing: 0.03em; background: #e0e7ff; color: #3730a3;
    }
    .badge-category.cat-pricing    { background: #fef3c7; color: #92400e; }
    .badge-category.cat-insurance  { background: #fce7f3; color: #9d174d; }
    .badge-category.cat-routes     { background: #dcfce7; color: #166534; }
    .badge-category.cat-vehicle_types { background: #dbeafe; color: #1e40af; }
    .badge-category.cat-booking    { background: #ede9fe; color: #5b21b6; }
    .badge-category.cat-general    { background: #f3f4f6; color: #4b5563; }

    .badge-pending-flag { background: #fee2e2; color: #991b1b; }

    .filter-row .toggle-label { display: flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; cursor: pointer; }
    .filter-row input[type="checkbox"] { cursor: pointer; }

    .filter-row input[type="text"] {
      padding: 0.45rem 0.75rem; border: 1px solid #d5d1cb; border-radius: var(--radius-sm);
      font-family: inherit; font-size: 0.8125rem; min-width: 200px;
    }
    .filter-row input[type="text"]:focus { outline: none; border-color: var(--blue); }

    /* Modal form */
    .form-field { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.75rem; }
    .form-field label { font-size: 0.75rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
    .form-field .input { padding: 0.5rem 0.75rem; border: 1px solid #d5d1cb; border-radius: var(--radius-sm); font-family: inherit; font-size: 0.875rem; }
    .form-field .input:focus { outline: none; border-color: var(--blue); }
    .form-field textarea.input { resize: vertical; min-height: 80px; }
    .modal-actions { display: flex; gap: 0.5rem; justify-content: flex-end; margin-top: 1rem; }

    .empty-state { text-align: center; padding: 3rem 1rem; color: var(--muted); font-size: 0.9375rem; }
