.fianzasModulo { width: min(1000px, calc(100% - 32px)); margin: 24px auto 40px; color: #243746; }
.fianzasCabecera { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.fianzasSubmenu { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; padding:10px 14px; margin-bottom:18px; border:1px solid #D8E3ED; border-radius:8px; background:#EAF2F9; }
.fianzasSubmenu h1 { margin:0; color:#1A3A5C; font-size:24px; }
.fianzasSubmenuAcciones { display:flex; align-items:center; gap:8px; }
.fianzasSubmenuAcciones a { display:flex; align-items:center; gap:6px; padding:8px 10px; border-radius:6px; color:#1A3A5C; text-decoration:none; font-size:12px; font-weight:700; }
.fianzasSubmenuAcciones a:hover, .fianzasSubmenuAcciones a:focus { background:#D8E8F5; color:#24537E; }
.fianzasSubmenuAcciones i { font-size:16px; }
.fianzasOpcionesBoton { display:flex; align-items:center; justify-content:center; padding:8px 10px; border:0; border-radius:6px; background:transparent; color:#1A3A5C; cursor:pointer; font:inherit; }
.fianzasOpcionesBoton:hover, .fianzasOpcionesBoton:focus { background:#D8E8F5; color:#24537E; }
.fianzasOpcionesMenu { display:flex; gap:8px; flex-basis:100%; justify-content:flex-end; padding-top:8px; border-top:1px solid #D8E3ED; }
.fianzasOpcionesMenu a { display:flex; align-items:center; gap:6px; padding:7px 10px; border-radius:6px; color:#1A3A5C; text-decoration:none; font-size:12px; font-weight:700; }
.fianzasOpcionesMenu a:hover { background:#D8E8F5; color:#24537E; }
.fianzasModal { width:min(520px,calc(100% - 32px)); padding:0; border:0; border-radius:10px; background:#fff; color:#243746; box-shadow:0 20px 60px rgba(15,38,57,.3); }
.fianzasModal::backdrop { background:rgba(22,40,56,.55); }.fianzasModal form { margin:0; padding:22px; }.fianzasModalCabecera { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }.fianzasModal h2 { margin:0; color:#1A3A5C; }.fianzasModal h3 { margin:22px 0 8px; color:#1A3A5C; font-size:16px; }.fianzasModalCerrar { border:0; background:transparent; color:#587086; font-size:28px; line-height:1; cursor:pointer; }.fianzasModalCampo { display:flex; flex-direction:column; gap:7px; font-weight:700; color:#3d5366; }.fianzasModalCampo select { padding:10px; border:1px solid #B8CBDC; border-radius:6px; background:#fff; font:inherit; }.fianzasAseguradorasLista { margin:0; padding:0; color:#587086; list-style:none; }.fianzasAseguradorasLista li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #D8E3ED; }.fianzasAseguradorasLista li form { margin:0; padding:0; }.fianzasAseguradorasLista li button { border:0; background:transparent; color:#9a1e1e; cursor:pointer; font-size:22px; line-height:1; }.fianzasAseguradorasLista li button:hover { color:#d12b2b; }
.fianzasCabecera h1, .fianzasFormulario h2, .fianzasListado h2 { margin:0; color:#1A3A5C; }
.fianzasCabecera p { margin:5px 0 0; color:#587086; }
.fianzasFormulario, .fianzasListado { padding:22px; border:1px solid #D8E3ED; border-radius:10px; background:#F5F9FD; margin-top:18px; }
.fianzasIngresoPdf { max-width:700px; margin:0 auto; padding:14px 24px 24px; border:2px dashed #6F96BA; border-radius:10px; background:#fff; text-align:center; }.fianzasIngresoPdf h2 { margin:0 0 8px; color:#1A3A5C; }.fianzasIngresoPdf p { color:#587086; }.fianzasIngresoPdf label { display:flex; flex-direction:column; gap:8px; text-align:left; font-weight:700; color:#3d5366; }.fianzasIngresoPdf input { padding:12px; border:1px solid #B8CBDC; border-radius:6px; background:#F5F9FD; font:inherit; }.fianzasIngresoPdf small { font-weight:400; color:#587086; }.fianzasIngresoFila { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; margin-top:12px; }.fianzasIngresoFilaSuperior { margin-top:0; }.fianzasIngresoFila > * { justify-self:center; }.fianzasIngresoFila small { justify-self:start; text-align:left; }
.fianzasArchivoBoton { display:inline-block; width:max-content; padding:10px 16px; border:0; border-radius:6px; background:#1A3A5C; color:#fff; cursor:pointer; font:inherit; font-weight:700; }
.fianzasArchivoBoton:hover { background:#24537E; }
.fianzasIngresoPdf input[type="file"] { position:absolute; width:1px; height:1px; opacity:0; }
.fianzasFormulario #fianzasDatos { max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; text-align:left; box-sizing:border-box; }
.fianzasFormulario #fianzasDatos > h2 { text-align:center; }
.fianzasAyuda { margin:8px 0 0; color:#765500; }.fianzaFaltante { border-color:#e49b38 !important; background:#fff0c2 !important; box-shadow:0 0 0 1px rgba(228,155,56,.2); }
.fianzasGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:18px; }
.fianzasGrid label { display:flex; flex-direction:column; gap:6px; font-weight:700; color:#3d5366; }
.fianzasGrid .fianzasContratante input[readonly], .fianzasGrid .fianzasBeneficiario input[readonly] { cursor:pointer; background:#fff; color:#243746; }
.fianzasGrid .fianzasContratante { grid-column:span 2; }
.fianzasGrid .fianzasContratante input { width:100%; }
.fianzasGrid .fianzasTipo { grid-column:span 2; }
.fianzasGrid .fianzasTipo select { width:100%; }
.fianzasGrid .fianzasBeneficiario { grid-column:span 2; }
.fianzasGrid .fianzasBeneficiario input { width:100%; }
.fianzasGrid .fianzasObjeto { grid-column:span 2; }
.fianzasGrid .fianzasObjeto textarea { width:100%; }
.fianzasGrid input, .fianzasGrid select, .fianzasGrid textarea { width:140px; max-width:100%; box-sizing:border-box; min-height:42px; padding:9px 10px; border:1px solid #B8CBDC; border-radius:6px; background:#fff; font:inherit; font-weight:400; color:#243746; }
.fianzasGrid input { font-size:15px; }
.fianzasGrid input[name="monto_garantizado"], .fianzasGrid input[name="deposito_garantia"], .fianzasGrid input[name="prima_neta"], .fianzasGrid input#fianzaTotal { text-align:right; }
.fianzasGrid select { font-size:15px; }
.fianzasGrid textarea { min-height:70px; resize:vertical; }.fianzasAncho { grid-column:1/-1; }
.fianzasGrid small { color:#587086; font-weight:400; }.fianzasPdf { margin-left:6px; color:#1A5C87; font-size:12px; font-weight:700; }
.fianzasBoton { margin-top:18px; padding:11px 18px; border:0; border-radius:6px; background:#1A3A5C; color:#fff; font:inherit; font-weight:700; cursor:pointer; }.fianzasBoton:hover { background:#24537E; }
.fianzasAviso { padding:12px 14px; border-radius:6px; margin:15px 0; }.fianzasExito { background:#e4f5e9; color:#176b35; }.fianzasError { background:#fde8e8; color:#9a1e1e; }
.fianzasTablaWrap { overflow:auto; margin-top:16px; }.fianzasListado table { width:100%; border-collapse:collapse; background:#fff; }.fianzasListado th,.fianzasListado td { padding:11px 10px; border-bottom:1px solid #D8E3ED; text-align:left; white-space:nowrap; }.fianzasListado th { background:#EAF2F9; color:#1A3A5C; }.fianzasEstado { display:inline-block; padding:4px 8px; border-radius:12px; background:#e9eef2; font-size:12px; font-weight:700; }.fianzasEstado-vigente { background:#dff3e5; color:#176b35; }.fianzasEstado-pendiente_pago,.fianzasEstado-por_vencer { background:#fff0c7; color:#765500; }.fianzasEstado-ejecutada { background:#fde0e0; color:#9a1e1e; }
@media (max-width: 760px) { .fianzasCabecera { align-items:flex-start; flex-direction:column; }.fianzasSubmenu { position:relative; display:block; padding:10px 8px 8px; }.fianzasSubmenu h1 { padding-left:4px; }.fianzasSubmenuAcciones { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; margin-top:10px; gap:2px; }.fianzasSubmenuAcciones a { flex-direction:column; justify-content:center; min-width:0; padding:7px 2px; text-align:center; }.fianzasSubmenuAcciones a span { white-space:nowrap; font-size:11px; }.fianzasOpcionesBoton { position:absolute; top:8px; right:8px; padding:5px 8px; }.fianzasGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }.fianzasAncho { grid-column:1/-1; }.fianzasIngresoFila { grid-template-columns:1fr; gap:12px; }.fianzasIngresoFila small { justify-self:center; text-align:center; } }
@media (max-width: 620px) { .fianzasGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 400px) { .fianzasGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width: 761px) and (max-width: 900px) { .fianzasGrid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.fianzasListado h2 { font-size:23px; }.fianzasListado th { padding-top:6px; padding-bottom:6px; }.fianzasListado td { padding-top:8px; padding-bottom:8px; font-size:14px; }.fianzasNumeroLink { color:inherit; font-size:13px; font-weight:400; text-decoration:none; }.fianzasNumeroLink:hover,.fianzasNumeroLink:focus { color:inherit; font-size:13px; font-weight:400; text-decoration:none; }.fianzasAccion { text-align:center !important; }.fianzasModalLink { color:#1A3A5C; font-weight:700; text-decoration:none; }.fianzasModalLink:hover { text-decoration:underline; }
.fianzasListadoCabecera { display:flex; align-items:center; justify-content:space-between; gap:16px; }.fianzasListadoCabecera h2 { margin:0; }.fianzasListadoCabecera p { margin:5px 0 0; color:#587086; font-size:13px; }.fianzasListadoIndicador { flex:0 0 auto; padding:7px 12px; border-radius:999px; background:#DDEAF5; color:#1A3A5C; font-size:12px; font-weight:700; }.fianzasListadoRegistradas { border-top:4px solid #7B3F6E; }.fianzasListadoRegistradas .fianzasListadoIndicador { background:#F2E5EF; color:#7B3F6E; }.fianzasListadoVigentes { border-top:4px solid #2D8A57; }.fianzasListadoVigentes .fianzasListadoIndicador { background:#DFF3E5; color:#176B35; }.fianzasTablaVacia { padding:28px 10px !important; color:#587086; text-align:center !important; }
.fianzasRenovarLink + .fianzasFinalizarLink { margin-left:25px; }
.fianzasColumnaAcciones { width:150px; min-width:150px; max-width:150px; }
.fianzasDetalleModal > .fianzasDetalleAcciones { display:none; }
.fianzasAccion .fianzasModalLink { display:inline-block; font-size:16px; line-height:1; transform:none; transition:none; }
.fianzasAccion .fianzasModalLink:hover,
.fianzasAccion .fianzasModalLink:focus { font-size:16px; transform:none; }
