body{min-height:100vh}.page-center{min-height:100vh}.navbar-brand{font-weight:700}.card{box-shadow:0 1px 2px rgba(0,0,0,.04)}.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--tblr-border-color);padding-top:1.5rem;margin-top:1.75rem;margin-bottom:1rem}.dashboard-section-heading:first-child{border-top:0;padding-top:0;margin-top:0}.dashboard-metric-card{transition:transform .15s ease,box-shadow .15s ease}.dashboard-metric-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.07)}.toast-container{z-index:1080}.empty-img{color:var(--tblr-primary);margin-bottom:1rem}@media(max-width:767.98px){.navbar .container-xl{align-items:center}.dashboard-section-heading{margin-top:1.25rem}.dashboard-metric-card:hover{transform:none}.toast-container{left:0!important;right:0!important}.toast-container .toast{width:100%}}

/* Telemarketing modules */
.tm-summary-card{border:1px solid var(--tblr-border-color);background:var(--tblr-card-bg);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.tm-summary-card:hover,.tm-summary-card:focus-visible{border-color:var(--tblr-primary);box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-1px)}.tm-summary-card.is-active{border-color:var(--tblr-primary);box-shadow:0 0 0 2px rgba(var(--tblr-primary-rgb),.12)}.tm-summary-card:focus-visible{outline:0}.tm-table tbody tr.tm-client-row{cursor:pointer}.tm-table tbody tr.tm-client-row:focus{outline:2px solid var(--tblr-primary);outline-offset:-2px}.table-sort{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit}.timeline-event-card{width:100%}.tm-summary-column{min-width:180px}@media(max-width:767.98px){.tm-summary-card:hover{transform:none}.tm-detail-drawer{width:100vw}.tm-table{min-width:980px}}

.tm-detail-button{white-space:nowrap}.tm-detail-drawer.show{visibility:visible}.tm-client-row:focus-visible{outline:2px solid var(--tblr-primary);outline-offset:-2px}@media(max-width:767.98px){.tm-detail-button{min-height:38px}}

/* Alineación del timeline Telemarketing: icono y tarjeta comparten una cuadrícula estable. */
.tm-detail-modal .timeline-event{display:grid;grid-template-columns:2rem minmax(0,1fr);column-gap:.75rem;align-items:start}
.tm-detail-modal .timeline-event-icon{position:static;margin:0}
.tm-detail-modal .timeline-event-card{margin:0;min-width:0;width:100%}
.customer-value-summary-card{border:1px solid var(--tblr-border-color);background:var(--tblr-card-bg);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.customer-value-summary-card:hover,.customer-value-summary-card:focus-visible{border-color:var(--tblr-primary);box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-1px)}
.customer-value-summary-card.is-active{border-color:var(--tblr-primary);box-shadow:0 0 0 2px rgba(var(--tblr-primary-rgb),.12)}
.customer-value-table tbody tr.customer-value-row{cursor:pointer}.customer-value-row:focus-visible{outline:2px solid var(--tblr-primary);outline-offset:-2px}

@media(max-width:767.98px){.customer-value-summary-card:hover{transform:none}.customer-value-detail-drawer{width:100vw}.customer-value-table{min-width:980px}.customer-value-detail-button{min-height:38px}}

.tm-detail-modal,.customer-value-detail-modal{max-width:min(1400px,96vw)}
.tm-detail-modal .modal-body,.customer-value-detail-modal .modal-body{min-height:420px}
.customer-value-detail-table{min-width:900px}
@media(max-width:767.98px){.tm-detail-modal,.customer-value-detail-modal{max-width:none;margin:.5rem}.tm-detail-modal .modal-content,.customer-value-detail-modal .modal-content{min-height:calc(100vh - 1rem)}}


/* V0.3.13 - Editor de cliente: el cuerpo del modal debe desplazarse sin ocultar acciones. */
#tmClientEditorModal .tm-client-editor-content{max-height:calc(100vh - 2rem);overflow:hidden}
#tmClientEditorModal .tm-client-editor-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}
#tmClientEditorModal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#tmClientEditorModal .modal-header,#tmClientEditorModal .modal-footer{flex:0 0 auto}
@media(max-width:767.98px){#tmClientEditorModal .tm-client-editor-content{max-height:calc(100vh - 1rem)}}


/* V0.3.14 - Preferencias visuales locales y paginación Tabler. */
.tm-theme-accent-choice{cursor:pointer}.tm-theme-accent-choice input{position:absolute;opacity:0;pointer-events:none}.tm-theme-accent-swatch{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--tm-accent);border:3px solid var(--tblr-bg-surface);box-shadow:0 0 0 1px var(--tblr-border-color);transition:transform .15s ease,box-shadow .15s ease}.tm-theme-accent-choice:hover .tm-theme-accent-swatch{transform:scale(1.06)}.tm-theme-accent-choice input:checked+.tm-theme-accent-swatch{box-shadow:0 0 0 3px var(--tblr-bg-surface),0 0 0 5px var(--tm-accent)}#tmThemeSettingsModal .form-selectgroup-label{min-height:5.25rem}.pagination .page-link[disabled]{pointer-events:none}

.tm-touch-choice-box .form-check-card{min-height:48px;display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);cursor:pointer;user-select:none;touch-action:manipulation}
.tm-touch-choice-box .form-check-card:has(.form-check-input:checked){border-color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.08)}
.tm-touch-choice-box .form-check-input{width:1.15rem;height:1.15rem;flex:0 0 auto}
@media (pointer:coarse){.tm-touch-choice-box .form-check-card{min-height:54px;font-size:1rem}}


/* V0.4.0-preview2 - Modales operativos accesibles en tablet landscape y móvil. */
.tm-form-modal-content{max-height:calc(100vh - 2rem);overflow:hidden}
.tm-form-modal-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}
.tm-form-modal-form>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tm-form-modal-form>.modal-footer{flex:0 0 auto;background:var(--tblr-card-bg);position:relative;z-index:2}
@media(max-width:767.98px){.tm-form-modal-content{max-height:calc(100vh - 1rem)}}
@media(max-height:700px){.tm-form-modal-dialog{margin:.5rem auto;min-height:0}.tm-form-modal-content{max-height:calc(100vh - 1rem)}}

/* V0.4.5 - Componentes Tabler consistentes y acciones adaptables al tema. */
.btn-action{color:var(--tblr-primary)}.btn-action:hover,.btn-action:focus-visible{color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.10)}
.tm-contact-line{display:flex;align-items:center;gap:.5rem;min-height:2.25rem;border-bottom:1px solid var(--tblr-border-color-translucent)}.tm-contact-line:last-child{border-bottom:0}.tm-contact-line .btn-action{flex:0 0 auto}
#tmRuntimeToasts,.toast-container.bottom-0{padding-bottom:max(1rem,env(safe-area-inset-bottom))!important}
.tm-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tm-cal-head{padding:.75rem;text-align:center;font-weight:600;background:var(--tblr-bg-surface-secondary)}.tm-cal-day{min-height:125px;border-top:1px solid var(--tblr-border-color);border-right:1px solid var(--tblr-border-color);padding:.5rem}.tm-cal-day:nth-child(7n){border-right:0}.tm-cal-muted{opacity:.45}.tm-cal-num{font-weight:600}.tm-cal-task{display:block;margin-top:.35rem;padding:.3rem .4rem;border-radius:.3rem;background:rgba(var(--tblr-primary-rgb),.10);color:var(--tblr-body-color);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-cal-task:hover{background:rgba(var(--tblr-primary-rgb),.16)}
@media(max-width:768px){.tm-calendar-grid{min-width:760px}.tm-calendar-grid+.x{display:none}}
@media(pointer:coarse){.btn-action{min-width:44px;min-height:44px}}

/* V0.4.7 - Segmented control Tabler-style para Lista/Calendario */
.tm-segmented-control{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius-lg,.5rem);background:var(--tblr-bg-surface-secondary);max-width:100%;overflow-x:auto;vertical-align:middle}
.tm-segmented-item{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.45rem .8rem;border:1px solid transparent;border-radius:calc(var(--tblr-border-radius-lg,.5rem) - 2px);color:var(--tblr-secondary-color);text-decoration:none;white-space:nowrap;touch-action:manipulation;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
.tm-segmented-item:hover{color:var(--tblr-body-color);text-decoration:none;background:var(--tblr-bg-surface)}
.tm-segmented-item.active{color:var(--tblr-body-color);background:var(--tblr-bg-surface);border-color:var(--tblr-border-color);box-shadow:var(--tblr-box-shadow-card,0 1px 2px rgba(0,0,0,.04))}
.tm-segmented-item .icon{margin:0;flex:0 0 auto}
@media(pointer:coarse){.tm-segmented-item{min-height:46px;padding:.55rem .9rem}}
@media(max-width:575.98px){.tm-segmented-control{width:100%}.tm-segmented-item{flex:1 1 0}}

/* V0.4.10 - Cartera: evita que correos múltiples deformen la tabla. */
.tm-client-email-col,.tm-client-email-cell{width:16rem;max-width:16rem}
.tm-client-email-text{display:block;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:991.98px){.tm-client-email-col,.tm-client-email-cell{width:13rem;max-width:13rem}.tm-client-email-text{max-width:13rem}}


/* V0.4.15 - Notificaciones y personalización global. */
.tm-notification-count{position:absolute;top:.1rem;right:.05rem;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border:2px solid var(--tblr-bg-surface);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;line-height:1;color:#fff!important;z-index:2}
html[data-bs-theme=dark] .tm-notification-count{border-color:var(--tblr-bg-surface)}
.btn-primary{--tblr-btn-bg:var(--tblr-primary);--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-hover-border-color:var(--tblr-primary)}
.text-primary{color:var(--tblr-primary)!important}.bg-primary-lt{color:var(--tblr-primary)!important}


/* V0.4.16 - Detalle secundario compacto en tablas. */
.tm-row-detail{display:block;max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:991.98px){.tm-row-detail{max-width:15rem}}


/* V0.4.18 - Homologación UX/UI Tabler. */
.tm-preferred-contact-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding:.375rem 0;border:0;margin:0;min-width:0}
.tm-preferred-contact-inline .form-check-inline{margin-inline-end:.75rem;margin-bottom:.25rem;min-height:2rem;display:inline-flex;align-items:center;gap:.35rem;touch-action:manipulation}
.tm-preferred-contact-inline .form-check-input{flex:0 0 auto}
.tm-table-empty{padding:2.25rem 1rem!important}
.tm-table-empty .empty{padding:0!important;margin:0 auto;max-width:28rem}
.tm-table-empty .empty-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:rgba(var(--tblr-primary-rgb),.08);color:var(--tblr-primary);margin-bottom:.75rem}
.tm-table-empty .empty-title{font-size:1rem;margin-bottom:.25rem}
.tm-loading-state{display:inline-flex;align-items:center;gap:.5rem;color:var(--tblr-secondary-color)}
.tm-loading-state .spinner-border{width:1.25rem;height:1.25rem}
.tm-client-email-cell,.tm-row-detail{min-width:0}
.table .btn-action{vertical-align:middle}
.form-control.is-invalid,.form-select.is-invalid{scroll-margin-top:6rem}
@media(pointer:coarse){.tm-preferred-contact-inline .form-check-inline{min-height:44px;margin-inline-end:1rem}.tm-preferred-contact-inline .form-check-input{width:1.15rem;height:1.15rem}}
@media(max-width:575.98px){.tm-preferred-contact-inline{gap:.15rem .25rem}.tm-preferred-contact-inline .form-check-inline{flex:1 1 calc(50% - .5rem);margin-inline-end:0}}

/* V0.5.2 - feedback de carga */
.tm-skeleton-row .placeholder{min-height:.85rem;border-radius:.25rem}.tm-skeleton-row{pointer-events:none}.tm-cal-day-link{display:inline-flex;min-width:1.75rem;min-height:1.75rem;align-items:center;justify-content:center;border-radius:.35rem}.tm-cal-day-link:hover{background:var(--tblr-bg-surface-secondary);color:var(--tblr-primary)!important}
.tm-settings-panel[hidden]{display:none!important}


/* V0.5.3 - progreso masivo, skeleton de resumen e imagen administrable de acceso. */
#tmBulkProgressArea[aria-busy="true"] .progress-bar{transition:width .2s ease}
#tmBulkProgressBar{min-height:1rem;font-size:.7rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center}
#tmDashboard .tm-kpi-value .placeholder{display:inline-block;width:4.5rem;min-height:2rem;border-radius:.3rem}
.tm-login-branding-pane{min-height:280px;background:var(--tblr-bg-surface-secondary)}
.tm-login-branding-image{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}
.tm-login-branding-preview{width:100%;max-height:220px;object-fit:cover}
@media(max-width:991.98px){.tm-login-branding-pane{max-height:220px;min-height:180px}.tm-login-branding-image{min-height:180px;max-height:220px}}
