: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}}
