/* Propuestas, contratos y cierres: estilos propios (se cargan después de app.css).
   Movimiento "Corporate": sólo transform/opacity, 150–280 ms, ease-out, respeta prefers-reduced-motion. */

/* ───────── Diálogos (stdNativeDialog del puente) ───────── */
.cd-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:var(--r-xl);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);overflow:hidden;
  opacity:1;scale:1;transition:opacity 200ms var(--ease-out),scale 200ms var(--ease-out),overlay 200ms allow-discrete,display 200ms allow-discrete}
@starting-style{.cd-dialog[open]{opacity:0;scale:.97}}
.cd-dialog::backdrop{background:rgba(6,21,41,.45)}
.cd-dialog.wide{width:min(760px,calc(100vw - 24px))}
.cd-dialog.xwide{width:min(1180px,calc(100vw - 24px))}
.cd-dialog-card{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.cd-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 0}
.cd-dialog-head h2{font-size:18px}
.cd-dialog-msg{margin-top:6px;color:var(--muted);line-height:1.55;white-space:pre-line}
.cd-dialog-body{padding:16px 22px 0;overflow:auto;min-height:0}
.cd-dialog .confirm-actions{padding:0 22px 20px;margin-top:18px;flex-wrap:wrap}
.cd-notice{color:var(--ink-2);line-height:1.55;white-space:pre-line}
.cd-kicker{display:block;color:var(--accent-strong);font-size:11px;font-weight:650;letter-spacing:.06em}

/* Opciones con radio (std-plan-choice del sistema actual) */
.std-plan-choice{display:grid;gap:8px}
.std-plan-choice label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--t-fast) ease,background-color var(--t-fast) ease}
.std-plan-choice label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.std-plan-choice input{margin-top:3px;accent-color:var(--accent)}
.std-plan-choice span{display:grid;gap:2px;min-width:0}
.std-plan-choice b{font-weight:600}
.std-plan-choice small{color:var(--muted);font-size:12.5px}
.cd-history section+section{margin-top:14px}
.cd-history h4{margin-bottom:8px;font-size:13px;color:var(--ink-2)}
.cd-version-row{display:flex;align-items:center;gap:8px}
.cd-version-row label{flex:1;min-width:0}

/* ───────── Listas de documentos ───────── */
.cd-shell{display:grid;gap:14px}
.cd-toolbar{flex-wrap:wrap;gap:10px;margin:0}
.cd-toolbar .search{flex:1 1 260px;max-width:420px}
.cd-sort .select{min-width:220px}
.cd-scope{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.cd-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.cd-tabs::-webkit-scrollbar{display:none}
.cd-tabs button{display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-weight:550;white-space:nowrap;transition:background-color var(--t-fast) ease,border-color var(--t-fast) ease,color var(--t-fast) ease}
.cd-tabs button[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.cd-tabs button[aria-selected=true] .count-pill{background:rgba(255,255,255,.18);color:#fff}
@media(hover:hover){.cd-tabs button:not([aria-selected=true]):hover{border-color:var(--line-strong);color:var(--ink)}}
.cd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;align-items:start}
.cd-empty{grid-column:1/-1}
.cd-card{position:relative;display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);min-width:0}
.cd-card.locked,.cd-card.archived{background:var(--surface-2)}
.cd-card.awaiting{border-color:#ddd2f7}
.cd-card.cd-target{animation:cdPulse 1.1s var(--ease-out) 2 backwards}
@keyframes cdPulse{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 8px rgba(10,143,199,0)}100%{box-shadow:var(--shadow-sm)}}
.cd-top{position:absolute;top:10px;right:10px;display:flex;gap:4px}
.cd-top:empty{display:none}
.cd-card-head{display:flex;align-items:center;gap:10px;min-width:0;padding-right:64px}
.cd-card.closed .cd-card-head,.cd-card.validation .cd-card-head{padding-right:0}
.cd-card-head>div{display:grid;gap:3px;min-width:0}
.cd-card-head b{font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.cd-card-head small{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:12.5px}
.cd-advisor{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--ink-2)}
.cd-advisor .avatar.sm{width:20px;height:20px;font-size:9.5px}
.cd-folio{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.cd-folio small{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.cd-folio b{font-family:var(--mono);font-size:13px}
.cd-badges{display:flex;flex-wrap:wrap;gap:6px}
.cd-card>.badge{justify-self:start}
.cd-text{color:var(--muted);font-size:13px;line-height:1.5}
.cd-reason{display:grid;gap:2px;padding:9px 11px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--ink-2)}
.cd-reason.bad{background:var(--bad-soft)}
.cd-reason small{color:var(--muted);font-size:11.5px}
.cd-reason p,.cd-reason b{font-size:13px;line-height:1.45;font-weight:550;overflow-wrap:anywhere}
.cd-selected{display:grid;gap:8px;padding:10px;border-radius:var(--r-md);background:var(--violet-soft)}
.cd-selected>b{font-size:12.5px}
.cd-actions{display:flex;flex-wrap:wrap;gap:6px}
.cd-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12.5px}
.cd-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.cd-facts.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.cd-facts div{display:grid;gap:2px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2)}
.cd-facts dt{color:var(--muted);font-size:11.5px}
.cd-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.cd-signed{width:100%}
.cd-signed .dz{padding:12px 14px}
.cd-signed .dz.uploading{opacity:.6;pointer-events:none}

/* ───────── Generador de propuestas (pantalla completa) ───────── */
html.cd-gen-open,html.cd-gen-open body{overflow:hidden}
.cd-gen-shell{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--sheet);
  opacity:1;transition:opacity 200ms var(--ease-out)}
@starting-style{.cd-gen-shell{opacity:0}}
.cd-gen-head{display:flex;align-items:center;gap:12px;padding:4px 6px 0}
.cd-gen-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong)}
.cd-gen-ico svg{width:19px;height:19px}
.cd-gen-head h2{font-size:17px}
.cd-gen-head p{color:var(--muted);font-size:13px}
.cd-gen-shell #advisorViewPropuestasGenerador{display:flex;flex:1 1 auto;min-height:0;border-radius:12px!important;box-shadow:none!important}
.cd-gen-shell #advisorViewPropuestasGenerador .form-container,.cd-gen-shell #advisorViewPropuestasGenerador .preview-container{box-shadow:none!important}
#proposal-preview{will-change:auto!important}
/* Compatibilidad del motor legacy: se neutralizan los estilos globales de app.css (h1–h4, p, svg, button, interlineado)
   para que la captura y el PDF se vean igual que en el sistema actual. Especificidad de elemento: las reglas del motor ganan. */
#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop{line-height:normal;letter-spacing:normal;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
#proposal-preview{line-height:normal}
:where(#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop) h1,
:where(#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop) h2,
:where(#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop) h3,
:where(#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop) h4{margin:revert;font-weight:revert;letter-spacing:normal;line-height:normal;color:inherit;text-wrap:wrap}
:where(#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop) p{margin:revert}
:where(#advisorViewPropuestasGenerador,#proposal-preview-capture,.std-catalog-modal-backdrop) svg{width:auto;height:auto;flex-shrink:1}
:where(#advisorViewPropuestasGenerador,.std-catalog-modal-backdrop) button{background:revert;border:revert;padding:revert}
:where(#advisorViewPropuestasGenerador,.std-catalog-modal-backdrop) textarea{font:revert}
#advisorViewPropuestasGenerador input[data-std-advisor-locked="1"]{background:#f5f8fb!important;color:#294a68!important;cursor:default}
.stdProposalCloseX81647{width:40px!important;height:40px!important;padding:0!important;display:grid!important;place-items:center;font-size:27px!important;line-height:1!important;border-radius:50%!important}
@media(max-width:760px){
  .cd-gen-shell{padding:6px}
  #advisorViewPropuestasGenerador .form-container,#advisorViewPropuestasGenerador .preview-container,#advisorViewPropuestasGenerador .erp-main-grid{min-width:0!important;max-width:100%!important;width:100%!important}
  #advisorViewPropuestasGenerador .preview-container{min-height:0!important;overflow:hidden!important}
  #advisorViewPropuestasGenerador input,#advisorViewPropuestasGenerador select,#advisorViewPropuestasGenerador textarea{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;font-size:16px!important}
  #advisorViewPropuestasGenerador input[type="date"]{-webkit-appearance:none!important;appearance:none!important}
  .stdExceptionalDebt10212{grid-template-columns:1fr}
}

/* Soportes de la propuesta */
.cd-support-list{display:grid;gap:6px;margin-top:12px}
.cd-support-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md)}
.cd-support-item .ico{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;flex:none}
.cd-support-item .ico svg{width:15px;height:15px}
.cd-support-item .ico.ok{background:var(--ok-soft);color:var(--ok)}
.cd-support-item .ico.info{background:var(--info-soft);color:var(--info)}
.cd-support-item div{display:grid;min-width:0;flex:1}
.cd-support-item b{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-support-item small{color:var(--muted);font-size:12px}

/* Validación */
.cd-engine{margin-bottom:12px}
.cd-engine h4{font-size:13px;margin-bottom:8px}
.cd-engine>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.cd-engine article{display:grid;gap:2px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2)}
.cd-engine small{color:var(--muted);font-size:11.5px}
.cd-validation-split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;height:min(68dvh,760px)}
.cd-validation-pdf{min-height:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2)}
.cd-validation-pdf iframe{display:block;width:100%;height:100%;border:0}
.cd-validation-supports{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding-right:2px}
.cd-validation-supports h4{font-size:13px}
.cd-support-preview{position:relative;display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r-md);cursor:zoom-in;background:var(--surface)}
.cd-support-preview img,.cd-support-preview iframe{width:100%;height:150px;border:0;border-radius:6px;object-fit:cover;background:var(--surface-2);pointer-events:none}
.cd-support-preview b{font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-support-hint{position:absolute;top:14px;right:14px;padding:2px 8px;border-radius:999px;background:rgba(6,21,41,.72);color:#fff;font-size:11px;opacity:0;transition:opacity var(--t-fast) ease}
@media(hover:hover){.cd-support-preview:hover .cd-support-hint{opacity:1}}
.cd-loading{display:grid;place-items:center;height:100%;min-height:160px;color:var(--muted);font-size:13px}
.cd-support-viewer{width:min(1100px,calc(100vw - 24px))}
.cd-viewer-acts{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cd-viewer-port{height:min(72dvh,820px);margin:12px 22px 0;overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}
.cd-viewer-port iframe{display:block;width:100%;height:100%;border:0}
.cd-viewer-port img{display:block;max-width:none;margin:0 auto}
.cd-viewer-foot{display:flex;justify-content:space-between;gap:12px;padding:10px 22px 18px;color:var(--muted);font-size:12px}

/* Generador de contratos (iframe) */
.cd-contract-ws{position:fixed;inset:0;z-index:85;display:flex;padding:12px;background:rgba(6,21,41,.55);opacity:1;transition:opacity 200ms var(--ease-out)}
@starting-style{.cd-contract-ws{opacity:0}}
.cd-contract-card{display:flex;flex-direction:column;width:100%;height:100%;border-radius:var(--r-xl);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-lg)}
.cd-contract-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.cd-contract-card header small{color:var(--accent-strong);font-size:11px;font-weight:650;letter-spacing:.06em}
.cd-contract-card header h2{font-size:16px}
.cd-contract-card iframe{flex:1;width:100%;border:0;background:#eef4fa}
@media(max-width:760px){.cd-contract-ws{padding:0}.cd-contract-card{border-radius:0}}

/* Progreso de carga del contrato firmado */
.cd-progress{position:fixed;inset:0;z-index:2147483000;display:none;place-items:center;padding:20px;background:rgba(6,21,41,.6)}
.cd-progress.open{display:grid}
.cd-progress-card{display:grid;gap:14px;width:min(440px,calc(100vw - 32px));padding:22px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lg)}
.cd-progress-head{display:flex;align-items:center;gap:12px}
.cd-progress-head h3{font-size:17px}
.cd-progress-head p{color:var(--muted);font-size:13px;line-height:1.45}
.cd-progress-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);flex:none}
.cd-progress-ico svg{width:20px;height:20px}
.cd-progress .progress{height:10px}
.cd-progress-foot{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12.5px}
.cd-progress-foot b{color:var(--accent-strong)}
.cd-progress.success .cd-progress-ico{background:var(--ok-soft);color:var(--ok)}
.cd-progress.success .progress>i{background:var(--ok)}
.cd-progress.error .cd-progress-ico{background:var(--bad-soft);color:var(--bad)}
.cd-progress.error .progress>i{background:var(--bad)}

/* Pago en tienda */
.cd-store{display:grid;gap:12px}
.cd-store-msg:empty{display:none}
.cd-store-msg{padding:10px 12px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-strong);font-size:13px}
.cd-store-ref{display:grid;gap:8px;padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}
.cd-store-note{font-size:12.5px;line-height:1.5}
.cd-store-sheet .cd-dialog-head{align-items:center}
.cd-store-meta{display:flex;gap:18px;margin:0 0 0 auto}
.cd-store-meta div{display:grid;text-align:right}
.cd-store-meta dt{color:var(--muted);font-size:10.5px;font-weight:650}
.cd-store-meta dd{margin:0;font-weight:600}
.cd-store-frame{height:min(70dvh,760px);margin:12px 22px 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2)}
.cd-store-frame iframe{display:block;width:100%;height:100%;border:0}
.cd-store-foot{align-items:center}
.cd-store-foot [data-status]{margin-right:auto;font-size:12.5px}

/* Formularios de cierre */
.cd-form{display:grid;gap:12px}
.cd-summary{display:grid;gap:2px}
.cd-summary small{color:var(--muted);font-size:12px}
.cd-static{display:grid;gap:2px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}
.cd-form .field small{font-size:12px}

@media(max-width:760px){
  .cd-grid{grid-template-columns:minmax(0,1fr)}
  .cd-validation-split{grid-template-columns:minmax(0,1fr);height:auto}
  .cd-validation-pdf{height:60dvh}
  .cd-store-meta{display:none}
  .cd-store-foot>*{flex:1 1 auto;justify-content:center}
  .cd-store-foot [data-status]{flex-basis:100%;order:-1}
  .cd-sort,.cd-sort .select{width:100%}
  .cd-dialog .form-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .cd-dialog,.cd-gen-shell,.cd-contract-ws{transition:none}
  .cd-card.cd-target{animation:none;box-shadow:0 0 0 2px var(--accent-ring)}
}

/* Validación: soportes que el navegador no puede mostrar y acciones de la tarjeta (V12.1.49) */
.cd-support-unviewable{display:grid;justify-items:center;align-content:center;gap:8px;min-height:260px;padding:24px;text-align:center;color:var(--ink-2)}
.cd-support-unviewable svg{width:28px;height:28px;color:var(--muted)}
.cd-support-unviewable.sm{min-height:96px;padding:12px;gap:4px}
.cd-support-unviewable.sm svg{width:20px;height:20px}
.cd-requested-by{display:block;font-size:12px;margin-top:-2px}
.cd-validation-card-actions{flex-wrap:wrap}
.cd-validation-actions{flex-wrap:wrap}
@media(max-width:640px){.cd-validation-card-actions .btn{flex:1 1 auto;justify-content:center}.cd-validation-actions .btn{flex:1 1 45%;justify-content:center}}