:root{
  --bg:#f4f7fb;--surface:#fff;--text:#182230;--muted:#667085;--line:#e4e7ec;
  --primary:#244b76;--primary-dark:#183653;--accent:#2f80ed;--success:#027a48;
  --warning:#b54708;--danger:#b42318;--sidebar:#102a43;--soft:#eef4fb;
  --violet:#7a5af8;--teal:#0f766e;--green:#12b76a;--orange:#f79009;--red:#f04438;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#102a43,#0b1f33);color:#fff;padding:22px 18px;display:flex;flex-direction:column;position:relative}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:14px;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:800;box-shadow:0 10px 24px rgba(255,255,255,.12)}
.brand strong,.brand small{display:block}.brand small{opacity:.7;margin-top:3px}
.nav-groups{display:grid;gap:18px;margin-top:30px}.nav-group{display:grid;gap:6px}.nav-group-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9db7d0;padding:0 12px}
.sidebar nav a{padding:11px 12px;text-decoration:none;border-radius:12px;color:#dce8f2;display:flex;align-items:center;gap:11px;border:1px solid transparent}
.sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.14)}
.nav-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:rgba(255,255,255,.08);font-size:13px}
.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;display:flex;justify-content:space-between;gap:12px;font-size:14px;align-items:flex-end}.sidebar-user small{display:block;opacity:.7;margin-top:4px}.sidebar-user a{color:#a9c8e8;text-decoration:none}
.main{min-width:0}.topbar{min-height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:18px}.topbar h1{font-size:28px;margin:2px 0 0}.topbar-kicker{font-size:11px;letter-spacing:.12em;font-weight:800;color:#98a2b3}
.extension-pill,.badge{margin-left:auto;background:#eef4fb;color:var(--primary);padding:10px 14px;border-radius:999px;font-weight:700;font-size:13px;text-decoration:none}.content{padding:28px}.menu-toggle{display:none}
.filter-bar,.filter-card,.hero-panel,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:20px;box-shadow:0 8px 22px rgba(16,42,67,.03)}
.filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-card.compact{padding:16px 18px}
.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px;width:100%}.dashboard-filter-grid,.report-filter-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.quick-actions{display:grid;gap:8px}.quick-actions span{font-size:13px;font-weight:700;color:#344054}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f8fafc;border:1px solid var(--line);text-decoration:none;font-size:13px;font-weight:700;color:#475467}
.chip:hover{background:#eef4fb;color:var(--primary)}.align-end{align-items:end}
label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#344054}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;background:#fff;color:#101828;font:inherit}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(47,128,237,.14);border-color:#84adff}.check-label{display:flex;align-items:center;gap:8px;padding-top:29px}.check-label input{width:auto}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 15px;text-decoration:none;font-weight:700;cursor:pointer;font-size:14px}
.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-dark)}.button.secondary{background:#fff;border:1px solid #d0d5dd;color:#344054}
.button:disabled{opacity:.55;cursor:not-allowed}.filter-actions,.audio-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.status-banner{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.status-banner div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-dot{width:10px;height:10px;border-radius:50%}.status-neutral{background:#98a2b3}
.hero-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px;background:linear-gradient(135deg,#183653,#244b76);color:#fff;border:0}.hero-kicker{font-size:11px;letter-spacing:.15em;font-weight:800;opacity:.8}.hero-panel h2{margin:8px 0 10px;font-size:30px}.hero-panel p{margin:0;color:#dce8f2;line-height:1.65}.hero-panel strong{color:#fff}.hero-summary{display:grid;gap:12px}.hero-summary div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:14px 16px}.hero-summary span{display:block;font-size:13px;opacity:.8}.hero-summary strong{display:block;font-size:28px;margin-top:6px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:16px;margin-bottom:20px}.kpi-grid.refined{grid-template-columns:repeat(4,minmax(200px,1fr))}.compact-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}
.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:28px;margin-top:9px;color:#101828}
.kpi-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;min-height:128px}.kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:18px;background:#eef4fb;color:var(--primary)}.kpi-content span{display:block;color:var(--muted);font-size:13px}.kpi-content strong{display:block;font-size:30px;margin-top:8px;color:#101828}.kpi-content small{display:block;margin-top:8px;font-weight:700;font-size:12px}
.accent-green .kpi-icon{background:#ecfdf3;color:#027a48}.accent-blue .kpi-icon{background:#eff8ff;color:#175cd3}.accent-violet .kpi-icon{background:#f4f3ff;color:#5925dc}.accent-orange .kpi-icon{background:#fff4ed;color:#b54708}.accent-red .kpi-icon{background:#fef3f2;color:#b42318}.accent-teal .kpi-icon{background:#f0fdfa;color:#0f766e}
.trend-up{color:#027a48}.trend-down{color:#b42318}.trend-neutral{color:#667085}
.panel{padding:20px;margin-bottom:20px}.panel.no-margin{margin-bottom:0}.panel-large{grid-column:span 2}.panel-heading,.report-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.stacked-mobile{align-items:flex-start}
.panel h2{margin:0;font-size:20px}.panel p{margin:5px 0 0;color:var(--muted);font-size:13px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:20px;margin-bottom:20px}.report-grid{margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#667085;font-weight:700}.chart-legend.mini{font-size:11px}.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}.legend-swatch.total{background:#98a2b3}.legend-swatch.answered{background:#244b76}.legend-swatch.probable{background:#7a5af8}
.simple-chart{min-height:280px;display:flex;align-items:end;gap:10px;padding:18px 10px 6px;overflow:auto}.chart-day{flex:1;min-width:36px;text-align:center}.chart-bars{height:220px;display:flex;align-items:end;justify-content:center;gap:5px}.chart-bars.multi{gap:4px}.chart-bar{width:10px;min-height:4px;border-radius:6px 6px 0 0;background:#98a2b3;display:inline-block}.chart-bar.total{background:#98a2b3}.chart-bar.answered{background:#244b76}.chart-bar.probable{background:#7a5af8}.chart-value{font-size:11px;font-weight:800;color:#344054;margin-bottom:8px}.chart-label{font-size:11px;color:var(--muted);margin-top:8px;white-space:nowrap}
.hourly-chart{display:grid;gap:12px}.hour-row{display:grid;grid-template-columns:56px 1fr 40px;gap:12px;align-items:center}.hour-label{font-size:12px;font-weight:700;color:#344054}.hour-bars{position:relative;height:18px;border-radius:999px;background:#eef2f7;overflow:hidden}.hour-bar{position:absolute;left:0;top:0;height:100%;border-radius:999px}.hour-bar.total{background:#c7d2e0}.hour-bar.probable{background:#7a5af8;opacity:.92;height:10px;top:4px}.hour-value{text-align:right;font-weight:800;font-size:12px;color:#344054}.compact-hourly .hour-row{grid-template-columns:52px 1fr 34px}
.metric-list{display:grid;gap:16px}.metric-list.compact{gap:14px}.metric-item{display:grid;gap:8px}.metric-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.metric-head span{color:#344054;font-size:13px;font-weight:700}.metric-head strong{font-size:13px}.metric-bar{height:11px;background:#eef2f7;border-radius:999px;overflow:hidden}.metric-bar span{display:block;height:100%;border-radius:999px}.metric-bar .status-answered{background:#12b76a}.metric-bar .status-noanswer{background:#f79009}.metric-bar .status-busy{background:#f04438}.metric-bar .status-failed{background:#98a2b3}
.insight-list{display:grid;gap:12px}.insight-list div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f9fafb}.insight-list span{display:block;color:#667085;font-size:12px;font-weight:700}.insight-list strong{display:block;font-size:20px;margin-top:4px}.insight-list small{display:block;color:#667085;margin-top:4px}
.activity-list{display:grid;gap:12px}.activity-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item small{display:block;color:var(--muted);margin-top:4px}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top}th{color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.03em;background:#f9fafb}.empty{text-align:center;color:var(--muted);padding:35px}.call-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-answered{background:#ecfdf3;color:#027a48}.status-noanswer{background:#fff4ed;color:#b54708}.status-busy{background:#fef3f2;color:#b42318}.status-failed{background:#f2f4f7;color:#344054}.status-unknown{background:#f2f4f7;color:#475467}
.text-link,.text-button{color:var(--accent);font-weight:700;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.pagination,.table-pager{display:flex;gap:7px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.pagination a,.table-pager button{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fff;cursor:pointer;padding:0 10px}.pagination a.active,.table-pager button.active{background:var(--primary);color:#fff}
.table-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap}.table-search{max-width:300px}.table-page-size{width:auto}.table-summary{margin-left:auto;color:#667085;font-size:13px;font-weight:700}.table-counter{color:#667085;font-size:13px;font-weight:700}
.cell-subtext{font-size:12px;color:#667085;margin-top:4px;white-space:normal}
.alert{padding:13px 15px;border-radius:10px;margin-bottom:18px}.alert.error{background:#fef3f2;color:#b42318}.alert.success{background:#ecfdf3;color:#027a48}.alert.warning{background:#fffaeb;color:#b54708}
.detail-list{margin:0}.detail-list div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:700}audio{width:100%;margin:10px 0}.review-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-form .full{grid-column:1/-1}.stack-form{display:grid;gap:13px}
.report-table{max-width:100%}.report-table.full-width{width:100%}.report-table th{text-transform:none;font-size:14px}.report-table td{text-align:right;font-weight:700}.executive-summary{background:#f9fafb;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:18px}.executive-summary p{font-size:14px;line-height:1.7;color:#344054}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#102a43,#244b76)}.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.login-brand{margin-bottom:28px}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin:0 0 22px}.login-card form{display:grid;gap:16px}.login-card .button{width:100%;padding:12px}
.muted{color:var(--muted)}
.transcription-state{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.state-pendiente{background:#fffaeb;color:#b54708}.state-procesando{background:#eff8ff;color:#175cd3}.state-completada{background:#ecfdf3;color:#027a48}.state-error{background:#fef3f2;color:#b42318}
.transcription-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.transcription-meta span{background:#f2f4f7;border-radius:8px;padding:7px 10px;color:#475467;font-size:12px;font-weight:700}
.transcription-text{background:#101828;color:#f2f4f7;border-radius:12px;padding:18px;line-height:1.75;white-space:normal;max-height:520px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}
.processing-box{display:flex;align-items:center;gap:13px;background:#f9fafb;border:1px solid var(--line);padding:16px;border-radius:10px}.processing-box p{margin:4px 0 0}.spinner{width:24px;height:24px;border:3px solid #d0d5dd;border-top-color:var(--primary);border-radius:50%;animation:spin .9s linear infinite}.transcription-actions{margin-top:16px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.kpi-grid.refined{grid-template-columns:repeat(2,minmax(200px,1fr))}.dashboard-grid{grid-template-columns:1fr}.panel-large{grid-column:auto}.hero-panel{grid-template-columns:1fr}.dashboard-filter-grid,.report-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:1050px){.filter-grid{grid-template-columns:repeat(3,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:260px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block;border:0;background:none;font-size:24px}.content{padding:18px}.topbar{padding:14px 18px;align-items:flex-start}.filter-grid,.detail-grid,.review-form,.dashboard-filter-grid,.report-filter-grid{grid-template-columns:1fr}.review-form .full{grid-column:auto}.kpi-grid,.kpi-grid.refined,.compact-grid{grid-template-columns:1fr 1fr}.table-tools{align-items:stretch}.table-search{max-width:none}.hero-panel h2{font-size:26px}.topbar h1{font-size:24px}}
@media(max-width:480px){.kpi-grid,.kpi-grid.refined,.compact-grid{grid-template-columns:1fr}.extension-pill{display:none}.activity-item{align-items:flex-start;flex-direction:column}.chart-day{min-width:44px}}
@media print{.sidebar,.topbar,.filter-bar,.filter-card,.button,.table-tools,.table-pager{display:none!important}.app-shell{display:block}.content{padding:0}.panel,.hero-panel{border:0;box-shadow:none}.dashboard-grid,.detail-grid{grid-template-columns:1fr}}
/* Ajustes Prontomatic */
.accent-rose{border-top-color:#ef476f}.accent-amber{border-top-color:#f4a261}
.detail-list{display:grid;gap:0}.detail-list>div{display:grid;grid-template-columns:minmax(140px,35%) 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--border)}.detail-list dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.detail-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.pagination{display:flex;gap:6px;justify-content:flex-end;padding-top:18px}.pagination a{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text)}.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Prontomatic v2 branding and analysis */
.brand.branded{padding:20px 16px 16px;display:grid;justify-items:center;text-align:center;gap:10px}.brand.branded img{width:112px;height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25))}.brand.branded div{display:grid;gap:4px}.brand.branded strong{font-size:18px}.brand.branded small{font-style:italic;color:#fff}.sidebar-operation{margin:18px 12px;padding:16px;border:1px solid rgba(255,255,255,.2);border-radius:14px;color:#fff}.sidebar-operation strong{display:block;font-size:13px}.sidebar-operation small{display:block;margin-top:8px;color:#dbeafe}.sidebar-operation small span{display:inline-block;width:8px;height:8px;background:#12b76a;border-radius:50%;margin-right:6px}.dashboard-triple{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr) minmax(280px,.85fr);gap:18px;margin-bottom:20px}.panel-wide{min-width:0}.hourly-summary{display:grid;gap:9px}.hourly-summary>div{display:grid;grid-template-columns:92px 1fr 48px;gap:8px;align-items:center;font-size:12px}.hourly-summary i{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden}.hourly-summary b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#12b76a,#f79009,#f04438)}.hourly-summary strong{text-align:right}.cell-bar{display:flex;align-items:center;gap:8px}.cell-bar:before{content:"";width:90px;height:8px;background:#f2f4f7;border-radius:999px}.cell-bar i{position:absolute;display:none}.cell-bar span{font-weight:700}.login-logo{display:block;width:150px;height:auto;margin:0 auto 18px}.brand-tagline{text-align:center;color:#667085;font-style:italic}.kpi-grid.refined{grid-template-columns:repeat(5,minmax(160px,1fr))}.hero-panel{background:linear-gradient(120deg,#0c3b71,#0d5aa7)}
@media(max-width:1350px){.dashboard-triple{grid-template-columns:1fr 1fr}.panel-wide{grid-column:1/-1}.kpi-grid.refined{grid-template-columns:repeat(4,minmax(160px,1fr))}}
@media(max-width:900px){.dashboard-triple{grid-template-columns:1fr}.kpi-grid.refined{grid-template-columns:repeat(2,minmax(160px,1fr))}}

/* V3: matrices operativas con consolidado fijo y detalle horizontal */
.matrix-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}
.matrix-table{min-width:max-content;border-collapse:separate;border-spacing:0}
.matrix-table th,.matrix-table td{text-align:center;min-width:118px;background:#fff}
.matrix-table thead th{position:sticky;top:0;z-index:3;background:#214f80;color:#fff;text-transform:none;font-size:12px}
.matrix-table .sticky-metric{position:sticky;left:0;z-index:5;min-width:210px;text-align:left;background:#173e67;color:#fff}
.matrix-table tbody .sticky-metric{background:#f8fafc;color:#17324d;font-weight:800}
.matrix-table .sticky-summary{position:sticky;left:210px;z-index:4;background:#eaf2fb;font-weight:800;border-right:3px solid #214f80}
.matrix-table thead .sticky-summary{background:#214f80;color:#fff}
.matrix-highlight th,.matrix-highlight td{background:#eef8e8!important;color:#2f5d1f;font-weight:800}
.strong-cell{font-size:15px}
.hour-matrix-scroll{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 16px;scroll-snap-type:x proximity}
.hour-block{flex:0 0 auto;width:max-content;min-width:860px;border:1px solid var(--line);border-radius:12px;overflow:hidden;scroll-snap-align:start;background:#fff}
.hour-block:first-child{position:sticky;left:0;z-index:5;box-shadow:8px 0 18px rgba(16,42,67,.10)}
.hour-block h3{margin:0;padding:11px 14px;background:#4d7f31;color:#fff;text-align:center;font-size:14px}
.hour-block table{font-size:12px}.hour-block th,.hour-block td{padding:8px 10px;text-align:center}.hour-block tbody th{text-align:left;background:#f8fafc;position:sticky;left:0}
.entrants-cell{background:#e5e7eb;font-weight:800;border-left:2px solid #344054}
.mini-bar{display:inline-block;width:56px;height:8px;background:#edf2f7;border-radius:999px;margin-right:7px;vertical-align:middle;overflow:hidden;position:relative}
.mini-bar:after{content:"";display:block;width:var(--value);height:100%;background:#ef4444;border-radius:999px}.mini-bar.red:after{background:#ef4444}
@media(max-width:760px){.matrix-table .sticky-metric{min-width:160px}.matrix-table .sticky-summary{left:160px}.hour-block{min-width:820px}.hour-block:first-child{position:relative;left:auto}}

/* V3.3: grabaciones protegidas */
.audio-count,.audio-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:800}.audio-badge.available,.audio-count{background:#ecfdf3;color:#027a48}.recording-list,.attempt-list{display:grid;gap:14px}.recording-item,.attempt-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.recording-head,.attempt-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.recording-head small{display:block;color:var(--muted);margin-top:4px}.button.small{padding:7px 10px;font-size:12px}.timeline-list{display:grid;gap:10px}.timeline-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.timeline-list span{color:var(--muted);font-size:13px}.attempt-meta{justify-content:flex-start}.attempt-meta span{font-size:13px}.attempt-card audio{margin:12px 0 8px}
@media(max-width:760px){.recording-head,.timeline-list>div{align-items:flex-start;flex-direction:column}}
