/* 계산기 3종 공통: 법령 상태, 입력 전/오류/계산 불가, 개인정보 보호 */
.calc-rule-card,
.calc-data-note,
.calc-basis-box {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg-secondary);
  padding: 16px 18px;
  margin: 0 0 22px;
}
.calc-rule-card { border-left: 4px solid var(--accent); }
.calc-rule-card p,
.calc-data-note p,
.calc-basis-box p { margin: 0; line-height: 1.65; }
.calc-rule-card p + p,
.calc-basis-box p + p { margin-top: 7px; }
.calc-rule-card a,
.calc-basis-box a { text-underline-offset: 3px; }
.calc-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 3px 10px;
  margin-right: 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 12%, var(--bg-primary));
  color: var(--accent);
  font-size: .78rem;
  font-weight: 800;
}
.calc-status-badge[data-status="proposal"],
.calc-status-badge[data-status="blocked"] {
  background: #fff4db;
  color: #7a4c00;
}
.calc-verified { color: var(--text-muted); font-size: .82rem; }
.calc-data-note { background: var(--bg-primary); font-size: .86rem; color: var(--text-muted); }
.calc-data-note strong { color: var(--text-primary); }
.calc-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.calc-submit {
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--accent);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.calc-submit:hover { background: var(--accent-hover); }
.calc-submit:focus-visible,
.cds-share-btn:focus-visible,
.yds-share-btn:focus-visible,
.jbs-share-btn:focus-visible,
.cds-pillgroup button:focus-visible,
.yds-pillgroup button:focus-visible,
.jbs-pillgroup button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent);
  outline-offset: 3px;
}
.calc-state-message {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: var(--bg-secondary);
  color: var(--text-muted);
  font-size: .9rem;
  line-height: 1.6;
  text-align: left;
}
.calc-state-message[data-state="error"] {
  background: #fff1f0;
  color: #9b1c1c;
}
.calc-state-message[data-state="blocked"] {
  background: #fff8e6;
  color: #7a4c00;
}
.calc-result-status { margin: 0 0 12px; text-align: left; }
.calc-input-summary {
  margin: 0 0 15px;
  color: var(--text-muted);
  font-size: .84rem;
  line-height: 1.6;
  text-align: left;
}
.calc-result.is-empty .cds-result-amount,
.calc-result.is-empty .yds-result-amount,
.calc-result.is-empty .jbs-result-amount,
.calc-result.is-error .cds-result-amount,
.calc-result.is-error .yds-result-amount,
.calc-result.is-error .jbs-result-amount,
.calc-result.is-blocked .cds-result-amount,
.calc-result.is-blocked .yds-result-amount,
.calc-result.is-blocked .jbs-result-amount {
  color: var(--text-muted);
  font-size: 1.2rem;
}
.calc-share[disabled] { opacity: .48; cursor: not-allowed; }
.calc-proposal-help { margin: 8px 0 0; font-size: .82rem; line-height: 1.55; color: var(--text-muted); }

@media (max-width: 480px) {
  .calc-rule-card,
  .calc-data-note,
  .calc-basis-box { padding: 14px; }
  .calc-submit,
  .calc-share { width: 100%; }
}
