/* Scoped styles: tylko wewnątrz #cncCalc */
#cncCalc .cnc-wrap{
  --bg:#ffffff;
  --text:#111;
  --muted:#666;
  --line:#e6e6e6;
  --card:#fff;
  --chip:#f6f6f6;
  --good:#1f7a1f;
  --warn:#b36b00;
  --bad:#b00020;

  color: var(--text);
  background: var(--bg);
  font-family: system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  line-height: 1.35;
}

#cncCalc .cnc-title{ margin: 0 0 8px 0; font-weight: 900; }
#cncCalc .cnc-sub{ margin: 0 0 16px 0; color: var(--muted); font-size: 0.95em; }

#cncCalc .cnc-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 12px;
  align-items: start;
}

@media (max-width: 900px){
  #cncCalc .cnc-grid{ grid-template-columns: 1fr; }
}

#cncCalc .cnc-card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
}

#cncCalc .cnc-row{ margin: 10px 0; }
#cncCalc label{ display:block; font-weight: 650; margin-bottom: 6px; }
#cncCalc input, 
#cncCalc select{
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
}
#cncCalc input:focus,
#cncCalc select:focus{
  outline: none;
  border-color: #bbb;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05);
}

#cncCalc .cnc-note{ color: var(--muted); font-size: 0.92em; margin-top: 6px; }

#cncCalc .cnc-toolbar{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap: wrap;
  margin-top: 12px;
}

#cncCalc #calcBtn{
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  border-radius: 12px;
  border: 1px solid #111;
  background: #111;
  color: #fff;
}

#cncCalc .cnc-btn-ghost{
  border: 1px solid var(--line);
  background: #fff;
  color:#111;
  font-weight: 800;
  padding: 10px 14px;
  cursor: pointer;
  border-radius: 12px;
}

#cncCalc .cnc-pill{
  display:inline-flex;
  gap: 8px;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--chip);
  color:#222;
  font-size: 0.9em;
}
#cncCalc .cnc-pill small{ color: var(--muted); font-weight: 600; }

#cncCalc .cnc-riskline{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
#cncCalc .cnc-riskLabel{ font-weight: 900; font-size: 1.05em; }
#cncCalc .cnc-riskReason{ margin-top: 6px; color:#222; }
#cncCalc .cnc-assumptions{ margin-top: 6px; color: var(--muted); font-size: 0.92em; }

#cncCalc .cnc-riskTag{
  display:inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 0.9em;
  border: 1px solid var(--line);
  background: var(--chip);
}

#cncCalc .cnc-tag-green{
  color: var(--good);
  border-color: rgba(31,122,31,0.25);
  background: rgba(31,122,31,0.06);
}
#cncCalc .cnc-tag-yellow{
  color: var(--warn);
  border-color: rgba(179,107,0,0.25);
  background: rgba(179,107,0,0.08);
}
#cncCalc .cnc-tag-red{
  color: var(--bad);
  border-color: rgba(176,0,32,0.25);
  background: rgba(176,0,32,0.08);
}

#cncCalc .cnc-sectionTitle{ margin: 14px 0 10px 0; font-weight: 900; }

/* Recommended card */
#cncCalc .cnc-recCard{
  border: 1px solid rgba(0,0,0,0.10);
  background: #fafafa;
  border-radius: 16px;
  padding: 14px;
}
#cncCalc .cnc-recHeader{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
#cncCalc .cnc-recTitle{
  font-weight: 1000;
  font-size: 1.05em;
  display:flex;
  align-items:center;
  gap: 10px;
}
#cncCalc .cnc-badge{
  display:inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.15);
  background: rgba(0,0,0,0.06);
  font-size: 0.85em;
  font-weight: 900;
}

#cncCalc .cnc-kvGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 10px;
}

@media (max-width: 520px){
  #cncCalc .cnc-kvGrid{ grid-template-columns: 1fr; }
}

#cncCalc .cnc-kv{
  background:#fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px 12px;
}
#cncCalc .cnc-k{ color: var(--muted); font-weight: 700; font-size: 0.9em; }
#cncCalc .cnc-v{
  font-weight: 950;
  font-size: 1.15em;
  margin-top: 2px;
  font-variant-numeric: tabular-nums;
}
#cncCalc .cnc-u{ color: var(--muted); font-weight: 700; font-size: 0.9em; margin-left: 6px; }
#cncCalc .cnc-vSmall{ font-size: 1em; font-weight: 900; color:#222; }

/* Alternatives */
#cncCalc .cnc-altWrap{ margin-top: 10px; }
#cncCalc .cnc-altHidden{ display:none; }
#cncCalc .cnc-altTable{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-top: 10px;
}
#cncCalc .cnc-altTable th,
#cncCalc .cnc-altTable td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  background:#fff;
}
#cncCalc .cnc-altTable thead th{
  background: #fafafa;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: .04em;
  color:#333;
}
#cncCalc .cnc-altTable tr:last-child td{ border-bottom: none; }
#cncCalc .cnc-altName{ font-weight: 950; }

/* Warnings */
#cncCalc .cnc-warnings{
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px 12px;
  background: #fbfbfb;
}
#cncCalc .cnc-warnings ul{ margin: 0; padding-left: 18px; }
#cncCalc .cnc-warnings li{ margin: 6px 0; }

/* Tip box */
#cncCalc .cnc-tipBox{
  margin-top: 10px;
  border: 1px dashed rgba(0,0,0,0.18);
  border-radius: 14px;
  padding: 10px 12px;
  background:#fff;
}
#cncCalc .cnc-tipTitle{ font-weight: 900; margin-bottom: 4px; }
#cncCalc .cnc-tipText{ color:#222; }
