.calc-icon {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(111,93,246,.14), rgba(56,189,248,.16));
  color: var(--calped-primary);
  font-size: 1.35rem;
  flex: 0 0 auto;
}

.calc-sticky-card {
  position: sticky;
  top: 92px;
}

.soft-note {
  background: color-mix(in srgb, var(--bs-primary-bg-subtle) 55%, transparent);
  border: 1px solid color-mix(in srgb, var(--bs-primary-border-subtle) 55%, transparent);
  border-radius: 18px;
  padding: .95rem 1rem;
  color: var(--bs-secondary-color);
  font-size: .94rem;
}

.target-result-card {
  min-height: 260px;
  display: grid;
  place-items: center;
}

.result-hero {
  background:
    radial-gradient(circle at top right, rgba(56,189,248,.18), transparent 24rem),
    linear-gradient(135deg, rgba(111,93,246,.14), rgba(56,189,248,.08)),
    var(--calped-card);
  border: 1px solid var(--calped-border);
  border-radius: 28px;
  padding: 1.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.result-main-number {
  min-width: 150px;
  text-align: center;
  padding: 1rem;
  border-radius: 24px;
  background: color-mix(in srgb, var(--bs-body-bg) 64%, transparent);
  border: 1px solid var(--calped-border);
}

.result-main-number span {
  display: block;
  font-weight: 900;
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1;
  color: var(--calped-primary);
}

.result-main-number small {
  display: block;
  margin-top: .2rem;
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.formula-card {
  background: var(--calped-card);
  border: 1px solid var(--calped-border);
  border-radius: 24px;
  padding: 1.25rem;
}

.formula-label {
  color: var(--bs-secondary-color);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .78rem;
  font-weight: 800;
  margin-bottom: .35rem;
}

.formula-value {
  color: var(--calped-primary);
  font-weight: 900;
  font-size: 2rem;
  line-height: 1.15;
}

.formula-range {
  margin-top: .45rem;
  font-size: .98rem;
}

.formula-equation {
  margin-top: .8rem;
  border-radius: 16px;
  padding: .75rem .85rem;
  background: color-mix(in srgb, var(--bs-secondary-bg) 65%, transparent);
  color: var(--bs-secondary-color);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .82rem;
}

.mini-metric {
  border-radius: 18px;
  border: 1px solid var(--calped-border);
  padding: .9rem 1rem;
  background: color-mix(in srgb, var(--bs-body-bg) 70%, transparent);
  height: 100%;
}

.mini-metric span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.mini-metric strong {
  display: block;
  margin-top: .25rem;
  font-size: 1.2rem;
}

.interpretation-card p,
.references-card li {
  color: var(--bs-secondary-color);
  line-height: 1.62;
}

.references-card li + li {
  margin-top: .65rem;
}

.calc-menu-card {
  transition: transform .18s ease, box-shadow .18s ease;
}

.calc-menu-card:hover {
  transform: translateY(-2px);
}

.calc-menu-card.muted {
  opacity: .92;
}

.print-header {
  border-bottom: 2px solid #d7def0;
  padding-bottom: 14px;
  margin-bottom: 18px;
}

.print-header .brand-line {
  font-weight: 900;
  color: #4f46e5;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.print-header h1 {
  margin: 4px 0 0;
  font-size: 22px;
}

.print-header p,
.print-meta {
  color: #475569;
}

@media (max-width: 992px) {
  .calc-sticky-card { position: static; }
  .result-hero { align-items: flex-start; flex-direction: column; }
  .result-main-number { width: 100%; }
}

@media print {
  body {
    background: #fff !important;
  }

  .no-print,
  nav,
  footer,
  .calc-sticky-card,
  #targetHeightEmptyState {
    display: none !important;
  }

  main.container-fluid {
    padding: 0 !important;
    width: 100% !important;
  }

  .print-area,
  .print-area * {
    visibility: visible !important;
  }

  .app-card,
  .formula-card,
  .result-hero {
    box-shadow: none !important;
    border: 1px solid #d7def0 !important;
    background: #fff !important;
    color: #0f172a !important;
    break-inside: avoid;
  }

  .result-main-number span,
  .formula-value {
    color: #4f46e5 !important;
  }

  .text-secondary,
  .formula-equation,
  .interpretation-card p,
  .references-card li {
    color: #475569 !important;
  }

  a[href]::after {
    content: none !important;
  }
}
