
/* CRM UI MODERNO - VISIBLE V2 */
:root{
  --crm-green:#1f6b3a;
  --crm-green-dark:#123522;
  --crm-green-soft:#ecf7ef;
  --crm-bg:#eef3f6;
  --crm-border:#dce8dd;
  --crm-text:#132238;
  --crm-muted:#667085;
  --crm-card:#ffffff;
  --crm-shadow:0 12px 34px rgba(22,32,51,.08);
  --crm-radius:18px;
}
*{box-sizing:border-box;}
body.crm-modern-ui{
  margin:0;
  color:var(--crm-text);
  background:
    radial-gradient(circle at top left,rgba(31,107,58,.14),transparent 28%),
    linear-gradient(135deg,#f6faf7 0%,#eef3f6 55%,#eaf0f2 100%)!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:14px;
}
.app-shell{min-height:100vh;display:flex;}
.sidebar{
  width:258px!important;
  position:fixed;left:0;top:0;bottom:0;
  padding:18px 14px!important;
  color:#fff;
  background:linear-gradient(180deg,#123522 0%,#1f6b3a 72%,#174a2b 100%)!important;
  box-shadow:12px 0 36px rgba(18,53,34,.22)!important;
  z-index:1000;
}
.brand{display:flex;gap:12px;align-items:center;padding:4px 6px 18px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.2);}
.brand-icon{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-weight:900;letter-spacing:-.8px;}
.brand-name{font-weight:900;letter-spacing:.35px;}
.brand small{color:rgba(255,255,255,.76);}
.sidebar-nav{display:flex;flex-direction:column;gap:8px;}
.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;color:#fff!important;text-decoration:none!important;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-weight:700;transition:all .18s ease;}
.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.28);transform:translateX(4px);}
.nav-icon{width:25px;height:25px;border-radius:9px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:12px;font-weight:900;}
.sidebar-logo{position:absolute;left:16px;right:16px;bottom:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);font-size:22px;line-height:1;font-weight:900;color:rgba(255,255,255,.92);}
.sidebar-logo span{font-size:13px;letter-spacing:1px;color:rgba(255,255,255,.7);}
.content{margin-left:258px!important;width:calc(100% - 258px)!important;padding:0 18px 28px!important;}
.topbar{min-height:66px!important;padding:12px 18px!important;background:rgba(255,255,255,.94)!important;border:1px solid var(--crm-border)!important;border-top:0!important;box-shadow:var(--crm-shadow)!important;border-radius:0 0 18px 18px!important;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:900;backdrop-filter:blur(10px);}
.topbar strong{font-size:16px;color:var(--crm-green-dark);}
.topbar-user{display:flex;align-items:center;gap:8px;}
.page-card{background:transparent!important;padding:18px 0 0!important;}
.d-flex.justify-content-between.align-items-center.mb-4:first-child{background:linear-gradient(135deg,#fff 0%,#f6fbf7 100%);border:1px solid var(--crm-border);border-radius:var(--crm-radius);padding:18px;box-shadow:var(--crm-shadow);}
h2.mb-0{font-weight:900;color:#132238;letter-spacing:-.5px;}
.card{border:1px solid var(--crm-border)!important;border-radius:var(--crm-radius)!important;box-shadow:var(--crm-shadow)!important;overflow:hidden;background:var(--crm-card)!important;}
.card-body{padding:18px!important;}
.form-control,.form-select{border-radius:12px!important;border-color:#cfe0d2!important;min-height:40px;}
.form-control:focus,.form-select:focus{border-color:var(--crm-green)!important;box-shadow:0 0 0 .22rem rgba(31,107,58,.12)!important;}
.btn{border-radius:11px!important;font-weight:700!important;}
.btn-success{background:#1f6b3a!important;border-color:#1f6b3a!important;box-shadow:0 8px 18px rgba(31,107,58,.18);}
.btn-outline-success{color:#1f6b3a!important;border-color:#1f6b3a!important;}
.btn-outline-success:hover{background:#1f6b3a!important;color:#fff!important;}
.table-responsive{border-radius:var(--crm-radius);}
.table{font-size:13px;}
.table thead th{background:#f1f7f2!important;color:#184f2b!important;border-bottom:1px solid var(--crm-border)!important;padding:14px!important;text-transform:uppercase;font-size:11px;letter-spacing:.35px;font-weight:900;white-space:nowrap;}
.table tbody td{padding:14px!important;border-color:#edf2ee!important;vertical-align:middle!important;}
.table tbody tr{transition:background .16s ease,transform .16s ease;}
.table tbody tr:hover{background:#fbfdfb!important;}
.badge{border-radius:999px!important;padding:6px 10px!important;font-weight:800!important;}
.badge.bg-success{background:#1f6b3a!important;}
.badge-estado-confirmado,.estado-confirmado{background:#198754!important;color:#fff!important;}
.badge-estado-declinado,.estado-declinado{background:#dc3545!important;color:#fff!important;}
.badge-estado-pendiente,.estado-pendiente{background:#6f42c1!important;color:#fff!important;}
.badge-estado-vigente,.estado-vigente{background:#f4c542!important;color:#212529!important;}
.acciones-cotizacion{min-width:180px!important;}
.accion-botones .btn{margin-top:0!important;}
.modal-content{border:0!important;border-radius:20px!important;box-shadow:0 20px 70px rgba(19,34,56,.24)!important;}
.modal-header{border-radius:20px 20px 0 0!important;}
.crm-kpi{border:1px solid var(--crm-border);border-radius:20px;background:#fff;box-shadow:var(--crm-shadow);padding:18px;position:relative;overflow:hidden;}
.crm-kpi:before{content:"";position:absolute;right:-24px;top:-24px;width:92px;height:92px;border-radius:50%;background:rgba(31,107,58,.10);}
.crm-kpi small{color:var(--crm-muted);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.35px;}
.crm-kpi .value{font-size:28px;font-weight:900;color:#132238;line-height:1.1;margin-top:6px;}
.crm-panel{border:1px solid var(--crm-border);border-radius:20px;background:#fff;box-shadow:var(--crm-shadow);padding:18px;}
.chart-bar{height:12px;border-radius:999px;background:#edf3ee;overflow:hidden;}
.chart-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1f6b3a,#6f42c1);}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}.content{margin-left:0!important;width:100%!important}.topbar{border-radius:0 0 18px 18px!important}}
@media(max-width:768px){.d-flex.justify-content-between.align-items-center.mb-4:first-child{flex-direction:column;align-items:flex-start!important;gap:12px}.topbar-user{display:none}}


/* Ajustes seguimiento de cotizaciones */
.acciones-cotizacion .btn{
  white-space:nowrap;
}
.acciones-cotizacion .selector-accion{
  min-width:170px;
}
.filters-card select[multiple]{
  overflow:hidden;
}


/* Corrección dropdown ejecutivo en filtros */
.filters-card,
.filters-card .card-body,
.page-card,
.table-card {
  overflow: visible !important;
}

.filters-card .dropdown-menu {
  z-index: 3000 !important;
  min-width: 100% !important;
  max-height: 340px !important;
  overflow-y: auto !important;
}


/* Ajustes solicitados - logo, fechas, montos y empresa secundaria */
.brand-logo{
  overflow:hidden;
  padding:0!important;
  background:rgba(255,255,255,.08)!important;
}
.brand-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.sidebar-footer strong{
  display:block;
  font-size:13px;
  line-height:1.2;
}
.sidebar-footer small{
  display:block;
  font-size:12px;
  opacity:.9;
  line-height:1.2;
}
.empresa-secundaria{
  display:block;
  color:#667085;
  font-size:12px;
  margin-top:4px;
}
.fecha-resumen{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:190px;
}
.fecha-linea{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:5px 8px;
  border-radius:10px;
  background:#f3f8f4;
  line-height:1.2;
}
.fecha-linea strong{
  color:#14592f;
}
.fecha-linea span{
  white-space:nowrap;
}
.monto-bs{
  font-weight:800;
  white-space:nowrap;
}


/* Login moderno CRM */
body.login-bg{
  min-height:100vh;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at top left,rgba(31,107,58,.20),transparent 28%),
    linear-gradient(135deg,#f6faf7 0%,#eef3f6 55%,#eaf0f2 100%)!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.login-card{
  width:min(440px,100%);
  background:#fff;
  border:1px solid #dce8dd;
  border-radius:22px;
  padding:32px;
  box-shadow:0 18px 45px rgba(22,32,51,.14);
}
.login-card h1{
  margin:0;
  font-size:32px;
  font-weight:900;
  color:#123522;
  letter-spacing:.5px;
}
.login-card p{
  margin:6px 0 24px;
  color:#667085;
  font-weight:600;
}
.login-card label{
  font-weight:700;
  color:#123522;
  margin-bottom:6px;
}
.login-card .form-control{
  border-radius:12px;
  border:1px solid #cfe2d3;
  min-height:44px;
}
.login-card .btn{
  min-height:46px;
  border-radius:12px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(31,107,58,.18);
}



/* EFECTO NEON BOTONES CRM */
.btn,
button,
a.btn,
input[type="submit"],
input[type="button"]{
    transition:
        transform .18s ease,
        box-shadow .22s ease,
        filter .22s ease,
        background .22s ease,
        border-color .22s ease !important;
}

.btn:hover,
button:hover,
a.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
    transform: translateY(-1px) scale(1.02);
    box-shadow:
        0 0 8px rgba(31,107,58,.45),
        0 0 16px rgba(31,107,58,.35),
        0 0 26px rgba(31,107,58,.22) !important;
    filter: brightness(1.04);
}

.btn-success:hover,
.btn-primary:hover,
.btn-outline-success:hover{
    box-shadow:
        0 0 10px rgba(40,167,69,.55),
        0 0 22px rgba(40,167,69,.42),
        0 0 36px rgba(40,167,69,.28) !important;
}

.btn-danger:hover,
.btn-outline-danger:hover{
    box-shadow:
        0 0 10px rgba(220,53,69,.55),
        0 0 22px rgba(220,53,69,.42),
        0 0 36px rgba(220,53,69,.28) !important;
}

.btn-warning:hover{
    box-shadow:
        0 0 10px rgba(255,193,7,.55),
        0 0 22px rgba(255,193,7,.42),
        0 0 36px rgba(255,193,7,.28) !important;
}

.btn:active,
button:active,
a.btn:active,
input[type="submit"]:active,
input[type="button"]:active{
    transform: scale(.96);
    box-shadow:
        0 0 14px rgba(255,255,255,.22),
        inset 0 0 12px rgba(255,255,255,.18),
        0 0 30px rgba(31,107,58,.35) !important;
}




/* Eventos & Espacios - Modificacion 1 */
.estado-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#fff;
  white-space:nowrap;
}
.estado-vigente{background:#f4c542!important;color:#212529!important;}
.estado-reservado{background:#0d6efd!important;color:#fff!important;}
.estado-programado{background:#6f42c1!important;color:#fff!important;}
.estado-confirmado{background:#198754!important;color:#fff!important;}
.estado-declinado{background:#dc3545!important;color:#fff!important;}
.estado-vencida{background:#6c757d!important;color:#fff!important;}
.estado-default{background:#6c757d!important;color:#fff!important;}

.reserva-fechas{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.reserva-fechas .fecha-linea{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f3f7f4;
  border-radius:10px;
  padding:5px 8px;
  line-height:1.2;
}
.reserva-fechas .fecha-linea strong{
  color:#14592f;
}
.reserva-fechas .fecha-evento{
  background:#e4f4e9;
  border-left:4px solid #198754;
}

.reserva-fechas .fecha-montaje{
  background:#fff7ed;
  border-left:4px solid #d97706;
}
.reserva-fechas .fecha-desmontaje{
  background:#f1f5f9;
  border-left:4px solid #64748b;
}


/* Acciones Eventos & Espacios */
.acciones-reserva{
  min-width:150px!important;
  width:150px;
}
.acciones-reserva-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.acciones-reserva-stack .btn{
  width:140px;
  white-space:nowrap;
  text-align:center;
}

/* Calendario de Eventos */
.calendario-card{overflow:visible;}
.calendario-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:16px;
}
.calendario-leyenda{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  font-size:12px;
  font-weight:700;
  color:#173f28;
}
.cal-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  margin-right:3px;
  border:1px solid rgba(0,0,0,.08);
}
.cal-sep{width:1px;height:16px;background:#c9dccd;display:inline-block;margin:0 4px;}
.calendario-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(135px, 1fr));
}
.calendario-dias-semana div{
  background:#f1f7f2;
  border:1px solid #dce8dd;
  color:#184f2b;
  font-size:12px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.35px;
  padding:10px;
}
.calendario-mes{border-left:1px solid #dce8dd;border-top:0;}
.cal-dia{
  min-height:170px;
  padding:8px;
  border-right:1px solid #dce8dd;
  border-bottom:1px solid #dce8dd;
  background:#fff;
  position:relative;
}
.cal-dia-vacio{background:#f8fbf8;}

.cal-dia-feriado{
  background:#f7f1ff!important;
  box-shadow:inset 0 0 0 2px rgba(139,92,246,.18);
}
.cal-feriado-label{
  display:inline-block;
  max-width:100%;
  margin:-2px 0 6px;
  padding:2px 7px;
  border-radius:999px;
  background:#ede4ff;
  color:#5b21b6;
  border:1px solid #d8c7ff;
  font-size:10px;
  font-weight:900;
  line-height:1.2;
}
.cal-dot-feriado{
  background:#a78bfa!important;
}

.cal-dia-hoy{background:#eefaf2;box-shadow:inset 0 0 0 2px rgba(25,135,84,.24);}
.cal-dia-numero{
  font-weight:900;
  color:#123522;
  margin-bottom:6px;
}
.cal-evento{
  --stage:#198754;
  --stage-bg:#eefaf2;
  --state:#198754;
  width:100%;
  border:1px solid #dce8dd;
  border-left:6px solid var(--state);
  border-radius:10px;
  background:#ffffff;
  color:#173522;
  padding:7px 8px 8px;
  margin-bottom:5px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 6px;
  align-items:center;
  text-align:left;
  box-shadow:0 6px 14px rgba(22,32,51,.06);
  cursor:pointer;
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.cal-evento:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(22,32,51,.12);
  border-color:#b8d7bf;
}
.cal-evento-stage{
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.25px;
  color:var(--stage);
  background:var(--stage-bg);
  border:1px solid color-mix(in srgb, var(--stage) 22%, transparent);
  border-radius:999px;
  padding:2px 8px;
  white-space:nowrap;
}
.cal-evento-hora{font-size:10px;font-weight:900;color:#40564a;white-space:nowrap;justify-self:end;}
.cal-evento-titulo{grid-column:1 / -1;font-size:11px;font-weight:900;color:#123522;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cal-timebar{
  grid-column:1 / -1;
  display:block;
  height:4px;
  border-radius:999px;
  background:#e8f1eb;
  overflow:hidden;
  position:relative;
  margin-top:2px;
}
.cal-timebar span{
  position:absolute;
  top:0;
  bottom:0;
  border-radius:999px;
  background:var(--stage);
}
.cal-stage-montaje{--stage:#d97706;--stage-bg:#fff7ed;background:#d97706!important;color:#fff!important;}
.cal-stage-evento{--stage:#198754;--stage-bg:#e9f7ef;background:#198754!important;color:#fff!important;}
.cal-stage-desmontaje{--stage:#64748b;--stage-bg:#f1f5f9;background:#64748b!important;color:#fff!important;}
.cal-evento.cal-stage-montaje,
.cal-evento.cal-stage-evento,
.cal-evento.cal-stage-desmontaje{background:#fff!important;color:#173522!important;}
.cal-evento.cal-estado-vigente{--state:#f4c542;}
.cal-evento.cal-estado-reservado{--state:#0d6efd;}
.cal-evento.cal-estado-programado{--state:#6f42c1;}
.cal-evento.cal-estado-confirmado{--state:#198754;}
.cal-evento.cal-estado-pendiente-finalizar{--state:#ffc107;}
.cal-evento.cal-estado-finalizado{--state:#6c757d;}
.cal-evento.cal-estado-declinado{--state:#dc3545;}
.cal-tooltip{display:none!important;}
.cal-floating-tooltip{
  position:fixed;
  left:0;
  top:0;
  width:340px;
  max-width:calc(100vw - 24px);
  max-height:calc(100vh - 24px);
  overflow:auto;
  background:#102719;
  color:#fff;
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 18px 45px rgba(0,0,0,.30);
  z-index:2147483647;
  font-size:12px;
  line-height:1.45;
  pointer-events:none;
  text-transform:none;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,0,0);
}
.cal-floating-tooltip.is-visible{opacity:1;visibility:visible;}
.cal-tooltip-title{font-size:13px;font-weight:900;margin-bottom:6px;color:#c8f7d8;}
.cal-mas-eventos{
  font-size:11px;
  font-weight:900;
  color:#14592f;
  background:#e4f4e9;
  border-radius:8px;
  padding:4px 6px;
  text-align:center;
}
.cal-estado-vigente{background:#f4c542!important;color:#212529!important;}
.cal-estado-reservado{background:#0d6efd!important;color:#fff!important;}
.cal-estado-programado{background:#6f42c1!important;color:#fff!important;}
.cal-estado-confirmado{background:#198754!important;color:#fff!important;}
.cal-estado-pendiente-finalizar{background:#ffc107!important;color:#212529!important;}
.cal-estado-finalizado{background:#6c757d!important;color:#fff!important;}
.cal-estado-declinado{background:#dc3545!important;color:#fff!important;}
.cal-estado-default{background:#6c757d!important;color:#fff!important;}
@media (max-width: 1200px){
  .calendario-grid{grid-template-columns:repeat(7, minmax(110px, 1fr));}
  .cal-dia{min-height:125px;}
}
@media (max-width: 992px){
  .calendario-header{align-items:flex-start;flex-direction:column;}
  .calendario-card .card-body{overflow-x:auto;}
  .calendario-grid{min-width:900px;}
}
.cal-evento.cal-estado-vigente,
.cal-evento.cal-estado-reservado,
.cal-evento.cal-estado-programado,
.cal-evento.cal-estado-confirmado,
.cal-evento.cal-estado-pendiente-finalizar,
.cal-evento.cal-estado-finalizado,
.cal-evento.cal-estado-declinado,
.cal-evento.cal-estado-default{background:#fff!important;color:#173522!important;}

/* Calendario: una tarjeta por evento/dia con barra multietapa */
.cal-evento-stages{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-items:center;
  min-width:0;
}
.cal-evento-stage.cal-stage-montaje{
  color:#d97706!important;
  background:#fff7ed!important;
  border-color:#fed7aa!important;
}
.cal-evento-stage.cal-stage-evento{
  color:#198754!important;
  background:#e9f7ef!important;
  border-color:#b7e4c7!important;
}
.cal-evento-stage.cal-stage-desmontaje{
  color:#475569!important;
  background:#f1f5f9!important;
  border-color:#cbd5e1!important;
}
.cal-timebar span.cal-stage-montaje{background:#d97706!important;}
.cal-timebar span.cal-stage-evento{background:#198754!important;}
.cal-timebar span.cal-stage-desmontaje{background:#64748b!important;}
.cal-evento .cal-timebar span{
  min-width:3px;
}

/* Modales CRM ordenados por secciones */
.crm-modal-ordenado{border:0;border-radius:18px;overflow:hidden;box-shadow:0 22px 60px rgba(9,38,23,.28);}
.crm-modal-ordenado .modal-body{background:#f8fbf9;padding:18px 20px 20px;}
.crm-modal-alerta{border-radius:12px;margin-bottom:16px;padding:12px 14px;}
.crm-modal-section{background:#fff;border:1px solid #d7eadc;border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(13,82,45,.06);}
.crm-modal-section-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#0f6b3b;margin-bottom:12px;}
.crm-resumen-item{height:100%;min-height:58px;background:#f4faf6;border:1px solid #e0efe4;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;}
.crm-resumen-item span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#4f6f5d;}
.crm-resumen-item strong{font-size:13px;color:#14281b;line-height:1.35;word-break:break-word;}
.crm-option-card{background:#f7fbf8;border:1px solid #dceee2;border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.crm-switch{display:flex;align-items:center;gap:8px;white-space:nowrap;font-weight:800;color:#153b25;}
.crm-switch .form-check-input{width:3rem;height:1.45rem;margin:0;cursor:pointer;}
.crm-modal-footer{background:#fff;border-top:1px solid #d7eadc;padding:14px 20px;}
@media (max-width: 768px){.crm-option-card{align-items:flex-start;flex-direction:column}.crm-modal-ordenado .modal-body{padding:14px}.crm-modal-section{padding:14px}}

/* MODULO ESPACIOS LIBRES */
.disponibilidad-card .card-body{padding:18px!important;}
.disponibilidad-leyenda{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-weight:800;color:#163522;font-size:13px;}
.disp-dot{width:12px;height:12px;border-radius:999px;display:inline-block;margin-right:6px;box-shadow:0 0 0 4px rgba(0,0,0,.04);}
.disp-dot.libre{background:#198754;}
.disp-dot.parcial{background:#ffc107;}
.disp-dot.ocupado{background:#dc3545;}
.disp-summary-pill{height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#eaf7ef;color:#0f5132;font-weight:800;border:1px solid #bde0ca;}
.disponibilidad-mes .disp-dia{border:1px solid #dbeadc;background:#fff;text-align:left;min-height:145px;padding:10px;position:relative;width:100%;display:block;color:#001b3d;transition:.2s ease;border-radius:0;}
.disponibilidad-mes .disp-dia:hover{z-index:5;transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,61,38,.14);border-color:#198754;}
.disponibilidad-mes .disp-dia-libre{background:linear-gradient(180deg,#fbfffd 0%,#f2fbf5 100%);}
.disponibilidad-mes .disp-dia-parcial{background:linear-gradient(180deg,#fffdf5 0%,#fff8df 100%);}
.disponibilidad-mes .disp-dia-ocupado{background:linear-gradient(180deg,#fff7f7 0%,#fff0f0 100%);}
.disp-count{display:block;margin-top:26px;font-size:13px;font-weight:800;color:#0f5132;}
.disp-count strong{font-size:22px;line-height:1;}
.disp-bar{display:block;height:7px;margin:8px 0 8px;background:#e8edf0;border-radius:999px;overflow:hidden;}
.disp-bar span{display:block;height:100%;background:linear-gradient(90deg,#198754,#52b788);border-radius:999px;}
.disp-space-chip{display:block;width:100%;padding:4px 7px;margin-top:4px;border-radius:9px;background:#fff;border:1px solid #dce8dd;color:#184f2b;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.disp-more{display:block;margin-top:6px;color:#6c757d;font-weight:800;font-size:11px;}
.disp-section-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:#0f5132;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #dce8dd;}
.disp-free-row,.disp-busy-row{border:1px solid #dce8dd;border-radius:14px;padding:12px;margin-bottom:10px;background:#fff;box-shadow:0 6px 20px rgba(16,61,38,.06);}
.disp-free-row{display:grid;grid-template-columns:1.2fr 1.8fr;gap:12px;align-items:center;}
.disp-free-row strong,.disp-busy-row strong{display:block;color:#001b3d;font-weight:900;}
.disp-free-row small{display:block;color:#6c757d;margin-top:2px;}
.disp-free-blocks{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;}
.disp-free-blocks span{display:inline-flex;align-items:center;border-radius:999px;background:#eaf7ef;color:#0f5132;border:1px solid #bde0ca;padding:5px 9px;font-weight:900;font-size:12px;}
.disp-busy-item{margin-top:8px;padding:8px;border-radius:10px;background:#fff5f5;border:1px solid #f4cccc;}
.disp-busy-item span{display:inline-flex;border-radius:999px;background:#dc3545;color:#fff;padding:3px 8px;font-weight:900;font-size:11px;margin-right:6px;}
.disp-busy-item b{display:block;margin-top:5px;color:#001b3d;}
.disp-busy-item small{display:block;color:#6c757d;margin-top:2px;}

@media (max-width: 992px){.disp-free-row{grid-template-columns:1fr}.disp-free-blocks{justify-content:flex-start}.disponibilidad-mes .disp-dia{min-height:120px}}

/* Modal de finalización/liquidación: scroll real, pie fijo y resumen compacto */
.modal-crm-ordenado.modal-dialog-scrollable .modal-content,
.modal-crm-ordenado .modal-content{
    max-height: calc(100vh - 1.5rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.modal-crm-ordenado .modal-header,
.modal-crm-ordenado .modal-footer{
    flex: 0 0 auto;
}
.modal-crm-ordenado .modal-body{
    background:#fbfdfb;
    overflow-y:auto;
    max-height: calc(100vh - 155px);
    padding-bottom: 1rem;
}
.modal-crm-ordenado .modal-footer{
    position: sticky;
    bottom: 0;
    z-index: 5;
    background: #fff;
    border-top: 1px solid #dce8dd;
    box-shadow: 0 -8px 18px rgba(16,61,38,.08);
}
.btn-nowrap{white-space:nowrap;min-width:max-content;}
.summary-card-compact{
    border:1px solid #dce8dd;
    background:#fff;
    border-radius:14px;
    padding:12px 14px;
    box-shadow:0 6px 20px rgba(16,61,38,.05);
}
.summary-card-compact .lbl{
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    color:#0f5132;
    letter-spacing:.3px;
}
.summary-card-compact .val{font-size:13px;color:#001b3d;}
.table-fechas-cierre{border-radius:10px;overflow:hidden;border:1px solid #dce8dd;}
.table-fechas-cierre th{
    background:#eef7f1;
    color:#00451d;
    font-size:11px;
    text-transform:uppercase;
    white-space:nowrap;
}
.table-fechas-cierre td{
    font-size:12px;
    font-weight:800;
    color:#001b3d;
    white-space:nowrap;
}
.liquidacion-table th{white-space:nowrap;}
.liquidacion-table td{vertical-align:middle;}
.input-money{text-align:right;font-variant-numeric:tabular-nums;}
@media (max-width: 768px){
    .modal-crm-ordenado .modal-body{max-height:calc(100vh - 145px);}
    .modal-crm-ordenado .modal-footer{gap:8px;flex-wrap:wrap;}
    .modal-crm-ordenado .modal-footer .btn{width:100%;}
}

/* Ajustes cancelacion/reversion Eventos & Espacios */
.alert-crm-wrap{
    white-space: normal;
    overflow: visible;
    line-height: 1.45;
}
.modal-crm-ordenado .modal-body{
    overflow-x: hidden;
}
@media (min-width: 992px){
    .modal-crm-ordenado.modal-lg{
        max-width: 760px;
    }
}

/* Mini dashboard - Seguimiento de Cotizaciones */
.cotizaciones-dashboard{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:12px;
    margin-top:2px;
}
.cotizacion-kpi{
    position:relative;
    overflow:hidden;
    display:block;
    min-height:96px;
    padding:16px 18px;
    border:1px solid rgba(12,84,51,.14);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(20,46,33,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.cotizacion-kpi::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#0b7a44;
}
.cotizacion-kpi::after{
    content:"";
    position:absolute;
    inset:auto 18px 0 18px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(16,185,129,.0),transparent);
    transition:background .18s ease, box-shadow .18s ease;
}
.cotizacion-kpi:hover{
    transform:translateY(-2px);
    border-color:rgba(7,95,58,.34);
    background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%);
    box-shadow:0 0 0 1px rgba(16,185,129,.12),0 10px 26px rgba(20,46,33,.10),0 0 18px rgba(16,185,129,.12);
}
.cotizacion-kpi:hover::after{
    background:linear-gradient(90deg,transparent,rgba(16,185,129,.55),transparent);
    box-shadow:0 0 14px rgba(16,185,129,.28);
}
.cotizacion-kpi-icon{
    display:none;
}
.cotizacion-kpi-body{
    position:relative;
    z-index:1;
    min-width:0;
}
.cotizacion-kpi-label{
    color:#0b5133;
    font-weight:800;
    font-size:12px;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.055em;
    margin-bottom:10px;
    min-height:30px;
}
.cotizacion-kpi-main{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    color:#071a2d;
    font-size:28px;
    font-weight:900;
    line-height:1;
}
.cotizacion-kpi-main span{
    display:block;
    text-align:right;
    font-size:13px;
    color:#315846;
    font-weight:800;
    line-height:1.25;
    white-space:nowrap;
}
.cotizacion-kpi-main span::before{
    content:"Monto";
    display:block;
    color:#7a8f84;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.cotizacion-kpi-1::before{background:#e0a400;}
.cotizacion-kpi-2::before{background:#6f42c1;}
.cotizacion-kpi-3::before{background:#dc3545;}
.cotizacion-kpi-4::before{background:#f59f00;}
.cotizacion-kpi-5::before{background:#0d6efd;}
.cotizacion-kpi-6::before{background:#6c757d;}
@media (max-width: 767px){
    .cotizaciones-dashboard{grid-template-columns:1fr;}
    .cotizacion-kpi{min-height:auto;}
}

/* Ayuda ejecutiva de estados - Seguimiento de Cotizaciones */
.cotizaciones-dashboard-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:4px 2px 0;
}
.cotizaciones-dashboard-title{
    margin:0;
    color:#061b35;
    font-size:24px;
    font-weight:900;
    letter-spacing:-.02em;
}
.cotizaciones-dashboard-subtitle{
    margin:4px 0 0;
    color:#667085;
    font-size:13px;
}
.cotizaciones-help-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:8px 13px;
    font-weight:800;
    background:#fff;
    box-shadow:0 8px 20px rgba(16,24,40,.06);
}
.cotizaciones-help-btn:hover{
    box-shadow:0 0 0 1px rgba(16,185,129,.16),0 12px 24px rgba(16,24,40,.08),0 0 18px rgba(16,185,129,.16);
}
.cotizaciones-help-icon{
    width:22px;
    height:22px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#0b7a44;
    color:#fff;
    font-weight:900;
    line-height:1;
}
.modal-ayuda-estados{
    border:0;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(16,24,40,.22);
}
.modal-ayuda-estados .modal-header{
    background:linear-gradient(135deg,#f7fff9,#ffffff);
    border-bottom:1px solid rgba(12,84,51,.12);
    padding:20px 24px;
}
.modal-ayuda-estados .modal-title{
    color:#061b35;
    font-weight:900;
    letter-spacing:-.01em;
}
.modal-ayuda-estados .modal-body{
    padding:24px;
    background:#fff;
}
.estado-flow{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:14px;
    border:1px solid rgba(12,84,51,.14);
    border-radius:16px;
    background:#f8fffb;
}
.estado-flow span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(12,84,51,.13);
    color:#0b5133;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.estado-flow i{
    color:#98a2b3;
    font-style:normal;
    font-weight:900;
}
.estado-help-card{
    height:100%;
    padding:16px 17px;
    border:1px solid rgba(12,84,51,.12);
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%);
    box-shadow:0 8px 22px rgba(16,24,40,.04);
}
.estado-help-card strong{
    display:block;
    color:#061b35;
    font-size:14px;
    font-weight:900;
    margin-bottom:7px;
}
.estado-help-card p{
    margin:0;
    color:#475467;
    font-size:13px;
    line-height:1.45;
}
.estado-help-side{
    border-color:rgba(245,159,0,.24);
    background:linear-gradient(180deg,#fffdf7 0%,#ffffff 100%);
}
.ayuda-estados-note{
    border-radius:14px;
    border-color:rgba(12,84,51,.16);
    color:#0b5133;
    font-weight:700;
    font-size:13px;
}
@media (max-width: 767px){
    .cotizaciones-dashboard-header{
        align-items:flex-start;
        flex-direction:column;
    }
    .cotizaciones-help-btn{
        width:100%;
        justify-content:center;
    }
    .estado-flow{
        align-items:flex-start;
        flex-direction:column;
    }
    .estado-flow i{display:none;}
}

/* Mini dashboard - Eventos & Espacios */
.reservas-dashboard{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:12px;
    margin-top:2px;
}
.reserva-kpi{
    position:relative;
    overflow:hidden;
    display:block;
    min-height:96px;
    padding:16px 18px;
    border:1px solid rgba(8,65,92,.14);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,24,40,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.reserva-kpi::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#0b7a44;
}
.reserva-kpi::after{
    content:"";
    position:absolute;
    inset:auto 18px 0 18px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(16,185,129,.0),transparent);
    transition:background .18s ease, box-shadow .18s ease;
}
.reserva-kpi:hover{
    transform:translateY(-2px);
    border-color:rgba(7,95,58,.34);
    background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%);
    box-shadow:0 0 0 1px rgba(16,185,129,.12),0 10px 26px rgba(16,24,40,.10),0 0 18px rgba(16,185,129,.12);
}
.reserva-kpi:hover::after{
    background:linear-gradient(90deg,transparent,rgba(16,185,129,.55),transparent);
    box-shadow:0 0 14px rgba(16,185,129,.28);
}
.reserva-kpi-icon{display:none;}
.reserva-kpi-body{
    position:relative;
    z-index:1;
    min-width:0;
}
.reserva-kpi-label{
    color:#0b5133;
    font-weight:800;
    font-size:12px;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.055em;
    margin-bottom:10px;
    min-height:30px;
}
.reserva-kpi-main{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    color:#071a2d;
    font-size:28px;
    font-weight:900;
    line-height:1;
}
.reserva-kpi-main span{
    display:block;
    text-align:right;
    font-size:13px;
    color:#315846;
    font-weight:800;
    line-height:1.25;
    white-space:nowrap;
}
.reserva-kpi-main span::before{
    content:"Monto";
    display:block;
    color:#7a8f84;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.reserva-kpi-1::before{background:#0d6efd;}
.reserva-kpi-2::before{background:#198754;}
.reserva-kpi-3::before{background:#f59f00;}
.reserva-kpi-4::before{background:#6f42c1;}
.reserva-kpi-5::before{background:#dc3545;}

.reservas-dashboard-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:4px 2px 0;
}
.reservas-dashboard-title{
    margin:0;
    color:#061b35;
    font-size:24px;
    font-weight:900;
    letter-spacing:-.02em;
}
.reservas-dashboard-subtitle{
    margin:4px 0 0;
    color:#667085;
    font-size:13px;
}
.reservas-help-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:8px 13px;
    font-weight:800;
    background:#fff;
    box-shadow:0 8px 20px rgba(16,24,40,.06);
}
.reservas-help-btn:hover{
    box-shadow:0 0 0 1px rgba(16,185,129,.16),0 12px 24px rgba(16,24,40,.08),0 0 18px rgba(16,185,129,.16);
}
.reservas-help-icon{
    width:22px;
    height:22px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#0b7a44;
    color:#fff;
    font-weight:900;
    line-height:1;
}
.modal-ayuda-estados-reservas{
    border:0;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(16,24,40,.22);
}
.modal-ayuda-estados-reservas .modal-header{
    background:linear-gradient(135deg,#f7fff9,#ffffff);
    border-bottom:1px solid rgba(12,84,51,.12);
    padding:20px 24px;
}
.modal-ayuda-estados-reservas .modal-title{
    color:#061b35;
    font-weight:900;
    letter-spacing:-.01em;
}
.modal-ayuda-estados-reservas .modal-body{
    padding:24px;
    background:#fff;
}
.estado-flow-reservas{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:14px;
    border:1px solid rgba(12,84,51,.14);
    border-radius:16px;
    background:#f8fffb;
}
.estado-flow-reservas span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(12,84,51,.13);
    color:#0b5133;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.estado-flow-reservas i{
    color:#98a2b3;
    font-style:normal;
    font-weight:900;
}
.estado-help-card-reserva{
    height:100%;
    padding:16px 17px;
    border:1px solid rgba(12,84,51,.12);
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%);
    box-shadow:0 8px 22px rgba(16,24,40,.04);
}
.estado-help-card-reserva strong{
    display:block;
    color:#061b35;
    font-size:14px;
    font-weight:900;
    margin-bottom:7px;
}
.estado-help-card-reserva p{
    margin:0;
    color:#475467;
    font-size:13px;
    line-height:1.45;
}
.estado-help-side-reserva{
    border-color:rgba(245,159,0,.24);
    background:linear-gradient(180deg,#fffdf7 0%,#ffffff 100%);
}
.ayuda-estados-note-reserva{
    border-radius:14px;
    border-color:rgba(12,84,51,.16);
    color:#0b5133;
    font-weight:700;
    font-size:13px;
}
@media (max-width: 767px){
    .reservas-dashboard{grid-template-columns:1fr;}
    .reserva-kpi{min-height:auto;}
    .reservas-dashboard-header{
        align-items:flex-start;
        flex-direction:column;
    }
    .reservas-help-btn{
        width:100%;
        justify-content:center;
    }
    .estado-flow-reservas{
        align-items:flex-start;
        flex-direction:column;
    }
    .estado-flow-reservas i{display:none;}
}

/* Optimización visual de paginación Eventos & Espacios */
.reservas-paginacion .page-link{
    color:#006b3f;
    border-color:#cfe5d8;
    font-weight:700;
}
.reservas-paginacion .page-item.active .page-link{
    background:#006b3f;
    border-color:#006b3f;
    color:#fff;
}

/* CRM perfiles, usuarios y campana */
.notification-menu{min-width:360px;max-width:420px;border:0;border-radius:16px;box-shadow:0 18px 44px rgba(15,23,42,.18);overflow:hidden}
.crm-bell{border-radius:999px!important;border:1px solid #dfe9df!important;background:#fff!important}
.sidebar-nav a .nav-icon{display:inline-flex;align-items:center;justify-content:center}
.user-permission-card{border:1px solid #e4eee5;border-radius:18px;background:linear-gradient(135deg,#fff,#f7fbf8);box-shadow:0 12px 28px rgba(20,53,34,.08)}

/* Sidebar colapsable para maximizar area de datos */
@media (min-width: 992px){
  body.crm-modern-ui .sidebar{
    width:78px!important;
    padding:14px 10px!important;
    overflow:hidden!important;
    transition:width .22s ease, box-shadow .22s ease!important;
  }
  body.crm-modern-ui .sidebar:hover{
    width:258px!important;
    box-shadow:18px 0 46px rgba(18,53,34,.30)!important;
  }
  body.crm-modern-ui .content{
    margin-left:78px!important;
    width:calc(100% - 78px)!important;
    transition:margin-left .22s ease,width .22s ease!important;
  }
  body.crm-modern-ui .brand{
    justify-content:center;
    gap:0;
    padding:4px 0 16px!important;
    margin-bottom:12px;
  }
  body.crm-modern-ui .brand > div:not(.brand-icon){
    opacity:0;
    width:0;
    max-width:0;
    overflow:hidden;
    white-space:nowrap;
    transition:opacity .15s ease,width .22s ease,max-width .22s ease,margin-left .22s ease;
  }
  body.crm-modern-ui .sidebar:hover .brand{
    justify-content:flex-start;
    gap:12px;
    padding-left:4px!important;
  }
  body.crm-modern-ui .sidebar:hover .brand > div:not(.brand-icon){
    opacity:1;
    width:auto;
    max-width:180px;
    margin-left:0;
  }
  body.crm-modern-ui .brand-icon{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:14px;
  }
  body.crm-modern-ui .sidebar-nav a{
    justify-content:center;
    gap:0;
    padding:11px 9px!important;
    min-height:45px;
    font-size:0!important;
    border-radius:14px!important;
    white-space:nowrap;
    overflow:hidden;
  }
  body.crm-modern-ui .sidebar-nav a:hover,
  body.crm-modern-ui .sidebar-nav a.active{
    transform:none!important;
  }
  body.crm-modern-ui .sidebar:hover .sidebar-nav a{
    justify-content:flex-start;
    gap:10px;
    padding:11px 12px!important;
    font-size:14px!important;
  }
  body.crm-modern-ui .nav-icon{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:12px!important;
  }
  body.crm-modern-ui .sidebar-logo{
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
  }
  body.crm-modern-ui .sidebar:hover .sidebar-logo{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
  body.crm-modern-ui .sidebar:after{
    content:"";
    position:absolute;
    right:8px;
    top:50%;
    width:3px;
    height:46px;
    border-radius:99px;
    background:rgba(255,255,255,.35);
    transform:translateY(-50%);
    transition:opacity .18s ease;
  }
  body.crm-modern-ui .sidebar:hover:after{opacity:0;}
  body.crm-modern-ui .page-card{padding-top:14px!important;}
}

/* Sidebar: iconos funcionales y scroll interno */
body.crm-modern-ui .sidebar{
  display:flex!important;
  flex-direction:column!important;
}
body.crm-modern-ui .sidebar-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:3px!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) transparent;
}
body.crm-modern-ui .sidebar-nav::-webkit-scrollbar{width:6px;}
body.crm-modern-ui .sidebar-nav::-webkit-scrollbar-track{background:transparent;}
body.crm-modern-ui .sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px;}
body.crm-modern-ui .sidebar-logo{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin-top:14px!important;
  flex:0 0 auto!important;
}
body.crm-modern-ui .nav-icon{
  font-size:16px!important;
  line-height:1!important;
}

@media (min-width: 992px){
  body.crm-modern-ui .sidebar{
    max-height:100vh!important;
  }
  body.crm-modern-ui .sidebar-nav{
    margin-top:2px!important;
    padding-bottom:8px!important;
  }
  body.crm-modern-ui .sidebar:not(:hover) .sidebar-logo{
    display:none!important;
  }
  body.crm-modern-ui .sidebar:hover .sidebar-logo{
    display:block!important;
  }
  body.crm-modern-ui .sidebar:not(:hover) .sidebar-nav a{
    justify-content:center!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.crm-modern-ui .sidebar:hover .sidebar-nav a{
    justify-content:flex-start!important;
  }
  body.crm-modern-ui .sidebar:not(:hover) .nav-icon{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    font-size:17px!important;
    border-radius:12px!important;
  }
  body.crm-modern-ui .sidebar:hover .nav-icon{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:15px!important;
  }
}

/* Selector de acciones en Eventos & Espacios */
.acciones-reserva{
  min-width:170px!important;
  width:170px;
}
.acciones-reserva-stack{
  display:block;
  width:170px;
}
.acciones-reserva-stack .selector-accion-reserva{
  min-width:170px;
}
.accion-reserva-botones .btn{
  width:170px;
  white-space:nowrap;
  text-align:center;
}

/* Colores informativos por tipo de evento en Eventos & Espacios */
.table tbody tr.reserva-row-mantenimiento > td{
    background:#fff8d7!important;
}
.table tbody tr.reserva-row-mantenimiento:hover > td{
    background:#fff1b8!important;
}
.table tbody tr.reserva-row-feria > td{
    background:#f1eaff!important;
}
.table tbody tr.reserva-row-feria:hover > td{
    background:#e8ddff!important;
}

/* Notificaciones mejoradas */
.crm-bell-modern {
    width: 38px;
    height: 38px;
    border-radius: 14px !important;
    border: 1px solid #d8eadf !important;
    background: linear-gradient(135deg, #ffffff, #f5fbf7) !important;
    box-shadow: 0 8px 20px rgba(18, 53, 34, .10);
}
.crm-bell-icon { font-size: 17px; line-height: 1; }
.crm-bell-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e84258;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 15px rgba(232, 66, 88, .28);
}
.notification-menu-modern {
    min-width: 380px;
    border: 1px solid #d8e8dc;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(18, 53, 34, .18);
}
.notification-head {
    padding: 12px 16px;
    background: #f5fbf7;
    border-bottom: 1px solid #dcebdd;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.notification-head small { color: #677686; font-weight: 700; }
.notification-preview-item {
    padding: 12px 16px !important;
    border-bottom: 1px solid #edf3ee;
    white-space: normal;
}
.notification-preview-item.unread { background: #f4fff7; border-left: 4px solid #148a4c; }
.notification-action { color: #0b2239; font-weight: 800; font-size: 13px; line-height: 1.25; }
.notification-meta { color: #42556a; font-size: 12px; margin-top: 4px; }
.notification-date { color: #7a8897; font-size: 11px; margin-top: 6px; font-weight: 700; }
.notification-center-card { overflow: hidden; }
.notification-card-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    border-left: 5px solid transparent;
}
.notification-card-item.unread { background: #f4fff7; border-left-color: #148a4c; }
.notification-card-item.read { background: #fff; opacity: .84; }
.notification-card-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: #eaf7ee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 17px;
}
.notification-card-item.read .notification-card-icon { background: #eef2f4; color: #667386; }
.notification-card-body { flex: 1; min-width: 0; }
.notification-card-title { color: #0b2239; font-weight: 900; font-size: 15px; }
.notification-card-subtitle { color: #148a4c; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .25px; }
.notification-card-item.read .notification-card-subtitle { color: #7a8897; }
.notification-card-date { color: #687888; font-weight: 700; }
.notification-data-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}
.notification-data-grid div {
    background: #f8fbf8;
    border: 1px solid #e3eee5;
    border-radius: 12px;
    padding: 9px 11px;
}
.notification-data-grid span {
    display: block;
    color: #607182;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 3px;
}
.notification-data-grid strong {
    color: #0b2239;
    font-size: 13px;
}

/* CRM_AJAX_FILTERS_V1 */
.page-card{position:relative;}
.page-card.crm-ajax-loading{opacity:.72;pointer-events:none;transition:opacity .16s ease;}
.crm-ajax-status{position:fixed;right:24px;bottom:24px;z-index:20000;background:rgba(7,91,53,.95);color:#fff;border-radius:999px;padding:10px 16px;font-weight:900;font-size:13px;box-shadow:0 14px 34px rgba(22,32,51,.22);}
.crm-ajax-status::before{content:'';display:inline-block;width:10px;height:10px;margin-right:8px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:crmAjaxSpin .7s linear infinite;vertical-align:-1px;}
@keyframes crmAjaxSpin{to{transform:rotate(360deg)}}

/* AJAX filtros sin recarga */
.agenda-filters button[type="submit"]{display:none!important;}
