/* SIGDA V91 · COTIZACIONES Y PROPUESTAS Heredan el lenguaje comun de la hoja de superficies; */



.commercial-center { position: relative; width: 100%; min-width: 0; }
.commercial-center.show { display: grid; gap: 14px; }

/* El titulo ya lo pone .sg-page-head del shell. */
.commercial-head { display: none; }
.commercial-head-row {
  display: flex; align-items: center; justify-content: flex-end;
  flex-wrap: wrap; gap: 8px;
}

.commercial-form-card,
.commercial-list-card {
  min-width: 0; overflow: hidden;
  border: 1px solid var(--sg-border); border-radius: 12px;
  background: var(--sg-surface);
}
.commercial-form-card { padding: 16px 18px; }

.commercial-field input,
.commercial-field select,
.commercial-field textarea {
  width: 100%; min-height: 36px; padding: 0 11px;
  border: 1px solid var(--sg-border); border-radius: 8px;
  background: var(--sg-surface); color: var(--sg-text);
  font: 500 11px var(--sg-font);
}
.commercial-field textarea { min-height: 74px; padding: 9px 11px; line-height: 1.45; }
.commercial-field input:focus,
.commercial-field select:focus,
.commercial-field textarea:focus {
  outline: 2px solid #9fc0ff; outline-offset: 1px; border-color: #9fc0ff;
}
/* Lo obligatorio se marca donde se decide, no en una leyenda al pie. */
.commercial-required { color: var(--sg-danger); font-weight: 700; }

.commercial-cancel-btn { border-color: #ffd2d2; color: var(--sg-danger); }
.commercial-cancel-confirm {
  border-color: var(--sg-danger); background: var(--sg-danger); color: #fff;
}

.commercial-toolbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 9px;
  min-height: 48px; padding: 8px 12px;
  border-bottom: 1px solid var(--sg-border);
}
.commercial-toolbar strong { color: var(--sg-text); font: 700 12px var(--sg-font); }
.commercial-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }

/* Un folio cancelado se distingue de un vistazo, pero no se tacha ni se */
.commercial-table tr.is-cancelled td { color: var(--sg-text-muted); background: #fdfbfb; }
.commercial-folio, .commercial-cancel-folio {
  color: var(--sg-text); font-weight: 700;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.commercial-money {
  color: var(--sg-text); font-weight: 600;
  font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap;
}
.commercial-creator, .commercial-kind { color: var(--sg-text-muted); font-size: var(--sg-fs-xs); }
.commercial-status-pill.active { background: var(--sg-ok-soft); color: var(--sg-ok); }
.commercial-status-pill.cancelled { background: var(--sg-danger-soft); color: var(--sg-danger); }

.commercial-status, .commercial-result, .commercial-cancel-note {
  padding: 10px 12px; border: 1px solid var(--sg-border); border-radius: 9px;
  background: var(--sg-surface-alt); color: var(--sg-text-muted);
  font: 400 var(--sg-fs-xs)/1.45 var(--sg-font);
}
.commercial-status[data-type="success"] {
  border-color: #cfe8da; background: var(--sg-ok-soft); color: var(--sg-ok);
}
.commercial-status[data-type="error"] {
  border-color: #f2d4d4; background: var(--sg-danger-soft); color: var(--sg-danger);
}
.commercial-result strong, .commercial-result-folio {
  display: block; color: var(--sg-text); font: 700 15px var(--sg-font);
  font-variant-numeric: tabular-nums;
}
.commercial-result small { color: var(--sg-text-muted); font-size: var(--sg-fs-xs); }
.commercial-result [data-commercial-result-next] { display: block; margin-top: 4px; color: var(--sg-text-muted); }

.commercial-dialog {
  width: min(520px, 94vw); padding: 0;
  border: 1px solid var(--sg-border); border-radius: 14px;
  background: var(--sg-surface);
}
.commercial-dialog::backdrop { background: rgba(8, 22, 48, .42); }
.commercial-dialog-body { display: grid; gap: 11px; padding: 18px; }
.commercial-dialog h2 { margin: 0; color: var(--sg-text); font: 700 14px var(--sg-font); }
.commercial-dialog p { margin: 0; color: var(--sg-text-muted); font: 400 var(--sg-fs-xs)/1.5 var(--sg-font); }
.commercial-dialog textarea {
  width: 100%; min-height: 88px; padding: 10px;
  border: 1px solid var(--sg-border); border-radius: 8px;
  background: var(--sg-surface); font: 400 11px var(--sg-font);
}
.commercial-dialog-actions {
  display: flex; justify-content: flex-end; gap: 8px; padding: 0 18px 18px;
}

@media (max-width: 860px) {
  .commercial-toolbar { align-items: stretch; }
  .commercial-nav { margin-left: 0; }
  .commercial-head-row { justify-content: flex-start; }
}

/* V105 D4.14 · en el teléfono la tabla se lee como tarjetas: folio, cliente,
   servicio, monto y estado a la vista, sin desplazar a lo ancho. La rejilla
   de datos (39-surfaces) fija un mínimo de 680 px para escritorio; aquí se
   libera sólo en esta pantalla. */
@media (max-width: 760px) {
  #quotesCenter .commercial-table, #proposalsCenter .commercial-table { min-width: 0; }
  .commercial-table thead { display: none; }
  .commercial-table, .commercial-table tbody, .commercial-table tr { display: block; width: 100%; }
  .commercial-table tr { padding: 12px 14px; border-bottom: 1px solid var(--sg-border); }
  .commercial-table td { display: grid; grid-template-columns: 34% minmax(0, 1fr); gap: 8px; padding: 4px 0; border: 0; text-align: left; white-space: normal; }
  .commercial-table td::before { content: attr(data-label); color: var(--sg-text-muted); font-size: var(--sg-fs-xs); font-weight: 600; }
  .commercial-table td[colspan] { display: block; }
  .commercial-table td[colspan]::before, .commercial-table td:last-child::before { content: none; }
  .commercial-table td:last-child { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 10px; }
  .commercial-table .commercial-money { text-align: left; }
  /* .admin-main input:not(...) (sigda-ui) pesa 0,4,1: el id del centro lo supera sin !important. */
  .commercial-form-grid .sg-btn, .commercial-table button, #quotesCenter .commercial-field input, #proposalsCenter .commercial-field input, .sg-page-actions .commercial-crosslink { min-height: 44px; }
}
