/* v1.3.1: Hide print-only on screen; show only in print */
.jacdp-wrapper { font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height:1.45; color:#0b1220; }
.jacdp-card { background: #ffffff; border-radius: 18px; box-shadow: 0 12px 30px rgba(2,6,23,.08); overflow: hidden; }
.jacdp-hero { padding: 18px 18px 6px; background: linear-gradient(135deg, rgba(99,102,241,.12), rgba(236,72,153,.10) 70%), #fff; border-bottom: 1px solid #eef2f7; }
.jacdp-hero-text h1 { margin: 6px 0 2px; font-size: 1.4rem; letter-spacing:.2px; font-weight:800; }
.jacdp-hero-text p { margin: 0 0 10px; opacity: .85; font-size:.96rem; }
.jacdp-badge { display:inline-block; padding:5px 10px; border-radius:999px; font-size:.78rem; font-weight:700; background:#111827; color:#fff; }

/* Inputs */
.jacdp-form { padding: 12px 16px 0; }
.jacdp-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
@media (min-width: 960px) { .jacdp-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.jacdp-field { display:flex; flex-direction:column; gap:8px; font-size:1rem; }
.jacdp-field > span { opacity:.95; font-size:.9rem; font-weight:700; color:#0b1220; }
.jacdp-field input, .jacdp-field select {
  width:100%; border:1.5px solid #cbd5e1; border-radius: 12px; padding:12px 14px; outline:none; background:#fff; transition: box-shadow .2s, border-color .2s; font-size:1rem; color:#0b1220;
}
.jacdp-field input::placeholder { color:#6b7280; }
.jacdp-field input:focus, .jacdp-field select:focus { border-color:#111827; box-shadow: 0 0 0 3px rgba(17,24,39,.12); }

/* Actions */
.jacdp-actions { padding: 12px 16px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.jacdp-btn { cursor:pointer; border:2px solid #111827; background:#111827; color:#fff; padding:11px 16px; border-radius: 12px; font-weight:800; letter-spacing:.2px; }
.jacdp-btn.ghost { background:#fff; color:#111827; }
.jacdp-spacer { flex:1; }
.jacdp-chipset { display:flex; gap:10px; flex-wrap:wrap; }
.jacdp-chip { border:2px solid transparent; font-weight:800; padding:10px 14px; border-radius:999px; cursor:pointer; }
.chip-blue { background:#e0e7ff; border-color:#818cf8; color:#1e3a8a; }
.chip-green { background:#dcfce7; border-color:#86efac; color:#065f46; }

.jacdp-note { padding: 0 16px 10px; font-size:.95rem; opacity:.9; }

/* Results */
.jacdp-results { padding: 0 16px 16px; }
.jacdp-empty { border:2px dashed #e5e7eb; border-radius:14px; padding:20px; text-align:center; color:#374151; background:#fafafa; }
.jacdp-empty-icon { font-size: 28px; margin-bottom: 6px; }
.jacdp-empty-title { font-weight:800; margin-bottom:4px; }
.jacdp-empty-sub { opacity:.85; }

.jacdp-table-scroll { overflow:auto; border:1px solid #e5e7eb; border-radius:14px; max-height:60vh; }
.jacdp-table { width:100%; border-collapse:separate; border-spacing:0; min-width:900px; }
.jacdp-table th, .jacdp-table td { padding: 11px 12px; border-bottom:1px solid #eef2f7; white-space:nowrap; font-size:.98rem; }
.jacdp-table thead th { position:sticky; top:0; background:#f8fafc; z-index:1; text-align:left; font-weight:800; }
.jacdp-table tbody tr:nth-child(odd) { background:#fcfcfd; }
.jacdp-table th.right, .jacdp-table td.right { text-align:right; }

/* Fit badges */
.jacdp-fit { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-size:.85rem; font-weight:900; border:1px solid; }
.jacdp-fit.safe { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.jacdp-fit.target { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.jacdp-fit.reach { background:#fff7ed; color:#9a3412; border-color:#fed7aa; }

/* Density */
.jacdp-table.compact td, .jacdp-table.compact th { padding:8px 10px; font-size:.9rem; }

/* Hide print-only block on screen */
.jacdp-print-only { display:none !important; }

/* Print */
@media print {
  .jacdp-actions, .jacdp-form, .jacdp-note, .jacdp-results .jacdp-empty, .jacdp-results-toolbar { display:none !important; }
  .jacdp-card, .jacdp-hero { box-shadow:none; border:0; }
  .jacdp-print-only { display:block !important; }
  .jacdp-table { font-size: 11px; min-width:auto; }
  .jacdp-table-scroll { overflow: visible; border:none; max-height:none; }
  @page { size: A4 landscape; margin: 10mm; }
}
