/* Rielecom SpA · Calidad de Contratistas, vista ejecutiva aprobada */
body:has(.cq3-app){background:#00162e;color:#edf7ff}
body:has(.cq3-app) #sidebar{display:none!important}
body:has(.cq3-app) .main-shell{margin-left:0}
body:has(.cq3-app) #main{max-width:none;padding:12px 12px 22px}
body:has(.cq3-app) .main-shell>header{background:#031a37;border-bottom-color:#1b4e76;color:#dcefff}
body:has(.cq3-app) .breadcrumb,body:has(.cq3-app) .breadcrumb strong{color:#c9e5fa}
body:has(.cq3-app) .main-shell>footer{background:#00172f;border-color:#1e476d;color:#8eb7d7}
.cq3-app{--cq3-white:#f0f8ff;--cq3-sub:#a6cbe7;--cq3-blue:#178bff;--cq3-red:#ff4f76;--cq3-green:#14dfad;position:relative;display:grid;grid-template-columns:195px minmax(0,1fr);min-height:710px;max-width:1920px;margin:0 auto;overflow:visible;border:1px solid #1a80bc;border-radius:14px;background:linear-gradient(145deg,#041b38,#031229 83%);color:var(--cq3-white);box-shadow:0 20px 64px #0006;font:13px Arial,Helvetica,sans-serif}
.cq3-app *{box-sizing:border-box}
.cq3-app button,.cq3-app input,.cq3-app select{font:inherit}
.cq3-app [hidden]{display:none!important}
.cq3-app .cq3-nav{grid-column:1;grid-row:1 / span 2;background:linear-gradient(175deg,#062953,#02142f 85%);border-radius:13px 0 0 13px;border-right:1px solid #185b94;padding:26px 12px 18px;display:flex;flex-direction:column;gap:32px;min-width:0}
.cq3-brand{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 5px 7px;text-align:center}
.cq3-brand img{object-fit:contain;width:130px;max-height:67px;filter:drop-shadow(0 2px 10px #19b5ef29)}
.cq3-brand div{font-size:20px;font-weight:800;letter-spacing:.6px;line-height:1.1}
.cq3-brand small{font-size:12px;color:#d3e5f8}
.cq3-brand span{display:block;margin:9px 0 0;font-size:8px;font-weight:600;letter-spacing:2.1px;color:#81ccfa}
.cq3-nav nav{display:flex;flex-direction:column;gap:5px}
.cq3-nav .cq3-nav-btn{display:flex;width:100%;min-height:49px;align-items:center;gap:12px;border:1px solid transparent;padding:11px 12px;background:transparent;color:#b8d7f1;text-align:left;font-size:12px;font-weight:600;border-radius:9px}
.cq3-nav .cq3-nav-btn:hover,.cq3-nav .cq3-nav-btn:focus-visible{background:#164578;color:#fff}
.cq3-nav .cq3-nav-btn.active{background:linear-gradient(125deg,#0c5bce,#0b4389);border-color:#247de9;color:#fff;box-shadow:0 4px 20px #005cff33}
.cq3-nav .cq3-nav-btn b{display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;width:27px;flex:0 0 27px;font-weight:500}
.cq3-nav .cq3-back{margin-top:auto;display:flex;justify-content:center;align-items:center;color:#9cd7ff;background:#0c315a;border:1px solid #25628c;border-radius:9px;padding:11px 7px;font-size:10px}
.cq3-nav .cq3-back:hover{background:#164d7c;color:#fff}
.cq3-dashboard{grid-column:2;grid-row:1;min-width:0;padding:17px 19px 15px}
.cq3-heading{position:relative;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:3px 2px 18px;border-bottom:1px solid #16537d}
.cq3-heading .cq3-eyebrow{display:block;color:#2acbff;letter-spacing:1.7px;font-weight:700;font-size:10px;text-transform:uppercase;margin-bottom:7px}
.cq3-heading h1{color:#fff!important;letter-spacing:1.2px;font-size:clamp(23px,2.6vw,33px);font-weight:800;line-height:1.13;margin:0 0 8px;text-align:left}
.cq3-heading h2{font-size:clamp(16px,1.5vw,22px);font-weight:650;margin:0;color:#e7f3ff;line-height:1.3}
.cq3-heading-right{display:flex;flex-direction:column;justify-content:end;align-items:flex-end;gap:12px;min-width:150px}
.cq3-heading-brand{font-size:15px;font-weight:800;display:flex;align-items:center;gap:6px;white-space:nowrap}
.cq3-heading-brand img{height:29px;width:53px;object-fit:contain}
.cq3-heading-right label{display:flex;flex-direction:column;gap:4px;color:#b1d4ef;font-size:9px;white-space:nowrap}
.cq3-heading-right select{border:1px solid #286ca4;background:#0c315d;border-radius:9px;color:#f4fcff;min-height:41px;padding:7px 28px 7px 11px;min-width:165px;font-weight:650;font-size:12px;cursor:pointer;color-scheme:dark}
.cq3-dashboard-content{padding-top:15px}
.cq3-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:14px}
.cq3-kpi{min-height:151px;padding:15px 15px;display:flex;gap:14px;align-items:flex-start;border:1px solid #24699f;border-radius:13px;background:linear-gradient(145deg,#0b2c56,#031d3a);box-shadow:inset 0 1px #70baff1a}
.cq3-kpi-rt{background:linear-gradient(127deg,#332742,#0e2344 78%);border-color:#614061}
.cq3-kpi-ft{border-color:#1767b7;background:linear-gradient(135deg,#093b76,#042047)}
.cq3-kpi-icon{flex:0 0 62px;width:62px;height:68px;background:#ffffff0e;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#ff5079;font-size:46px;font-weight:700;line-height:1}
.cq3-kpi-ft .cq3-kpi-icon{color:#19adff;background:#0399eb1d}
.cq3-kpi-base .cq3-kpi-icon{color:#69beff;background:#1974ad24}
.cq3-kpi>div:last-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.cq3-kpi>div>span:first-child{font-size:17px;font-weight:650;color:#e6effb;line-height:1.3}
.cq3-kpi strong{font-size:clamp(28px,3vw,43px);color:white;font-weight:750;line-height:1.12;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.cq3-kpi p{margin:0 0 8px;color:#b3cde7;font-size:12px}
.cq3-kpi small{font-size:10px;line-height:1.5}
.cq3-positive{color:var(--cq3-green);font-weight:800;font-size:14px}
.cq3-negative{color:var(--cq3-red);font-weight:800;font-size:14px}
.cq3-neutral{color:#86b7d8;font-size:11px}
.cq3-comparison-note{color:#b4c9dc;margin-left:8px}
.cq3-kpi .cq3-base{margin-top:8px;color:#7cafd2;font-size:10px}
.cq3-middle-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:13px;margin-bottom:13px}
.cq3-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cq3-panel{border:1px solid #1776b6;border-radius:12px;background:linear-gradient(150deg,#052348,#03172f);min-width:0;padding:15px 16px 12px;box-shadow:inset 0 1px #c7e8ff12}
.cq3-panel h3{color:#f5faff!important;font-size:clamp(14px,1.3vw,19px);letter-spacing:-.2px;margin:0 0 10px;font-weight:720;line-height:1.25}
.cq3-trend-chart{position:relative;padding:3px 3px 0}
.cq3-legend{display:flex;justify-content:center;gap:27px;margin-bottom:3px;color:#cee0ef;font-size:12px}
.cq3-legend span{display:flex;gap:7px;align-items:center}
.cq3-dot-rt,.cq3-dot-ft{width:12px;height:12px;display:inline-block;border-radius:50%;flex:0 0 12px;background:#ff4e77}
.cq3-dot-ft{background:#178eff}
.cq3-trend-chart svg{width:100%;max-height:267px;display:block;overflow:visible}
.cq3-gridline{stroke:#14517b;stroke-width:1}
.cq3-axis,.cq3-axis-month{fill:#b5d0e6;font-size:12px}
.cq3-line-rt{stroke:#ff4e76;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.cq3-line-ft{stroke:#148fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.cq3-line-rt-point{fill:#ff4e76;stroke:#122b49;stroke-width:1}
.cq3-line-ft-point{fill:#138dff;stroke:#122b49;stroke-width:1}
.cq3-current-values{display:flex;justify-content:flex-end;gap:10px;margin:0 12px 0;font-weight:780}
.cq3-current-values span{padding:4px 9px;border-radius:8px;font-size:11px;background:#ff4e7628;border:1px solid #b5355a;color:#ff7893}
.cq3-current-values .cq3-ft-current{background:#0a64ce25;border-color:#1867bf;color:#60b4ff}
.cq3-donut-flex{display:grid;grid-template-columns:minmax(145px,1fr) minmax(130px,1fr);align-items:center;gap:16px;min-height:251px}
.cq3-donut{width:min(100%,220px);aspect-ratio:1;justify-self:center;border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:0 0 24px #148ffc16}
.cq3-donut:before{content:"";position:absolute;inset:24%;border-radius:50%;background:#041c3c}
.cq3-donut-center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px}
.cq3-donut-center strong{font-size:clamp(19px,2.3vw,34px);line-height:1.2;color:#fff}
.cq3-donut-center small{font-size:10px;color:#b7d0e2}
.cq3-donut-legend{display:grid;gap:14px}
.cq3-donut-legend>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;column-gap:7px;row-gap:5px;font-size:11px}
.cq3-donut-legend strong{font-size:12px}
.cq3-donut-legend small{grid-column:2 / 4;color:#94b5ce;font-size:10px}
.cq3-top-bars{display:flex;flex-direction:column;gap:9px;margin:15px 5px 3px}
.cq3-top-row{display:grid;grid-template-columns:minmax(85px,26%) minmax(100px,1fr) 61px;align-items:center;gap:10px;position:relative;min-height:27px;cursor:default}
.cq3-top-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:12px;font-weight:600}
.cq3-top-track{min-width:0;height:24px;background:#0a2d54;border-radius:3px;display:flex;align-items:stretch;overflow:hidden}
.cq3-top-fill{background:linear-gradient(95deg,#ff517a,#ff925b);height:100%;display:block;border-radius:2px;transition:filter .18s}
.cq3-ft .cq3-top-fill{background:linear-gradient(95deg,#116ef2,#1dd3ed)}
.cq3-top-row:hover .cq3-top-fill,.cq3-top-row:focus-visible .cq3-top-fill{filter:brightness(1.24)}
.cq3-top-pct{font-size:13px;white-space:nowrap;font-weight:750;color:#eefaff}
.cq3-top-tooltip{pointer-events:none;opacity:0;visibility:hidden;position:absolute;left:26%;bottom:calc(100% + 4px);max-width:min(350px,70vw);padding:9px 12px;border:1px solid #4da9f4;border-radius:8px;background:#06182feF;color:#d6efff;box-shadow:0 10px 24px #0008;z-index:8;font-size:11px;transition:opacity .15s}
.cq3-top-row:hover .cq3-top-tooltip,.cq3-top-row:focus-visible .cq3-top-tooltip{opacity:1;visibility:visible}
.cq3-empty{padding:34px 9px;color:#9dc3dd;text-align:center}
.cq3-dashboard-foot{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-top:13px;color:#afc5d9}
.cq3-dashboard-foot p{display:flex;gap:9px;align-items:center;font-size:11px;margin:0;line-height:1.45;max-width:75%}
.cq3-dashboard-foot p span{color:#6bc9ff;font-size:19px}
.cq3-dashboard-foot button{border:1px solid #2075b6;color:#d6f3ff;background:#052850;border-radius:8px;white-space:nowrap;font-size:11px;padding:10px 14px}
.cq3-dashboard-foot button:hover{background:#15508a}
.cq3-legacy{grid-column:2;grid-row:1;padding:19px 18px 28px;color:#244058;background:#ecf4fa;border-radius:0 13px 13px 0;min-width:0}
.cq3-legacy .ct-panel{color:#173a51}
.cq3-legacy .page-head h1{color:#143c59}
.cq3-legacy .card{color:#173a51}
.cq3-legacy [data-cq-block][hidden]{display:none!important}
.cq3-legacy .notice{color:#37596d;background:#eef6fc}
.cq3-legacy .section-space{margin-top:13px}
.cq3-legacy .ct-panel .card,.cq3-legacy .ct-panel .notice{border-radius:11px}
.cq3-app[data-view="descargas"] .cq3-legacy .cp-filters,.cq3-app[data-view="descargas"] .cq3-legacy .cq-summary-v1{display:none}
@media(max-width:1250px){.cq3-middle-grid{grid-template-columns:1fr}.cq3-donut-flex{min-height:180px;grid-template-columns:200px 1fr}.cq3-kpi-icon{width:43px;flex-basis:43px;font-size:34px}.cq3-kpi{gap:9px}.cq3-dashboard{padding:17px 13px}}
@media(max-width:950px){.cq3-app{grid-template-columns:155px minmax(0,1fr)}.cq3-nav .cq3-nav-btn{gap:5px;padding:9px 6px}.cq3-brand img{width:100px}.cq3-brand div{font-size:14px}.cq3-kpi-grid{grid-template-columns:1fr 1fr}.cq3-bottom-grid{grid-template-columns:1fr}.cq3-kpi-base{grid-column:1/-1}}
@media(max-width:680px){.cq3-app{grid-template-columns:1fr}.cq3-nav{grid-column:1!important;grid-row:1!important;border-radius:11px 11px 0 0!important;gap:11px!important;padding:10px!important}.cq3-nav .cq3-brand{flex-direction:row;justify-content:center;margin:0}.cq3-nav .cq3-brand img{width:75px;height:40px}.cq3-nav .cq3-brand div{font-size:14px}.cq3-nav .cq3-brand span{margin-top:4px}.cq3-nav nav{flex-direction:row;overflow-x:auto;gap:3px}.cq3-nav .cq3-nav-btn{min-width:90px;min-height:42px;justify-content:center;gap:3px;font-size:10px}.cq3-nav .cq3-nav-btn b{width:16px;flex-basis:16px;font-size:17px}.cq3-back{display:none!important}.cq3-dashboard,.cq3-legacy{grid-column:1!important;grid-row:2!important;border-radius:0 0 11px 11px;padding:12px}.cq3-heading{flex-direction:column}.cq3-heading-right{flex-direction:row;justify-content:space-between;width:100%;align-items:center}.cq3-heading-right label{max-width:160px}.cq3-kpi-grid{grid-template-columns:1fr}.cq3-kpi-base{grid-column:auto}.cq3-middle-grid{grid-template-columns:1fr}.cq3-donut-flex{grid-template-columns:minmax(130px,1fr) minmax(100px,1fr);gap:8px}.cq3-donut:before{inset:23%}.cq3-panel{padding:12px 9px}.cq3-top-row{grid-template-columns:85px minmax(65px,1fr) 53px;gap:5px}.cq3-top-name{font-size:10px}.cq3-top-pct{font-size:11px}.cq3-dashboard-foot{flex-direction:column;align-items:flex-start}.cq3-dashboard-foot p{max-width:none}.cq3-dashboard-foot button{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.cq3-app *{transition:none!important}}
