:root{
  --bg:#eef5f7;
  --panel:#ffffff;
  --text:#16323f;
  --muted:#64748b;
  --primary:#0f6f8f;
  --primary-2:#0a5168;
  --green:#15966f;
  --yellow:#f2b705;
  --red:#d84848;
  --line:#d8e5ea;
  --shadow:0 18px 45px rgba(15, 83, 105, .12);
  --radius:20px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#eaf4f7 0%,#f8fbfc 55%,#eef7f1 100%);color:var(--text)}
a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{width:280px;background:linear-gradient(180deg,#0c536a,#08394a);color:#fff;padding:22px;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;box-shadow:18px 0 38px rgba(0,0,0,.12);z-index:2}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-logo{width:58px;height:58px;border-radius:18px;background:#fff;padding:6px;box-shadow:0 8px 25px rgba(0,0,0,.22)}.brand-title{font-weight:800;font-size:18px;letter-spacing:.2px}.brand-subtitle{font-size:12px;opacity:.83}.nav-menu{display:grid;gap:7px}.nav-menu a{padding:12px 14px;border-radius:14px;color:rgba(255,255,255,.88);font-weight:650;transition:.18s;background:rgba(255,255,255,.04)}.nav-menu a:hover,.nav-menu a.active{background:rgba(255,255,255,.16);transform:translateX(3px);color:#fff}.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:5px}.sidebar-footer small{opacity:.75}.sidebar-footer a{margin-top:8px;color:#fff;background:rgba(255,255,255,.13);border-radius:12px;padding:9px 12px;text-align:center}.content{margin-left:280px;width:calc(100% - 280px);padding:26px;}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.topbar h1{margin:0;font-size:30px;color:#123746}.topbar p{margin:5px 0 0;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.badge-soft,.user-pill{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--primary);font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.05)}.panel{background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border:1px solid rgba(216,229,234,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-title h2,.panel h2{margin:0;font-size:20px}.muted{color:var(--muted)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{position:relative;overflow:hidden;border-radius:18px;background:#fff;border:1px solid var(--line);padding:18px;box-shadow:0 10px 26px rgba(15,83,105,.08)}.kpi:after{content:"";position:absolute;right:-35px;top:-35px;width:100px;height:100px;background:rgba(15,111,143,.12);border-radius:50%}.kpi .label{font-size:13px;color:var(--muted);font-weight:700}.kpi .value{font-size:32px;font-weight:900;margin:6px 0;color:#0d5269}.kpi .note{font-size:12px;color:var(--muted)}.btn{border:0;border-radius:13px;padding:10px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.15s;background:#e8f2f5;color:#0d5269}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.1)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}.btn-green{background:linear-gradient(135deg,#15966f,#0f7659);color:#fff}.btn-red{background:linear-gradient(135deg,#d84848,#b83232);color:#fff}.btn-yellow{background:linear-gradient(135deg,#f2b705,#d79200);color:#372a00}.btn-outline{background:#fff;border:1px solid var(--line)}.btn-sm{padding:7px 10px;font-size:12px;border-radius:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:6px;color:#294b5a}.input,select,textarea{width:100%;border:1px solid #cddce2;border-radius:13px;padding:11px 12px;background:#fff;color:var(--text);font-size:14px;outline:none}.input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(15,111,143,.12)}.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 11px;border-bottom:1px solid #edf2f5;text-align:left;vertical-align:middle}th{background:#f4f8fa;color:#315262;font-size:12px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1}tr:hover td{background:#fbfdfe}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.status-ok{background:#e8f8f0;color:#0f7659}.status-warn{background:#fff5d8;color:#8a6100}.status-bad{background:#ffe8e8;color:#a42727}.alert{padding:13px 16px;border-radius:14px;margin-bottom:16px;font-weight:650}.alert-success{background:#e8f8f0;color:#0f7659;border:1px solid #bcebd4}.alert-warning{background:#fff5d8;color:#8a6100;border:1px solid #ffe399}.alert-danger{background:#ffe8e8;color:#a42727;border:1px solid #ffc4c4}.alert-info{background:#e8f2ff;color:#1b5c99;border:1px solid #c5ddff}.bar-row{display:grid;grid-template-columns:170px 1fr 64px;align-items:center;gap:10px;margin:10px 0}.bar-track{height:14px;border-radius:99px;background:#e8f0f3;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#0f6f8f,#25a184)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#cfeef6 0,#f4fbfd 32%,#eaf6ee 100%)}.login-card{width:min(440px,100%);background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:0 25px 70px rgba(7,62,82,.18);padding:32px;text-align:center}.login-logo{width:92px;height:92px;margin:0 auto 12px;border-radius:26px;background:#fff;padding:8px;box-shadow:0 10px 35px rgba(0,0,0,.12)}.login-card h1{margin:0;color:#0d5269}.login-card p{color:var(--muted);margin:8px 0 22px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.right{text-align:right}.center{text-align:center}.print-only{display:none}.hidden{display:none!important}.contact-chip{display:inline-flex;gap:6px;align-items:center;margin:4px;padding:7px 9px;border-radius:999px;background:#edf7fa;border:1px solid #cde3ea;font-size:12px;font-weight:700}.mobile-menu-note{display:none}.report-header{display:flex;gap:16px;align-items:center}.report-logo{width:78px;height:78px}.print-page{background:#fff}.print-page .content{margin:0;width:100%;padding:0}.informe{max-width:1100px;margin:auto;background:#fff;border-radius:0;box-shadow:none}.informe-title{border-bottom:3px solid #0f6f8f;padding-bottom:12px;margin-bottom:18px}
@media(max-width:1050px){.sidebar{position:relative;width:100%;bottom:auto}.app-shell{display:block}.content{margin-left:0;width:100%;padding:18px}.nav-menu{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:18px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start;flex-direction:column}.mobile-menu-note{display:block}}
@media(max-width:650px){.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.nav-menu{grid-template-columns:1fr}.topbar h1{font-size:24px}.content{padding:12px}.panel{padding:15px}.bar-row{grid-template-columns:1fr}.actions{display:grid}.actions .btn{justify-content:center}.sidebar{padding:16px}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print,.alert{display:none!important}.content{margin:0!important;width:100%!important;padding:0!important}.panel{box-shadow:none;border:0;border-radius:0}.print-only{display:block}.table-wrap{border:0;overflow:visible}th{position:static}a{text-decoration:none;color:#000}.informe{max-width:none}.kpi{break-inside:avoid;box-shadow:none}.grid-4{grid-template-columns:repeat(4,1fr)}}
.hero-panel{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(237,248,251,.92));border:1px solid rgba(15,111,143,.16)}
.brand-logo{object-fit:contain}.login-logo{object-fit:contain}.report-logo{object-fit:contain;border-radius:14px;background:#fff;padding:4px}
.mini-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:4px;box-shadow:0 8px 22px rgba(15,83,105,.07)}
.mini-card span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.mini-card b{font-size:26px;color:#0d5269}.mini-card small{color:var(--muted)}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fbfdfe}
.pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.executive-box{border-left:5px solid var(--primary);background:#f4fbfd;border-radius:14px;padding:14px 16px;margin:18px 0}.executive-box h3{margin-top:0}.bar-green{background:linear-gradient(90deg,#15966f,#29b889)}.bar-yellow{background:linear-gradient(90deg,#f2b705,#e88b00)}
.table-wrap table td,.table-wrap table th{white-space:nowrap}.table-wrap table td:first-child,.table-wrap table th:first-child{position:sticky;left:0;background:inherit;z-index:1}.table-wrap table th:first-child{z-index:2;background:#f4f8fa}
@media(max-width:1050px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logo{width:72px;height:72px}.login-logo{width:110px;height:110px}}
@media(max-width:650px){.filter-grid{grid-template-columns:1fr}.mini-card b{font-size:22px}.table-wrap table td:first-child,.table-wrap table th:first-child{position:static}}
@media print{.executive-box{background:#fff;border:1px solid #ddd}.filter-grid,.pagination{display:none!important}.table-wrap table td,.table-wrap table th{white-space:normal}.table-wrap table td:first-child,.table-wrap table th:first-child{position:static}}

/* Informe profesional v1.3 - diseño carta/PDF */
.print-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px;padding:13px 16px;border-radius:18px;background:#edf7fa;border:1px solid var(--line)}
.print-toolbar span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.informe-premium{max-width:1120px;padding:22px 26px}.report-cover{border-radius:24px;background:linear-gradient(135deg,#ffffff 0%,#f4fbfd 65%,#f4faf6 100%);border:1px solid #dbeaf0;padding:22px;margin-bottom:20px}.informe-premium .report-header{align-items:center}.informe-premium .report-logo{width:94px;height:94px;border:1px solid #e3edf2;box-shadow:0 8px 24px rgba(15,83,105,.08)}.report-eyebrow{margin:0 0 4px;color:#0f6f8f;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:12px}.informe-premium .informe-title h2{font-size:32px;margin:0;color:#0f536a;letter-spacing:.2px}.report-meta-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr 1.35fr .8fr;gap:10px;margin:18px 0}.report-meta-grid div{background:#fff;border:1px solid #d9e8ee;border-radius:14px;padding:10px 12px}.report-meta-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:900}.report-meta-grid b{display:block;font-size:13px;margin-top:3px;color:#16323f}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.report-kpi{background:#fff;border:1px solid #d7e6ec;border-radius:18px;padding:15px 16px;position:relative;overflow:hidden}.report-kpi:after{content:"";position:absolute;right:-24px;top:-24px;width:76px;height:76px;border-radius:50%;background:rgba(15,111,143,.10)}.report-kpi span{display:block;font-size:12px;color:#64748b;font-weight:900}.report-kpi strong{display:block;font-size:33px;color:#0d5269;line-height:1;margin:8px 0}.report-kpi small{color:#64748b;font-weight:700}.executive-premium{border-left:6px solid #0f6f8f;background:#ffffff;box-shadow:inset 0 0 0 1px #dcebf0}.report-section{margin:18px 0;padding:18px;border:1px solid #dbe8ee;border-radius:22px;background:#fff}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px;border-bottom:1px solid #edf3f6;padding-bottom:12px}.section-heading div{display:flex;align-items:center;gap:10px}.section-heading span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#0f6f8f,#15966f);color:#fff;font-weight:900}.section-heading h3{margin:0;font-size:21px;color:#16323f}.section-heading p{margin:4px 0 0;color:#64748b;font-size:13px;text-align:right}.report-grid.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart-card{border:1px solid #dfeaf0;border-radius:18px;padding:15px;background:#fbfdfe}.chart-card h4{margin:0 0 12px;color:#0f536a;font-size:17px}.report-bar-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(120px,1.4fr) 72px;align-items:center;gap:10px;margin:8px 0}.report-bar-row>span{font-size:13px;color:#294b5a;font-weight:650}.report-bar-row b{text-align:right;color:#153746}.report-bar-row small{display:block;color:#64748b;font-size:11px}.report-table-wrap{border-radius:16px;border:1px solid #dce7ed;overflow:auto}.report-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.report-table th{background:#eef6f8;color:#294b5a}.report-table th,.report-table td{border-bottom:1px solid #e8f0f3;padding:9px 10px;vertical-align:top}.report-table tfoot th{background:#e5f2f5;color:#0f536a}.matrix-table th:not(:first-child),.matrix-table td:not(:first-child){text-align:center}.matrix-table td:first-child{font-weight:650}.provider-table th:nth-child(1){width:25%}.provider-table th:nth-child(2){width:10%}.provider-table th:nth-child(3){width:8%}.provider-table th:nth-child(4){width:7%}.provider-table th:nth-child(5),.provider-table th:nth-child(6){width:10%}.provider-table th:nth-child(7){width:20%}.provider-table th:nth-child(8){width:10%}.report-footer-note{margin-top:22px;padding:14px;border-top:3px solid #0f6f8f;color:#526677;font-size:13px}.compact .report-table{font-size:12px}

@media(max-width:900px){.report-meta-grid{grid-template-columns:1fr 1fr}.report-kpis{grid-template-columns:1fr 1fr}.report-grid.two-cols{grid-template-columns:1fr}.section-heading{display:block}.section-heading p{text-align:left}.report-bar-row{grid-template-columns:1fr}.informe-premium{padding:16px}.print-toolbar{display:block}.print-toolbar .actions{margin-top:10px}}

@page{size:Letter portrait;margin:10mm}
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{width:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#102b38!important;font-size:10pt!important}
  .app-shell,.content{display:block!important;margin:0!important;width:100%!important;min-height:auto!important;padding:0!important;background:#fff!important}
  .sidebar,.topbar,.no-print,.print-toolbar,.alert{display:none!important}
  .panel.informe-premium{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  .report-cover{padding:0 0 8mm 0!important;margin:0 0 5mm 0!important;border:0!important;background:#fff!important;border-radius:0!important;break-inside:avoid-page;page-break-inside:avoid}
  .informe-premium .report-logo{width:20mm!important;height:20mm!important;border:0!important;box-shadow:none!important;padding:1mm!important}
  .report-header{gap:5mm!important}.informe-title{padding-bottom:3mm!important;margin-bottom:4mm!important;border-bottom:2px solid #0f6f8f!important}.report-eyebrow{font-size:7.5pt!important;margin-bottom:1mm!important}.informe-premium .informe-title h2{font-size:17pt!important;line-height:1.1!important}.informe-premium .informe-title p{font-size:9pt!important;margin:2mm 0 0!important}
  .report-meta-grid{grid-template-columns:1.2fr .75fr .8fr 1.25fr!important;gap:2mm!important;margin:4mm 0!important}.report-meta-grid div{border:1px solid #d7e3e8!important;padding:2mm!important;border-radius:3mm!important}.report-meta-grid div:last-child{display:none!important}.report-meta-grid span{font-size:6.5pt!important}.report-meta-grid b{font-size:8pt!important;line-height:1.2!important}
  .report-kpis{grid-template-columns:repeat(4,1fr)!important;gap:2.5mm!important;margin:4mm 0!important}.report-kpi{padding:3mm!important;border-radius:4mm!important;box-shadow:none!important;break-inside:avoid-page;page-break-inside:avoid}.report-kpi:after{display:none!important}.report-kpi span{font-size:7.5pt!important}.report-kpi strong{font-size:18pt!important;margin:1.5mm 0!important}.report-kpi small{font-size:7.2pt!important;line-height:1.15!important}
  .executive-box{margin:4mm 0 0!important;padding:3mm!important;border-radius:3mm!important;background:#f7fbfc!important;border:1px solid #d8e8ee!important;border-left:4px solid #0f6f8f!important;box-shadow:none!important}.executive-box h3{font-size:11pt!important;margin:0 0 1.5mm!important}.executive-box p{font-size:9pt!important;line-height:1.35!important;margin:0!important}
  .report-section{margin:5mm 0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;break-inside:auto;page-break-inside:auto}.avoid-break{break-inside:avoid-page;page-break-inside:avoid}.print-new-page{break-before:page;page-break-before:always}.section-heading{border-bottom:1px solid #dce8ee!important;padding-bottom:2mm!important;margin-bottom:3mm!important}.section-heading span{width:8mm!important;height:8mm!important;border-radius:2.5mm!important;font-size:8pt!important}.section-heading h3{font-size:13pt!important}.section-heading p{font-size:8pt!important;line-height:1.2!important;margin:0!important}
  .report-grid.two-cols{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5mm!important}.chart-card{padding:3mm!important;border:1px solid #dce8ee!important;border-radius:3mm!important;background:#fff!important;break-inside:avoid-page;page-break-inside:avoid}.chart-card h4{font-size:10.5pt!important;margin:0 0 2mm!important}.report-bar-row{grid-template-columns:37mm 1fr 15mm!important;gap:2mm!important;margin:1.6mm 0!important}.report-bar-row>span{font-size:7.5pt!important;line-height:1.12!important}.bar-track{height:2.6mm!important;background:#e7eff3!important}.report-bar-row b{font-size:7.7pt!important}.report-bar-row small{font-size:6.7pt!important}
  .table-wrap,.report-table-wrap{overflow:visible!important;border:0!important;border-radius:0!important;background:#fff!important}.report-table{font-size:7.5pt!important;line-height:1.15!important;table-layout:fixed!important;width:100%!important}.report-table th,.report-table td{padding:1.8mm 1.5mm!important;border-bottom:1px solid #e1e9ee!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important}.report-table thead{display:table-header-group!important}.report-table tfoot{display:table-footer-group!important}.report-table tr{break-inside:avoid-page;page-break-inside:avoid}.small-table{font-size:7.8pt!important}.matrix-table th:first-child,.matrix-table td:first-child{width:38%!important;text-align:left!important}.matrix-table th:not(:first-child),.matrix-table td:not(:first-child){text-align:center!important}.provider-table{font-size:7.2pt!important}.provider-table th:nth-child(1){width:22%!important}.provider-table th:nth-child(2){width:10%!important}.provider-table th:nth-child(3){width:7%!important}.provider-table th:nth-child(4){width:6%!important}.provider-table th:nth-child(5),.provider-table th:nth-child(6){width:9%!important}.provider-table th:nth-child(7){width:25%!important}.provider-table th:nth-child(8){width:12%!important}
  .report-footer-note{font-size:8pt!important;margin-top:5mm!important;padding-top:3mm!important;border-top:2px solid #0f6f8f!important;break-inside:avoid-page;page-break-inside:avoid}.muted{color:#4f6472!important}a{color:#102b38!important}.table-wrap table td:first-child,.table-wrap table th:first-child{position:static!important;background:inherit!important}.grid-4{grid-template-columns:repeat(4,1fr)!important}
}

/* v1.4 - Dashboard e informe compacto */
.chart-paged .panel-title{align-items:flex-start}.chart-paged .panel-title h3{margin:0}.chart-paged .panel-title p{margin:4px 0 0}.chart-paged .bar-page-list{min-height:420px}.bar-pagination{justify-content:center;border-top:1px solid #edf3f6;padding-top:12px}.bar-pagination .page-info{font-size:13px;color:#64748b;font-weight:800;padding:7px 10px}.bar-pagination .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.compact-analysis-section{background:linear-gradient(180deg,#fff,#fbfdfe)}.compact-analysis-section .section-heading{margin-bottom:12px}.full-card{width:100%}.compact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.compact-card-head h4{margin-bottom:3px}.compact-card-head p{font-size:12px;line-height:1.25;margin:0}.summary-pill{white-space:nowrap;border-radius:999px;background:#e7f4f7;color:#0f536a;border:1px solid #cde5ed;padding:7px 10px;font-size:12px;font-weight:900}.summary-pill-yellow{background:#fff5d8;color:#8a6100;border-color:#f7df9b}.compact-bars .report-bar-row{grid-template-columns:minmax(190px,.9fr) minmax(160px,1.3fr) 76px;margin:5px 0}.compact-bars .report-bar-row>span{font-size:12px;line-height:1.15}.compact-bars .bar-track{height:10px}.compact-bars .report-bar-row b{font-size:13px}.instrument-card{margin-top:14px}.instrument-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.instrument-item{border:1px solid #e4eef2;background:#fff;border-radius:14px;padding:10px}.instrument-item-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.instrument-item-head span{font-size:12px;font-weight:850;color:#294b5a;line-height:1.15}.instrument-item-head b{font-size:18px;color:#153746}.instrument-item .bar-track{height:8px;margin:7px 0 4px}.instrument-item small{font-size:11px;color:#64748b;font-weight:700}
@media(max-width:900px){.chart-paged .bar-page-list{min-height:auto}.instrument-grid{grid-template-columns:1fr}.compact-card-head{display:block}.summary-pill{display:inline-flex;margin-top:8px}.compact-bars .report-bar-row{grid-template-columns:1fr}}

@media print{
  .chart-paged .bar-page-list{min-height:0!important}.bar-page-item{display:grid!important}.bar-pagination{display:none!important}
  .compact-analysis-section{break-inside:avoid-page!important;page-break-inside:avoid!important;margin-top:4mm!important;background:#fff!important}.compact-analysis-section .section-heading{margin-bottom:2mm!important}.compact-analysis-section .chart-card{padding:2.5mm!important;break-inside:avoid-page!important;page-break-inside:avoid!important}.compact-card-head{margin-bottom:1.5mm!important}.compact-card-head h4{font-size:9.5pt!important;margin:0!important}.compact-card-head p{font-size:7pt!important;line-height:1.15!important;margin:.8mm 0 0!important}.summary-pill{font-size:7pt!important;padding:1mm 1.8mm!important;border-radius:2mm!important}.compact-bars .report-bar-row{grid-template-columns:44mm 1fr 13mm!important;gap:1.8mm!important;margin:.9mm 0!important}.compact-bars .report-bar-row>span{font-size:6.7pt!important;line-height:1.05!important}.compact-bars .bar-track{height:2mm!important}.compact-bars .report-bar-row b{font-size:7pt!important}.compact-bars .report-bar-row small{font-size:6pt!important}.instrument-card{margin-top:3mm!important}.instrument-grid{grid-template-columns:repeat(3,1fr)!important;gap:2mm!important}.instrument-item{padding:1.8mm!important;border-radius:2mm!important}.instrument-item-head span{font-size:6.8pt!important;line-height:1.05!important}.instrument-item-head b{font-size:9pt!important}.instrument-item .bar-track{height:1.8mm!important;margin:1mm 0!important}.instrument-item small{font-size:6pt!important}
}

/* v1.5 - Matriz mensual compacta: totales claros y sin tablas largas en PDF */
.matrix-note{margin:-4px 0 12px;padding:10px 12px;border-radius:14px;background:#f0f8fa;border:1px solid #d3e8ef;color:#0f536a;font-size:13px;font-weight:800}.matrix-type-compact .report-table-wrap{box-shadow:0 10px 26px rgba(15,83,105,.05)}.matrix-type-compact .matrix-table{table-layout:fixed}.matrix-type-compact .matrix-table th:first-child,.matrix-type-compact .matrix-table td:first-child{width:36%}.matrix-type-compact .matrix-table td,.matrix-type-compact .matrix-table th{padding:8px 9px}.matrix-type-compact .matrix-table tbody tr:nth-child(even) td{background:#fbfdfe}.matrix-type-compact .matrix-table .matrix-other-row td{background:#f3faf7!important;color:#0f536a;font-weight:900;border-top:2px solid #cfe9df}.matrix-type-compact .matrix-table tfoot th{background:#dff0f4!important;color:#083e50!important;font-size:13px;border-top:2px solid #0f6f8f;text-transform:uppercase}.matrix-type-compact .matrix-table tfoot th:first-child{text-align:left!important}.matrix-type-compact .matrix-table tfoot th:not(:first-child){text-align:center!important}.matrix-type-compact .section-heading h3{letter-spacing:-.2px}
@media print{
  .matrix-type-compact{break-inside:avoid-page!important;page-break-inside:avoid!important}.matrix-type-compact .section-heading{margin-bottom:2mm!important}.matrix-note{font-size:7.4pt!important;line-height:1.15!important;margin:-1mm 0 2mm!important;padding:1.5mm 2mm!important;border-radius:2mm!important;background:#f4fbfd!important}.matrix-type-compact .report-table{font-size:7.1pt!important;line-height:1.06!important;table-layout:fixed!important}.matrix-type-compact .report-table th,.matrix-type-compact .report-table td{padding:1.25mm 1.1mm!important}.matrix-type-compact .matrix-table th:first-child,.matrix-type-compact .matrix-table td:first-child{width:42%!important}.matrix-type-compact .matrix-table tfoot{display:table-row-group!important}.matrix-type-compact .matrix-table tfoot th{font-size:7.5pt!important;border-top:1.2pt solid #0f6f8f!important;background:#e1f0f4!important}.matrix-type-compact .matrix-table .matrix-other-row td{background:#f2faf6!important;border-top:1pt solid #cfe9df!important}.matrix-type-compact .table-wrap,.matrix-type-compact .report-table-wrap{break-inside:avoid-page!important;page-break-inside:avoid!important}.matrix-type-compact .report-table tr{break-inside:avoid-page!important;page-break-inside:avoid!important}
}

/* v1.6 - Interfaz premium con SweetAlert2 y microinteracciones */
.js-flash-swal{display:none!important}.swal2-container{z-index:99999!important}.rce-swal{border-radius:24px!important;border:1px solid rgba(216,229,234,.96)!important;box-shadow:0 25px 80px rgba(7,62,82,.22)!important;font-family:Segoe UI,Roboto,Arial,sans-serif!important;color:#16323f!important}.rce-swal .swal2-title{font-size:22px!important;color:#123746!important;letter-spacing:-.3px!important}.rce-swal .swal2-html-container,.rce-swal .swal2-content{color:#64748b!important;font-size:14px!important}.rce-swal .swal2-icon{margin-top:1.2em!important}.rce-swal-confirm,.rce-swal-cancel{border-radius:13px!important;padding:11px 18px!important;font-weight:900!important;box-shadow:none!important}.rce-swal-confirm{background:linear-gradient(135deg,#0f6f8f,#0a5168)!important}.rce-swal-cancel{background:#e8f2f5!important;color:#294b5a!important}.rce-toast{border-radius:18px!important;padding:13px 14px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important}.rce-toast .swal2-title{font-size:14px!important;font-weight:850!important;line-height:1.25!important;color:#123746!important}.rce-swal-loading .swal2-loader{border-color:#0f6f8f transparent #0f6f8f transparent!important}.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-120%);transition:.45s}.btn:hover:before{transform:translateX(120%)}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important}.topbar,.panel,.kpi{animation:rceFadeUp .35s ease both}@keyframes rceFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.table-wrap table tr{transition:.15s ease}.contact-chip{box-shadow:0 8px 18px rgba(15,83,105,.06)}.contact-chip .btn{width:24px;height:24px;padding:0;justify-content:center;border-radius:999px;background:#dff0f4;color:#0f536a}.sidebar-footer a[data-confirm-link]{font-weight:850;transition:.18s}.sidebar-footer a[data-confirm-link]:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}

/* v1.7 - Performance: grillas livianas y render estable */
.grid-1{grid-template-columns:1fr!important}
