/* Zavora Free Tools — estilos propios de /tools/sales/sales-calculator. Se cargan solo en su página (tools.scripts),
   después de tools.css; lo compartido entre herramientas vive en tools.css. */
/* ---------- Calculadora de meta de ventas (/tools/sales/sales-calculator) ----------
   Formulario a la izquierda, plan a la derecha y «Qué palanca mueve más» a lo ancho debajo (en el celular:
   formulario → plan → palancas). El avance usa .tl-meter (decorativo: la cifra va en texto al lado); la
   palanca ganadora se marca con borde de marca + la etiqueta «La que más mueve» (nunca solo con color). */
.sc.tl-tool { grid-template-areas: "form result" "levers levers"; }
.sc > .tl-tool__form { grid-area: form; }
.sc > .tl-tool__result { grid-area: result; }
.sc > .sc-levers { grid-area: levers; }

/* Formulario */
.sc .tl-section__t .tl-link { display: inline-flex; align-items: center; min-height: 32px; white-space: nowrap; }
.sc .tl-section__t .sc-opt { font: 500 .75rem/1.2 var(--f-body); letter-spacing: 0; text-transform: none; color: var(--ink-3); }
.sc-fs { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.sc-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.sc-seg label { justify-content: center; min-height: 44px; padding: 4px 10px; text-align: center; line-height: 1.25; }
.sc .tl-row.sc-row-cur { grid-template-columns: minmax(0, 1fr) 7.5rem; align-items: end; } /* la moneda al ras del monto aunque la etiqueta ocupe dos líneas */
.sc-help { margin-top: 6px; }
.sc .tl-row + .sc-help { margin-top: 10px; }
.sc-help + .tl-field, .sc-margin { margin-top: 14px; }
.sc-days { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: 10px 18px; align-items: end; }
.sc-week { display: grid; gap: 8px; padding-bottom: 4px; }
.sc-week .tl-check { min-height: 28px; align-items: center; }
.sc-week .tl-check input { margin-top: 0; }
.sc-recount { display: inline-flex; align-items: center; min-height: 32px; margin-top: 2px; font-size: .875rem; }
.sc .tl-hint.is-warn { color: var(--warn); }
/* Atajo al plan: solo en una columna (celular y tableta), donde el plan queda debajo de todo el formulario. */
.sc-jump { display: none; }

/* Plan */
.sc .tl-stat--accent .tl-stat__l { color: var(--ink-2); } /* AA sobre --brand-tint */
/* Las cifras no se parten a la mitad («$1.363.6 / 37»): si dos tarjetas no caben a lo ancho, van una debajo de la
   otra. (overflow-wrap: anywhere de tools.css queda solo para montos absurdos que no caben ni a todo el ancho.) */
.sc .tl-stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.sc .tl-stat__l { display: block; line-height: 1.3; }
.sc [data-plan-k]:focus:not(:focus-visible) { outline: none; }
.sc-warn { margin: 0 0 12px; }
.sc-warn p + .sc-warn__btn { margin-top: 6px; }
.sc-warn__btn { display: inline-flex; align-items: center; min-height: 32px; color: var(--warn); text-decoration-color: currentColor; }
.sc-win { margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--ok); border-radius: var(--r); background: var(--ok-bg); color: var(--ok); font-size: .9375rem; }
.sc-win strong { color: var(--ink); }
.sc-derived { margin: 0 0 12px; font-size: .9375rem; color: var(--ink-2); }
.sc-derived strong { color: var(--ink); }
.sc-progress { margin: 0 0 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); }
.sc-progress__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: .9rem; color: var(--ink-2); }
.sc-progress__top strong { font-size: 1.05rem; color: var(--ink); white-space: nowrap; }
.sc-progress__s { margin-top: 8px; font-size: .8125rem; color: var(--ink-2); }
.sc .tl-stat--hero.is-win { border-color: var(--ok); background: var(--ok-bg); }
.sc .tl-stat--hero.is-win .tl-stat__l { color: var(--ok); }
.sc-plan { margin-top: 14px; padding: 14px 16px; background: #fff; border: 1px solid var(--brand-line); border-radius: var(--r-lg); font-size: 1rem; line-height: 1.5; color: var(--ink); }
.sc-plan strong { font-weight: 700; }
.sc-sub { margin: 18px 0 8px; font: 600 .78rem/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--ink-3); }
.sc-proj { margin-top: 10px; padding: 12px 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); font-size: .9375rem; color: var(--ink-2); }
.sc-proj strong { color: var(--ink); }
.sc-proj .tl-delta { display: flex; margin-top: 6px; }
.sc-explain { margin-top: 16px; }
.sc-explain .tl-formula { white-space: normal; overflow-wrap: anywhere; overflow-x: visible; }
.sc-formulas { margin: 6px 0 8px; }

/* Qué palanca mueve más */
.sc-levers { padding: 24px 28px 28px; border-top: 1px solid var(--line); min-width: 0; }
.sc-levers__t { font-family: var(--f-display); font-size: 1.2rem; letter-spacing: -.01em; }
.sc-levers__d { margin: 4px 0 0; font-size: .9375rem; color: var(--ink-2); }
.sc-levers__best { margin-top: 12px; font-size: .9375rem; color: var(--ink); }
.sc-levers__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.sc-lever { display: flex; flex-direction: column; min-width: 0; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); }
.sc-lever.is-best { border: 2px solid var(--brand); padding: 15px; }
.sc-lever__badge { align-self: flex-start; margin-bottom: 8px; padding: 3px 10px; border-radius: 999px; background: var(--brand); color: #fff; font-size: .72rem; font-weight: 600; letter-spacing: .03em; }
.sc-lever__badge[hidden] { display: none; }
.sc-lever__t { font-weight: 600; color: var(--ink); }
.sc-lever__s { margin-top: 2px; font-size: .8125rem; color: var(--ink-3); }
.sc-lever__list { margin: 10px 0 0; }
.sc-lever__list > div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 10px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: .875rem; }
.sc-lever__list dt { min-width: 0; color: var(--ink-2); }
.sc-lever__list dd { margin: 0 0 0 auto; flex: none; max-width: 100%; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--ink); } /* si no cabe al lado, baja a la línea siguiente, a la derecha */
.sc-lever__save { margin-top: auto; padding-top: 10px; font-size: .875rem; font-weight: 600; color: var(--ink-3); }
.sc-lever__save.is-good { color: var(--ok); }
.sc-lever.is-off .sc-lever__t { color: var(--ink-2); }

/* PDF */
.sc-doc table + .tl-doc__notes { margin-top: 14px; }
.sc-doc__h { margin: 16px 0 6px; font-weight: 700; font-size: .875rem; }

@media (max-width: 860px) {
  .sc.tl-tool { grid-template-areas: "form" "result" "levers"; }
  .sc-jump:not([hidden]) { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 12px; font-weight: 600; }
  .sc-levers__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .sc .tl-row.sc-row-cur { grid-template-columns: minmax(0, 1fr) 6.5rem; }
  .sc-days { grid-template-columns: minmax(0, 1fr); }
  .sc-levers { padding: 20px 16px 24px; }
  .sc-plan { font-size: .9375rem; }
}
@media print {
  .tl-print-sheet .sc-doc table { break-inside: avoid; }
}
