/* ============================================================
   JCB Service Beregner – Frontend CSS
   Brand: #FCB026 · #000000 · Pantone 7409 C
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');

:root {
  --y:  #FCB026;
  --yd: #E09400;
  --yb: #FFFBF0;
  --yl: #FEE9B8;
  --bk: #000000;
  --b90:#1A1A1A;
  --b70:#4D4D4D;
  --b40:#999999;
  --b15:#D9D9D9;
  --b05:#F5F5F5;
  --wh: #FFFFFF;
  --fd: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  --fb: 'Barlow', Arial, sans-serif;
}

.jcb-wrap {
  font-family: var(--fb);
  font-size: 14px;
  color: var(--b90);
  max-width: 1080px;
  margin: 0 auto;
  background: var(--wh);
  border: 1px solid var(--b15);
}

/* ── HEADER ── */
.jcb-header {
  background: var(--wh);
  padding: 12px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 4px solid var(--y);
}
.jcb-logo-img {
  height: 36px;
  width: auto;
  display: block;
  flex-shrink: 0;
}
.jcb-logo-brøns {
  height: 30px;
  width: auto;
  display: block;
  flex-shrink: 0;
}
.jcb-header-divider {
  width: 1px;
  height: 32px;
  background: var(--b15);
  flex-shrink: 0;
}
.jcb-header-text { margin-left: auto; text-align: right; }
.jcb-header-title { font-family: var(--fd); font-size: 1.05rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: var(--bk); }
.jcb-header-sub   { font-size: 0.7rem; color: var(--b40); margin-top: 1px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; }

/* ── FILTER PANEL ── */
.jcb-filter-panel {
  padding: 18px 22px 14px;
  background: var(--wh);
  border-bottom: 2px solid var(--b15);
}

.jcb-filter-row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.jcb-filter-row:last-child { margin-bottom: 0; }
.jcb-filter-selects { align-items: flex-end; }

.jcb-filter-field { display: flex; flex-direction: column; gap: 5px; }
.jcb-filter-field-sm { min-width: 80px; }

.jcb-filter-label {
  font-family: var(--fd);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--b70);
}

.jcb-sel {
  height: 38px;
  min-width: 200px;
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 0;
  font-family: var(--fb);
  font-size: 0.9rem;
  background: var(--wh);
  color: var(--b90);
  cursor: pointer;
  transition: border-color 0.15s;
}
.jcb-sel:focus   { outline: none; border-color: var(--y); }
.jcb-sel:disabled{ background: var(--b05); cursor: not-allowed; color: var(--b40); }
.jcb-sel-sm { min-width: 140px; height: 36px; }

.jcb-inp {
  height: 38px;
  width: 70px;
  padding: 0 8px;
  border: 1px solid #ccc;
  border-radius: 0;
  font-family: var(--fb);
  font-size: 0.9rem;
  text-align: right;
}
.jcb-inp:focus { outline: none; border-color: var(--y); }

.jcb-inline-check {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  font-size: 0.88rem;
  cursor: pointer;
}
.jcb-inline-check input { accent-color: var(--y); width:15px; height:15px; }

/* Checkbox blocks */
.jcb-check-block { display: flex; flex-direction: column; gap: 8px; }
.jcb-check-block-sm { margin-left: auto; }

.jcb-check-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.jcb-check-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--b15);
  background: var(--b05);
  cursor: pointer;
  font-size: 0.85rem;
  user-select: none;
  transition: background 0.12s, border-color 0.12s;
}
.jcb-check-pill:hover { border-color: var(--y); background: var(--yb); }
.jcb-check-pill input[type="checkbox"] { accent-color: var(--y); width:14px; height:14px; cursor:pointer; }
.jcb-check-pill input:checked ~ span { font-weight: 700; color: var(--bk); }
.jcb-check-pill:has(input:checked) { border-color: var(--y); background: var(--yl); }

/* ── PLACEHOLDER ── */
.jcb-placeholder {
  padding: 50px 22px;
  text-align: center;
  color: var(--b40);
  font-size: 0.9rem;
}

/* ── RESULT TITLE BAR ── */
.jcb-result-title-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 22px;
  border-bottom: 3px solid var(--y);
  flex-wrap: wrap;
  gap: 10px;
}
.jcb-result-title {
  font-family: var(--fd);
  font-size: 1.3rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--bk);
}
.jcb-result-actions { display: flex; gap: 6px; flex-wrap: wrap; }

.jcb-act-btn {
  padding: 8px 14px;
  font-family: var(--fd);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  border: 2px solid var(--bk);
  cursor: pointer;
  transition: background 0.1s, box-shadow 0.1s;
  white-space: nowrap;
}
.jcb-act-print { background: var(--wh); color: var(--bk); }
.jcb-act-print:hover { background: var(--b05); }
.jcb-act-pdf  { background: var(--bk); color: var(--y); }
.jcb-act-pdf:hover  { background: var(--b90); box-shadow: 2px 2px 0 var(--y); }
.jcb-act-mail { background: var(--y); color: var(--bk); }
.jcb-act-mail:hover { background: var(--yd); box-shadow: 2px 2px 0 var(--bk); }
.jcb-act-copy { background: var(--wh); color: var(--bk); }
.jcb-act-copy:hover { background: var(--b05); }

/* ── KUNDE PANEL ── */
.jcb-kunde-panel {
  background: var(--yb);
  border-bottom: 1px solid var(--yl);
  padding: 16px 22px;
  animation: jcbFadeIn 0.15s ease;
}
@keyframes jcbFadeIn { from {opacity:0;transform:translateY(-4px)} to {opacity:1;transform:translateY(0)} }

.jcb-kunde-fields {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.jcb-kfield { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 140px; }
.jcb-kfield-wide { flex: 2; }
.jcb-kfield label { font-size: 0.68rem; font-weight: 700; color: var(--b40); text-transform: uppercase; letter-spacing: 0.6px; }
.jcb-kfield input {
  padding: 8px 10px;
  border: 1.5px solid var(--yl);
  font-family: var(--fb);
  font-size: 0.88rem;
  background: var(--wh);
}
.jcb-kfield input:focus { outline: none; border-color: var(--y); }

.jcb-kunde-send { display: flex; gap: 8px; }

/* ── TABEL ── */
.jcb-table-wrap { overflow-x: auto; }

.jcb-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.jcb-table thead th {
  background: var(--bk);
  color: var(--y);
  font-family: var(--fd);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 11px 16px;
  text-align: left;
  white-space: nowrap;
  border-right: 1px solid #1a1a1a;
}
.jcb-table thead th small {
  display: block;
  font-size: 0.62rem;
  font-weight: 400;
  opacity: 0.6;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 1px;
}

.jcb-table tbody tr { border-bottom: 1px solid var(--b15); }
.jcb-table tbody tr:hover td { background: var(--yb); }
.jcb-table tbody tr:last-child { border-bottom: none; }

.jcb-table tbody td {
  padding: 11px 16px;
  border-right: 1px solid var(--b15);
  white-space: nowrap;
}
.jcb-table tbody td:last-child { border-right: none; }
.jcb-table tbody td:first-child { font-weight: 600; color: var(--b90); }

.jcb-td-num { font-variant-numeric: tabular-nums; text-align: right; }
.jcb-td-highlight { color: var(--yd); font-weight: 700; }

/* Separator between periode groups */
.jcb-table tbody tr.jcb-group-sep td { border-top: 2px solid var(--b15); }

/* ── FOOTNOTE ── */
.jcb-footnote {
  font-size: 0.7rem;
  color: var(--b40);
  padding: 10px 22px 14px;
  line-height: 1.6;
  border-top: 1px solid var(--b15);
}

/* ── PRINT ── */
@media print {
  .jcb-result-actions, .jcb-kunde-panel, .jcb-filter-panel { display: none !important; }
  .jcb-header { background: var(--y) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .jcb-table thead { background: var(--bk) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
