/* ── SUMMARY PANEL ── */
.summary {
  background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 16px rgba(0,0,0,0.07);
}
.summary-inner {
  max-width:1100px; margin:0 auto;
  padding:20px 40px;
  display:grid;
  grid-template-columns:auto 1px auto 1px auto 1px auto 1px auto;
  gap:0 28px;
  align-items:center;
}

/* Sparkline */
.sum-sparkline { display:flex; flex-direction:column; align-items:center; gap:6px; }
.sum-sparkline-lbl { font-size:9px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; color:var(--text3); }
.sparkline-svg { width:150px; height:60px; display:block; overflow:visible; }

/* Score block */
.sum-score { display:flex; flex-direction:column; align-items:center; gap:10px; }
.ring-wrap { position:relative; width:110px; height:110px; flex-shrink:0; }
.ring-wrap svg { width:110px; height:110px; }
.ring-num { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:36px; font-weight:700; color:var(--teal-dark); }
.sum-score-meta { display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; }
.sum-score-lbl { font-size:9px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; color:var(--text3); }
.sum-score-desc { font-size:12px; font-weight:600; color:var(--text); line-height:1.4; max-width:160px; }
.sum-trend { display:inline-flex; align-items:center; gap:4px; font-size:10px; font-weight:600; background:var(--teal-light); color:var(--teal-dark); border-radius:20px; padding:2px 10px; width:fit-content; }

/* Divider */
.vdiv { background:var(--border); align-self:stretch; width:1px; }

/* Status counts */
.sum-counts { display:flex; flex-direction:column; gap:10px; padding-top:2px; }
.sum-count-row { display:flex; align-items:center; gap:10px; }
.sum-count-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.sum-count-dot.ok    { background:#22c55e; }
.sum-count-dot.watch { background:#3b82f6; }
.sum-count-dot.alert { background:#f59e0b; }
.sum-count-num { font-size:22px; font-weight:700; line-height:1; min-width:28px; }
.sum-count-num.ok    { color:#16a34a; }
.sum-count-num.watch { color:#2563eb; }
.sum-count-num.alert { color:#d97706; }
.sum-count-lbl { font-size:12px; color:var(--text2); font-weight:500; }

/* Alert items */
.sum-alerts { display:flex; flex-direction:column; gap:8px; padding-top:2px; }
.sum-alerts-lbl { font-size:10px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; color:var(--text3); margin-bottom:2px; }
.sum-alert-item {
  display:flex; align-items:center; gap:10px;
  background:#fffbeb; border:1px solid #fde68a;
  border-radius:8px; padding:8px 12px;
  cursor:pointer; transition:background .15s;
}
.sum-alert-item:hover { background:#fef3c7; }
.sum-alert-item.watch-item { background:#eff6ff; border-color:#bfdbfe; }
.sum-alert-item.watch-item:hover { background:#dbeafe; }
.sum-alert-icon { width:20px; height:20px; flex-shrink:0; }
.sum-alert-icon svg { width:20px; height:20px; }
.sum-alert-item .ai-name { font-size:12px; font-weight:700; color:var(--text); flex:1; }
.sum-alert-item .ai-param { font-size:11px; color:var(--text3); }
.sum-alert-badge {
  font-size:9px; font-weight:700; padding:2px 7px;
  border-radius:10px; white-space:nowrap;
}
.sum-alert-item .sum-alert-badge { background:#fef3c7; color:#d97706; }
.sum-alert-item.watch-item .sum-alert-badge { background:#dbeafe; color:#1d4ed8; }

/* Zlecone badania */
.sum-orders {
  display:flex; flex-direction:column; gap:8px;
  min-width:180px; max-width:210px;
  background:#fffbeb;
  border:1.5px solid #fcd34d;
  border-radius:12px;
  padding:14px 16px;
  position:relative;
}
.sum-orders-pulse {
  position:absolute; top:12px; right:12px;
  width:8px; height:8px; border-radius:50%; background:#f59e0b;
}
.sum-orders-pulse::after {
  content:''; position:absolute; inset:-4px;
  border-radius:50%; border:2px solid #f59e0b;
  animation:pulse-dot 1.8s ease-in-out infinite; opacity:0;
}
.sum-orders-header { display:flex; flex-direction:column; gap:2px; }
.sum-orders-lbl {
  display:flex; align-items:center; gap:6px;
  font-size:10px; font-weight:700; letter-spacing:1.1px;
  text-transform:uppercase; color:#b45309;
}
.sum-orders-doctor { font-size:10.5px; color:#92400e; font-weight:500; opacity:.75; }
.sum-orders-btn {
  font-size:11px; font-weight:600; color:#b45309;
  background:none; border:none; cursor:pointer;
  text-align:left; padding:0; font-family:'Inter',sans-serif;
  text-decoration:underline; text-underline-offset:2px;
}
.sum-orders-btn:hover { color:#92400e; }

/* Patient info */
.sum-patient { display:flex; flex-direction:column; gap:6px; padding-top:2px; text-align:right; }
.sum-patient-name { font-size:18px; font-weight:700; color:var(--text); }
.sum-patient-meta { font-size:11.5px; color:var(--text3); line-height:1.7; }
.sum-patient-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:6px; }
.sum-btn {
  padding:6px 14px; border-radius:7px; font-size:12px; font-weight:600;
  cursor:pointer; border:none; font-family:'Inter',sans-serif; transition:all .15s;
}
.sum-btn-primary { background:var(--teal); color:#fff; }
.sum-btn-primary:hover { background:var(--teal-dark); }
.sum-btn-ghost { background:transparent; border:1.5px solid var(--border); color:var(--text2); }
.sum-btn-ghost:hover { border-color:var(--text3); color:var(--text); }

/* MAIN */
.main { max-width:960px; margin:0 auto; padding:32px 40px 60px; }

/* SECTION HEADER */
.section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.section-lbl { font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--text3); }
.show-all-btn {
  display:flex; align-items:center; gap:5px;
  font-size:12px; font-weight:600; color:var(--teal);
  background:var(--teal-light); border:1.5px solid #b2e0e0;
  padding:5px 14px; border-radius:20px; cursor:pointer;
  transition:all .15s;
}
.show-all-btn:hover { background:#b2e0e0; }

/* RADIAL GRID */
.radial-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:28px 16px;
}

.rc {
  display:flex; flex-direction:column; align-items:center; gap:8px;
  cursor:pointer;
}
.rc:hover .rc-ring { opacity:.8; }

.rc-ring { position:relative; width:96px; height:96px; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.08)); }
.rc-ring svg { display:block; width:100%; height:100%; }
.rc-inner {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
}
.rc-icon { width:20px; height:20px; }
.rc-icon svg { width:100%; height:100%; }
.rc-score { font-size:14px; font-weight:700; line-height:1; }

.rc-name   { font-size:11.5px; font-weight:600; color:var(--text); text-align:center; line-height:1.3; }
.rc-status { font-size:10px; font-weight:500; text-align:center; }
.rc.hidden { display:none; }

/* MODAL */
#ov { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.32); z-index:300; align-items:center; justify-content:center; backdrop-filter:blur(3px); }
#modal { background:#fff; border:1px solid var(--border); border-radius:18px; width:560px; max-height:86vh; overflow-y:auto; padding:28px 28px 24px; position:relative; box-shadow:0 8px 40px rgba(0,0,0,0.14); }
.mc { position:absolute; top:14px; right:14px; background:#f5f6f8; border:1px solid var(--border); border-radius:6px; color:var(--text2); padding:4px 10px; cursor:pointer; font-size:12px; }

/* Modal header */
.m-header { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.m-title  { font-size:18px; font-weight:700; color:var(--text); line-height:1.2; }
.m-badge  { display:inline-block; font-size:10px; font-weight:700; padding:2px 9px; border-radius:4px; margin-top:4px; letter-spacing:.3px; }
.m-intro  { font-size:12.5px; color:var(--text2); line-height:1.65; padding:10px 13px; background:#f8fafb; border-radius:8px; border-left:3px solid var(--teal-dark); margin-bottom:4px; }

/* Section label */
.m-lbl { font-size:10px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; color:var(--text3); margin:14px 0 7px; }

/* Params table */
.m-params { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.m-param-row { display:flex; align-items:center; justify-content:space-between; padding:9px 13px; border-bottom:1px solid var(--border); gap:10px; }
.m-param-row:last-child { border-bottom:none; }
.m-param-left { flex:1; min-width:0; }
.m-param-name { font-size:12.5px; font-weight:600; color:var(--text); }
.m-param-sub  { font-size:10.5px; color:var(--text3); }
.m-param-right { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.m-param-val   { font-size:13px; font-weight:700; }
.m-param-ref   { font-size:10px; color:var(--text3); }
.m-param-badge { font-size:10px; font-weight:600; padding:1px 7px; border-radius:4px; }

/* Factors */
.m-factors { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:4px; }
.m-list { margin:0; padding-left:16px; display:flex; flex-direction:column; gap:3px; }
.m-list li { font-size:12px; color:var(--text2); line-height:1.5; }
.m-list-bad li::marker  { color:#dc2626; }
.m-list-good li::marker { color:#16a34a; }

/* Tags */
.m-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.m-tag  { font-size:11px; padding:3px 10px; border-radius:20px; font-weight:500; }
.m-tag-supp { background:#f0fdf4; color:#16a34a; border:1px solid #bbf7d0; }
.m-tag-dis  { background:#f5f3ff; color:#7c3aed; border:1px solid #ddd6fe; }

/* CTA */
.m-details-btn { display:inline-block; margin-top:18px; font-size:12px; font-weight:600; color:var(--teal-dark); text-decoration:none; border:1px solid var(--teal-dark); border-radius:7px; padding:7px 16px; transition:all .15s; }
.m-details-btn:hover { background:var(--teal-dark); color:#fff; }
