/* Calculadora flutuante (#calcPanel). Camadas: navbar=1030, calc=2050. */

.calc-panel {
  position: fixed;
  top: 72px;
  left: 20px;
  z-index: 2050;
  width: 340px;
  max-width: calc(100vw - 24px);
  overflow: hidden;
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius-lg);
  background: var(--rb-surface);
  box-shadow: var(--rb-shadow-lg);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s var(--rb-ease), transform .2s var(--rb-ease);
}

.calc-panel.calc-opening,
.calc-panel.calc-open {
  opacity: 1;
  transform: translateY(0);
}

.calc-panel.calc-leaving {
  opacity: 0;
  transform: translateY(8px);
}

.calc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rb-space-2);
  padding: var(--rb-space-3) var(--rb-space-4);
  border-bottom: 1px solid var(--rb-border);
  background: var(--rb-surface-2);
  cursor: move;
  user-select: none;
}

.calc-header span {
  font-weight: var(--rb-fw-semibold);
  color: var(--rb-text);
}

.calc-actions .btn {
  min-height: 0;
  padding: 2px 8px;
  line-height: 1.2;
}

.calc-body {
  padding: var(--rb-space-4);
  overflow: hidden;
  transition: height .2s var(--rb-ease), opacity .2s var(--rb-ease);
}

.calc-panel.minimized .calc-body { display: none; }
.calc-panel.minimized { width: auto; }

#calcDisplay {
  font-family: var(--rb-font-mono);
  font-size: var(--rb-fs-xl);
  font-weight: var(--rb-fw-semibold);
}

#calcPanel .btn-group > .btn {
  min-height: 38px;
  font-family: var(--rb-font-mono);
}

@media (max-width: 575.98px) {
  .calc-panel { left: 12px; }
}
