/* Root layout */
.kdc-wrapper {
  --kdc-bg: #0b1220;
  --kdc-card: #121a2b;
  --kdc-text: #e6eaf2;
  --kdc-muted: #97a3b6;
  --kdc-accent: #4f8cff;
  --kdc-yes: #16a34a;
  --kdc-no: #ef4444;
  --kdc-border: #263044;

  color: var(--kdc-text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

.kdc-card {
  background: var(--kdc-card);
  border: 1px solid var(--kdc-border);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

/* Input card */
.kdc-input-card { margin-bottom: 16px; }
.kdc-label { display:flex; gap:10px; align-items:center; font-weight:600; margin-bottom:8px; }
.kdc-label i { color: var(--kdc-accent); }

.kdc-input-row { display:flex; gap:12px; }
.kdc-input {
  flex:1; background:#0a1020; color:var(--kdc-text);
  border:1px solid var(--kdc-border); border-radius:12px; padding:12px 14px;
  outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.kdc-input:focus { border-color: var(--kdc-accent); box-shadow: 0 0 0 3px rgba(79,140,255,.3); }

.kdc-btn {
  display:inline-flex; align-items:center; gap:10px;
  background: var(--kdc-accent); color:white; border:none;
  border-radius:12px; padding:12px 16px; font-weight:600; cursor:pointer;
  transition: transform .05s ease, box-shadow .2s ease, background .2s ease;
}
.kdc-btn:hover { box-shadow: 0 8px 20px rgba(79,140,255,.35); }
.kdc-btn:active { transform: translateY(1px); }

.kdc-hint { margin-top:8px; color: var(--kdc-muted); font-size: 12px; }

/* Grid */
.kdc-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
}

.kdc-side-header { display:flex; align-items:center; gap:10px; font-weight:700; margin-bottom:10px; }

.kdc-selector { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.kdc-radio { display:flex; gap:10px; align-items:center; cursor:pointer; user-select:none; }
.kdc-radio input { accent-color: var(--kdc-accent); }

.kdc-meta { display:flex; flex-direction:column; gap:10px; }
.kdc-meta-row { display:flex; gap:12px; }
.kdc-meta-row i { color: var(--kdc-accent); }
.kdc-meta-label { font-size:12px; color: var(--kdc-muted); }
.kdc-meta-value { font-weight:600; line-height:1.35; }

/* Results */
.kdc-results-header { display:flex; align-items:center; gap:10px; font-weight:700; margin-bottom:10px; }
.kdc-status { margin-left:auto; color: var(--kdc-muted); font-size:12px; }

.kdc-table-wrap {
  overflow:auto; border:1px solid var(--kdc-border); border-radius:12px;
}
.kdc-table {
  width:100%; border-collapse:separate; border-spacing:0;
  min-width: 720px;
}
.kdc-table thead th {
  position: sticky; top:0; background:#0e1729; z-index:1;
  text-align:left; padding:12px; font-size:13px; color: var(--kdc-muted);
  border-bottom:1px solid var(--kdc-border);
}
.kdc-table tbody td {
  padding:12px; border-bottom:1px solid var(--kdc-border);
}
.kdc-table tbody tr:nth-child(odd) { background: rgba(255,255,255,.015); }
.kdc-table .kdc-term { font-weight:600; }
.kdc-center { text-align:center; }
.kdc-empty { text-align:center; color:var(--kdc-muted); padding:18px; }

/* Icons for yes/no */
.kdc-yes { color: var(--kdc-yes); font-size: 18px; }
.kdc-no  { color: var(--kdc-no); font-size: 18px; }

/* Overlay */
.kdc-overlay {
  display:none; position:fixed; inset:0; background: rgba(10,16,32,.55);
  backdrop-filter: blur(2px);
  align-items:center; justify-content:center; flex-direction:column; gap:12px;
  z-index: 99999;
}
.kdc-spinner { font-size:36px; color: var(--kdc-accent); }
.kdc-loading-text { color:#fff; font-weight:600; }

/* Responsive */
@media (max-width: 900px) {
  .kdc-grid { grid-template-columns: 1fr; }
}
