/* SMARTCALL - CSS principal */
/* Paleta neutra, diseño funcional para uso interno */

:root {
    --color-bg:         #f4f5f7;
    --color-surface:    #ffffff;
    --color-border:     #dde1e7;
    --color-primary:    #2563eb;
    --color-primary-dk: #1d4ed8;
    --color-text:       #1e293b;
    --color-muted:      #64748b;
    --color-ok:         #16a34a;
    --color-warn:       #d97706;
    --color-error:      #dc2626;
    --color-pending:    #7c3aed;
    --radius:           6px;
    --shadow:           0 1px 3px rgba(0,0,0,.08);
    --nav-height:       52px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 14px;
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.5;
}

/* ── Navbar ─────────────────────────────────────────────── */
.navbar {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--nav-height);
    background: #1e293b;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 24px;
    box-shadow: 0 2px 4px rgba(0,0,0,.15);
}

.navbar-brand {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-shrink: 0;
}

.navbar-brand .logo {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    letter-spacing: .5px;
}

.navbar-brand .version {
    font-size: 11px;
    color: #94a3b8;
}

.navbar-menu {
    display: flex;
    list-style: none;
    gap: 2px;
    flex-wrap: wrap;
}

.navbar-menu li a {
    display: block;
    padding: 6px 12px;
    color: #cbd5e1;
    text-decoration: none;
    border-radius: var(--radius);
    font-size: 13px;
    transition: background .15s, color .15s;
}

.navbar-menu li a:hover,
.navbar-menu li a.active {
    background: #334155;
    color: #fff;
}

.navbar-menu .separator {
    width: 1px;
    background: #334155;
    margin: 8px 6px;
    align-self: stretch;
}

/* ── Contenido principal ─────────────────────────────────── */
.main-content {
    padding: 24px;
    min-height: calc(100vh - var(--nav-height) - 40px);
}

/* ── Cards / superficies ─────────────────────────────────── */
.card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow);
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border);
}

.card-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text);
}

/* ── Tablas ──────────────────────────────────────────────── */
.table-wrapper { overflow-x: auto; }

table.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

table.data-table th {
    background: #f8fafc;
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    color: var(--color-muted);
    border-bottom: 2px solid var(--color-border);
    white-space: nowrap;
}

table.data-table td {
    padding: 9px 12px;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
}

table.data-table tr:hover td { background: #f8fafc; }

/* ── Badges de estado ────────────────────────────────────── */
.badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.badge-completo           { background: #dcfce7; color: var(--color-ok); }
.badge-completo_con_errores{ background: #fef9c3; color: var(--color-warn); }
.badge-pendiente          { background: #ede9fe; color: var(--color-pending); }
.badge-procesando         { background: #dbeafe; color: var(--color-primary); }
.badge-error              { background: #fee2e2; color: var(--color-error); }

/* ── Botones ─────────────────────────────────────────────── */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: none;
    border-radius: var(--radius);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: opacity .15s, background .15s;
}

.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-dk); }
.btn-secondary { background: #e2e8f0; color: var(--color-text); }
.btn-secondary:hover { background: #cbd5e1; }
.btn-danger { background: var(--color-error); color: #fff; }
.btn-sm { padding: 4px 10px; font-size: 12px; }

/* ── Formularios ─────────────────────────────────────────── */
.form-group { margin-bottom: 14px; }
.form-label { display: block; font-weight: 500; margin-bottom: 5px; font-size: 13px; }
.form-control {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    font-size: 13px;
    background: var(--color-surface);
    color: var(--color-text);
    transition: border-color .15s;
}
.form-control:focus { outline: none; border-color: var(--color-primary); }

/* ── Upload zone ─────────────────────────────────────────── */
.upload-zone {
    border: 2px dashed var(--color-border);
    border-radius: var(--radius);
    padding: 36px;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}
.upload-zone:hover,
.upload-zone.dragover {
    border-color: var(--color-primary);
    background: #eff6ff;
}
.upload-zone p { color: var(--color-muted); margin-top: 8px; font-size: 13px; }

/* ── Alertas ─────────────────────────────────────────────── */
.alert {
    padding: 10px 14px;
    border-radius: var(--radius);
    margin-bottom: 16px;
    font-size: 13px;
}
.alert-ok    { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }
.alert-error { background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; }
.alert-warn  { background: #fef9c3; color: #92400e; border: 1px solid #fde68a; }
.alert-info  { background: #dbeafe; color: #1e40af; border: 1px solid #bfdbfe; }

/* ── Footer ──────────────────────────────────────────────── */
.footer {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--color-muted);
    border-top: 1px solid var(--color-border);
    background: var(--color-surface);
}

/* ── Utilidades ──────────────────────────────────────────── */
.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mb-1 { margin-bottom: 8px; }
.mb-2 { margin-bottom: 16px; }
.text-muted { color: var(--color-muted); }
.text-right { text-align: right; }
.flex { display: flex; }
.gap-2 { gap: 8px; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }

/* Semaforo panel */
.badge-verde{background:#dcfce7;color:#15803d;padding:3px 8px;border-radius:999px;}
.badge-amarillo{background:#fef9c3;color:#854d0e;padding:3px 8px;border-radius:999px;}
.badge-naranja{background:#ffedd5;color:#c2410c;padding:3px 8px;border-radius:999px;}
.badge-rojo{background:#fee2e2;color:#b91c1c;padding:3px 8px;border-radius:999px;}
.badge-sin_clasificar{background:#e5e7eb;color:#374151;padding:3px 8px;border-radius:999px;}
.semaforo-card.sem-verde{border-left:5px solid #16a34a;}
.semaforo-card.sem-amarillo{border-left:5px solid #eab308;}
.semaforo-card.sem-naranja{border-left:5px solid #f97316;}
.semaforo-card.sem-rojo{border-left:5px solid #dc2626;}

/* ==========================================================
   SMARTCALL v37.2 - Responsive real Comisiones / Settings
   ========================================================== */
.main-content{
    width:100%;
    max-width:none;
}

/* KPI cards: pisa los estilos inline anteriores */
.main-content .kpi-grid{
    display:grid !important;
    gap:14px !important;
    margin-bottom:16px !important;
    align-items:stretch !important;
}
.main-content .kpi-grid > .card{
    min-width:0;
    min-height:136px;
    padding:18px;
}

/* Comisiones: formulario y tabla */
#formComisiones{
    display:grid !important;
    gap:12px !important;
    align-items:end !important;
}
.table-wrapper{
    width:100%;
    overflow-x:auto;
    border-radius:var(--radius);
}
.table-wrapper table.data-table{
    min-width:1380px;
}

/* Settings */
.settings-layout{
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:16px;
    align-items:start;
}
.settings-sidebar{
    position:sticky;
    top:70px;
}
.settings-tabs{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.form-grid-liquidadas,
.form-grid-descuentos{
    display:grid;
    grid-template-columns:220px 180px minmax(260px,1fr) auto;
    gap:10px;
    align-items:end;
}
.form-grid-descuentos{
    grid-template-columns:190px 220px 170px minmax(260px,1fr) auto;
}

@media (min-width:1700px){
    .main-content{padding:24px 20px;}
    .main-content .kpi-grid{grid-template-columns:repeat(8,minmax(0,1fr)) !important;}
    #formComisiones{grid-template-columns:170px 1.15fr 1.05fr 1.05fr 1.15fr auto auto !important;}
}
@media (max-width:1699px) and (min-width:1200px){
    .main-content{padding:20px;}
    .main-content .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
    #formComisiones{grid-template-columns:160px repeat(2,minmax(220px,1fr)) auto auto !important;}
    .form-grid-liquidadas{grid-template-columns:200px 170px minmax(220px,1fr) auto;}
    .form-grid-descuentos{grid-template-columns:180px 200px 160px minmax(220px,1fr) auto;}
}
@media (max-width:1199px) and (min-width:760px){
    .main-content .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
    #formComisiones{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .settings-layout{grid-template-columns:1fr;}
    .settings-sidebar{position:static;}
    .settings-tabs{flex-direction:row;flex-wrap:wrap;}
    .form-grid-liquidadas,.form-grid-descuentos{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:759px){
    .navbar{height:auto;align-items:flex-start;padding:10px 12px;flex-wrap:wrap;}
    .navbar-menu{overflow-x:auto;flex-wrap:nowrap;width:100%;}
    .main-content{padding:12px;}
    .main-content .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .main-content .kpi-grid > .card{padding:14px;min-height:120px;}
    #formComisiones{grid-template-columns:1fr !important;}
    .settings-layout{grid-template-columns:1fr;}
    .settings-sidebar{position:static;}
    .settings-tabs{flex-direction:row;flex-wrap:wrap;}
    .form-grid-liquidadas,.form-grid-descuentos{grid-template-columns:1fr;}
}

/* ==========================================================
   SMARTCALL v37.3 - Overlay de progreso para importaciones
   ========================================================== */
#smartcall-progress-overlay{
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(15,23,42,.44);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}
#smartcall-progress-overlay.active{display:flex;}
.sc-progress-modal{
    width:min(680px,96vw);
    background:#fff;
    border:1px solid var(--color-border);
    border-radius:14px;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
    padding:22px;
}
.sc-progress-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin-bottom:14px;
}
.sc-progress-title{font-size:18px;font-weight:700;color:var(--color-text);}
.sc-progress-subtitle{font-size:13px;color:var(--color-muted);margin-top:4px;}
.sc-progress-percent{font-size:28px;font-weight:800;color:var(--color-primary);line-height:1;}
.sc-progress-bar{
    height:14px;
    background:#e2e8f0;
    border-radius:999px;
    overflow:hidden;
    margin:12px 0 16px;
}
.sc-progress-fill{
    height:100%;
    width:0%;
    background:var(--color-primary);
    border-radius:999px;
    transition:width .25s ease;
}
.sc-progress-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:14px;
}
.sc-progress-grid div{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:10px;
}
.sc-progress-grid strong{display:block;font-size:18px;color:var(--color-text);}
.sc-progress-grid span{display:block;font-size:12px;color:var(--color-muted);margin-top:3px;}
.sc-progress-meta{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:10px;
    font-size:13px;
    color:var(--color-muted);
    margin-bottom:10px;
}
.sc-progress-message{
    font-size:13px;
    color:#334155;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    border-radius:10px;
    padding:10px 12px;
}
@media(max-width:640px){.sc-progress-grid{grid-template-columns:repeat(2,1fr);} .sc-progress-head{align-items:center;} }


/* ============================================================
   SMARTCALL v37.18 - KPIs comisiones compactos en una fila
   Objetivo: 9 cuadros visibles en 1920px sin segunda fila.
   ============================================================ */
body .main-content .sc-kpi-grid,
body .main-content .kpi-grid.sc-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(9, minmax(132px, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
}
body .main-content .sc-kpi-card {
    min-width: 0 !important;
    min-height: 142px !important;
    padding: 13px 10px !important;
    overflow: hidden !important;
}
body .main-content .sc-kpi-title {
    font-size: 11px !important;
    line-height: 1.15 !important;
    margin-right: 26px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body .main-content .sc-kpi-value {
    font-size: 21px !important;
    line-height: 1.08 !important;
    margin-top: 5px !important;
    white-space: nowrap !important;
}
body .main-content .sc-kpi-small {
    font-size: 10.5px !important;
    line-height: 1.15 !important;
}
body .main-content .sc-kpi-list {
    gap: 4px !important;
    margin-top: 8px !important;
}
body .main-content .sc-kpi-chip {
    font-size: 9.8px !important;
    line-height: 1.05 !important;
    padding: 3px 6px !important;
    gap: 5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body .main-content .sc-kpi-chip span,
body .main-content .sc-kpi-chip strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body .main-content .sc-kpi-chip strong {
    flex: 0 0 auto !important;
}
body .main-content .sc-kpi-detail-btn {
    width: 24px !important;
    height: 24px !important;
    right: 8px !important;
    top: 8px !important;
    font-size: 11px !important;
}

@media (min-width: 1700px) {
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid {
        grid-template-columns: repeat(9, minmax(132px, 1fr)) !important;
    }
}
@media (max-width: 1699px) and (min-width: 1360px) {
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid {
        grid-template-columns: repeat(5, minmax(165px, 1fr)) !important;
    }
}
@media (max-width: 1359px) and (min-width: 900px) {
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid {
        grid-template-columns: repeat(4, minmax(170px, 1fr)) !important;
    }
}
@media (max-width: 899px) and (min-width: 520px) {
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid {
        grid-template-columns: repeat(2, minmax(170px, 1fr)) !important;
    }
}
@media (max-width: 519px) {
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   SMARTCALL v37.19 - KPIs más angostos y simétricos
   Objetivo: evitar 8+1 en monitores grandes/escala Windows.
   ============================================================ */
body .main-content .sc-kpi-grid,
body .main-content .kpi-grid.sc-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,155px))!important;
    justify-content:start!important;
    align-items:stretch!important;
    gap:7px!important;
    margin-bottom:12px!important;
    width:100%!important;
}
body .main-content .sc-kpi-card{
    width:155px!important;
    min-width:0!important;
    max-width:155px!important;
    min-height:128px!important;
    padding:10px 9px!important;
    overflow:hidden!important;
}
body .main-content .sc-kpi-title{
    font-size:10.5px!important;
    line-height:1.1!important;
    margin-right:23px!important;
}
body .main-content .sc-kpi-value{
    font-size:18.5px!important;
    line-height:1.05!important;
    margin-top:4px!important;
}
body .main-content .sc-kpi-small{
    font-size:9.8px!important;
    line-height:1.1!important;
}
body .main-content .sc-kpi-list{
    gap:3px!important;
    margin-top:7px!important;
}
body .main-content .sc-kpi-chip{
    font-size:9.2px!important;
    padding:3px 5px!important;
    line-height:1!important;
    gap:4px!important;
}
body .main-content .sc-kpi-detail-btn{
    width:22px!important;
    height:22px!important;
    right:6px!important;
    top:6px!important;
    font-size:10px!important;
    border-radius:7px!important;
}
@media (min-width:1800px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(9,minmax(0,165px))!important;gap:8px!important;}
    body .main-content .sc-kpi-card{width:165px!important;max-width:165px!important;}
    body .main-content .sc-kpi-value{font-size:19.5px!important;}
}
@media (max-width:1450px) and (min-width:900px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(5,minmax(0,165px))!important;}
    body .main-content .sc-kpi-card{width:165px!important;max-width:165px!important;}
}
@media (max-width:899px) and (min-width:520px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(2,minmax(0,165px))!important;}
    body .main-content .sc-kpi-card{width:165px!important;max-width:165px!important;}
}
@media (max-width:519px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:1fr!important;}
    body .main-content .sc-kpi-card{width:auto!important;max-width:none!important;}
}


/* ============================================================
   SMARTCALL v37.20 - KPIs más legibles y extendidos hasta lateral
   Mantiene 9 tarjetas en una fila grande, sin superposición.
   ============================================================ */
body .main-content .sc-kpi-grid,
body .main-content .kpi-grid.sc-kpi-grid{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    justify-content:stretch!important;
    align-items:stretch!important;
    gap:9px!important;
    width:100%!important;
    margin-bottom:13px!important;
}
body .main-content .sc-kpi-card{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:136px!important;
    padding:12px 11px!important;
    overflow:hidden!important;
}
body .main-content .sc-kpi-title{
    font-size:11.8px!important;
    line-height:1.15!important;
    margin-right:26px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body .main-content .sc-kpi-value{
    font-size:23px!important;
    line-height:1.06!important;
    margin-top:5px!important;
    white-space:nowrap!important;
    letter-spacing:-0.2px!important;
}
body .main-content .sc-kpi-small{
    font-size:10.8px!important;
    line-height:1.15!important;
}
body .main-content .sc-kpi-list{
    gap:4px!important;
    margin-top:8px!important;
}
body .main-content .sc-kpi-chip{
    font-size:10.2px!important;
    padding:4px 7px!important;
    line-height:1.08!important;
    gap:6px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body .main-content .sc-kpi-chip span,
body .main-content .sc-kpi-chip strong{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
body .main-content .sc-kpi-chip strong{flex:0 0 auto!important;}
body .main-content .sc-kpi-detail-btn{
    width:25px!important;
    height:25px!important;
    right:7px!important;
    top:7px!important;
    font-size:11px!important;
    border-radius:8px!important;
}
@media (min-width:1700px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:9px!important;}
}
@media (max-width:1699px) and (min-width:1360px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
}
@media (max-width:1359px) and (min-width:900px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width:899px) and (min-width:520px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:519px){
    body .main-content .sc-kpi-grid,
    body .main-content .kpi-grid.sc-kpi-grid{grid-template-columns:1fr!important;}
    body .main-content .sc-kpi-card{width:auto!important;max-width:none!important;}
}

/* ============================================================
   SMARTCALL v37.21 - Análisis semanal
   ============================================================ */
.analisis-filtros{margin-bottom:14px;}
.analisis-week-stack{display:flex;flex-direction:column;gap:18px;}
.weekly-card{padding:14px !important;}
.weekly-title{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:14px;}
.weekly-title span{color:var(--color-muted);font-size:12px;}
.weekly-mobile-detail{margin-left:auto;border:1px solid #cfd8e3;background:#f8fafc;border-radius:8px;padding:6px 9px;font-weight:700;cursor:pointer;}
.weekly-table-wrap{overflow:auto;border:1px solid #d8e0ea;border-radius:8px;background:#fff;}
.weekly-table{font-size:11px;min-width:2400px;}
.weekly-table th{white-space:nowrap;background:#eef3f8;font-weight:800;}
.weekly-table td{white-space:nowrap;}
.weekly-total-row td{font-weight:800;border-top:2px solid #aab6c5 !important;}
.weekly-total-cell{background:#d9d9d9 !important;color:#061326 !important;font-weight:900 !important;}
.weekly-compare-row td{background:#f8fafc;}
.weekly-trend-row td{background:#eef6ff;font-weight:800;}
@media (max-width: 900px){.weekly-table{min-width:1800px;font-size:10px}.weekly-title{flex-wrap:wrap}.weekly-mobile-detail{margin-left:0}}

/* ============================================================
   SMARTCALL v37.23 - Análisis semanal filtros, modal y columnas
   ============================================================ */
.analisis-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;}
.analisis-head h1{margin-bottom:6px;}
.aw-help-btn{width:42px;height:38px;font-weight:900;font-size:17px;}
.analisis-filtros-v22{display:grid;grid-template-columns:110px minmax(230px,1fr) minmax(210px,1fr) minmax(190px,1fr) minmax(190px,1fr) minmax(190px,1fr);gap:12px;align-items:end;}
.analisis-filtros-v22 .service-checks{grid-column:1 / span 3;}
.aw-service-list{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:8px 10px;border:1px solid #d7e0ea;border-radius:8px;background:#f8fafc;min-height:38px;}
.aw-service-list label{display:flex;gap:5px;align-items:center;font-size:13px;font-weight:700;}
.analisis-filtros-v22 .form-actions{grid-column:4 / span 3;display:flex;gap:10px;align-items:end;justify-content:flex-end;flex-wrap:wrap;}
.weekly-card{padding:16px !important;}
.weekly-title{background:#f8fafc;border:1px solid #d9e2ec;border-radius:10px;padding:10px 12px;}
.weekly-table-wrap{max-width:100%;overflow:auto;}
.weekly-table-v22{font-size:12px;min-width:2600px;border-collapse:separate;border-spacing:0;}
.weekly-table-v22 th,.weekly-table-v22 td{padding:9px 10px;vertical-align:middle;}
.weekly-table-v22 th{position:sticky;top:0;z-index:2;color:#26364d;}
.weekly-table-v22 .sticky-col{position:sticky;left:0;z-index:3;background:#fff;min-width:120px;box-shadow:1px 0 0 #dde5ef;}
.weekly-table-v22 thead .sticky-col{z-index:4;background:#eef3f8;}
.weekly-table-v22 .svc-movil{background:#edf5ff;}
.weekly-table-v22 .svc-ftth{background:#eefaf1;}
.weekly-table-v22 .svc-app{background:#fff7e6;}
.weekly-table-v22 .svc-tv{background:#f4efff;}
.weekly-table-v22 .svc-total{background:#f1f5f9;}
.weekly-table-v22 td:nth-child(n+2){text-align:right;}
.weekly-table-v22 td:nth-child(4),.weekly-table-v22 td:nth-child(3){text-align:left;}
.weekly-total-row .sticky-col,.weekly-total-row td{font-weight:900 !important;}
.weekly-total-cell{background:#d9d9d9 !important;color:#061326 !important;font-weight:900 !important;}
.weekly-compare-row td{background:#fbfdff;}
.weekly-trend-row td{background:#eaf4ff;font-weight:900;}
.weekly-mobile-detail{background:#fff;border:1px solid #b9c7d8;color:#061326;}
.aw-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:28px;}
.aw-modal.open{display:flex;}
.aw-modal-box{background:#fff;border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.28);width:min(96vw,1600px);max-height:88vh;overflow:auto;position:relative;padding:22px;}
.aw-modal-close{position:sticky;top:0;float:right;border:0;background:#e8eef6;border-radius:9px;width:36px;height:36px;font-size:22px;font-weight:900;cursor:pointer;z-index:5;}
.aw-modal-body h2{font-size:20px;margin:0 0 8px;}
.aw-modal-body p{color:#41536a;font-size:13px;margin-bottom:12px;}
.mobile-detail-table{min-width:2100px;}
.mobile-detail-table th{background:#eef3f8;}
@media (max-width:1400px){.analisis-filtros-v22{grid-template-columns:repeat(3,minmax(0,1fr));}.analisis-filtros-v22 .service-checks,.analisis-filtros-v22 .form-actions{grid-column:auto / span 3;justify-content:flex-start;}}
@media (max-width:760px){.analisis-filtros-v22{grid-template-columns:1fr;}.analisis-filtros-v22 .service-checks,.analisis-filtros-v22 .form-actions{grid-column:auto}.weekly-table-v22{font-size:11px}.aw-modal{padding:10px}.aw-modal-box{padding:14px;}}
.weekly-table-v22 tr.weekly-total-row td{background:#d9d9d9 !important;color:#061326;font-weight:900;}
.weekly-table-v22 tr.weekly-total-row td.sticky-col{background:#d9d9d9 !important;}

/* SMARTCALL v37.26 - Progreso actualización análisis semanal */
.aw-progress-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.aw-progress-modal.open{display:flex;}
.aw-progress-box{width:min(680px,96vw);background:#fff;border-radius:12px;box-shadow:0 18px 50px rgba(15,23,42,.28);padding:22px;border:1px solid #d8e0ec;}
.aw-progress-box h3{margin:0 0 8px;font-size:20px;color:#0f223d;}
.aw-progress-msg{margin:0 0 12px;color:#50627a;}
.aw-progress-bar{height:12px;background:#e6edf7;border-radius:999px;overflow:hidden;margin:12px 0 16px;}
.aw-progress-bar span{display:block;height:100%;background:#2563eb;border-radius:999px;transition:width .25s ease;}
.aw-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.aw-progress-grid div{border:1px solid #d8e0ec;border-radius:8px;padding:10px;background:#f8fafc;}
.aw-progress-grid small{display:block;color:#63758e;font-size:12px;margin-bottom:5px;}
.aw-progress-grid strong{font-size:15px;color:#0f223d;word-break:break-word;}
@media(max-width:760px){.aw-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* SMARTCALL v37.32 - Ayuda ampliada Análisis semanal */
.aw-help-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;margin-top:14px;}
.aw-help-grid section{border:1px solid #d9e2ec;border-radius:10px;background:#f8fafc;padding:14px;}
.aw-help-grid h3{font-size:15px;margin:0 0 8px;color:#0b1f3a;}
.aw-help-grid p{margin:6px 0;font-size:13px;color:#344760;}
.aw-help-grid ul{margin:8px 0 0 18px;padding:0;color:#344760;font-size:13px;}
.aw-help-grid li{margin:4px 0;}
@media (max-width:900px){.aw-help-grid{grid-template-columns:1fr;}}

/* SMARTCALL v37.36 - Login / usuarios sistema */
.navbar-user{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-size:12px;font-weight:800;white-space:nowrap}
.user-role-badge{display:inline-block;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;background:#e0f2fe;color:#075985}.user-role-superadmin{background:#fee2e2;color:#991b1b}.user-role-admin{background:#ede9fe;color:#5b21b6}.user-role-supervisor{background:#dcfce7;color:#166534}.user-role-lectura{background:#f1f5f9;color:#334155}
.security-hint{background:#f8fafc;border:1px solid #dbe3ef;border-radius:10px;padding:12px;color:#475569;font-size:13px;line-height:1.4}


/* ============================================================
   SMARTCALL v37.48 - Ayudas operativas completas
   ============================================================ */
.sc-global-help-btn{
    position:fixed;top:92px;right:22px;z-index:8500;width:42px;height:42px;border:0;border-radius:10px;
    background:#e8eef6;color:#0b1f3a;font-weight:900;font-size:18px;cursor:pointer;
    box-shadow:0 3px 10px rgba(15,23,42,.10);
}
.sc-global-help-btn:hover,.sc-settings-help-btn:hover{background:#dbe7f5;}
.sc-help-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:10000;padding:24px;}
.sc-help-overlay.open{display:flex;}
.sc-help-box{width:min(920px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.28);}
.sc-help-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #dbe3ee;gap:16px;}
.sc-help-title{font-size:21px;font-weight:800;color:#0b1f3a;margin:0;}
.sc-help-subtitle{font-size:13px;color:#52657d;margin-top:4px;}
.sc-help-close{border:0;background:#e8eef6;border-radius:10px;width:38px;height:38px;font-size:22px;font-weight:900;cursor:pointer;color:#0b1f3a;}
.sc-help-body{padding:20px 22px;}
.sc-help-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;}
.sc-help-section{border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc;padding:14px;}
.sc-help-section h3{font-size:15px;margin:0 0 8px;color:#0b1f3a;}
.sc-help-section p,.sc-help-section li{font-size:13px;color:#344760;line-height:1.45;}
.sc-help-section ul{margin:8px 0 0 18px;padding:0;}
.sc-settings-tabs-help{display:flex;flex-direction:column;gap:8px;}
.sc-settings-tab-row{display:grid;grid-template-columns:1fr 34px;gap:6px;align-items:center;}
.sc-settings-tab-row .btn{width:100%;text-align:left;}
.sc-settings-help-btn{border:0;background:#e8eef6;border-radius:8px;width:34px;height:34px;font-weight:900;cursor:pointer;color:#0b1f3a;}
@media(max-width:800px){.sc-help-grid{grid-template-columns:1fr}.sc-global-help-btn{top:80px;right:12px;width:38px;height:38px}.sc-help-overlay{padding:12px}}


/* ============================================================
   SMARTCALL v37.48 - Ayudas operativas completas
   Mantiene un solo boton ? por pantalla y usa modal explicativo largo.
   ============================================================ */
.sc-help-box{width:min(940px,96vw)!important;max-height:88vh!important;overflow:auto!important;}
.sc-help-grid{display:block!important;}
.sc-help-section{margin-bottom:12px!important;border:1px solid #d9e2ec!important;background:#f8fafc!important;border-radius:12px!important;padding:14px 16px!important;}
.sc-help-section h3{font-size:15px!important;font-weight:800!important;margin:0 0 8px!important;color:#0b1f3a!important;}
.sc-help-section p,.sc-help-section li{font-size:13px!important;line-height:1.48!important;color:#334155!important;}
.sc-help-section ul{margin:8px 0 0 18px!important;padding:0!important;}
.sc-settings-tab-row{display:flex!important;align-items:center!important;gap:6px!important;width:100%!important;}
.sc-settings-tab-row>a{flex:1!important;justify-content:flex-start!important;}
.sc-settings-help-btn{flex:0 0 34px!important;border:0!important;background:#e8eef6!important;border-radius:8px!important;width:34px!important;height:34px!important;font-weight:900!important;cursor:pointer!important;color:#0b1f3a!important;}
.sc-settings-help-btn:hover{background:#dbe7f5!important;}


/* ============================================================
   SMARTCALL v37.48 - Ayudas operativas completas y Settings limpio
   ============================================================ */
.settings-main-panel{position:relative;min-width:0;}
.sc-settings-active-help{position:absolute;top:0;right:0;z-index:30;}
.sc-settings-inline-help{position:static!important;width:42px!important;height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.settings-main-panel>.card:first-of-type{padding-right:64px!important;}
.settings-tabs{display:flex!important;flex-direction:column!important;gap:8px!important;}
.settings-tabs>a.btn{width:100%!important;text-align:left!important;justify-content:flex-start!important;}
.sc-settings-tab-row{display:block!important;}
.sc-settings-help-btn{display:none!important;}
.sc-help-box{width:min(980px,96vw)!important;}
.sc-help-section p,.sc-help-section li{font-size:13.5px!important;line-height:1.55!important;}
.sc-help-section h3{font-size:15.5px!important;}
@media(max-width:900px){.sc-settings-active-help{position:relative;display:flex;justify-content:flex-end;margin-bottom:8px}.settings-main-panel>.card:first-of-type{padding-right:16px!important;}}


/* ============================================================
   SMARTCALL v37.48 - Ayudas fijas sin superposicion
   ============================================================ */
.sc-global-help-btn{
    position:static!important;
    z-index:auto!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border:0!important;
    border-radius:10px!important;
    background:#e8eef6!important;
    color:#0b1f3a!important;
    font-weight:900!important;
    font-size:18px!important;
    cursor:pointer!important;
    box-shadow:0 3px 10px rgba(15,23,42,.08)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.sc-global-help-btn:hover{background:#dbe7f5!important;}
.sc-page-title-row,
.sc-settings-title-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    margin-bottom:6px!important;
}
.sc-page-title-row h1,
.sc-settings-title-row h2{
    margin:0!important;
}
.sc-settings-active-help{display:none!important;}
.settings-main-panel>.card:first-of-type{padding-right:16px!important;}
.sc-help-box{width:min(980px,96vw)!important;}
.sc-help-grid{display:block!important;}
.sc-help-section{margin-bottom:12px!important;}
@media(max-width:700px){
  .sc-page-title-row,.sc-settings-title-row{align-items:flex-start!important;}
  .sc-global-help-btn{width:38px!important;height:38px!important;min-width:38px!important;}
}


/* ============================================================
   SMARTCALL v37.48 - Ubicación estable de ayudas
   ============================================================ */
.sc-help-header-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
}
.sc-help-header-row > .sc-global-help-btn{
    margin-left:auto!important;
    flex:0 0 42px!important;
}
.sc-module-title-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    margin-bottom:16px!important;
}
.sc-settings-title-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    margin-bottom:8px!important;
}
.settings-main-panel .sc-global-help-btn{
    position:static!important;
    margin-left:auto!important;
}
.sc-settings-active-help{display:none!important;}
.sc-page-title-row{display:none!important;}
