
body { font-size: .8rem;}

.menu-sistema{--menu-ancho:250px;--menu-colapsado:72px;--barra-alto:60px}
.menu-lateral{position:fixed;top:0;left:0;z-index:1035;width:var(--menu-ancho);height:100vh;display:flex;flex-direction:column;background:var(--color-menu,#06285f);box-shadow:3px 0 14px rgba(6,40,95,.18);transition:width .2s ease,transform .2s ease}
.menu-lateral-marca{display:flex;align-items:center;min-height:74px;padding:.9rem 1rem;color:var(--color-menu-texto,#fff)!important;text-decoration:none!important;border-bottom:1px solid var(--color-menu-borde,rgba(255,255,255,.12))}
.menu-logo{display:flex;flex:0 0 44px;width:44px;height:44px;margin-right:.7rem;border-radius:6px;overflow:hidden;background:#fff}
.menu-logo img{width:100%;height:100%;object-fit:cover}
.menu-marca-texto{display:flex;min-width:0;flex-direction:column;line-height:1.15;transition:opacity .15s ease}
.menu-marca-texto strong{color:var(--color-menu-texto,#fff);font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-marca-texto small{margin-top:.2rem;color:var(--color-menu-texto-suave,#a9c8e8);font-size:.65rem;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-lateral-nav{flex:1;padding:.75rem .6rem;overflow-y:auto;overflow-x:hidden}
.menu-link{position:relative;display:flex;align-items:center;width:100%;min-height:42px;margin:.1rem 0;padding:.55rem .7rem;border:0;border-left:3px solid transparent;border-radius:5px;background:transparent;color:var(--color-menu-texto-suave,#d9e9f8);text-align:left;text-decoration:none!important;font-size:.78rem;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}
.menu-link:hover,.menu-link.active,.menu-grupo.active>.menu-link{color:var(--color-menu-texto,#fff);background:var(--color-menu-hover,rgba(255,255,255,.12))}
.menu-link.active,.menu-grupo.active>.menu-link{color:#fff;border-left-color:#ff8a00;background:#0b72c5}
.menu-link-icono{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;margin-right:.55rem;font-size:1rem}
.menu-link-texto{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-grupo-boton{cursor:pointer}
.menu-chevron{margin-left:auto;color:var(--color-menu-texto-suave,#a9c8e8);font-size:.72rem;transition:transform .15s ease}
.menu-grupo.abierto .menu-chevron{transform:rotate(180deg)}
.menu-submenu{display:none;margin:.15rem .35rem .4rem 2rem;padding:.3rem;border:1px solid #dbe5ef;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(6,40,95,.18)}
.menu-grupo.abierto .menu-submenu{display:block}
.menu-submenu-link{display:flex;align-items:center;min-height:34px;margin:.05rem 0;padding:.45rem .55rem;border:1px solid transparent;border-radius:4px;color:#06285f;text-decoration:none!important;font-size:.73rem;font-weight:600;outline:0!important;box-shadow:none!important}
.menu-submenu-link svg{flex:0 0 18px;margin-right:.45rem;color:#0b72c5}
.menu-submenu-link:hover{color:#06285f;background:#e8f1fb}
.menu-submenu-link.active{color:#fff;border-color:transparent;background:#0b72c5;box-shadow:none!important}
.menu-submenu-link.active svg{color:#fff}
.barra-superior{position:fixed;top:0;right:0;left:var(--menu-ancho);z-index:1030;height:var(--barra-alto);display:flex;align-items:center;min-width:0;padding:0 1rem;border-bottom:1px solid #dbe5ef;background:#fff;box-shadow:0 2px 10px rgba(6,40,95,.06);transition:left .2s ease}
.barra-menu-boton{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-right:.85rem;border:1px solid #dbe5ef;border-radius:5px;background:#f8fafc;color:#52697f;font-size:1.1rem}
.barra-menu-boton:hover{color:#0b72c5;background:#eef6fc}
.barra-contexto{display:flex;min-width:0;flex:1;flex-direction:column;line-height:1.12}
.barra-contexto strong{color:#17324d;font-size:.9rem;font-weight:700}
.barra-contexto span{margin-top:.15rem;color:#6b7f93;font-size:.68rem}
.menu-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:.55rem;border-radius:50%;background:#0b72c5;color:#fff;font-size:1rem}
.menu-usuario-datos{display:flex;flex-direction:column;min-width:80px;line-height:1.1;text-align:left}
.menu-usuario-datos small{color:#6b7f93;font-size:.65rem}
.menu-usuario-datos strong{max-width:130px;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;color:#17324d;font-size:.78rem;white-space:nowrap}
.barra-usuario-toggle{display:flex!important;align-items:center;padding:.25rem .35rem!important;color:#17324d!important;text-decoration:none!important;border-radius:6px}
.barra-usuario-toggle:hover{background:#f3f8fd;text-decoration:none!important}
.barra-usuario-chevron{margin-left:.25rem;color:#6b7f93;font-size:.75rem}
.barra-usuario-menu{padding:.35rem 0;border:1px solid #dbe5ef;border-radius:0 0 6px 6px;box-shadow:0 8px 18px rgba(6,40,95,.14)}
.barra-usuario-menu .dropdown-item{display:flex;align-items:center;padding:.65rem 1rem;color:#334e68;font-size:.8rem}
.menu-overlay{display:none}
.menu-colapsado .menu-lateral{width:var(--menu-colapsado)}
.menu-colapsado .barra-superior{left:var(--menu-colapsado)}
.menu-colapsado .menu-lateral-marca{justify-content:center;padding:.85rem .6rem}
.menu-colapsado .menu-logo{margin-right:0}
.menu-colapsado .menu-marca-texto,.menu-colapsado .menu-link-texto,.menu-colapsado .menu-chevron,.menu-colapsado .menu-submenu{display:none}
.menu-colapsado .menu-link{justify-content:center;padding:.55rem .4rem}
.menu-colapsado .menu-link-icono{margin-right:0}
.menu-colapsado .menu-lateral-nav{overflow:visible}
.menu-colapsado .menu-grupo{position:relative}
.menu-colapsado .menu-grupo.abierto .menu-submenu{display:block;position:absolute;top:0;left:calc(100% + .4rem);width:190px;margin:0;z-index:1040}

.menu-sistema ~ .seccion-listado{height:calc(100vh - 60px);margin-top:60px;margin-left:250px;width:calc(100% - 250px)!important;max-width:calc(100% - 250px);background:#f4f7fb;overflow-y:auto;transition:margin-left .2s ease,width .2s ease,max-width .2s ease}
.menu-sistema.menu-colapsado ~ .seccion-listado{margin-left:72px;width:calc(100% - 72px)!important;max-width:calc(100% - 72px)}
.seccion-listado{height:100vh;background:#f4f7fb}
.listado-toolbar{padding:1rem 1.15rem;border:1px solid #dbe5ef;border-radius:6px;background:#fff;box-shadow:0 3px 10px rgba(6,40,95,.05)}
.listado-toolbar>.row{row-gap:.75rem}
.listado-titulo-icono{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-right:.75rem;border-radius:6px;background:#e7f2fb;color:#0b72c5;font-size:1.1rem}
.listado-titulo-texto h1{margin:0;color:#17324d;font-size:1.08rem;font-weight:700}
.listado-titulo-texto span{display:block;margin-top:.2rem;color:#6b7f93;font-size:.72rem}
.listado-buscador .input-group-text{border-color:#cbd8e6;background:#f7f9fc;color:#6b7f93}
.listado-buscador .form-control{height:38px;border-color:#cbd8e6;font-size:.8rem}
.listado-buscador .form-control:focus{border-color:#0b72c5;box-shadow:0 0 0 .15rem rgba(11,114,197,.12)}
.listado-buscador .btn-link{height:38px;padding:.35rem .65rem;border:1px solid #cbd8e6;border-left:0;color:#6b7f93;background:#fff;text-decoration:none}
.listado-acciones{display:flex;justify-content:flex-end;gap:.5rem}
.listado-acciones .btn{display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:38px;padding:0;border-radius:5px;font-size:.86rem;font-weight:600;line-height:1;white-space:nowrap}
.listado-contenido{height:calc(100% - 91px)}
.listado-contenido-tabs-footer{height:calc(100% - 143px)}
.listado-panel{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dbe5ef;border-radius:6px;background:#fff;box-shadow:0 3px 10px rgba(6,40,95,.05)}
.listado-panel-cuerpo-scroll{flex:1;min-height:0;overflow-y:auto}
.listado-panel-cabecera{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:.7rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff}
.listado-panel-cabecera>div:first-child{display:flex;flex-direction:column}
.listado-panel-cabecera strong{color:#17324d;font-size:.85rem}
.listado-panel-cabecera span{margin-top:.15rem;color:#7b8da0;font-size:.7rem}
.listado-contadores{display:flex;align-items:center;gap:.55rem}
.listado-contadores .badge{padding:.4rem .55rem;border-radius:4px;font-size:.68rem}
.listado-contadores .badge-primary{color:#fff!important}
.listado-contadores>span{margin:0;padding-left:.55rem;border-left:1px solid #dbe5ef}
.listado-tabla{flex:1;color:#334e68}
.listado-tabla .table{margin-bottom:0;border-collapse:separate;border-spacing:0}
.listado-tabla .table thead th{position:sticky !important;top:0 !important;z-index:2;padding:.65rem .55rem;border-top:0;border-bottom:1px solid #cbd8e6;background:#eef3f8;color:#52697f;font-size:.69rem;font-weight:700;text-transform:uppercase;vertical-align:middle}
.listado-tabla .table tbody td{padding:.58rem .55rem;border-top:0;border-bottom:1px solid #edf1f5;vertical-align:middle}
.listado-tabla .table-hover tbody tr{cursor:pointer;transition:background-color .15s ease}
.listado-tabla .table-hover tbody tr:hover{background:#f0f7fd}
.listado-accion-tabla{width:30px;height:30px;padding:0;border-radius:4px;line-height:1}
.listado-estado{min-width:58px;padding:.35rem .45rem;border-radius:4px;font-size:.66rem;font-weight:600}
.listado-vacio{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:2rem;color:#74879a;text-align:center}
.listado-vacio>span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:.85rem;border-radius:50%;background:#eaf3fb;color:#0b72c5;font-size:1.3rem}
.listado-vacio strong{color:#334e68;font-size:.9rem}
.listado-vacio p{margin:.35rem 0 .85rem;font-size:.75rem}
.listado-paginacion{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:.55rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}
.listado-paginacion>span{color:#6b7f93;font-size:.7rem}
.listado-paginacion .page-link{color:#0b72c5}
.listado-paginacion .page-item.active .page-link{border-color:#0b72c5;background:#0b72c5}
.listado-tabs{display:flex;flex-direction:column}
.listado-tabs>.listado-tabs-nav{flex:0 0 auto;padding:0 .4rem;border:1px solid #dbe5ef;border-bottom:0;border-radius:6px 6px 0 0;background:#fff}
.listado-tabs-nav .nav-link{padding:.75rem 1rem;border:0;border-bottom:3px solid transparent;color:#52697f!important;font-size:.78rem;font-weight:600}
.listado-tabs-nav .nav-link:hover{color:#0b72c5}
.listado-tabs-nav .nav-link.active{color:#0b72c5!important;border-bottom-color:#ff8a00;background:transparent}
.listado-tabs-contenido{flex:1;min-height:0}
.listado-tabs-contenido>.tab-pane{height:100%}
.listado-tabs .listado-panel{border-radius:0 0 6px 6px}
.modal-crud{width:100%;background:#fff}
.modal-crud-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #dbe5ef;background:#f8fafc}
.modal-crud-header h5{margin:0;color:#17324d;font-size:1rem;font-weight:700;line-height:1.1;text-transform:uppercase}
.modal-crud-header small{display:block;margin-top:.2rem;color:#6b7f93;font-size:.7rem}
.modal-crud-icono{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-right:.7rem;border-radius:6px;background:#e7f2fb;color:#0b72c5;font-size:1rem}
.modal-crud-cerrar{width:32px;height:32px;padding:0;border:1px solid #dbe5ef;border-radius:4px;color:#52697f}
.modal-crud-body{max-height:70vh;padding:1rem;overflow-y:auto}
.modal-crud-body textarea.form-control{min-height:4.6rem}
.modal-crud-separador{display:flex;align-items:center;margin:.25rem 0 .35rem;padding:.45rem .6rem;border-left:3px solid #0b72c5;background:#f3f8fd;color:#17324d;font-size:.76rem;font-weight:700;text-transform:uppercase}
.modal-crud-label{display:block;margin-bottom:.25rem;color:#52697f;font-size:.72rem;font-weight:700}
.modal-crud .form-control,.modal-crud .custom-select{height:34px;font-size:.78rem}
.modal-crud-detalle{height:34px;padding:.35rem .5rem;border:1px solid #dbe5ef;border-radius:4px;background:#f8fafc;color:#334e68;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal-crud-detalle-texto{height:auto;min-height:82px;white-space:pre-wrap;overflow:auto}
.modal-crud-alerta{padding:.5rem .65rem;border-radius:4px;font-size:.76rem}
.modal-crud-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid #dbe5ef;background:#f8fafc}
.modal-crud-footer .btn{min-width:92px;font-weight:600}
.horario-gestion{display:flex;flex-direction:column;gap:.75rem}
.horario-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border:1px solid #dbe5ef;border-radius:6px;background:#f8fafc}
.horario-toolbar strong,.horario-dia-cabecera strong{display:block;color:#17324d;font-size:.85rem}
.horario-toolbar small,.horario-dia-cabecera small{display:block;color:#6c8195;font-size:.7rem}
.horario-toolbar-acciones{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.horario-mes{min-width:120px;text-align:center;color:#17324d;font-weight:700;font-size:.82rem}
.horario-distribucion{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:.75rem}
.horario-calendario-panel,.horario-dia-panel{min-width:0;border:1px solid #dbe5ef;border-radius:6px;background:#fff;padding:.75rem}
.horario-dias-semana,.horario-calendario{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}
.horario-dias-semana span{color:#6c8195;font-size:.66rem;font-weight:700;text-align:center;text-transform:uppercase}
.horario-dia{position:relative;min-height:58px;padding:.35rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#17324d;text-align:left}
.horario-dia:hover{border-color:#0b72c5;background:#f3f8fd}
.horario-dia.otro-mes{opacity:.45}
.horario-dia.seleccionado{border-color:#0b72c5;background:#e7f2fb;box-shadow:0 0 0 2px rgba(11,114,197,.08)}
.horario-dia.hoy strong{color:#0b72c5}
.horario-dia.con-horario::after{content:"";position:absolute;right:.4rem;bottom:.4rem;width:7px;height:7px;border-radius:50%;background:#22a06b}
.horario-dia strong{font-size:.8rem}
.horario-dia small{position:absolute;right:.35rem;top:.35rem;min-width:18px;height:18px;padding:0 .25rem;border-radius:9px;background:#0b72c5;color:#fff;font-size:.62rem;text-align:center;line-height:18px}
.horario-leyenda{display:flex;gap:.75rem;margin-top:.65rem;color:#6c8195;font-size:.68rem}
.horario-dot{display:inline-block;width:8px;height:8px;margin-right:.3rem;border-radius:50%}
.horario-dot-hoy{background:#0b72c5}
.horario-dot-horario{background:#22a06b}
.horario-dia-cabecera{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.55rem;border-bottom:1px solid #e2e8f0}
.horario-lista{display:flex;flex-direction:column;gap:.5rem}
.horario-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}
.horario-item strong{display:block;color:#17324d;font-size:.82rem}
.horario-item small{display:block;color:#6c8195;font-size:.7rem}
.horario-item-acciones{display:flex;gap:.35rem}
.horario-vacio{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;color:#6c8195;text-align:center;border:1px dashed #cbd8e6;border-radius:6px;background:#f8fafc}
.autocomplete-cita{position:relative}
.autocomplete-cita-resultados{position:absolute;top:100%;left:0;right:0;z-index:1060;max-height:238px;margin-top:.2rem;overflow-y:auto;border:1px solid #b8d4ef;border-radius:5px;background:#fff;box-shadow:0 10px 22px rgba(15,23,42,.14)}
.autocomplete-cita-item{display:grid;width:100%;grid-template-columns:minmax(78px,.35fr) minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.55rem .65rem;border:0;border-bottom:1px solid #e2e8f0;background:#fff;color:#17324d;text-align:left}
.autocomplete-cita-item:last-child{border-bottom:0}
.autocomplete-cita-item:hover,.autocomplete-cita-item:focus{background:#e7f2fb;outline:0}
.autocomplete-cita-item small{color:#6c8195;font-size:.68rem;font-weight:700}
.autocomplete-cita-item strong{font-size:.78rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.autocomplete-cita-item span{padding:.12rem .4rem;border-radius:10px;background:#f1f7fd;color:#0b72c5;font-size:.66rem;font-weight:700}
.autocomplete-cita-vacio{padding:.65rem;color:#6c8195;font-size:.75rem;text-align:center}
.modal-plantilla-dialogo{width:calc(100% - 2rem);max-width:1480px}
.modal-plantilla-cabecera{padding:1rem 1.25rem;background:#fff}
.modal-plantilla-cabecera h5{text-transform:none}
.modal-plantilla-cuerpo{max-height:calc(100vh - 182px);padding:1rem 1.15rem;background:#f6f8fb}
.modal-plantilla-distribucion{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:1rem;align-items:start}
.modal-plantilla-formulario{display:flex;min-width:0;flex-direction:column;gap:.75rem}
.plantilla-seccion{min-width:0;padding:.9rem;border:1px solid #dbe5ef;border-radius:6px;background:#fff}
.plantilla-seccion-titulo{display:flex;align-items:center;gap:.45rem;margin-bottom:.8rem;padding-bottom:.55rem;border-bottom:1px solid #e7edf3;color:#0b72c5;text-transform:uppercase}
.plantilla-seccion-titulo>span{font-size:.76rem;font-weight:700}
.plantilla-seccion-titulo strong{font-size:.76rem;font-weight:700}
.plantilla-seccion-titulo small{margin-left:auto;color:#7b8da0;font-size:.62rem;font-weight:600}
.plantilla-seccion-titulo>div{display:flex;min-width:0;flex-direction:column}
.plantilla-seccion-titulo>div small{margin:.15rem 0 0;color:#7b8da0;font-size:.66rem;font-weight:400;text-transform:none}
.plantilla-contador{color:#7b8da0;font-size:.66rem}
.plantilla-emoji-control{position:relative}
.plantilla-emoji-abrir{width:30px;height:30px;margin-left:.25rem;padding:0;color:#52697f}
.plantilla-emoji-abrir:hover{color:#0b72c5;text-decoration:none}
.plantilla-editor-contenedor{position:relative}
.modal-crud .plantilla-editor-mensaje.form-control{height:auto;min-height:150px;line-height:1.55;resize:vertical}
.plantilla-selector-emojis{position:absolute;top:calc(100% + .25rem);right:0;z-index:20;width:360px;max-width:calc(100vw - 2rem);padding:.55rem;border:1px solid #cbd8e6;border-radius:5px;background:#fff;box-shadow:0 8px 22px rgba(23,50,77,.18)}
.plantilla-emoji-buscador{display:flex;align-items:center;gap:.35rem;margin-bottom:.45rem}
.plantilla-emoji-buscador>svg{color:#7b8da0}
.plantilla-emoji-buscador .form-control{flex:1}
.plantilla-emoji-buscador .btn{width:30px;height:30px;padding:0;color:#52697f}
.plantilla-emojis-lista{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.2rem;max-height:230px;overflow-x:hidden;overflow-y:auto}
.plantilla-emojis-lista button{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;aspect-ratio:1;overflow:hidden;border:0;border-radius:4px;background:transparent;font-size:1.25rem;line-height:1}
.plantilla-emojis-lista button:hover{background:#eaf3fb}
.plantilla-emojis-vacio{padding:1rem;color:#7b8da0;font-size:.7rem;text-align:center}
.plantilla-contenido-consulta{min-height:150px}
.plantilla-ayuda{display:flex;align-items:center;gap:.4rem;color:#6b7f93;font-size:.68rem}
.plantilla-ayuda>svg{flex:0 0 auto}
.plantilla-ayuda .btn{margin-left:auto;white-space:nowrap}
.plantilla-variables-vacio{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:72px;padding:.75rem;border:1px dashed #cbd8e6;border-radius:5px;color:#7b8da0;font-size:.72rem;text-align:center}
.plantilla-variable-fila{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);gap:.55rem;align-items:end;margin-bottom:.55rem}
.plantilla-variable-fila:last-child{margin-bottom:0}
.plantilla-variable-codigo{display:flex;align-items:center;justify-content:center;height:34px;border:1px solid #8dc4f0;border-radius:4px;background:#eef7fe;color:#0b72c5;font-size:.72rem;font-weight:700}
.plantilla-subtitulo{display:flex;align-items:center;gap:.35rem;margin:.35rem 0 .65rem;padding-top:.7rem;border-top:1px solid #e7edf3;color:#52697f;font-size:.72rem;font-weight:700;text-transform:uppercase}
.plantilla-cargar-media .btn,.plantilla-agregar-boton .btn{width:34px;height:34px;padding:0}
.plantilla-botones-lista{display:flex;flex-direction:column;gap:.35rem}
.plantilla-boton-item{display:flex;align-items:center;gap:.5rem;min-height:36px;padding:.35rem .45rem;border:1px solid #dbe5ef;border-radius:4px;background:#f8fafc;color:#334e68;font-size:.72rem}
.plantilla-boton-item>span{min-width:0;flex:1;overflow-wrap:anywhere}
.plantilla-boton-item .btn{width:28px;height:28px;padding:0;color:#dc3545}
.plantilla-seccion-estado{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.plantilla-seccion-estado .plantilla-seccion-titulo{padding:0;border:0}
.plantilla-seccion-estado small{color:#7b8da0;font-size:.68rem}
.modal-plantilla-vista{position:sticky;top:0;min-width:0}
.plantilla-vista-panel{padding:1rem}
.plantilla-telefono{max-width:410px;margin:0 auto;border:7px solid #263238;border-radius:26px;overflow:hidden;background:#e8e3dc;box-shadow:0 8px 22px rgba(23,50,77,.18)}
.plantilla-telefono-barra{display:flex;align-items:center;gap:.55rem;min-height:62px;padding:.65rem .75rem;background:#087f65;color:#fff}
.plantilla-telefono-barra>div{display:flex;min-width:0;flex:1;flex-direction:column}
.plantilla-telefono-barra strong{overflow:hidden;text-overflow:ellipsis;font-size:.78rem;white-space:nowrap}
.plantilla-telefono-barra small{font-size:.6rem}
.plantilla-telefono-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#78b943;font-weight:700}
.plantilla-telefono-chat{min-height:430px;padding:1rem .75rem;background:#efeae2}
.plantilla-mensaje{position:relative;max-width:92%;padding:.65rem .7rem 1.35rem;border-radius:5px;background:#fff;color:#202c33;box-shadow:0 1px 2px rgba(23,50,77,.16)}
.plantilla-mensaje-cabecera{display:block;margin-bottom:.45rem;white-space:pre-wrap}
.plantilla-mensaje-cuerpo{font-size:.76rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.plantilla-mensaje-pie{display:block;margin-top:.45rem;color:#667781;font-size:.64rem;white-space:pre-wrap}
.plantilla-mensaje-hora{position:absolute;right:.45rem;bottom:.3rem;color:#8696a0;font-size:.56rem}
.plantilla-variable-ejemplo{padding:0 .12rem;border-radius:3px;background:#d8f0d2;color:#246b36}
.plantilla-media-imagen{margin:-.4rem -.45rem .6rem}
.plantilla-media-imagen img{display:block;width:100%;max-height:210px;border-radius:4px;object-fit:cover}
.plantilla-media-imagen>div,.plantilla-media-archivo{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:112px;padding:.75rem;border-radius:4px;background:#edf2f5;color:#667781;font-size:.68rem;text-align:center}
.plantilla-media-archivo{justify-content:flex-start;min-height:58px;margin-bottom:.55rem}
.plantilla-media-archivo svg{font-size:1.3rem}
.plantilla-vista-botones{display:flex;max-width:92%;flex-direction:column;margin-top:.25rem;border-radius:5px;overflow:hidden}
.plantilla-vista-botones button{min-height:36px;padding:.45rem;border:0;border-top:1px solid #edf1f5;background:#fff;color:#0b72c5;font-size:.7rem}
.plantilla-vista-botones button svg{margin-right:.35rem}
.plantilla-vista-nota{display:flex;align-items:flex-start;gap:.4rem;max-width:410px;margin:.75rem auto 0;padding:.55rem .65rem;border:1px solid #acd5f3;border-radius:4px;background:#eef7fe;color:#25658f;font-size:.65rem}
.plantilla-vista-nota svg{flex:0 0 auto;margin-top:.1rem}
.plantilla-vista-estado{display:flex;align-items:center;justify-content:space-between;max-width:410px;margin:.75rem auto 0;padding-top:.65rem;border-top:1px solid #e7edf3;color:#52697f;font-size:.68rem}
.modal-plantilla-footer{padding:.8rem 1.25rem;background:#fff}
.modal-envio-plantilla-dialogo{width:calc(100% - 2rem);max-width:1280px}
.modal-envio-plantilla-distribucion{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem;align-items:start}
.plantilla-variable-envio{grid-template-columns:62px minmax(0,1fr) 26px}
.modal-envio-plantilla .plantilla-telefono-chat{min-height:390px}
.envio-plantilla-pasos{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border-bottom:1px solid #e7edf3;background:#fff;overflow-x:auto}
.envio-paso{display:flex;align-items:center;gap:.4rem;padding:0;border:0;background:transparent;color:#7b8da0;font-size:.72rem;white-space:nowrap}
.envio-paso-numero{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #cbd8e6;border-radius:50%;background:#fff;font-size:.64rem;font-weight:700}
.envio-paso-completo{color:#17324d}
.envio-paso-completo .envio-paso-numero{border-color:#0b72c5;background:#0b72c5;color:#fff}
.envio-paso-linea{flex:0 0 30px;height:1px;background:#dbe5ef}
.envio-selector-plantilla{position:relative}
.envio-selector-control{display:flex;align-items:center;gap:.6rem;width:100%;min-height:54px;padding:.5rem .65rem;border:1px solid #dbe5ef;border-radius:5px;background:#fff;text-align:left}
.envio-selector-icono{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;border-radius:5px;background:#eef7fe;color:#0b72c5}
.envio-selector-datos{display:flex;min-width:0;flex:1;flex-direction:column;gap:.1rem}
.envio-selector-nombre{display:flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;color:#17324d;font-size:.76rem;font-weight:700;white-space:nowrap}
.envio-selector-datos small,.envio-selector-item small{overflow:hidden;color:#7b8da0;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}
.envio-selector-placeholder{flex:1;color:#7b8da0;font-size:.74rem}
.envio-selector-flecha{flex:0 0 auto;margin-left:auto;color:#52697f}
.envio-selector-panel{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:12;padding:.55rem;border:1px solid #dbe5ef;border-radius:6px;background:#fff;box-shadow:0 10px 24px rgba(23,50,77,.16)}
.envio-selector-lista{max-height:280px;margin-top:.45rem;overflow-y:auto}
.envio-selector-grupo{padding:.35rem .3rem;color:#52697f;font-size:.62rem;font-weight:700;text-transform:uppercase}
.envio-selector-item{display:flex;width:100%;flex-direction:column;gap:.15rem;padding:.45rem .5rem;border:0;border-radius:4px;background:transparent;text-align:left}
.envio-selector-item:hover{background:#eaf3fb}
.envio-selector-item-activo{background:#eef7fe}
.envio-selector-item small{max-width:100%}
.envio-nota-campo{display:flex;align-items:flex-start;gap:.35rem;margin-top:.5rem;color:#6b7f93;font-size:.66rem}
.envio-nota-campo>svg{flex:0 0 auto;margin-top:.1rem}
.envio-telefono{display:flex;align-items:center;gap:.4rem}
.envio-variable-campo{position:relative;min-width:0}
.envio-variable-campo .form-control{padding-right:52px}
.envio-variable-contador{position:absolute;right:.5rem;bottom:.55rem;color:#9fb0c0;font-size:.6rem}
.envio-variable-estado{display:flex;align-items:center;justify-content:center;height:34px;color:#cbd8e6}
.envio-variable-estado .envio-variable-ok{color:#28a745}
.envio-chip-dia{display:flex;justify-content:center;margin-bottom:.65rem}
.envio-chip-dia span{padding:.2rem .6rem;border-radius:6px;background:#fff;color:#54656f;font-size:.6rem;box-shadow:0 1px 1px rgba(23,50,77,.12)}
.plantilla-mensaje-saliente{margin-left:auto;background:#d9fdd3}
.plantilla-mensaje-saliente+.plantilla-vista-botones{margin-left:auto}
.plantilla-mensaje-hora svg{margin-left:.15rem;color:#53bdeb;font-size:.72rem;vertical-align:-1px}
.envio-vista-vacia{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:320px;color:#7b8da0;font-size:.74rem;text-align:center}
.envio-vista-vacia>svg{font-size:2rem;color:#b7c6d4}
.envio-vista-vacia small{color:#9fb0c0;font-size:.64rem}

@media (max-width:1199.98px){
    .menu-lateral{width:250px;transform:translateX(-100%)}
    .menu-movil-abierto .menu-lateral{transform:translateX(0)}
    .menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1034;display:block;background:rgba(23,50,77,.45);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
    .menu-movil-abierto .menu-overlay{opacity:1;visibility:visible}
    .barra-superior{left:0}
    .menu-colapsado .barra-superior{left:0}
    .menu-colapsado .menu-lateral{width:250px}
    .menu-colapsado .menu-lateral-marca{justify-content:flex-start;padding:.9rem 1rem}
    .menu-colapsado .menu-logo{margin-right:.7rem}
    .menu-colapsado .menu-marca-texto,.menu-colapsado .menu-link-texto,.menu-colapsado .menu-chevron{display:flex}
    .menu-colapsado .menu-submenu{display:none}
    .menu-colapsado .menu-grupo.abierto .menu-submenu{display:block;position:static;width:auto;margin:.15rem .35rem .4rem 2rem}
    .menu-colapsado .menu-link{justify-content:flex-start;padding:.55rem .7rem}
    .menu-colapsado .menu-link-icono{margin-right:.55rem}
    .menu-sistema ~ .seccion-listado,.menu-sistema.menu-colapsado ~ .seccion-listado{height:calc(100vh - 60px);margin-top:60px;margin-left:0;width:100%!important;max-width:100%}
    .seccion-listado{height:calc(100vh - 60px)}
    .listado-toolbar{padding:.85rem}
    .listado-contenido{height:calc(100% - 150px)}
    .listado-contenido-tabs-footer{height:calc(100% - 202px)}
    .listado-acciones{justify-content:flex-start}
    .listado-acciones .btn{white-space:nowrap}
    .listado-tabs-nav .nav-link{padding:.65rem .8rem}
    .modal-crud-body{max-height:66vh}
    .modal-plantilla-cuerpo{max-height:calc(100vh - 182px)}
    .modal-plantilla-distribucion{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)}
    .modal-envio-plantilla-distribucion{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}
}

@media (min-width:1200px){
    .barra-superior{left:250px}
    .menu-colapsado .barra-superior{left:72px}
    .listado-buscador{width:100%}
}

@media (max-width:575.98px){
    .barra-superior{padding:0 .65rem}
    .barra-menu-boton{margin-right:.65rem}
    .barra-contexto strong{font-size:.82rem}
    .barra-contexto span{display:none}
    .menu-usuario-datos{display:none}
    .barra-usuario-chevron{display:none}
    .barra-usuario-toggle{padding:.2rem!important}
    .menu-avatar{margin-right:0}
    .seccion-listado>.container-fluid{padding:.75rem!important}
    .listado-titulo-texto span{display:none}
    .listado-buscador{width:100%}
    .listado-acciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));width:100%}
    .listado-acciones .btn{width:100%;padding:.45rem .55rem}
    .listado-panel-cabecera{align-items:flex-start}
    .listado-contadores{align-items:flex-end;flex-direction:column;gap:.2rem}
    .listado-contadores>span{padding-left:0;border-left:0}
    .listado-paginacion{justify-content:center}
    .listado-paginacion>span{display:none}
    .modal-plantilla-dialogo{width:calc(100% - 1rem);margin:.5rem auto}
    .modal-envio-plantilla-dialogo{width:calc(100% - 1rem);margin:.5rem auto}
    .modal-plantilla-cabecera{padding:.75rem}
    .modal-plantilla-cabecera .modal-crud-icono{display:none}
    .modal-plantilla-cabecera h5{font-size:.9rem}
    .modal-plantilla-cuerpo{max-height:calc(100vh - 158px);padding:.65rem}
    .plantilla-seccion{padding:.7rem}
    .plantilla-variable-fila{grid-template-columns:1fr}
    .plantilla-variable-codigo{width:max-content;min-width:62px;padding:0 .5rem}
    .plantilla-ayuda{align-items:flex-start;flex-wrap:wrap}
    .plantilla-ayuda .btn{width:100%;margin-left:0}
    .plantilla-selector-emojis{position:fixed;right:.75rem;bottom:72px;left:.75rem;top:auto;width:auto}
    .plantilla-emojis-lista{grid-template-columns:repeat(7,1fr);max-height:250px}
    .plantilla-seccion-estado{align-items:flex-start;flex-direction:column}
    .plantilla-telefono{border-width:5px;border-radius:20px}
    .plantilla-telefono-chat{min-height:360px}
    .modal-plantilla-footer{display:grid;grid-template-columns:1fr 1fr;padding:.65rem}
    .modal-plantilla-footer .btn{width:100%;min-width:0}
}

@media (max-width:991.98px){
    .modal-plantilla-distribucion{grid-template-columns:1fr}
    .modal-envio-plantilla-distribucion{grid-template-columns:1fr}
    .modal-plantilla-vista{position:static}
    .plantilla-vista-panel{margin-bottom:0}
}

.activeOverflow { overflow: hidden;}
#overlayLoading{width:100%;height:100%}
.overlay-loading-global{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:rgba(248,250,252,.72)}
.overlay-loading-contenido{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:132px;min-height:132px;color:#212529}
.overlay-loading-icono{padding:.45rem;border-radius:50%;background:#e7f2fb;color:#0b72c5!important;animation:loadingRotacion 1s linear infinite}
.overlay-loading-contenido #cancel-label{margin:.35rem 0 0;color:#212529;font-weight:600}
@keyframes loadingRotacion{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}

.seccion-inicio{overflow-y:auto}
.seccion-inicio .container-fluid{min-height:100%;height:auto}
.inicio-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.inicio-titulo h1{margin:0;color:#17324d;font-size:1.15rem;font-weight:700}
.inicio-titulo span{display:block;margin-top:.15rem;color:#6c8195;font-size:.78rem}
.inicio-acciones{display:flex;align-items:center;gap:.5rem}
.inicio-fecha{width:auto}
.inicio-fecha .input-group-text{background:#fff;border-color:#dbe5ef;color:#52697f}
.inicio-fecha .form-control{border-color:#dbe5ef;color:#17324d;font-size:.82rem}
.inicio-acciones .btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:8px}

.inicio-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.inicio-kpi{display:flex;align-items:center;gap:.85rem;padding:1.05rem 1.15rem;border:1px solid #dbe5ef;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(6,40,95,.05);text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.inicio-kpi:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(6,40,95,.08)}
.inicio-kpi:focus{outline:0;box-shadow:0 0 0 3px rgba(11,114,197,.18)}
.inicio-kpi-icono{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;font-size:1.3rem}
.inicio-kpi-datos{min-width:0;flex:1}
.inicio-kpi-datos small{display:block;color:#6c8195;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.inicio-kpi-datos strong{display:block;margin-top:.15rem;color:#17324d;font-size:1.5rem;line-height:1.1;font-weight:700}
.inicio-kpi-meta{display:inline-flex;align-items:center;gap:.25rem;margin-top:.25rem;padding:.1rem .45rem;border-radius:10px;background:#e7f7ef;color:#1e9e6a;font-size:.68rem;font-weight:600}
.inicio-kpi-primario .inicio-kpi-icono{background:#e7f2fb;color:#0b72c5}
.inicio-kpi-advertencia .inicio-kpi-icono{background:#fdf1d7;color:#c5870f}
.inicio-kpi-info .inicio-kpi-icono{background:#e2f1f5;color:#127c8a}
.inicio-kpi-exito .inicio-kpi-icono{background:#e7f7ef;color:#1e9e6a}

.inicio-graficas-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.75rem;margin-bottom:1rem}
.inicio-listas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.inicio-card{display:flex;flex-direction:column;min-width:0;padding:.9rem 1rem 1rem;border:1px solid #dbe5ef;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(6,40,95,.05)}
.inicio-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.inicio-card-header strong{color:#17324d;font-size:.88rem}
.inicio-card-header span{color:#6c8195;font-size:.72rem}
.inicio-ver-todas{display:inline-flex;align-items:center;gap:.2rem;color:#0b72c5;font-size:.74rem;font-weight:600;text-decoration:none}
.inicio-ver-todas:hover{color:#075a9c;text-decoration:none}
.inicio-grafica-contenedor{position:relative;width:100%;height:240px}
.inicio-grafica-donut{height:220px}

.inicio-tabla-contenedor{overflow-x:auto}
.inicio-tabla{width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}
.inicio-tabla thead th{padding:.45rem .55rem;border-bottom:1px solid #e2e8f0;background:#f8fbff;color:#52697f;font-size:.66rem;font-weight:700;text-transform:uppercase;text-align:left}
.inicio-tabla tbody td{padding:.55rem;border-bottom:1px solid #edf2f7;color:#17324d;vertical-align:middle}
.inicio-tabla tbody tr{cursor:pointer;transition:background-color .12s ease}
.inicio-tabla tbody tr:hover{background:#f0f7fd}
.inicio-tabla tbody tr:last-child td{border-bottom:0}
.inicio-tabla td:first-child{display:flex;align-items:center;gap:.5rem}
.inicio-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#e7f2fb;color:#0b72c5;flex:0 0 30px}
.inicio-celda-datos{min-width:0}
.inicio-celda-datos strong{display:block;font-size:.8rem;color:#17324d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inicio-celda-datos small{display:block;color:#6c8195;font-size:.68rem}
.inicio-vacio{padding:1.4rem;color:#7b8da0;font-size:.78rem;text-align:center}

.inicio-atencion{padding:.9rem 1rem;border:1px solid #dbe5ef;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(6,40,95,.05)}
.inicio-atencion-titulo{margin-bottom:.55rem;color:#17324d;font-size:.85rem;font-weight:700}
.inicio-atencion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.inicio-atencion-pill{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid #dbe5ef;border-radius:8px;background:#fff;color:#17324d;text-align:left;cursor:pointer;transition:background-color .15s ease}
.inicio-atencion-pill:hover{background:#f0f7fd}
.inicio-pill-icono{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex:0 0 34px;font-size:1rem}
.inicio-pill-numero{font-size:1.1rem;font-weight:700}
.inicio-pill-texto{flex:1;color:#52697f;font-size:.78rem}
.inicio-pill-chevron{color:#8a9cb0}
.inicio-pill-info .inicio-pill-icono{background:#e2f1f5;color:#127c8a}
.inicio-pill-advertencia .inicio-pill-icono{background:#fdf1d7;color:#c5870f}
.inicio-pill-peligro .inicio-pill-icono{background:#fde7e7;color:#b53636}

@media (max-width:1199.98px){
    .inicio-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inicio-graficas-grid,.inicio-listas-grid{grid-template-columns:1fr}
    .inicio-atencion-grid{grid-template-columns:1fr}
}
@media (max-width:767.98px){
    .inicio-toolbar{flex-direction:column;align-items:stretch}
    .inicio-acciones{justify-content:space-between}
    .inicio-kpi-grid{grid-template-columns:1fr}
    .inicio-grafica-contenedor{height:220px}
    .inicio-pill-texto{font-size:.74rem}
}

.chat-comunicaciones{display:grid;grid-template-columns:320px minmax(0,1fr);gap:.75rem;height:100%;min-height:0}
.chat-comunicaciones.contexto-abierto{grid-template-columns:320px minmax(0,1fr) 280px}
.chat-comunicaciones .chat-contexto-panel{display:none}
.chat-comunicaciones.contexto-abierto .chat-contexto-panel{display:flex}
.chat-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid #dbe5ef;border-radius:6px;background:#fff;box-shadow:0 3px 10px rgba(6,40,95,.05)}
.chat-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:64px;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff}
.chat-panel-header strong{display:block;color:#17324d;font-size:.9rem}
.chat-panel-header span{display:block;color:#6c8195;font-size:.72rem}
.chat-detalle-acciones{display:flex;align-items:center;gap:.45rem}
.chat-detalle-acciones .btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0}
.chat-titulo{display:flex;align-items:center;min-width:0;gap:.55rem}
.chat-titulo-icono{display:flex!important;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:6px;background:#e7f2fb;color:#0b72c5;font-size:1rem}
.chat-titulo strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-header-acciones{display:flex;align-items:center;gap:.4rem}
.chat-header-acciones .btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0}
.chat-filtros{display:grid;grid-template-columns:1fr;gap:.5rem;padding:.75rem;border-bottom:1px solid #edf2f7}
.chat-tabs{display:flex;gap:.25rem;overflow-x:auto}
.chat-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:0;border-radius:6px;background:transparent;color:#6c8195;font-size:.76rem;font-weight:600;white-space:nowrap;cursor:pointer;outline:0!important}
.chat-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 .35rem;border-radius:9px;background:#e2e8f0;color:#52697f;font-size:.66rem}
.chat-tab:hover{background:#eef7ff}
.chat-tab.active{background:#0b72c5;color:#fff}
.chat-tab.active span{background:rgba(255,255,255,.25);color:#fff}
.chat-lista,.chat-mensajes,.chat-contexto{min-height:0;overflow:auto}
.chat-lista{display:flex;flex-direction:column}
.chat-conversacion{display:grid;grid-template-columns:38px minmax(0,1fr)auto;gap:.65rem;align-items:center;width:100%;padding:.75rem;border:0;border-bottom:1px solid #edf2f7;background:#fff;text-align:left;outline:0!important;box-shadow:none!important}
.chat-conversacion:hover,.chat-conversacion.active{background:#eef7ff}
.chat-conversacion.nueva{background:#fff8e8}
.chat-conversacion.nueva:not(.active){box-shadow:inset 3px 0 0 #f59e0b!important}
.chat-conversacion:focus,.chat-conversacion:active{outline:0!important;box-shadow:inset 3px 0 0 #0b72c5!important}
.chat-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#e7f2fb;color:#0b72c5}
.chat-conversacion-info{min-width:0}
.chat-conversacion-info strong,.chat-conversacion-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-conversacion-info strong{color:#17324d;font-size:.82rem}
.chat-conversacion-info small,.chat-conversacion-meta small{color:#6c8195;font-size:.7rem}
.chat-conversacion-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}
.chat-mensajes{display:flex;flex:1;flex-direction:column;gap:.6rem;padding:1rem;background:#f8fbff}
.chat-mensaje{display:flex;justify-content:flex-start}
.chat-mensaje.saliente{justify-content:flex-end}
.chat-mensaje.sistema{justify-content:center}
.chat-mensaje.resaltado .chat-burbuja{box-shadow:0 0 0 3px rgba(11,114,197,.25)}
.chat-burbuja{max-width:72%;padding:.65rem .75rem;border-radius:8px;background:#fff;border:1px solid #dbe5ef;color:#17324d}
.chat-avatar-grupo{background:#e8f7ee;color:#1a7f4b}
.chat-burbuja-remitente{display:block;margin-bottom:.15rem;color:#0b72c5;font-weight:700;font-size:.72rem}
.chat-ctx-participante{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.chat-mensaje.saliente .chat-burbuja{background:#e7f2fb;border-color:#c6e0f5}
.chat-mensaje.sistema .chat-burbuja{display:inline-flex;align-items:center;gap:.45rem;max-width:90%;padding:.4rem .75rem;border-radius:14px;background:#f1f5f9;border-color:#e2e8f0;color:#53677a}
.chat-mensaje.sistema .chat-burbuja p{margin:0}
.chat-evento-icono{flex:0 0 auto;font-size:.85rem;color:#8a9cb0}
.chat-separador-fecha{display:flex;justify-content:center;margin:.25rem 0}
.chat-separador-fecha span{padding:.2rem .6rem;border-radius:10px;background:#e7eef6;color:#53677a;font-size:.68rem;font-weight:600}
.chat-burbuja-meta{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;margin-top:.1rem}
.chat-check{font-size:.78rem;color:#9aa7b4}
.chat-check.leido{color:#34b7f1}
.chat-mensaje.error .chat-burbuja{background:#fff1f2;border-color:#fecdd3}
.chat-burbuja p{margin:0 0 .3rem;white-space:pre-wrap;word-break:break-word}
.chat-burbuja small{display:block;color:#7b8da0;font-size:.68rem}
.chat-respuesta-previa{display:block;width:100%;padding:.35rem .45rem;margin-bottom:.4rem;border:0;border-left:3px solid #0b72c5;border-radius:5px;background:rgba(11,114,197,.08);color:#17324d;text-align:left;cursor:pointer}
.chat-respuesta-previa small{font-weight:700;color:#0b72c5}
.chat-respuesta-previa span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}
.chat-burbuja-acciones{display:flex;justify-content:flex-end;margin-top:.15rem}
.chat-burbuja-acciones .btn{padding:0;color:#0b72c5;font-size:.7rem;text-decoration:none}
.chat-burbuja-archivo{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;margin-bottom:.35rem;border-radius:6px;background:rgba(11,114,197,.08);color:#17324d}
.chat-mensaje.saliente .chat-burbuja-archivo{background:rgba(11,114,197,.15)}
.chat-burbuja-archivo>svg{flex:0 0 auto;font-size:1.4rem;color:#0b72c5}
.chat-burbuja-archivo-info{display:flex;flex-direction:column;min-width:0;flex:1}
.chat-burbuja-archivo-info strong{font-size:.78rem;word-break:break-all;line-height:1.2}
.chat-burbuja-archivo-info small{color:#6c8195;font-size:.65rem}
.chat-burbuja-archivo-descargar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border-radius:6px;color:#0b72c5;background:transparent;text-decoration:none}
.chat-burbuja-archivo-descargar:hover{background:rgba(11,114,197,.15);color:#085da0}
.chat-burbuja-imagen{display:block;margin-bottom:.35rem;border-radius:6px;overflow:hidden;max-width:260px;cursor:zoom-in}
.chat-burbuja-imagen img{display:block;width:100%;height:auto;max-height:280px;object-fit:cover;background:#e7eef6}
.chat-multimedia-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}
.chat-multimedia-imagen{flex:0 0 auto;width:90px;height:90px;border-radius:8px;overflow:hidden;background:#e7eef6;display:flex;align-items:center;justify-content:center}
.chat-multimedia-imagen img{width:100%;height:100%;object-fit:cover}
.chat-multimedia-archivo{flex:0 0 auto;width:90px;height:90px;border-radius:8px;background:#e7f2fb;color:#0b72c5;display:flex;align-items:center;justify-content:center}
.chat-multimedia-info{display:flex;flex-direction:column;min-width:0;gap:.2rem}
.chat-multimedia-info strong{font-size:.85rem;word-break:break-all;line-height:1.2;color:#17324d}
.chat-multimedia-info small{color:#6c8195;font-size:.7rem}
.chat-composer{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-top:1px solid #e2e8f0;background:#fff}
.chat-respuesta-composer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border-left:3px solid #0b72c5;border-radius:6px;background:#eef7ff;color:#17324d}
.chat-respuesta-composer div{min-width:0}
.chat-respuesta-composer small{display:block;color:#0b72c5;font-weight:700;font-size:.68rem}
.chat-respuesta-composer strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.chat-composer-texto{border-radius:8px;border-color:#dbe5ef}
.chat-composer-acciones{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.chat-composer-iconos{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;flex:1;min-width:0}
.chat-composer-icono{display:inline-flex!important;align-items:center;gap:.3rem;height:34px;padding:0 .55rem;border:1px solid #e2e8f0;background:#fff;color:#52697f;font-size:.78rem;border-radius:6px;box-shadow:none}
.chat-composer-icono:hover:not(:disabled){background:#eef7ff;color:#0b72c5;border-color:#cfe3f5}
.chat-composer-icono:disabled{opacity:.55;cursor:not-allowed}
.chat-composer-icono-texto{white-space:nowrap}
.chat-composer-emoji-control{position:relative}
.chat-selector-emojis{position:absolute;bottom:calc(100% + .35rem);left:0;z-index:20;width:360px;max-width:calc(100vw - 2rem);padding:.55rem;border:1px solid #cbd8e6;border-radius:5px;background:#fff;box-shadow:0 8px 22px rgba(23,50,77,.18)}
.chat-emoji-buscador{display:flex;align-items:center;gap:.35rem;margin-bottom:.45rem}
.chat-emoji-buscador>svg{color:#7b8da0}
.chat-emoji-buscador .form-control{flex:1}
.chat-emoji-buscador .btn{width:30px;height:30px;padding:0;color:#52697f}
.chat-emojis-lista{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.2rem;max-height:230px;overflow-x:hidden;overflow-y:auto}
.chat-emojis-lista button{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;aspect-ratio:1;overflow:hidden;border:0;border-radius:4px;background:transparent;font-size:1.25rem;line-height:1}
.chat-emojis-lista button:hover{background:#eaf3fb}
.chat-emojis-vacio{padding:1rem;color:#7b8da0;font-size:.7rem;text-align:center}
.chat-composer-enviar{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 1rem;margin-left:auto;border-radius:8px}
@media (max-width:767.98px){
    .chat-composer-icono-texto{display:none}
    .chat-composer-icono{padding:0 .55rem}
    .chat-selector-emojis{position:fixed;right:.75rem;bottom:90px;left:.75rem;top:auto;width:auto;max-width:none}
    .chat-emojis-lista{grid-template-columns:repeat(7,1fr);max-height:250px}
}
.chat-sin-seleccion,.chat-vacio{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:1rem;text-align:center}
.chat-sin-seleccion span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#e7f2fb;color:#0b72c5;font-size:1.6rem}
.chat-sin-seleccion strong{margin-top:.75rem;color:#17324d}
.chat-sin-seleccion p{color:#6c8195}
.chat-contexto{padding:1rem}
.chat-contexto>div{padding:.65rem 0;border-bottom:1px solid #edf2f7}
.chat-contexto>.chat-ctx-card{padding:.85rem;border-bottom:0}
.chat-contexto>.chat-ctx-seccion{padding:0;border-bottom:0}
.chat-contexto small{display:block;color:#6c8195;font-size:.7rem}
.chat-contexto strong{display:block;color:#17324d;font-size:.82rem;word-break:break-word}
.chat-ctx-card{padding:.85rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fbff;margin-bottom:.5rem}
.chat-ctx-card-top{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem}
.chat-ctx-card-top .chat-avatar{flex:0 0 40px;width:40px;height:40px}
.chat-ctx-card-datos{flex:1;min-width:0}
.chat-ctx-card-datos>strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-ctx-editar{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}
.chat-ctx-editar .form-control{min-width:0}
.chat-ctx-editar .btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:31px;padding:0}
.chat-ctx-dato{padding:.4rem 0;border-top:1px solid #edf2f7}
.chat-ctx-dato strong{font-size:.8rem}
.chat-ctx-cliente{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}
.chat-ctx-cliente>div{min-width:0}
.chat-ctx-seccion{border-top:1px solid #edf2f7}
.chat-ctx-seccion-cabecera{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem 0;border:0;background:transparent;color:#17324d;font-size:.8rem;font-weight:700;cursor:pointer;outline:0!important}
.chat-ctx-seccion-cabecera.estatica{cursor:default}
.chat-ctx-chevron{transition:transform .2s ease;color:#8a9cb0}
.chat-ctx-seccion-cabecera.collapsed .chat-ctx-chevron{transform:rotate(-90deg)}
.chat-ctx-seccion-cuerpo{padding-bottom:.5rem}
.chat-ctx-label{margin-bottom:.2rem}
.chat-ctx-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.chat-ctx-chip{padding:.2rem .55rem;border-radius:12px;background:#e7f2fb;color:#0b72c5;font-size:.72rem;font-weight:600}
.chat-asignacion{display:grid;grid-template-columns:minmax(0,1fr)34px;gap:.4rem;margin-top:.25rem}
.chat-asignacion .btn{display:flex;align-items:center;justify-content:center;width:34px;height:31px;padding:0}
.chat-detalle-identidad{display:flex;align-items:center;gap:.6rem;min-width:0}
.chat-detalle-identidad .chat-avatar{display:flex;flex:0 0 38px;color:#0b72c5;font-size:1rem}
.chat-detalle-datos{min-width:0}
.chat-detalle-datos strong{display:block;color:#17324d;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-detalle-datos span{display:block;color:#6c8195;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-estado-badge{text-transform:capitalize}
.chat-volver,.chat-contexto-cerrar,.chat-overlay{display:none}
.chat-volver,.chat-contexto-cerrar{align-items:center;justify-content:center;width:32px;height:32px;padding:0}

@media (max-width:1199.98px){
    .chat-comunicaciones,.chat-comunicaciones.contexto-abierto{grid-template-columns:300px minmax(0,1fr)}
    .chat-contexto-cerrar{display:inline-flex}
    .chat-comunicaciones .chat-contexto-panel{display:flex;position:fixed;top:0;right:0;z-index:1050;width:340px;max-width:88vw;height:100%;border-radius:0;transform:translateX(100%);transition:transform .25s ease}
    .chat-contexto-panel.abierto{transform:translateX(0)}
    .chat-overlay{display:block;position:fixed;inset:0;z-index:1040;background:rgba(15,32,53,.4)}
}
@media (max-width:767.98px){
    .menu-sistema ~ .seccion-listado{overflow-y:auto}
    .chat-comunicaciones{display:block;height:100%}
    .chat-lista-panel,.chat-mensajes-panel{height:100%}
    .chat-volver{display:inline-flex}
    .vista-movil-lista .chat-mensajes-panel{display:none}
    .vista-movil-chat .chat-lista-panel{display:none}
    .chat-comunicaciones .chat-contexto-panel{width:88vw;max-width:none}
    .chat-burbuja{max-width:88%}
}

.sinEspacio{ white-space: nowrap; } 
.sinEspacio>td{ white-space: nowrap; } 
.sinEspacio>th{ white-space: nowrap; } 
.b-table-new-height{ max-height: 100%; }
.tabla-wrap table { table-layout: fixed !important;   /* Permite que width funcione */ }
.tabla-wrap td { white-space: normal; word-break: break-word; }
.tabla-busqueda-cliente table{min-width:620px;table-layout:fixed!important}
.tabla-busqueda-cliente th,.tabla-busqueda-cliente td{white-space:nowrap!important;word-break:normal!important;vertical-align:middle}
.tabla-busqueda-cliente td:first-child,.tabla-busqueda-cliente th:first-child{width:300px!important}
.tabla-busqueda-cliente td:nth-child(2),.tabla-busqueda-cliente th:nth-child(2){width:140px!important;text-align:center}
.tabla-busqueda-cliente td:nth-child(3),.tabla-busqueda-cliente th:nth-child(3){width:130px!important;text-align:center}
.tabla-busqueda-cliente td:nth-child(4),.tabla-busqueda-cliente th:nth-child(4){width:90px!important;text-align:center}
.pac-container{z-index:20000!important}
.modal-crud .input-group-sm>.form-control:not(textarea),
.modal-crud .input-group-sm>.custom-select,
.modal-crud .input-group-sm>.input-group-append>.btn,
.modal-crud .input-group-sm>.input-group-prepend>.btn{height:34px!important;font-size:.78rem}

.line-height-1 { line-height: 1 !important; }
.hide-overflow-x { overflow-x: hidden; }
.error-campo { color: #842029!important; background-color: #f8d7da!important; border-color: #f5c2c7!important;}

.w-label-35 { width: 35px; }
.w-label-40 { width: 40px; }
.w-label-50 { width: 50px; }
.w-label-60 { width: 60px; }
.w-label-70 { width: 70px; }
.w-label-75 { width: 75px; }
.w-label-80 { width: 80px; }
.w-label-90 { width: 90px; }
.w-label-100 { width: 100px; }
.w-label-105 { width: 105px; }
.w-label-110 { width: 110px; }
.w-label-115 { width: 115px; }
.w-label-120 { width: 120px; }
.w-label-130 { width: 130px; }
.w-label-140 { width: 140px; }
.w-label-150 { width: 150px; }
.w-label-160 { width: 160px; }
.w-label-170 { width: 170px; }
.w-label-180 { width: 180px; }
.w-label-190 { width: 190px; }
.w-label-200 { width: 200px; }

.th-size-500 { width: 500px !important}
.th-size-450 { width: 450px !important}
.th-size-400 { width: 400px !important}
.th-size-350 { width: 350px !important}
.th-size-300 { width: 300px !important}
.th-size-290 { width: 290px !important}
.th-size-280 { width: 280px !important}
.th-size-270 { width: 270px !important}
.th-size-260 { width: 260px !important}
.th-size-250 { width: 250px !important}
.th-size-240 { width: 240px !important}
.th-size-230 { width: 230px !important}
.th-size-220 { width: 220px !important}
.th-size-210 { width: 210px !important}
.th-size-200 { width: 200px !important}
.th-size-190 { width: 190px !important}
.th-size-180 { width: 180px !important}
.th-size-170 { width: 170px !important}
.th-size-160 { width: 160px !important}
.th-size-150 { width: 150px !important}
.th-size-140 { width: 140px !important}
.th-size-130 { width: 130px !important}
.th-size-120 { width: 120px !important}
.th-size-110 { width: 110px !important}
.th-size-100 { width: 100px !important}
.th-size-95 { width: 95px !important}
.th-size-90 { width: 90px !important}
.th-size-85 { width: 85px !important}
.th-size-80 { width: 80px !important}
.th-size-75 { width: 75px !important}
.th-size-70 { width: 70px !important}
.th-size-65 { width: 65px !important}
.th-size-60 { width: 60px !important}
.th-size-55 { width: 50px !important}
.th-size-50 { width: 50px !important}
.th-size-40 { width: 40px !important}
.th-size-30 { width: 30px !important}
.th-size-20 { width: 20px !important}
.th-size-10 { width: 10px !important}

.vh-90 { height: 90vh; }
.h-90 { height: 90%; }
.h-85 { height: 85%; }
.h-80 { height: 80%; }

#modalGestionCuenta>div>div>div { padding: 0px; }
#modalGestionCuentaApp>div>div>div { padding: 0px; }
.modal-body { padding: 0px; }

.altoSeparacionesPlantilla{ height: 50vh; overflow-y: auto;}
.fondoVistaPreviaWhatsApp { position: relative; background-color: #e5ddd5; }
.mensajeVistaPreviaWhatsapp { white-space: pre-line; min-width: 6rem; font-size: 14.2px; line-height: 19px; box-shadow: 0 1px 0.5px rgba(0, 0, 0, .13); color: black; min-height: 3rem; }
.tituloMensajeWhatsApp { font-size: 1rem; margin-bottom: 10px; }
.piePaginaMensajeWhatsApp { color: #00000073; font-size: 13px; line-height: 17px; margin-top: 5px; }
.contentBotonChatWhatsApp{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    align-items: center;
    color: #00a5f4;
    column-gap: 4px;
    font-size: 14px;
    height: 44px;
    line-height: 20px;
    min-width: 240px;
    white-space: pre-wrap;
}

/* Matriz de modulos y permisos del rol */
.modal-rol-dialogo{max-width:1100px}
.rol-matriz{display:flex;flex-direction:column;gap:.5rem}
.rol-matriz-modulo{border:1px solid #e2e8f0;border-radius:6px;background:#fff;overflow:hidden}
.rol-matriz-cabecera{display:flex;align-items:center;gap:.75rem;margin:0;padding:.6rem .75rem;background:#f8fafc;border-bottom:1px solid #eef2f6;cursor:pointer;user-select:none}
.rol-matriz-cabecera:hover{background:#f1f5f9}
.rol-matriz-cabecera.lectura{cursor:default}
.rol-matriz-input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#0b72c5;cursor:pointer}
.rol-matriz-input:disabled{cursor:default}
.rol-matriz-modulo-info{display:flex;flex-direction:column;gap:.1rem;line-height:1.2;flex:1;min-width:0}
.rol-matriz-modulo-info strong{color:#17324d;font-size:.85rem}
.rol-matriz-modulo-info small{color:#6c8195;font-size:.7rem}
.rol-matriz-permisos{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .75rem}
.rol-matriz-grupo{display:flex;flex-direction:column;gap:.3rem}
.rol-matriz-label{color:#6c8195;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.rol-matriz-chips{display:flex;flex-wrap:wrap;gap:.3rem}
.rol-matriz-chip{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:14px;background:#eef2f6;color:#6c8195;font-size:.72rem;cursor:pointer;border:1px solid transparent;transition:all .15s;user-select:none}
.rol-matriz-chip:hover{background:#e0e7ee}
.rol-matriz-chip.activo{background:#cfe3f5;color:#0b72c5;border-color:#a8cdec;font-weight:600}
.rol-matriz-chip.adicional.activo{background:#fef3c7;color:#a16207;border-color:#fde0a3}
.rol-matriz-chip.lectura{cursor:default;opacity:.85}
.rol-matriz-chip>svg{font-size:.85rem}

/* Selector de estado de conexion del agente (barra superior) */
.barra-estado-conexion .barra-estado-toggle{display:flex!important;align-items:center;gap:.4rem;padding:.3rem .6rem!important;border:1px solid #dbe5ef;border-radius:6px;color:#17324d!important;text-decoration:none!important;background:#f8fafc}
.barra-estado-conexion .barra-estado-toggle:hover{background:#eef6fc}
.barra-estado-texto{font-size:.78rem;font-weight:600;white-space:nowrap}
.barra-estado-contador{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 .35rem;border-radius:9px;background:#0b72c5;color:#fff;font-size:.65rem;font-weight:700}
@media (max-width:767.98px){ .barra-estado-texto{display:none} }

/* Agenda de agendamiento */
.agenda-resumen{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:.65rem .85rem;border:1px solid #dbe5ef;border-radius:6px;background:#fff}
.agenda-resumen strong{font-size:1.25rem;color:#17324d}
.agenda-resumen span{font-size:.76rem;font-weight:600;color:#6c8195;text-transform:uppercase}
.agenda-resumen-disponible{border-left:4px solid #22a06b}
.agenda-resumen-ocupada{border-left:4px solid #f59e0b}
.agenda-resumen-sin-horario{border-left:4px solid #94a3b8}
.agenda-contenido{height:calc(100% - 176px);min-height:0}
.agenda-contenido .listado-panel{min-height:0}
.agenda-grid{display:flex;flex:1;gap:.75rem;min-height:0;padding:.75rem;overflow-x:auto;overflow-y:hidden}
.agenda-columna{display:flex;flex:0 0 calc((100% - 2.25rem) / 4);min-width:280px;min-height:0;flex-direction:column;border:1px solid #dbe5ef;border-radius:6px;background:#fff;overflow:hidden}
.agenda-especialista{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .75rem;background:#f1f7fd;border-bottom:1px solid #dbe5ef}
.agenda-especialista strong{font-size:.85rem;color:#17324d}
.agenda-especialista span{font-size:.72rem;color:#6c8195}
.agenda-sesiones{flex:1;min-height:0;overflow-y:auto;padding:.55rem}
.agenda-sin-horario{padding:.75rem;color:#6c8195;font-size:.78rem;text-align:center}
.agenda-sesion{margin-bottom:.55rem;padding:.55rem;border-radius:6px;border:1px solid #dbe5ef}
.agenda-sesion:last-child{margin-bottom:0}
.agenda-sesion-disponible{cursor:pointer}
.agenda-sesion-disponible:hover{border-color:#22a06b;box-shadow:0 2px 8px rgba(34,160,107,.12)}
.agenda-sesion-bloqueada{cursor:not-allowed;opacity:.72}
.agenda-sesion-bloqueada:hover{border-color:#bdebd4;box-shadow:none}
.agenda-sesion-disponible{background:#f0fdf7;border-color:#bdebd4}
.agenda-sesion-ocupada{background:#fff7ed;border-color:#fed7aa}
.agenda-sesion-hora{font-size:.82rem;font-weight:700;color:#17324d}
.agenda-sesion-estado{font-size:.7rem;font-weight:600;color:#6c8195;text-transform:uppercase}
.agenda-cita{position:relative;margin-top:.4rem;padding:.45rem 2.2rem .45rem .45rem;border-radius:5px;background:#fff;border:1px solid #e2e8f0;cursor:pointer}
.agenda-cita:hover{border-color:#0b72c5;box-shadow:0 2px 8px rgba(11,114,197,.1)}
.agenda-cita-bloqueada{cursor:default;opacity:.8}
.agenda-cita-bloqueada:hover{border-color:#e2e8f0;box-shadow:none}
.agenda-cita strong{display:block;font-size:.76rem;color:#17324d;line-height:1.25}
.agenda-cita span{font-size:.68rem;color:#6c8195}
.agenda-cita-ver{position:absolute;top:.25rem;right:.25rem;width:26px;height:26px;padding:0!important;color:#0b72c5}
@media (max-width:1199.98px){.agenda-contenido{height:calc(100% - 238px)}.agenda-columna{flex-basis:calc((100% - .75rem) / 2)}}
@media (max-width:991.98px){.horario-toolbar{align-items:flex-start;flex-direction:column}.horario-distribucion{grid-template-columns:1fr}}
@media (max-width:767.98px){.agenda-contenido{height:auto;min-height:420px}.agenda-grid{padding:.5rem}.agenda-columna{flex-basis:92%;min-width:260px}.agenda-resumen{min-height:46px}.agenda-resumen strong{font-size:1.05rem}}
@media (max-width:575.98px){.horario-dia{min-height:46px}.horario-toolbar-acciones{width:100%}.horario-mes{flex:1}}
