/* CRM_CSS_SIGNATURE: AP_RESET_LAYOUT_FUNCIONAL_FINAL_20260506 */
:root{
  --ap-green:#2f3e1f; --ap-green-2:#223015; --ap-green-soft:#eef4e8;
  --ap-gold:#a99a16; --ap-gold-dark:#7f7100; --ap-gold-soft:#f6f1d8;
  --ap-bg:#faf7ec; --ap-card:#fffef9; --ap-border:#ddd0aa; --ap-border-2:#bfaf76;
  --ap-text:#202417; --ap-muted:#6b6653; --ap-shadow:0 8px 24px rgba(47,62,31,.08);
}
html,body{font-size:16px!important;background:var(--ap-bg)!important;color:var(--ap-text)!important;font-family:"Century Gothic","Poppins","Quicksand",Arial,sans-serif!important;}
#header,#nav-sidebar,.breadcrumbs{display:none!important}#content{padding:0!important;margin:0!important}.module{background:transparent!important;border:0!important}
a{color:#1f6b8f;text-decoration:none}a:hover{text-decoration:underline}
/* Base CRM */
.ap-crm-layout{min-height:100vh;background:linear-gradient(180deg,#fffdf6 0,#fbf8ed 45%,#f4ecd3 100%)}
.ap-crm-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--ap-border);box-shadow:0 6px 18px rgba(47,62,31,.06)}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:46px;height:46px;object-fit:contain}.brand-title{font-size:20px;font-weight:900;color:var(--ap-green);letter-spacing:-.03em}.brand-sub{font-size:13px;color:var(--ap-muted)}
.ap-crm-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ap-panel-session{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ap-muted)}.ap-panel-session form{margin:0}.ap-logout-btn{background:#fff!important;color:var(--ap-green)!important;border:1px solid var(--ap-border-2)!important;border-radius:10px!important;padding:8px 12px!important;font-weight:800!important;cursor:pointer}
.ap-crm-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;width:calc(100vw - 24px);max-width:1840px;margin:0 auto;padding:18px 12px 38px;box-sizing:border-box;align-items:start}.ap-crm-main{min-width:0}.ap-crm-sidebar{min-width:0}
.ap-sidebar-card{background:#fff;border:1px solid var(--ap-border);border-radius:18px;box-shadow:var(--ap-shadow);padding:12px}.ap-calendar-card-v4{margin-top:12px}.ap-sidebar-title{font-size:14px;font-weight:900;color:var(--ap-green);margin:0 0 10px}.ap-sidebar-nav{display:grid;gap:7px}.ap-nav-link{display:flex!important;align-items:center;min-height:38px;padding:8px 11px;border-radius:11px;background:linear-gradient(135deg,var(--ap-gold-dark),var(--ap-gold));color:#fff!important;font-size:14px;font-weight:850;text-decoration:none!important;box-shadow:0 4px 10px rgba(127,113,0,.16)}.ap-nav-link:before{content:"";width:5px;height:5px;border-radius:99px;background:rgba(255,255,255,.8);margin-right:8px}.ap-nav-link:hover{background:linear-gradient(135deg,#5f5400,var(--ap-gold-dark));text-decoration:none;transform:translateX(2px)}
#calendario-mes,.ap-mini-calendar{width:100%;min-height:320px;background:#fff;border-radius:12px;overflow:hidden}.ap-calendar-card-v4 .fc-toolbar-title{font-size:18px!important;color:var(--ap-green)!important;font-weight:900!important}.ap-calendar-card-v4 .fc-button{background:var(--ap-green)!important;border-color:var(--ap-green)!important;border-radius:8px!important;padding:5px 9px!important}
/* Panel CRM */
.ap-home-header{margin-bottom:14px}.ap-home-eyebrow,.ap-page-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--ap-gold-dark)}.ap-home-title,.ap-page-title{font-size:34px;line-height:1;margin:2px 0 6px;color:var(--ap-green);font-weight:950;letter-spacing:-.05em}.ap-home-subtitle,.ap-page-subtitle{font-size:16px;color:var(--ap-muted);margin:0}.ap-home-shell,.crm-panel-card.ap-home-shell{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
#crm-panel-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr) 390px!important;gap:16px!important;align-items:start!important;width:100%!important}.col-centro,.col-dcha{display:block!important;min-width:0!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.col-dcha{visibility:visible!important;opacity:1!important}
.ap-card,.mini-box,.crm-contactos-panel,.kanban-box,.agenda-box,.prioridades-box,.ap-historico-actividad,.module{background:var(--ap-card)!important;border:1px solid var(--ap-border)!important;border-radius:18px!important;box-shadow:var(--ap-shadow)!important;padding:14px!important;margin-bottom:14px!important}.crm-contactos-panel,.module,.ap-historico-actividad{padding:16px!important}.box-header,.ap-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.box-header h2,.mini-box h2,.prioridades-box h2,.ap-card-title{font-size:18px!important;line-height:1.15;margin:0;color:var(--ap-green)!important;font-weight:900!important}.mini-list{list-style:none;margin:0;padding:0;font-size:14px}.mini-list li{margin-bottom:8px}.mini-list a{font-weight:800;font-size:14px}.mini-sub,.mini-empty,.ap-muted{font-size:13px;color:var(--ap-muted)}
.crm-btn,.ap-btn,button.crm-btn,button.ap-btn,.btn-mini,.button,.ap-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 12px!important;border-radius:10px!important;background:linear-gradient(135deg,var(--ap-gold-dark),var(--ap-gold))!important;border:1px solid var(--ap-gold-dark)!important;color:#fff!important;font-size:13px!important;font-weight:850!important;text-decoration:none!important;box-shadow:0 4px 10px rgba(127,113,0,.15)!important;cursor:pointer}.crm-btn:hover,.ap-btn:hover,.btn-mini:hover,.button:hover,.ap-chip:hover{background:linear-gradient(135deg,#5f5400,var(--ap-gold-dark))!important;color:#fff!important;text-decoration:none!important}.crm-btn-secondary,.ap-btn-secondary,.ap-topbar-link{background:#fff!important;color:var(--ap-green)!important;border-color:var(--ap-border-2)!important;box-shadow:none!important}
.ap-mode-switch-v4{padding:8px!important;border-radius:16px!important;background:#fff!important;border:1px solid var(--ap-border)!important;box-shadow:var(--ap-shadow)!important;margin-bottom:14px!important}.ap-mode-switch-v4 .btn-mini{min-height:38px!important;padding:8px 18px!important}.ap-mode-switch-v4 .is-active,.ap-mode-switch-v4 .btn-mini-active{background:linear-gradient(135deg,var(--ap-green),var(--ap-green-2))!important;border-color:var(--ap-green)!important}
#contactSearchInput,input[placeholder*="Buscar contacto"]{width:100%!important;min-height:42px!important;font-size:15px!important;border-radius:12px!important;border:1px solid var(--ap-border-2)!important;padding:9px 13px!important;box-sizing:border-box!important}
/* Eisenhower */
.eisenhower-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cuadrante{border-radius:14px;padding:9px;min-height:135px;border:1px solid rgba(0,0,0,.08);overflow:auto}.urgente-importante{background:#fff1f2}.no-urgente-importante{background:#ecfdf5}.urgente-noimportante{background:#fffbeb}.nourgente-noimportante{background:#eff6ff}.cuadrante-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:7px}.cuadrante-count{display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;border-radius:99px;background:#fff;border:1px solid rgba(0,0,0,.1);font-weight:800}.ap-eisenhower-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.ap-eisenhower-card{background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.07);border-radius:11px;padding:8px}.ap-eisenhower-title{font-weight:900;font-size:13px}.ap-eisenhower-pill{display:inline-flex;border-radius:99px;background:#fff;padding:3px 6px;font-size:11px;color:#475569;margin:2px}
/* Forms & list pages */
.ap-page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.ap-page-actions{display:flex;gap:8px;flex-wrap:wrap}.ap-form-grid,.ap-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.ap-form-main,.ap-form-side{min-width:0}.ap-form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ap-field{margin-bottom:12px}.ap-field label{display:block;color:var(--ap-green);font-size:13px;font-weight:850;margin-bottom:5px}.ap-field input,.ap-field select,.ap-field textarea,.ap-form-control,input,select,textarea{width:100%;max-width:100%;min-height:38px;border:1px solid var(--ap-border-2)!important;border-radius:10px!important;padding:8px 10px!important;background:#fff!important;color:var(--ap-text)!important;box-sizing:border-box!important}.ap-field textarea,textarea{min-height:120px}.ap-field-help,.help{font-size:12px;color:var(--ap-muted);margin-top:4px}.ap-form-errors,.ap-field-errors{color:#b42318;font-size:13px;margin:6px 0}.ap-checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.ap-check{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid var(--ap-border);background:#fff;border-radius:10px;font-size:13px;font-weight:700}.ap-check input{width:auto!important;min-height:auto!important}.ap-form-sticky-actions{position:sticky;top:88px;display:grid;gap:8px}.ap-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ap-toolbar input{flex:1 1 360px}.ap-table-wrap{overflow:auto}.crm-table,.ap-table{width:100%;border-collapse:collapse}.crm-table th,.ap-table th{background:var(--ap-gold-soft);color:var(--ap-green);font-size:13px;padding:11px;text-align:left}.crm-table td,.ap-table td{padding:12px 11px;border-bottom:1px solid var(--ap-border);font-size:15px}.ap-table-actions{white-space:nowrap;text-align:right}.ap-status-pill{display:inline-flex;padding:4px 9px;border-radius:99px;background:var(--ap-green-soft);color:var(--ap-green);font-size:12px;font-weight:800}.ap-empty{padding:16px;color:var(--ap-muted)}
/* Contact autocomplete */
.ap-contact-picker{position:relative}.ap-contact-picker-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.ap-contact-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--ap-border-2);border-radius:14px;box-shadow:0 18px 35px rgba(47,62,31,.16);max-height:280px;overflow:auto}.ap-contact-result,.ap-contact-result-empty{width:100%;display:block;text-align:left;padding:11px 13px;border:0;border-bottom:1px solid #eee5c8;background:#fff;color:#243019}.ap-contact-result{cursor:pointer}.ap-contact-result:hover{background:#f7f1d5}.ap-contact-result-name{display:block;font-weight:900;font-size:14px}.ap-contact-result-meta{display:block;margin-top:3px;font-size:12px;color:var(--ap-muted)}
/* Kanban harmonization */
.ap-kanban{background:linear-gradient(180deg,var(--ap-gold-soft),#fffaf0)!important;border-color:var(--ap-border)!important}.ap-kanban-btn.primary,.ap-kanban-btn{border-radius:10px!important}.ap-kanban-btn.primary{background:var(--ap-gold)!important;border-color:var(--ap-gold)!important;color:#fff!important}.ap-kanban-title h2{font-size:20px!important;color:var(--ap-green)!important}.ap-kanban-subtitle{display:none!important}
@media(max-width:1320px){.ap-crm-shell{grid-template-columns:210px minmax(0,1fr)}#crm-panel-wrapper{grid-template-columns:minmax(0,1fr) 360px!important}.ap-home-title,.ap-page-title{font-size:30px}}
@media(max-width:1100px){#crm-panel-wrapper{grid-template-columns:1fr!important}.col-dcha{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ap-form-grid,.ap-detail-grid{grid-template-columns:1fr}.ap-form-sticky-actions{position:static}}
@media(max-width:820px){.ap-crm-shell{grid-template-columns:1fr;width:calc(100vw - 12px);padding:10px 6px}.col-dcha{grid-template-columns:1fr!important}.ap-form-two,.ap-checkbox-grid{grid-template-columns:1fr}.ap-page-head{flex-direction:column}.ap-crm-topbar{align-items:flex-start;flex-direction:column}.ap-home-title,.ap-page-title{font-size:28px}}


/* ============================================================
   CRM_CSS_SIGNATURE: AP_LAYOUT_FIX_V2_FULL_WIDTH_20260506
   Corrige márgenes laterales y fuerza uso real del ancho disponible.
   ============================================================ */

/* Django admin no debe limitar el ancho del CRM */
#container,
#content,
#content-main,
.main,
.crm-root,
.ap-crm-layout {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Shell global: menos margen vacío y más zona útil */
.ap-crm-shell,
.ap-shell-grid-v4,
.ap-crm-shell.ap-shell-grid-v4 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px 10px 34px !important;
  display: grid !important;
  grid-template-columns: 215px minmax(0, 1fr) !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  align-items: start !important;
}

/* Panel interno: centro + lateral derecho usando todo el ancho */
#crm-panel-wrapper,
.ap-home-shell #crm-panel-wrapper {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
  gap: 12px !important;
  align-items: start !important;
  box-sizing: border-box !important;
}

/* Evita que el lateral derecho desaparezca o salte */
#crm-panel-wrapper .col-dcha,
.ap-home-shell #crm-panel-wrapper .col-dcha {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 0 !important;
  width: auto !important;
}

/* Sidebar más compacta para ganar pantalla */
.ap-sidebar-card {
  padding: 10px !important;
  border-radius: 15px !important;
}

.ap-nav-link {
  min-height: 34px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
}

.ap-calendar-card-v4 {
  margin-top: 10px !important;
}

#calendario-mes,
.ap-mini-calendar {
  min-height: 300px !important;
}

/* Cards del panel: mantienen presencia pero con menos aire perdido */
.ap-card,
.mini-box,
.crm-contactos-panel,
.kanban-box,
.agenda-box,
.prioridades-box,
.ap-historico-actividad,
.module {
  border-radius: 16px !important;
  padding: 12px !important;
  margin-bottom: 12px !important;
}

/* Botones compactos */
.crm-btn,
.ap-btn,
button.crm-btn,
button.ap-btn,
.btn-mini,
.button,
.ap-chip {
  min-height: 32px !important;
  padding: 7px 11px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
}

/* Selector Mi trabajo / Mi equipo */
.ap-mode-switch-v4 .btn-mini {
  min-height: 34px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
}

/* Títulos legibles sin inflar el layout */
.ap-home-title,
.ap-page-title {
  font-size: 30px !important;
}

.ap-home-subtitle,
.ap-page-subtitle {
  font-size: 15px !important;
}

/* Lateral derecho legible */
#crm-panel-wrapper .col-dcha .mini-box,
#crm-panel-wrapper .col-dcha .prioridades-box {
  padding: 13px !important;
}

#crm-panel-wrapper .col-dcha h2,
#crm-panel-wrapper .col-dcha h3,
.prioridades-box h2 {
  font-size: 17px !important;
}

/* Responsive: solo baja el lateral derecho cuando realmente no cabe */
@media (max-width: 1280px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  #crm-panel-wrapper,
  .ap-home-shell #crm-panel-wrapper {
    grid-template-columns: minmax(0, 1fr) 380px !important;
    gap: 10px !important;
  }
}

@media (max-width: 1050px) {
  #crm-panel-wrapper,
  .ap-home-shell #crm-panel-wrapper {
    grid-template-columns: 1fr !important;
  }

  #crm-panel-wrapper .col-dcha,
  .ap-home-shell #crm-panel-wrapper .col-dcha {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 820px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 1fr !important;
  }

  #crm-panel-wrapper .col-dcha,
  .ap-home-shell #crm-panel-wrapper .col-dcha {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   CRM_CSS_SIGNATURE: AP_GLOBAL_SIDEBARS_V1_20260506
   Base SaaS fija: izquierda + centro navegable + derecha contextual.
   ============================================================ */

/* El shell global ahora tiene 3 columnas reales. */
.ap-crm-shell,
.ap-shell-grid-v4,
.ap-crm-shell.ap-shell-grid-v4 {
  display: grid !important;
  grid-template-columns: 218px minmax(0, 1fr) 360px !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 15px 14px 34px !important; /* margen exterior pequeño, no pegado al borde */
  box-sizing: border-box !important;
  align-items: start !important;
}

.ap-crm-main,
.ap-main-v4 {
  min-width: 0 !important;
}

/* Lateral derecho global */
.ap-crm-rightbar,
.ap-right-v4 {
  min-width: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* El panel deja de construir otra derecha interna. */
#crm-panel-wrapper,
.ap-home-shell #crm-panel-wrapper {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

#crm-panel-wrapper .col-centro,
.ap-home-shell #crm-panel-wrapper .col-centro {
  width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Si por caché quedase una col-dcha antigua dentro del panel, no duplicamos lateral. */
#crm-panel-wrapper > .col-dcha {
  display: none !important;
}

/* Compactar izquierda para ganar centro sin perder presencia. */
.ap-sidebar-left-v4 {
  min-width: 0 !important;
}

.ap-nav-card-v4,
.ap-calendar-card-v4 {
  padding: 11px !important;
  border-radius: 16px !important;
}

.ap-nav-link {
  min-height: 36px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
}

/* Calendario lateral estable en navegación. */
#calendario-mes,
.ap-mini-calendar {
  min-height: 300px !important;
  height: auto !important;
}

.ap-calendar-card-v4 .fc {
  font-size: 12px !important;
}

.ap-calendar-card-v4 .fc-toolbar {
  display: flex !important;
  gap: 4px !important;
  align-items: center !important;
}

.ap-calendar-card-v4 .fc-toolbar-title {
  font-size: 18px !important;
  line-height: 1.05 !important;
  color: var(--ap-green) !important;
}

.ap-calendar-card-v4 .fc-button {
  min-height: 28px !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  background: var(--ap-green) !important;
  border-color: var(--ap-green) !important;
}

/* Cards del lateral derecho con lectura rápida */
.ap-crm-rightbar .mini-box,
.ap-crm-rightbar .prioridades-box {
  padding: 13px !important;
  margin-bottom: 12px !important;
  border-radius: 16px !important;
}

.ap-crm-rightbar h2 {
  font-size: 17px !important;
  margin-bottom: 9px !important;
}

.ap-crm-rightbar .mini-list,
.ap-crm-rightbar .mini-empty,
.ap-crm-rightbar .mini-sub {
  font-size: 12px !important;
}

.ap-crm-rightbar .mini-list a {
  font-size: 13px !important;
}

/* Matriz un poco más contenida en el lateral global */
.ap-crm-rightbar .eisenhower-grid {
  gap: 8px !important;
}

.ap-crm-rightbar .cuadrante {
  min-height: 128px !important;
  padding: 8px !important;
  border-radius: 13px !important;
}

.ap-crm-rightbar .cuadrante-header {
  font-size: 11px !important;
  padding: 6px 7px !important;
}

.ap-crm-rightbar .ap-eisenhower-card {
  padding: 7px !important;
  border-radius: 10px !important;
}

/* Ajuste por tamaños: conserva la derecha siempre que quepa. */
@media (min-width: 1600px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 220px minmax(0, 1fr) 380px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

@media (max-width: 1300px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 205px minmax(0, 1fr) 335px !important;
    gap: 10px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

@media (max-width: 1080px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 205px minmax(0, 1fr) !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 820px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 1fr !important;
    padding: 10px 8px 26px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   CRM_CSS_SIGNATURE: AP_GLOBAL_SIDEBARS_FIX2_20260506
   Más margen exterior, menos hueco central-derecha, agenda estable.
   ============================================================ */

/* Margen exterior lateral: aprox. 3x el anterior (14px -> 42px). */
.ap-crm-shell,
.ap-shell-grid-v4,
.ap-crm-shell.ap-shell-grid-v4 {
  grid-template-columns: 218px minmax(0, 1fr) 360px !important;
  gap: 14px !important;
  padding: 16px 42px 36px !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* La zona central debe ocupar todo su carril; evita el hueco visual antes de la derecha. */
.ap-crm-main,
.ap-main-v4,
.ap-crm-main > *,
.ap-main-v4 > *,
#crm-panel-wrapper,
#crm-panel-wrapper .col-centro,
.ap-home-shell,
.crm-panel-card.ap-home-shell {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

#crm-panel-wrapper .col-centro > *,
.ap-main-v4 > .ap-card,
.ap-main-v4 > section,
.ap-main-v4 > div {
  width: 100% !important;
  max-width: none !important;
}

/* La derecha contextual se mantiene visible y pegada al carril derecho, no flotando. */
.ap-crm-rightbar,
.ap-right-v4 {
  width: 100% !important;
  max-width: 360px !important;
  justify-self: stretch !important;
}

/* Agenda semanal: evita caja vacía por falta de alto o render previo a tamaño final. */
#agenda-semanal {
  min-height: 520px !important;
  width: 100% !important;
  background: #fff !important;
  border-radius: 14px !important;
}

.agenda-box {
  min-height: 590px !important;
}

/* Calendario lateral: mantener altura correcta tras navegación. */
#calendario-mes,
.ap-mini-calendar {
  min-height: 300px !important;
  width: 100% !important;
}

/* En pantallas grandes conservamos un poco más de aire sin separar demasiado columnas. */
@media (min-width: 1600px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 220px minmax(0, 1fr) 380px !important;
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    max-width: 380px !important;
  }
}

@media (max-width: 1450px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 210px minmax(0, 1fr) 345px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    max-width: 345px !important;
  }
}

@media (max-width: 1180px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    grid-column: 1 / -1 !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 820px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 1fr !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   CRM_CSS_SIGNATURE: AP_GLOBAL_SIDEBARS_FIX3_NO_GAP_20260506
   Corrige hueco centro-derecha y unifica prioridad con navegación.
   ============================================================ */

/* La página debe estirar sus columnas, no alinear el centro al inicio. */
.ap-crm-shell,
.ap-shell-grid-v4,
.ap-crm-shell.ap-shell-grid-v4 {
  display: grid !important;
  grid-template-columns: 218px minmax(0, 1fr) 360px !important;
  justify-items: stretch !important;
  align-items: start !important;
  column-gap: 14px !important;
  row-gap: 14px !important;
  padding: 16px 42px 36px !important; /* margen exterior 3x aprox. */
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Centro: ocupar todo el carril asignado por CSS grid. */
.ap-crm-main,
.ap-main-v4 {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}

/* Panel: ya no tiene derecha interna; su contenido central debe llenar el carril. */
.crm-panel-card.ap-home-shell,
.ap-home-shell,
#crm-panel-wrapper,
#crm-panel-wrapper .col-centro,
#crm-panel-wrapper .col-centro > *,
.ap-main-v4 > *,
.ap-crm-main > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Si queda una columna derecha antigua dentro de panel.html por caché/template, se oculta para no duplicar. */
#crm-panel-wrapper > .col-dcha {
  display: none !important;
}

/* Evita reglas viejas de grid interno que creaban una falsa columna vacía. */
#crm-panel-wrapper,
.ap-home-shell #crm-panel-wrapper {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

/* Lateral derecho global: ocupa solo su carril y no se separa visualmente. */
.ap-crm-rightbar,
.ap-right-v4 {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

/* Agenda semanal: que no aparezca como caja vacía. */
#agenda-semanal {
  min-height: 520px !important;
  width: 100% !important;
  background: #fff !important;
  border-radius: 14px !important;
}

.agenda-box {
  min-height: 590px !important;
}

/* FullCalendar dentro del lateral izquierdo. */
#calendario-mes,
.ap-mini-calendar {
  min-height: 300px !important;
  width: 100% !important;
}

/* Si la pantalla es muy ancha, más margen pero manteniendo el centro lleno. */
@media (min-width: 1600px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 220px minmax(0, 1fr) 380px !important;
    padding-left: 52px !important;
    padding-right: 52px !important;
  }
}

@media (max-width: 1450px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 210px minmax(0, 1fr) 345px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    column-gap: 12px !important;
  }
}

@media (max-width: 1180px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 820px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 1fr !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   CRM_CSS_SIGNATURE: AP_FIX4_NO_INTERNAL_PANEL_GAP_20260506
   El hueco venía del grid interno antiguo de panel.html.
   Aquí se fuerza definitivamente: base = 3 columnas; panel = 1 zona central.
   ============================================================ */

.ap-crm-shell,
.ap-shell-grid-v4,
.ap-crm-shell.ap-shell-grid-v4 {
  grid-template-columns: 218px minmax(0, 1fr) 348px !important;
  padding-left: 42px !important;
  padding-right: 42px !important;
  gap: 14px !important;
  justify-items: stretch !important;
  align-items: start !important;
}

.ap-crm-main,
.ap-main-v4,
.ap-crm-main > *,
.ap-main-v4 > *,
.crm-root.ap-home-shell,
.crm-panel-card.ap-home-shell,
#crm-panel-wrapper,
#crm-panel-wrapper .col-centro,
#crm-panel-wrapper .col-centro > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  justify-self: stretch !important;
}

#crm-panel-wrapper,
.ap-home-shell #crm-panel-wrapper {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

#crm-panel-wrapper > .col-dcha {
  display: none !important;
}

.ap-crm-rightbar,
.ap-right-v4 {
  width: 100% !important;
  max-width: 348px !important;
  justify-self: stretch !important;
}

@media (min-width: 1600px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 220px minmax(0, 1fr) 368px !important;
    padding-left: 52px !important;
    padding-right: 52px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    max-width: 368px !important;
  }
}

@media (max-width: 1450px) {
  .ap-crm-shell,
  .ap-shell-grid-v4,
  .ap-crm-shell.ap-shell-grid-v4 {
    grid-template-columns: 210px minmax(0, 1fr) 335px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  .ap-crm-rightbar,
  .ap-right-v4 {
    max-width: 335px !important;
  }
}
