/* ═══════════════════════════════════════════════════════════════
   belk-calc.css — Calculadora flotante de taller
   ───────────────────────────────────────────────────────────────
   REQUIERE: foundation.css (tokens --belk-paper-* y --belk-float-*).
   El panel pinta sobre el PAPEL: misma pinta en zona clara y documento.
   Cerrada: display:none, cero CPU (sin timers ni rAF).
   ═══════════════════════════════════════════════════════════ */

@media print {
  #bcalc, .hdr-calc-btn { display: none !important; }
}

/* ── Botón del header (icono sobre el navy fijo del .hdr) ── */
.hdr-calc-btn{
  width:36px;height:36px;flex-shrink:0;padding:0;
  background:rgba(255,255,255,.1);border:none;border-radius:8px;
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.hdr-calc-btn:hover, .hdr-calc-btn[aria-pressed="true"]{
  background:rgba(255,255,255,.22);
}
.hdr-calc-btn:focus-visible{
  outline:2px solid #fff;outline-offset:2px;
}
.hdr-calc-btn svg{width:20px;height:20px;fill:currentColor;display:block}

/* ── Panel flotante ── */
#bcalc{
  position:fixed;z-index:360;
  top:64px;right:16px;
  width:268px;
  background:var(--belk-paper,#FFFFFF);
  color:var(--belk-paper-text,#0D2350);
  border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  border-radius:12px;
  box-shadow:var(--belk-shadow-2,0 8px 24px rgba(13,35,80,.16));
  display:none;
  flex-direction:column;
  overflow:hidden;
  touch-action:none;
}
#bcalc.open{display:flex}
#bcalc.min .bcalc-pad,
#bcalc.min .bcalc-acts{display:none}

.bcalc-hd{
  display:flex;align-items:center;gap:8px;
  padding:8px 8px 8px 12px;
  background:var(--belk-paper-brand,#143A7D);
  color:var(--belk-on-paper-brand,#FFFFFF);
  cursor:grab;user-select:none;
}
.bcalc-hd:active{cursor:grabbing}
.bcalc-hd svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}
.bcalc-title{flex:1;font-size:12px;font-weight:700;letter-spacing:.02em}
.bcalc-hd-btn{
  width:28px;height:28px;padding:0;border:none;border-radius:6px;
  background:transparent;color:inherit;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;line-height:1;font-family:inherit;
}
.bcalc-hd-btn:hover{background:rgba(255,255,255,.14)}
.bcalc-hd-btn:focus-visible{outline:2px solid #fff;outline-offset:1px}

.bcalc-expr{
  min-height:16px;padding:6px 14px 0;
  font-size:11px;color:var(--belk-paper-muted,#414B5C);
  text-align:right;letter-spacing:.02em;
}
.bcalc-out{
  padding:2px 14px 8px;
  font-size:28px;font-weight:700;line-height:1.15;
  text-align:right;
  font-variant-numeric:tabular-nums;
  word-break:break-all;
}

.bcalc-acts{
  display:flex;gap:6px;padding:0 10px 8px;
}
.bcalc-acts .belk-btn{flex:1;height:36px;padding:0 8px}

.bcalc-pad{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  padding:0 10px 10px;
}
.bcalc-k{
  height:44px;border-radius:8px;border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  background:var(--belk-paper-alt,#F5F8FC);
  color:var(--belk-paper-text,#0D2350);
  font-family:inherit;font-size:16px;font-weight:600;
  cursor:pointer;touch-action:manipulation;
}
.bcalc-k:hover{background:var(--belk-paper-sunken,#E9F0F9)}
.bcalc-k:active{transform:scale(.97)}
.bcalc-k:focus-visible{
  outline:2px solid var(--belk-paper-brand,#143A7D);
  outline-offset:1px;
}
.bcalc-k--op{
  background:var(--belk-brand-soft,var(--belk-level-2,#E4EBF8));
  color:var(--belk-paper-brand,#143A7D);
  font-weight:700;
}
.bcalc-k--eq{
  background:var(--belk-paper-brand,#143A7D);
  color:var(--belk-on-paper-brand,#FFFFFF);
  border-color:transparent;
}
.bcalc-k--eq:hover{filter:brightness(1.08)}
.bcalc-k--mut{color:var(--belk-paper-muted,#414B5C);font-size:14px}

.bcalc-hint{
  padding:0 12px 10px;font-size:11px;color:var(--belk-paper-warn,#9C4A12);
  min-height:0;
}
.bcalc-hint:empty{display:none;padding:0}

/* Móvil: ancla sobre la píldora, a la izquierda, para no tapar Escaneo IA */
@media (max-width:768px){
  #bcalc{
    width:min(268px, calc(100vw - 24px));
    left:12px;right:auto;top:auto;
    bottom:var(--belk-float-bottom,96px);
  }
}
