/* Container & Headings */
.kp-wrapper { max-width: 980px; margin: 0 auto; padding: 1rem 1rem 2rem; }
.kp-h1 { font-size: 1.75rem; line-height: 1.3; margin: .5rem 0 .25rem; }
.kp-h2 { font-size: 1.1rem; color:#444; margin: 0 0 1rem; }

/* Form */
.kp-form { display:grid; grid-template-columns: 1fr; gap:.6rem; margin-bottom:1rem; }
.kp-grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:.6rem; }
.kp-label { font-weight:600; }
.kp-input, .kp-textarea { width:100%; padding:.6rem .75rem; border:1px solid #d1d5db; border-radius:8px; }
.kp-textarea { min-height: 120px; }
.kp-button { padding:.7rem 1rem; border:0; background:#0a7cff; color:#fff; border-radius:8px; cursor:pointer; }
.kp-button:hover, .kp-button:focus { background:#065ad8; }
.kp-help { font-size:.9rem; color:#666; margin:.25rem 0 0; }

/* Summary & Messages */
.kp-summary { background:#f6f8fa; border:1px solid #e1e4e8; border-radius:10px; padding:.75rem 1rem; margin:0 0 1rem; }
.kp-placeholder, .kp-no-data, .kp-error, .kp-loading, .kp-note { padding:.75rem; border-radius:8px; border:1px dashed #d1d5db; background:#f9fafb; }
.kp-error { border-color:#ef4444; background:#fff5f5; }
.kp-loading::after { content:' ⏳'; }

/* Tables */
.kp-table-wrap { width:100%; overflow-x:auto; }
.kp-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.kp-table th, .kp-table td { border:1px solid #e5e7eb; padding:.6rem .5rem; text-align:left; vertical-align:top; }
.kp-table th { background:#fafafa; font-weight:700; }
.kp-table tbody tr:nth-child(even) td { background:#fcfcfc; }
.kp-subheading { margin:1rem 0 .5rem; font-size:1.1rem; }

/* Article */
.kp-article { margin-top:2rem; line-height:1.7; }
.kp-article h2 { margin:.5rem 0 .5rem; font-size:1.25rem; }
.kp-article h3 { margin:1rem 0 .25rem; font-size:1.05rem; }

/* Responsive */
@media (max-width: 720px) {
  .kp-grid-2 { grid-template-columns:1fr; }
  .kp-button { width:100%; }
}
