/* ══ Proceder a la venta · ventana paso a paso sobre el master plan ═════════
   Siempre en oscuro, sea cual sea el tema del sitio: es una herramienta
   interna y tiene que leerse igual que el panel desde el que se continúa. */

.vw-cta {
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  margin-top: 10px; padding: 12px 16px; border-radius: 100px; cursor: pointer;
  border: 1px dashed rgba(200,192,126,.55); background: rgba(7,19,22,.04);
  color: inherit; font: 600 13px/1.2 var(--font-body, system-ui, sans-serif); letter-spacing: .04em;
}
.vw-cta:hover:not(:disabled) { border-style: solid; }
/* Sin opacity: la animación de entrada del panel la deja en 1 al terminar. */
.vw-cta:disabled { cursor: not-allowed; color: rgba(150,150,140,.55); border-color: rgba(150,150,140,.35); background: transparent; }
.vw-cta-nota { margin: 6px 0 0; font-size: 12px; text-align: center; opacity: .7; }

.vw-fondo {
  position: fixed; inset: 0; z-index: 10000; background: rgba(2,7,9,.72);
  display: grid; place-items: center; padding: 16px;
  font-family: var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
}
.vw {
  width: min(880px, 100%); max-height: calc(100vh - 32px); display: flex; flex-direction: column;
  background: #0d2024; color: #ded7ba; border: 1px solid rgba(200,192,126,.28); border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.5); overflow: hidden;
}
.vw * { box-sizing: border-box; }
.vw-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; border-bottom: 1px solid rgba(200,192,126,.16); }
.vw-cab h2 { margin: 0; font: 400 18px/1.2 var(--font-display, Georgia, serif); color: #ded7ba; letter-spacing: .01em; }
.vw-cab small { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #c8c07e; margin-bottom: 3px; }
.vw-x { background: none; border: 1px solid rgba(200,192,126,.28); color: #c8c07e; width: 34px; height: 34px; border-radius: 50%; cursor: pointer; font-size: 18px; line-height: 1; }

.vw-pasos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding: 12px 22px; border-bottom: 1px solid rgba(200,192,126,.1); }
.vw-paso { font-size: 11px; color: rgba(222,215,186,.4); text-align: center; padding-top: 7px; border-top: 2px solid rgba(200,192,126,.14); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vw-paso.is-hecho { color: rgba(222,215,186,.7); border-top-color: rgba(200,192,126,.55); }
.vw-paso.is-activo { color: #e2dba4; border-top-color: #c8c07e; font-weight: 700; }
@media (max-width: 640px) { .vw-paso span { display: none; } }

.vw-cuerpo { padding: 20px 22px; overflow-y: auto; flex: 1; }
.vw-pie { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 22px; border-top: 1px solid rgba(200,192,126,.16); }
.vw-pie .vw-err { color: #e0663a; font-size: 13px; flex: 1; }

.vw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 20px;
  border-radius: 100px; border: 1px solid #c8c07e; background: #c8c07e; color: #071316;
  font: 700 12px/1 inherit; letter-spacing: .06em; cursor: pointer; text-decoration: none; white-space: nowrap;
}
.vw-btn--ghost { background: transparent; color: #c8c07e; }
.vw-btn:disabled { opacity: .45; cursor: default; }

.vw h3 { margin: 0 0 10px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #c8c07e; font-weight: 700; }
.vw p { margin: 0 0 12px; font-size: 13px; line-height: 1.55; color: rgba(222,215,186,.75); }
.vw-bloque { background: #12292e; border: 1px solid rgba(200,192,126,.14); border-radius: 12px; padding: 16px; }
.vw-bloque + .vw-bloque { margin-top: 12px; }

.vw-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vw-campos--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vw-campos .ancho { grid-column: 1 / -1; }
.vw-campos--3 .doble { grid-column: span 2; }
@media (max-width: 640px) { .vw-campos--3 .doble { grid-column: auto; } }
@media (max-width: 640px) { .vw-campos, .vw-campos--3 { grid-template-columns: 1fr; } }
.vw label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; font-weight: 600; color: rgba(222,215,186,.62); letter-spacing: .03em; min-width: 0; }
.vw input, .vw select, .vw textarea {
  width: 100%; background: #0a1a1d; border: 1px solid rgba(200,192,126,.2); border-radius: 8px;
  padding: 10px 12px; color: #ded7ba; font: 14px/1.3 inherit;
}
.vw input:focus, .vw select:focus, .vw textarea:focus { outline: none; border-color: #c8c07e; }
.vw label.is-error input, .vw label.is-error select { border-color: #e0663a; }
.vw label .e { color: #e0663a; font-weight: 500; font-size: 11px; }
.vw label.check { flex-direction: row; align-items: flex-start; gap: 10px; font-size: 13px; color: #ded7ba; font-weight: 500; cursor: pointer; }
.vw label.check input { width: auto; margin-top: 2px; accent-color: #c8c07e; }

.vw-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.vw-tabs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vw-tab { padding: 12px; border-radius: 10px; border: 1px solid rgba(200,192,126,.2); background: #0a1a1d; color: #ded7ba; cursor: pointer; text-align: left; font: inherit; }
.vw-tab b { display: block; font-size: 13px; margin-bottom: 3px; }
.vw-tab small { font-size: 11px; color: rgba(222,215,186,.55); }
.vw-tab.is-activo { border-color: #c8c07e; background: rgba(200,192,126,.1); box-shadow: inset 0 0 0 1px #c8c07e; }
@media (max-width: 640px) { .vw-tabs { grid-template-columns: 1fr; } }

.vw-lote { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 640px) { .vw-lote { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vw-dato small { display: block; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: rgba(222,215,186,.45); font-weight: 700; }
.vw-dato span { font-size: 15px; color: #ded7ba; }
.vw-dato span.grande { font-size: 22px; font-weight: 300; }

table.vw-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
table.vw-tabla td { padding: 8px 4px; border-bottom: 1px solid rgba(200,192,126,.1); }
table.vw-tabla td:last-child { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
table.vw-tabla td small { display: block; color: rgba(222,215,186,.5); font-size: 11px; }
table.vw-tabla tr.total td { font-weight: 700; border-bottom: none; border-top: 1px solid rgba(200,192,126,.3); }

.vw-aviso { border-left: 3px solid #F2C230; background: rgba(242,194,48,.07); border-radius: 8px; padding: 10px 12px; font-size: 13px; margin-bottom: 10px; color: #ded7ba; }
.vw-aviso--bad { border-left-color: #e0663a; background: rgba(224,102,58,.08); }
.vw-aviso--ok { border-left-color: #2fb67a; background: rgba(47,182,122,.08); }
.vw-aviso--info { border-left-color: #6aa9d8; background: rgba(106,169,216,.08); }

dl.vw-resumen { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 13px; }
dl.vw-resumen dt { color: rgba(222,215,186,.55); } dl.vw-resumen dd { margin: 0; font-weight: 600; letter-spacing: .02em; }
@media (max-width: 640px) { dl.vw-resumen { grid-template-columns: 1fr; } }

/* Los documentos que hay que pedirle al cliente. Cada renglón lleva su casilla
   para ir cotejando contra lo que entregó, igual que el checklist impreso. */
ul.vw-requisitos { list-style: none; margin: 10px 0 0; padding: 0; font-size: 13px; }
ul.vw-requisitos li { position: relative; padding: 8px 0 8px 26px; line-height: 1.45;
  border-bottom: 1px dotted rgba(200,192,126,.16); }
ul.vw-requisitos li:last-child { border-bottom: 0; }
ul.vw-requisitos li::before { content: ""; position: absolute; left: 0; top: 9px; width: 15px; height: 15px;
  border: 1.2px solid rgba(200,192,126,.45); border-radius: 3px; }
ul.vw-requisitos small { display: block; margin-top: 3px; color: rgba(222,215,186,.6); }
ul.vw-requisitos small b { color: rgba(200,192,126,.9); }

.vw-docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 640px) { .vw-docs { grid-template-columns: 1fr; } }
.vw-doc { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: #12292e; border: 1px solid rgba(200,192,126,.14); border-radius: 10px; padding: 10px 12px; font-size: 13px; }
.vw-doc a { color: #c8c07e; font-weight: 700; text-decoration: none; margin-left: 10px; font-size: 12px; }
.vw-cargando { text-align: center; padding: 40px 10px; color: rgba(222,215,186,.6); }
