@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap');
:root{--navy:#17191d;--navy2:#2a2d32;--blue:#d71920;--cyan:#ef4b4f;--green:#1bc88a;--amber:#f59e0b;--red:#d71920;--bg:#f5f6f8;--card:#fff;--ink:#20242a;--muted:#6f737a;--line:#e4e5e8;--shadow:0 16px 45px rgba(20,23,28,.09);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% -10%,rgba(215,25,32,.10),transparent 30%),var(--bg);color:var(--ink);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(32,36,42,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(32,36,42,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 75%)}main{max-width:1600px;margin:auto;padding:22px 34px 0;position:relative}.appHeader{background:linear-gradient(135deg,#15171a 0%,#24272c 68%,#351b1d 100%);border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:white;box-shadow:0 24px 60px rgba(20,23,28,.20);position:relative;overflow:hidden}.appHeader:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:-270px;background:radial-gradient(circle,rgba(215,25,32,.22),transparent 68%)}.brandBlock,.headerActions{display:flex;align-items:center;position:relative;z-index:1}.brandBlock{gap:24px}.brandMark{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}.brandIcon{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#1478ff,#15c9d7);display:grid;grid-template-columns:repeat(3,6px);align-content:center;justify-content:center;gap:4px;box-shadow:0 10px 30px rgba(22,119,255,.35);transform:skew(-7deg)}.brandIcon i{display:block;width:6px;border-radius:10px;background:#fff}.brandIcon i:nth-child(1){height:20px}.brandIcon i:nth-child(2){height:29px}.brandIcon i:nth-child(3){height:14px}.brandText{display:flex;flex-direction:column}.brandText b{font:700 23px/1 Space Grotesk;letter-spacing:.08em}.brandText small{margin-top:5px;color:#9eb4d1;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.productDivider{width:1px;height:52px;background:rgba(255,255,255,.18)}.productIdentity .productTag{font-size:10px;font-weight:800;letter-spacing:.16em;color:#58d9e2}.productIdentity h1{font:700 29px/1.1 Space Grotesk;margin:5px 0 4px;letter-spacing:-.03em}.productIdentity p{margin:0;color:#a9b9cd;font-size:13px}.headerActions{gap:14px}.updateMeta{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 13px;min-width:190px}.updateMeta small,.updateMeta strong{display:block}.updateMeta small{color:#9eb4cc;font-size:10px}.updateMeta strong{font-size:12px;margin-top:2px}.liveDot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(27,200,138,.13),0 0 15px rgba(27,200,138,.65);animation:pulse 2s infinite}.refreshBtn{height:46px;border:0;border-radius:14px;padding:0 17px;display:flex;align-items:center;gap:9px;background:linear-gradient(135deg,var(--blue),#145ce8);color:white;font:700 13px Manrope;cursor:pointer;box-shadow:0 10px 24px rgba(215,25,32,.28);transition:.2s transform,.2s box-shadow}.refreshBtn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(215,25,32,.38)}.refreshBtn:disabled{cursor:wait;opacity:.85}.refreshBtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.refreshBtn.loading svg{animation:spin .85s linear infinite}.trustBar{display:flex;justify-content:space-between;align-items:center;padding:11px 10px 2px;color:var(--muted);font-size:11px}.trustBar>div{display:flex;gap:18px;align-items:center}.statusPill{font-weight:800;color:#11825b}.statusPill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}.tabs{display:flex;gap:6px;margin:18px 0;border-bottom:1px solid var(--line);overflow:auto;position:sticky;top:0;z-index:15;background:rgba(243,247,252,.9);backdrop-filter:blur(14px);padding-top:6px}.tabBtn{appearance:none;border:0;background:transparent;padding:12px 15px;color:var(--muted);font:700 13px Manrope;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;display:flex;gap:8px;align-items:center;transition:.2s}.tabBtn:hover{color:var(--blue);background:rgba(215,25,32,.05);border-radius:10px 10px 0 0}.tabBtn.active{color:var(--blue);border-bottom-color:var(--blue)}.tabIcon{font-size:15px}.tabPanel{display:none}.tabPanel.active{display:block;animation:fadeIn .28s ease}.kpiGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpiGrid article,.panel{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpiGrid article{padding:20px 21px;position:relative;overflow:hidden;transition:.22s transform,.22s box-shadow}.kpiGrid article:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));opacity:.75}.kpiGrid article:hover,.panel:hover{transform:translateY(-2px);box-shadow:0 20px 55px rgba(14,42,84,.11)}.kpiGrid small,.localCard small,.inventoryRow small,.campaigns small,td small{display:block;color:var(--muted);margin-top:5px}.kpiGrid b{display:block;font:700 24px Space Grotesk;margin:9px 0}.kpiGrid em{font-style:normal;color:#11825b;font-size:12px;font-weight:800}.kpiGrid .alert:before{background:linear-gradient(90deg,var(--amber),var(--red))}.kpiGrid .alert em{color:var(--red)}.grid{display:grid;gap:16px;margin-top:16px}.twoOne{grid-template-columns:2fr 1fr}.thirds{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}.panel{padding:20px;overflow:hidden;transition:.22s transform,.22s box-shadow}.panelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panelHead h2{font:700 16px Space Grotesk;margin:0 0 4px}.panelHead p{margin:0;color:var(--muted);font-size:12px}.panelHead>strong{color:#11825b;font-size:12px}.spark{width:100%;height:190px;color:var(--blue);background:linear-gradient(180deg,rgba(215,25,32,.09),transparent);border-radius:14px}.axis{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.priorityList>div{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.priorityList>div:first-child{border-top:0}.priority{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:var(--blue);font-weight:800}.priorityList b{font-size:12px}.priorityList p{font-size:11px;color:var(--muted);margin:3px 0 0;line-height:1.35}.bars{display:grid;gap:13px}.barLabel{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.track{height:8px;background:#edf1f6;border-radius:99px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:99px}.localCard,.inventoryRow{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line)}.localCard:first-of-type,.inventoryRow:first-of-type{border-top:0}.localCard strong,.inventoryRow strong{font-size:12px}.dot{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-right:10px}.inventoryRow{justify-content:flex-start}.inventoryRow>div{flex:1}.dot.quiebre{background:var(--red)}.dot.sobrestock{background:var(--amber)}.dot.normal{background:var(--green)}.dot.bajostock{background:var(--blue)}.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:11px;background:#f7f9fc;border-bottom:1px solid var(--line);position:sticky;top:0}td{padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:hover{background:#f8fbff}td b{display:block}.badge{background:#eaf2ff;color:var(--blue);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.badge.danger{background:#fff0f3;color:var(--red)}.campaigns>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.campaigns>div:first-child{border-top:0}.campaigns>div>div:last-child{text-align:right}.campaigns strong{font-size:11px}.cross{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cross>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;padding:11px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;font-size:10px}.cross span{font-weight:700}.cross i{font-style:normal;color:var(--blue);font-weight:900}.cross b{grid-column:1/-1;color:var(--muted);font-size:9px}.actionCards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.actionCards>div{padding:15px;background:#f7f9fc;border:1px solid var(--line);border-radius:13px}.actionCards b{font-size:12px}.actionCards p{font-size:11px;color:var(--muted);line-height:1.45;margin:6px 0 0}.tabPanel>.panel{margin-top:16px}footer{margin-top:28px;background:var(--navy);color:#9db0ca;border-radius:20px 20px 0 0;padding:18px 22px;font-size:10px}.footerInner{display:flex;justify-content:space-between;align-items:center;gap:18px}.footerInner>div:first-child{display:flex;align-items:center;gap:10px}.footerInner b{color:white;font:700 15px Space Grotesk;letter-spacing:.08em}.refreshOverlay{position:fixed;inset:0;z-index:100;background:rgba(4,15,29,.58);backdrop-filter:blur(9px);display:grid;place-items:center;opacity:0;transition:.28s}.refreshOverlay[hidden]{display:none}.refreshOverlay.visible{opacity:1}.refreshDialog{width:min(440px,calc(100vw - 32px));background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:30px;text-align:center;box-shadow:0 35px 100px rgba(0,0,0,.3)}.refreshDialog h3{font:700 20px Space Grotesk;margin:18px 0 7px}.refreshDialog p{color:var(--muted);font-size:12px;min-height:18px}.refreshDialog small{color:#9aa6b8;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.refreshOrb{width:76px;height:76px;border-radius:24px;margin:auto;background:linear-gradient(145deg,var(--blue),var(--cyan));display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:18px;box-shadow:0 18px 40px rgba(215,25,32,.28)}.refreshOrb span{width:7px;background:#fff;border-radius:8px;animation:bars 1s ease-in-out infinite}.refreshOrb span:nth-child(1){height:22px}.refreshOrb span:nth-child(2){height:38px;animation-delay:.14s}.refreshOrb span:nth-child(3){height:29px;animation-delay:.28s}.refreshProgress{height:7px;background:#edf2f8;border-radius:99px;overflow:hidden;margin:20px 0 16px}.refreshProgress i{display:block;width:4%;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:99px;transition:.45s ease}.isRefreshing .tabPanel.active{filter:saturate(.75)}.flashUpdated{animation:flashUpdated .9s ease}.tabPanel.active{animation:fadeIn .28s ease}@keyframes fadeIn{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(27,200,138,0),0 0 18px rgba(27,200,138,.75)}}@keyframes bars{0%,100%{transform:scaleY(.65);opacity:.7}50%{transform:scaleY(1.12);opacity:1}}@keyframes flashUpdated{0%{box-shadow:0 0 0 0 rgba(27,200,138,.45)}50%{box-shadow:0 0 0 5px rgba(27,200,138,.13)}100%{box-shadow:var(--shadow)}}@media(max-width:1100px){.appHeader{align-items:flex-start}.brandBlock{align-items:flex-start}.headerActions{flex-direction:column;align-items:stretch}.kpiGrid,.thirds{grid-template-columns:repeat(2,1fr)}.twoOne,.two{grid-template-columns:1fr}}@media(max-width:760px){main{padding:12px 12px 0}.appHeader{display:block;padding:20px}.brandBlock{display:block}.brandMark{margin-bottom:16px}.productDivider{display:none}.productIdentity h1{font-size:25px}.headerActions{margin-top:18px;display:grid;grid-template-columns:1fr auto}.updateMeta{min-width:0}.trustBar{display:block}.trustBar>div{margin-top:7px;gap:10px;flex-wrap:wrap}.kpiGrid,.thirds{grid-template-columns:1fr}.tabs{margin-top:12px}.cross,.actionCards{grid-template-columns:1fr}.footerInner{display:block;text-align:center}.footerInner>div{justify-content:center;margin:6px 0}}@media(max-width:480px){.headerActions{grid-template-columns:1fr}.refreshBtn{justify-content:center}.productIdentity p{font-size:11px}.kpiGrid b{font-size:22px}}

.brandLogo{display:block;width:174px;height:auto;object-fit:contain;filter:drop-shadow(0 6px 15px rgba(0,0,0,.18))}.brandMark{min-width:184px;display:flex;align-items:center;text-decoration:none}.brandMark:hover .brandLogo{transform:translateY(-1px);filter:drop-shadow(0 8px 18px rgba(215,25,32,.2))}.brandLogo{transition:.2s transform,.2s filter}.appHeader:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#f04a50,#b70f18)}

.brandIcon,.brandText{display:none!important}.productDivider{background:rgba(255,255,255,.16)!important}.productTag{color:#f47b7f!important}.refreshBtn{background:linear-gradient(135deg,#e62a31,#b90f18)!important;box-shadow:0 10px 24px rgba(215,25,32,.28)!important}.refreshBtn:hover{box-shadow:0 14px 30px rgba(215,25,32,.38)!important}.fill,.refreshProgress i{background:linear-gradient(90deg,#d71920,#ef4b4f)!important}.refreshOrb{background:linear-gradient(145deg,#d71920,#ef4b4f)!important;box-shadow:0 18px 40px rgba(215,25,32,.28)!important}.badge{background:#fff0f1!important;color:#b90f18!important}.priority{background:#fff0f1!important;color:#c9161d!important}.tabBtn:hover{background:rgba(215,25,32,.055)!important}.kpiGrid article:before{background:linear-gradient(90deg,#d71920,#ef4b4f)!important}.kpiGrid .alert:before{background:linear-gradient(90deg,#f59e0b,#d71920)!important}.spark{background:linear-gradient(180deg,rgba(215,25,32,.08),transparent)!important}.track{background:#f0f0f2!important}footer{background:linear-gradient(135deg,#181a1e,#2b2e33)!important}.appHeader{border-top:1px solid rgba(255,255,255,.12)!important}.brandMark:focus-visible,.refreshBtn:focus-visible,.tabBtn:focus-visible{outline:3px solid rgba(239,75,79,.38);outline-offset:3px}@media(max-width:760px){.brandLogo{width:150px}.brandMark{min-width:0}}
.projectContext{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 6px}.projectContext>span{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:10px}.projectContext small{color:#f2a3a6;font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.projectContext strong{color:#fff;font-size:11px;font-weight:700}.projectContext>span+span{border-color:rgba(239,75,79,.28);background:rgba(215,25,32,.08)}@media(max-width:760px){.projectContext{display:grid;grid-template-columns:1fr}.projectContext>span{justify-content:space-between}}


/* ===== ITEAM Executive UI v6 ===== */
:root{
  --brand-red:#d71920;--brand-red-dark:#a80f16;--brand-coral:#ef4b4f;
  --graphite:#17191d;--ink:#20252d;--muted:#687386;--surface:#ffffff;
  --surface-soft:#f6f7f9;--line-strong:#e1e5eb;--success:#0d9b6c;
  --premium-shadow:0 16px 40px rgba(23,25,29,.075),0 2px 8px rgba(23,25,29,.035);
}
body{background:
  radial-gradient(circle at 92% 2%,rgba(215,25,32,.075),transparent 28%),
  radial-gradient(circle at 8% 7%,rgba(0,0,0,.035),transparent 24%),
  linear-gradient(180deg,#f8f9fb 0,#f2f4f7 100%);color:var(--ink)}
main{max-width:1640px;margin:auto}
.appHeader{min-height:132px;background:
  radial-gradient(circle at 88% 10%,rgba(215,25,32,.20),transparent 35%),
  linear-gradient(120deg,#13161a 0%,#20242a 58%,#36191d 100%)!important;
  border-radius:28px;box-shadow:0 24px 70px rgba(18,20,24,.20);overflow:hidden}
.appHeader:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.055),transparent 28%,transparent 72%,rgba(255,255,255,.035))}
.productIdentity h1{font-size:30px;letter-spacing:-.035em}.productIdentity p{color:#c6ccd5!important}
.projectContext>span{backdrop-filter:blur(12px);box-shadow:inset 0 1px rgba(255,255,255,.07)}
.trustBar{margin:0 10px;padding:13px 10px 14px;border-bottom:1px solid rgba(29,36,48,.08)}
.tabs{position:sticky;top:8px;z-index:30;margin-top:0;background:rgba(250,251,253,.88)!important;backdrop-filter:blur(18px);border:1px solid rgba(220,224,232,.82);border-radius:16px;box-shadow:0 10px 30px rgba(25,31,42,.06);padding:6px!important}
.tabBtn{border-radius:11px!important;margin:0 2px!important;padding:13px 18px!important}.tabBtn.active{background:linear-gradient(135deg,#fff0f1,#fff)!important;color:var(--brand-red)!important;box-shadow:inset 0 0 0 1px rgba(215,25,32,.12),0 7px 18px rgba(215,25,32,.08)}
.tabBtn.active:after{left:15px!important;right:15px!important;bottom:2px!important;height:2px!important;border-radius:99px}
.kpiGrid{gap:18px}.kpiGrid article,.panel{border:1px solid rgba(220,224,232,.88)!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(252,253,255,.94))!important;box-shadow:var(--premium-shadow)!important}
.kpiGrid article{min-height:132px;padding:22px!important;border-radius:20px!important;isolation:isolate}
.kpiGrid article:after{content:"";position:absolute;width:82px;height:82px;right:-24px;top:-30px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.12),transparent 68%);z-index:-1}
.kpiGrid small{text-transform:uppercase;letter-spacing:.08em;font-size:10px!important;font-weight:750;color:#7a8494!important}.kpiGrid b{font-size:27px!important;letter-spacing:-.035em}.kpiGrid em{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#ecf8f3;border-radius:99px}
.kpiGrid .alert em{background:#fff0f1}.panel{border-radius:20px!important;padding:22px!important}.panelHead{padding-bottom:14px;border-bottom:1px solid #edf0f4}.panelHead h2{font-size:17px!important;letter-spacing:-.015em}.panelHead p{font-size:11px!important}
.panelHead>strong,.badge{box-shadow:inset 0 0 0 1px rgba(14,155,108,.10)}
.priorityList>div{border-radius:12px;padding:12px 10px!important;transition:.2s;background:transparent}.priorityList>div:hover{background:#faf4f4;transform:translateX(3px)}
.priority{border:1px solid rgba(215,25,32,.10);box-shadow:0 6px 14px rgba(215,25,32,.08)}
.tableWrap{border-radius:14px!important;box-shadow:inset 0 1px rgba(255,255,255,.9)}
th{background:linear-gradient(180deg,#fafbfc,#f4f6f9)!important;color:#5f6978!important}tbody tr{transition:.15s}tbody tr:hover{background:#fff7f7!important;box-shadow:inset 3px 0 var(--brand-red)}

/* Premium charts */
.chartShell{position:relative;height:252px;margin-top:2px;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#fff 0,#fcf6f7 100%);border:1px solid #f0e6e7}
.chartShell svg{display:block;width:100%;height:100%;overflow:visible}.chartGrid{stroke:#e9ebef;stroke-width:1}.chartBenchmark{stroke:#aab2bf;stroke-width:1.2;stroke-dasharray:5 5}.chartArea{fill:url(#salesArea)}.chartLine{fill:none;stroke:var(--brand-red);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 8px rgba(215,25,32,.18))}.chartDot{fill:#fff;stroke:var(--brand-red);stroke-width:2.3;transition:.18s}.chartDot:hover{r:6;fill:var(--brand-red)}.chartLabel{font:11px Arial,sans-serif;fill:#7b8491}.chartValue{font:700 11px Arial,sans-serif;fill:#343a44}.chartLegend{position:absolute;right:16px;top:12px;display:flex;gap:14px;font-size:10px;color:#657080;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);padding:7px 10px;border-radius:99px;border:1px solid #eceef2}.chartLegend i{display:inline-block;width:18px;height:3px;border-radius:9px;background:var(--brand-red);margin-right:5px;vertical-align:middle}.chartLegend .avg i{height:1px;background:#9fa7b3;border-top:1px dashed #9fa7b3}.chartTooltip{position:fixed;pointer-events:none;z-index:300;background:#17191d;color:#fff;padding:9px 11px;border-radius:9px;font-size:11px;box-shadow:0 12px 32px rgba(0,0,0,.22);transform:translate(-50%,-120%);opacity:0;transition:.12s}.chartTooltip strong{display:block;margin-bottom:2px}.chartTooltip.show{opacity:1}
.donutLayout{display:grid;grid-template-columns:132px 1fr;align-items:center;gap:18px;padding:8px 0}.donut{width:128px;aspect-ratio:1;border-radius:50%;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04),0 10px 26px rgba(23,25,29,.08)}.donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff;box-shadow:0 4px 18px rgba(23,25,29,.08)}.donutCenter{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}.donutCenter b{font-size:22px;letter-spacing:-.04em}.donutCenter small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.legendList{display:grid;gap:10px}.legendItem{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:11px}.legendItem i{width:9px;height:9px;border-radius:3px}.legendItem b{font-size:11px}.legendItem small{grid-column:2/-1;margin:0!important;font-size:9px!important;color:var(--muted)}
.localCompare{display:grid;gap:14px;margin-top:8px}.localMetric{padding:14px;border:1px solid #eceff3;border-radius:14px;background:linear-gradient(145deg,#fff,#fafbfc)}.localMetricTop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.localMetricTop b{font-size:13px}.localMetricTop strong{font-size:12px}.localMetric .miniTrack{height:7px;background:#edf0f4;border-radius:99px;overflow:hidden;margin-top:10px}.localMetric .miniTrack i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-red),#ff777c);box-shadow:0 3px 10px rgba(215,25,32,.18)}
.visualBars{display:grid;gap:11px;margin:4px 0 18px;padding:14px;border:1px solid #eceff3;border-radius:15px;background:#fbfcfd}.visualBar{display:grid;grid-template-columns:minmax(105px,1.4fr) 3fr auto;align-items:center;gap:10px;font-size:10px}.visualBar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visualBar i{display:block;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--brand-red),#ff777c)}.visualBar b{font-size:10px}
.scoreBar{display:inline-flex;align-items:center;gap:7px}.scoreBar i{width:62px;height:6px;background:#edf0f4;border-radius:99px;overflow:hidden}.scoreBar i:before{content:"";display:block;width:var(--score);height:100%;background:linear-gradient(90deg,#ff9b9f,var(--brand-red));border-radius:inherit}

.refreshBtn{min-width:132px}.refreshBtn:active{transform:translateY(1px) scale(.99)}
@media(max-width:900px){.donutLayout{grid-template-columns:110px 1fr}.donut{width:106px}.chartShell{height:220px}}
@media(max-width:560px){.donutLayout{grid-template-columns:1fr;justify-items:center}.legendList{width:100%}.chartLegend{display:none}.chartShell{height:200px}.visualBar{grid-template-columns:90px 1fr auto}}


/* V7 Enterprise A+++ */
.headerActions{flex-wrap:wrap}.utilityBtn{height:44px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;border-radius:12px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;font-weight:750;cursor:pointer;transition:.2s}.utilityBtn:hover{background:#fff;color:#171a1f;transform:translateY(-1px)}.utilityIcon{font-size:18px}.tabs{overflow-x:auto;scrollbar-width:thin}.sectionHero{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:28px 30px;margin:0 0 22px;border-radius:22px;background:linear-gradient(135deg,#171a1f 0%,#292d33 64%,#431316 100%);color:#fff;box-shadow:0 18px 48px rgba(20,22,25,.17)}.sectionHero h2{font-size:30px;margin:5px 0 8px}.sectionHero p{max-width:780px;color:#cbd0d7;margin:0;line-height:1.55}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ff6a70;font-weight:850}.heroScore{min-width:190px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06);text-align:right}.heroScore small,.heroScore span{display:block;color:#cbd0d7}.heroScore strong{font-size:38px;line-height:1.1;color:#fff}.sixKpis{grid-template-columns:repeat(6,minmax(0,1fr))}.chartPanel{overflow:hidden}.premiumChart{min-height:300px;width:100%}.compactChart{min-height:255px}.premiumChart svg{width:100%;height:auto;display:block;overflow:visible}.gridLines line{stroke:#e7eaee;stroke-width:1}.axisText{font:12px Inter,Arial,sans-serif;fill:#68707b}.valueText{font:700 12px Inter,Arial,sans-serif;fill:#262a30}.donutBig{font:800 23px Inter,Arial,sans-serif;fill:#171a1f}.chartBar{filter:drop-shadow(0 5px 7px rgba(20,22,25,.08));transition:opacity .2s}.chartBar:hover{opacity:.78}.chartDoc{margin-top:15px;padding:12px 14px;border-left:3px solid #e31b23;background:#f7f8fa;border-radius:0 10px 10px 0;color:#5a626d;font-size:12px;line-height:1.55}.chartDoc b{color:#282d33}.chartDoc.subtle{opacity:.85}.riskTag,.scorePill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}.riskTag.critical{background:#fee9ea;color:#b3141b}.riskTag.high{background:#fff0dd;color:#a45a00}.riskTag.medium{background:#edf1f5;color:#4c5663}.scorePill{background:#e8f6ee;color:#24784b}.savingsStack{display:grid;gap:18px;padding-top:8px}.savingsStack>div{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px 15px}.savingsStack span{font-weight:700}.savingsStack b{color:#e31b23}.savingsStack i{grid-column:1/-1;height:8px;background:#edf0f3;border-radius:99px;overflow:hidden}.savingsStack i:before{content:'';display:block;width:var(--w);height:100%;background:linear-gradient(90deg,#e31b23,#ff6a70);border-radius:99px}.premiumActions>div{border-top:3px solid #e31b23}.panel{border:1px solid #e5e8ec}.panel:hover{box-shadow:0 18px 46px rgba(25,29,34,.10)}
@media(max-width:1280px){.sixKpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.sixKpis{grid-template-columns:1fr 1fr}.sectionHero{align-items:flex-start;flex-direction:column}.heroScore{text-align:left;width:100%}.utilityBtn span:last-child{display:none}.premiumChart{min-height:230px}}@media(max-width:480px){.sixKpis{grid-template-columns:1fr}}
@media print{body{background:#fff}.appHeader,.tabs,.refreshOverlay,footer,.utilityBtn,.refreshBtn{display:none!important}.tabPanel{display:none!important}.tabPanel.active{display:block!important}.panel,.kpiGrid article,.sectionHero{break-inside:avoid;box-shadow:none!important}.sectionHero{background:#fff!important;color:#111!important;border:1px solid #ddd}.sectionHero p,.eyebrow{color:#444!important}.heroScore strong{color:#111!important}.chartDoc{background:#fff}.mainContent{max-width:none;padding:0}.premiumChart{min-height:230px}}


/* V9 Executive Impact Summary */
.executiveSummary{--exec-red:#d71920;--exec-dark:#171a1f;--exec-green:#15966b;--exec-amber:#d98c00;--exec-blue:#3457d5}
.executiveHero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:center;padding:34px 38px;margin-bottom:20px;border-radius:26px;color:#fff;background:radial-gradient(circle at 82% 15%,rgba(215,25,32,.28),transparent 33%),linear-gradient(135deg,#14171b 0%,#252930 68%,#451216 100%);box-shadow:0 24px 58px rgba(20,22,26,.19);overflow:hidden;position:relative}
.executiveHero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.035),transparent 38%);pointer-events:none}
.executiveHeroMain,.executiveScoreCard{position:relative;z-index:1}.executiveHero h2{font:750 clamp(27px,3vw,42px)/1.12 Space Grotesk,Manrope,sans-serif;max-width:1050px;margin:8px 0 12px;letter-spacing:-.04em}.executiveHero p{max-width:980px;margin:0;color:#c8ced7;font-size:14px;line-height:1.62}.executiveHeroSignals{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.signal{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.065);font-size:11px;color:#dce1e8}.signal i{width:7px;height:7px;border-radius:50%}.signal.positive i{background:#22c78a;box-shadow:0 0 12px rgba(34,199,138,.7)}.signal.warning i{background:#ffb21a}.signal.neutral i{background:#82a4ff}.signal b{color:#fff}
.executiveScoreCard{text-align:center;padding:22px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:21px;backdrop-filter:blur(10px)}.scoreRing{--score:84.1;width:142px;aspect-ratio:1;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ef3840 calc(var(--score)*1%),rgba(255,255,255,.10) 0);position:relative;box-shadow:0 14px 35px rgba(0,0,0,.18)}.scoreRing:after{content:"";position:absolute;inset:12px;background:#252328;border-radius:50%}.scoreRing>div{position:relative;z-index:1}.scoreRing strong{display:block;font:800 34px/1 Space Grotesk}.scoreRing small{display:block;color:#bfc6d0;font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}.scoreState{display:inline-block;padding:5px 10px;border-radius:999px;background:rgba(34,199,138,.13);color:#67e0b2;font-weight:800;font-size:10px}.executiveScoreCard p{font-size:10px;line-height:1.45;margin:10px auto 0;color:#aeb6c2}
.executiveKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.executiveKpis article{min-height:150px;padding:20px;border:1px solid #e1e4e9;border-radius:19px;background:linear-gradient(145deg,#fff,#fbfcfe);box-shadow:0 13px 34px rgba(22,25,29,.075);position:relative;overflow:hidden}.executiveKpis article:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--exec-red),#ff6e73)}.kpiTop{display:flex;justify-content:space-between;gap:8px;align-items:center}.kpiTop small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#778191;font-weight:800}.executiveKpis b{display:block;margin:13px 0 7px;font:750 26px/1 Space Grotesk;letter-spacing:-.035em}.executiveKpis p{min-height:30px;margin:0;color:#66707f;font-size:10px;line-height:1.45}.executiveKpis p strong{color:#303640}.trend{font-size:8px;font-weight:850;border-radius:999px;padding:5px 7px;white-space:nowrap}.trend.up{background:#e8f7f1;color:#087a53}.trend.down{background:#fff0f1;color:#bd151c}.trend.stable{background:#eef1f5;color:#5d6673}.microBar{height:5px;margin-top:13px;background:#edf0f3;border-radius:99px;overflow:hidden}.microBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--exec-red),#ff7075)}.microBar.opportunity i{background:linear-gradient(90deg,#b5161c,#ff8b45)}.microBar.risk i{background:linear-gradient(90deg,#ed9b00,#d71920)}
.executiveGrid{display:grid;gap:16px;margin-top:16px}.executiveLeadGrid{grid-template-columns:minmax(0,1.8fr) minmax(390px,1fr)}.executiveMiddleGrid{grid-template-columns:1.12fr 1fr .95fr}.executiveBottomGrid{grid-template-columns:1.08fr 1fr .9fr}.executivePanelHead .panelKicker{font-size:9px;letter-spacing:.13em;color:var(--exec-red);font-weight:850}.executivePanelHead h2{font-size:19px!important;margin-top:5px!important}.metricBadge{align-self:flex-start;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850}.metricBadge.success{background:#e9f7f1;color:#087a53}.executiveTrendChart{height:310px}.executiveInsight{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;margin-top:14px;border-radius:13px;background:linear-gradient(90deg,#f7f8fa,#fff);border:1px solid #e8ebef}.executiveInsight.compact{margin-top:12px}.insightIcon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:#fff0f1;color:var(--exec-red);font-weight:900}.executiveInsight b{font-size:11px}.executiveInsight p{margin:3px 0 0;color:#66707e;font-size:10px;line-height:1.48}
.decisionStack{display:grid;gap:9px}.decisionItem{display:grid;grid-template-columns:37px 1fr auto;gap:11px;align-items:start;padding:12px;border:1px solid #e8ebef;border-radius:14px;background:#fff;position:relative;overflow:hidden}.decisionItem:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#bcc3cd}.decisionItem.critical:before{background:#d71920}.decisionItem.high:before{background:#e59100}.decisionItem.growth:before{background:#3457d5}.decisionItem.retention:before{background:#15966b}.decisionRank{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#f4f5f7;color:#505967;font-weight:900;font-size:10px}.decisionItem b{font-size:11px}.decisionItem p{font-size:9.5px;line-height:1.4;color:#6f7885;margin:3px 0 6px}.decisionItem small{font-size:9px;color:#6f7885}.decisionItem small strong{color:#252a31}.decisionTag{font-size:8px;font-weight:850;padding:5px 7px;border-radius:999px;background:#f1f3f6;color:#5f6875;white-space:nowrap}
.chartLegendExecutive{display:flex;flex-wrap:wrap;gap:14px;font-size:9px;color:#697280;margin-top:10px}.chartLegendExecutive i{display:inline-block;width:18px;height:4px;border-radius:99px;margin-right:5px}.legendRed{background:#d71920}.legendDark{background:#2d3137}.legendGreen{background:#15966b}.healthSummary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.healthSummary span{padding:10px;border:1px solid #e8ebef;border-radius:11px;color:#68717e;font-size:9.5px}.healthSummary b{display:block;color:#252a31;font-size:10px;margin-bottom:3px}
.riskMatrix{display:grid;gap:10px}.riskRow{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e8ebef;border-radius:13px}.riskLight{width:10px;height:10px;border-radius:50%}.riskRow.red .riskLight{background:#d71920;box-shadow:0 0 0 5px rgba(215,25,32,.10)}.riskRow.amber .riskLight{background:#e59100;box-shadow:0 0 0 5px rgba(229,145,0,.10)}.riskRow.green .riskLight{background:#15966b;box-shadow:0 0 0 5px rgba(21,150,107,.10)}.riskRow b{font-size:10.5px}.riskRow p{margin:3px 0 0;font-size:9px;line-height:1.35;color:#6c7582}.riskRow>strong{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em}.riskRow.red>strong{color:#bd151c}.riskRow.amber>strong{color:#a76600}.riskRow.green>strong{color:#087a53}
.branchExecutiveCards{display:grid;gap:11px}.branchExecutiveCards>div{padding:14px;border:1px solid #e5e8ec;border-radius:14px;background:linear-gradient(145deg,#fff,#fafbfc)}.branchTitle{display:flex;justify-content:space-between;gap:10px}.branchTitle b{font-size:11px}.branchTitle span{font-size:9px;color:#68717f}.branchExecutiveCards strong{display:block;font:750 21px Space Grotesk;margin:8px 0 2px}.branchExecutiveCards small{font-size:9px;color:#747d89}.branchProgress{height:6px;margin-top:10px;background:#edf0f3;border-radius:99px;overflow:hidden}.branchProgress i{display:block;height:100%;background:linear-gradient(90deg,var(--exec-red),#ff6b70);border-radius:inherit}.scenarioList{display:grid;gap:10px}.scenario{padding:13px;border:1px solid #e6e9ed;border-radius:14px;position:relative;overflow:hidden}.scenario:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#8b929d}.scenario.upside:before{background:#d71920}.scenario.stretch:before{background:#15966b}.scenario span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#707a87;font-weight:850}.scenario b{display:block;font:750 21px Space Grotesk;margin:5px 0 2px}.scenario small{font-size:9px;color:#747d89}.scenarioNote{margin:12px 0 0;padding:10px;border-radius:10px;background:#f6f7f9;color:#747d89;font-size:8.5px;line-height:1.45}
@media(max-width:1380px){.executiveKpis{grid-template-columns:repeat(3,1fr)}.executiveMiddleGrid{grid-template-columns:1fr 1fr}.executiveRiskPanel{grid-column:1/-1}.executiveBottomGrid{grid-template-columns:1fr 1fr}.executiveOutlookPanel{grid-column:1/-1}}
@media(max-width:980px){.executiveHero{grid-template-columns:1fr}.executiveScoreCard{display:grid;grid-template-columns:130px 1fr;align-items:center;text-align:left}.scoreRing{grid-row:1/4}.executiveLeadGrid,.executiveMiddleGrid,.executiveBottomGrid{grid-template-columns:1fr}.executiveRiskPanel,.executiveOutlookPanel{grid-column:auto}}
@media(max-width:680px){.executiveKpis{grid-template-columns:1fr 1fr}.executiveHero{padding:26px 22px}.executiveHero h2{font-size:28px}.executiveHeroSignals{display:grid}.executiveScoreCard{grid-template-columns:1fr;text-align:center}.scoreRing{grid-row:auto}.decisionItem{grid-template-columns:34px 1fr}.decisionTag{grid-column:2}.healthSummary{grid-template-columns:1fr}}
@media(max-width:460px){.executiveKpis{grid-template-columns:1fr}.executiveKpis article{min-height:auto}}
@media print{.executiveHero{background:#fff!important;color:#111!important;border:1px solid #ccc}.executiveHero p,.signal{color:#444!important}.executiveScoreCard{border-color:#ccc}.scoreRing{background:#eee!important}.scoreRing:after{background:#fff}.scoreRing strong{color:#111}.executiveKpis article,.decisionItem,.riskRow,.scenario{break-inside:avoid}}


/* V10 Multiempresa: servicios, proyectos y visualización ejecutiva */
.compactExecutiveChart{height:300px;min-height:300px}.miniExecutiveChart{height:238px;min-height:238px}.executiveTriptych>.panel{min-height:440px;display:flex;flex-direction:column}.executiveTriptych .premiumChart{flex:0 0 auto}.insightBox{margin-top:auto;padding:16px 18px;border-left:4px solid var(--brand-red,#d71920);border-radius:0 14px 14px 0;background:linear-gradient(135deg,#f7f8fa,#fff);font-size:12px;line-height:1.55;color:#59616d}.insightBox b{color:#20242a}.scalableHero{position:relative;overflow:hidden}.scalableHero:after{content:"";position:absolute;right:-80px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.20),transparent 68%);pointer-events:none}.executiveActions{display:grid;gap:12px}.executiveActions>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #e8ebef;border-radius:14px;background:linear-gradient(145deg,#fff,#fafbfc)}.executiveActions>div>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff0f1;color:#d71920;font-weight:850}.executiveActions b{font-size:12px}.executiveActions p{margin:4px 0 0;color:#69727f;font-size:10px;line-height:1.4}.executiveActions strong{font-size:10px;color:#d71920;text-align:right}.premiumChart svg{max-height:100%}.chartPanel{display:flex;flex-direction:column}.chartPanel .chartDoc{margin-top:auto}.executiveTriptych .panelHead{min-height:62px}.sixKpis article{min-width:0}.sixKpis b{white-space:nowrap}.tabs{scroll-padding-inline:20px}
@media(max-width:1200px){.executiveTriptych{grid-template-columns:1fr 1fr}.executiveTriptych>.panel:last-child{grid-column:1/-1}.compactExecutiveChart{height:280px;min-height:280px}}
@media(max-width:760px){.executiveTriptych{grid-template-columns:1fr}.executiveTriptych>.panel:last-child{grid-column:auto}.compactExecutiveChart{height:245px;min-height:245px}.miniExecutiveChart{height:220px;min-height:220px}.executiveActions>div{grid-template-columns:32px 1fr}.executiveActions strong{grid-column:2;text-align:left}}

/* V13 - Copiar widgets como imagen */
.copyEnabledWidget{position:relative!important}.copyWidgetBtn{position:absolute;top:14px;right:14px;z-index:8;height:34px;padding:0 11px;border:1px solid rgba(215,25,32,.18);border-radius:10px;background:rgba(255,255,255,.92);color:#8f151a;display:inline-flex;align-items:center;gap:7px;font:750 10px Manrope,Arial,sans-serif;cursor:pointer;box-shadow:0 7px 20px rgba(22,25,30,.10);opacity:0;transform:translateY(-4px);transition:.18s opacity,.18s transform,.18s background,.18s color;backdrop-filter:blur(8px)}.copyEnabledWidget:hover>.copyWidgetBtn,.copyWidgetBtn:focus-visible,.copyWidgetBtn.copying{opacity:1;transform:translateY(0)}.copyWidgetBtn:hover{background:#d71920;color:#fff;border-color:#d71920}.copyWidgetBtn:disabled{cursor:wait}.copyWidgetBtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sectionHero>.copyWidgetBtn{top:16px;right:16px;background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.25)}.sectionHero>.copyWidgetBtn:hover{background:#fff;color:#171a1f}.kpiGrid article>.copyWidgetBtn{top:9px;right:9px;width:31px;padding:0;justify-content:center}.kpiGrid article>.copyWidgetBtn span{display:none}.copySpinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.copyToast{position:fixed;left:50%;bottom:28px;z-index:500;max-width:min(560px,calc(100vw - 32px));padding:13px 17px;border-radius:12px;background:#171a1f;color:#fff;font:700 12px Manrope,Arial,sans-serif;box-shadow:0 18px 55px rgba(0,0,0,.28);opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:.22s}.copyToast.show{opacity:1;transform:translate(-50%,0)}.copyToast.warning{background:#8a5600}.copyToast.error{background:#a2141a}@media(max-width:760px){.copyWidgetBtn{opacity:1;transform:none}.copyWidgetBtn span{display:none}.copyWidgetBtn{width:34px;padding:0;justify-content:center}}@media print{.copyWidgetBtn,.copyToast{display:none!important}}

/* V14: copia de widgets siempre visible */
.copyEnabledWidget{position:relative!important}
.copyWidgetBtn{
  position:absolute;top:11px;right:11px;z-index:30;
  width:31px;height:31px;padding:0;border:1px solid rgba(215,25,32,.22);
  border-radius:9px;background:rgba(255,255,255,.94);color:#9f171c;
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(22,25,30,.11);
  opacity:.72;transform:none;
  transition:.18s opacity,.18s transform,.18s background,.18s color,.18s box-shadow;
  backdrop-filter:blur(8px)
}
.copyWidgetBtn:hover,.copyWidgetBtn:focus-visible,.copyWidgetBtn.copying{
  opacity:1;background:#d71920;color:#fff;border-color:#d71920;
  transform:translateY(-1px) scale(1.04);box-shadow:0 9px 24px rgba(215,25,32,.24);outline:none
}
.copyWidgetBtn:disabled{cursor:wait}
.copyWidgetBtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sectionHero>.copyWidgetBtn,.executiveHero>.copyWidgetBtn{
  background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.28);opacity:.9
}
.sectionHero>.copyWidgetBtn:hover,.executiveHero>.copyWidgetBtn:hover{background:#fff;color:#171a1f;border-color:#fff}
.kpiGrid>article>.copyWidgetBtn,.executiveKpis>article>.copyWidgetBtn{top:8px;right:8px;width:28px;height:28px;border-radius:8px}
.copySpinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@media(max-width:760px){.copyWidgetBtn{opacity:1;width:30px;height:30px;top:8px;right:8px}}
@media print{.copyWidgetBtn,.copyToast{display:none!important}}

/* V16: doble clic para copiar; interfaz limpia y cursor + */
.copyWidgetBtn{display:none!important}
.copyEnabledWidget{position:relative!important;cursor:crosshair}
.copyEnabledWidget:after{content:none!important;display:none!important}
.copyEnabledWidget.copyingWidget{animation:widgetCapturePulse .85s ease infinite alternate;cursor:progress}
@keyframes widgetCapturePulse{from{box-shadow:0 0 0 0 rgba(215,25,32,.22)}to{box-shadow:0 0 0 7px rgba(215,25,32,0)}}

/* V17 cursor de copia discreto */
.copyEnabledWidget{cursor:url("assets/copy-cursor.png") 2 1, copy!important}.copyEnabledWidget.copyingWidget{cursor:progress!important}
/* V18.1 Mercado Público - versión corregida */
.publicHero{background:linear-gradient(135deg,#111827 0%,#1f2937 58%,#0b4f8a 100%)}
.mpSearchGrid{display:grid;grid-template-columns:1.2fr .7fr 2fr auto;gap:12px;align-items:end}.mpSearchGrid label{display:grid;gap:6px}.mpSearchGrid label span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#68707b;font-weight:800}.mpSearchGrid input,.mpSearchGrid select{width:100%;height:44px;border:1px solid #dfe3e8;border-radius:11px;padding:0 12px;background:#fff;color:#20242a;font:600 12px Manrope}.mpSearchGrid input:focus,.mpSearchGrid select:focus{outline:2px solid rgba(215,25,32,.14);border-color:#d71920}.mpSearchBtn{min-width:165px;justify-content:center}.mpSearchHelp{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:11px;font-size:10px;color:#7b8491}.mpSearchHelp a{color:#d71920;font-weight:800;text-decoration:none}.mpProgress{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;background:#f7f8fa;border-radius:10px;font-size:11px}.mpProgress i{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#d71920;border-radius:50%;animation:spin .8s linear infinite}.mpTenderList{display:grid;gap:11px}.mpTender{display:block;padding:15px 16px;border:1px solid #e5e8ec;border-radius:14px;background:linear-gradient(145deg,#fff,#fbfcfd);color:#20242a;text-decoration:none;transition:.2s}.mpTender:hover{transform:translateY(-2px);border-color:rgba(215,25,32,.35);box-shadow:0 14px 30px rgba(20,23,28,.08)}.mpTenderTop{display:flex;justify-content:space-between;gap:10px}.mpTenderTop span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#d71920;font-weight:850}.mpTenderTop b{font-size:9px;color:#11825b;background:#eaf7f1;padding:4px 7px;border-radius:99px}.mpTender h3{font-size:13px;margin:8px 0 5px;line-height:1.35}.mpTender p{font-size:10px;color:#6f737a;margin:0 0 9px}.mpTender>div:last-child{display:flex;gap:14px;flex-wrap:wrap;color:#68707b}.mpTender small{font-size:9px}.mpEmpty{padding:36px;text-align:center;border:1px dashed #d7dce3;border-radius:14px;color:#6f737a}.mpEmpty b,.mpEmpty span{display:block}.mpPipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.mpPipeline>div{position:relative;padding:18px;border:1px solid #e5e8ec;border-radius:15px;background:#fbfcfd}.mpPipeline>div:not(:last-child):after{content:'→';position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:#a7adb6;font-weight:900;z-index:2}.mpPipeline strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6f737a}.mpPipeline b{display:block;font-size:28px;margin:8px 0 4px}.mpPipeline span{font-size:10px;color:#7b8491}.mpKpis article b{font-size:21px!important}
@media(max-width:1200px){.mpSearchGrid{grid-template-columns:1fr 1fr}.mpKeywords{grid-column:1/-1}.mpSearchBtn{width:100%}.mpPipeline{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.mpSearchGrid{grid-template-columns:1fr}.mpKeywords{grid-column:auto}.mpPipeline{grid-template-columns:1fr}.mpPipeline>div:not(:last-child):after{content:'↓';right:18px;top:auto;bottom:-15px}.mpTender>div:last-child{display:grid;gap:3px}}

.mpMessage{margin-top:12px;padding:11px 13px;border-radius:10px;font-size:11px;font-weight:700}.mpMessage.success{background:#eaf7f1;color:#14734f}.mpMessage.warning{background:#fff5df;color:#8b5a00}.mpMessage.error{background:#fff0f1;color:#a2141a}.mpMessage.info{background:#f2f5f8;color:#55606d}.mpSearchBtn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}


/* V18.4 — navegación y estado de consulta corregidos */
.tabs{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(max-content,1fr));
  align-items:stretch;
  gap:6px!important;
  overflow:visible!important;
  scrollbar-width:none;
  padding:6px!important;
}
.tabs::-webkit-scrollbar{display:none}
.tabBtn{
  min-width:0;
  justify-content:center;
  padding:12px 10px!important;
  border-radius:11px!important;
  overflow:visible;
}
.tabBtn.active{
  background:linear-gradient(180deg,#fff7f7,#fff)!important;
  box-shadow:inset 0 0 0 1px rgba(215,25,32,.16),0 6px 16px rgba(215,25,32,.08)!important;
}
.tabBtn.active:after{left:10px!important;right:10px!important}

.mpProgress[hidden],.mpMessage[hidden]{display:none!important}
.mpProgress{display:flex}

@media(max-width:1380px){
  .tabs{grid-template-columns:repeat(6,minmax(0,1fr));}
}
@media(max-width:900px){
  .tabs{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x proximity;
    overscroll-behavior-inline:contain;
    padding-bottom:8px!important;
  }
  .tabBtn{
    flex:0 0 auto;
    min-width:max-content;
    scroll-snap-align:start;
    padding-inline:14px!important;
  }
}

/* V19 - versionado y acceso SSO Google */
.productTagRow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.productVersion{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:10px;font-weight:850;letter-spacing:.08em;line-height:1}.authGate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 80% 0,rgba(215,25,32,.22),transparent 38%),linear-gradient(145deg,#111419,#25282d 68%,#46181b);backdrop-filter:blur(18px)}.authGate[hidden]{display:none}.authCard{width:min(460px,100%);padding:38px 36px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 38px 120px rgba(0,0,0,.42);text-align:center}.authLogo{width:168px;max-height:72px;object-fit:contain;margin-bottom:18px}.authProduct{display:inline-flex;gap:7px;align-items:center;margin-bottom:12px;padding:6px 11px;border:1px solid #f1d5d7;border-radius:999px;background:#fff6f6;color:#b4131a;font-size:11px;font-weight:800}.authCard h1{margin:6px 0 10px;font:750 30px/1.1 Space Grotesk,Manrope,sans-serif;color:#1e2228}.authCard>p{margin:0 auto 24px;max-width:360px;color:#657080;line-height:1.55;font-size:14px}.googleSignInBtn{width:100%;height:54px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #d9dde3;border-radius:14px;background:#fff;color:#20242a;font:750 14px Manrope,sans-serif;cursor:pointer;box-shadow:0 9px 24px rgba(22,25,30,.08);transition:.2s}.googleSignInBtn:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(22,25,30,.13)}.googleSignInBtn:disabled{opacity:.65;cursor:wait}.googleSignInBtn svg{width:21px;height:21px}.authStatus{min-height:20px;margin:18px 0 10px;color:#5c6571;font-size:12px}.authStatus.error{color:#c5161d}.authStatus.loading{color:#a55b00}.authCard>small{display:block;color:#8a929d;font-size:10px;line-height:1.5}.authPending main,.authDenied main{visibility:hidden}.authUser{display:flex;align-items:center;gap:9px;max-width:260px;padding:7px 8px 7px 9px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.07)}.authUser img{width:29px;height:29px;border-radius:50%;object-fit:cover}.authUser div{min-width:0}.authUser small,.authUser strong{display:block}.authUser small{color:#abb5c2;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.authUser strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:10px}.authUser button{border:0;border-radius:9px;padding:7px 9px;background:rgba(255,255,255,.1);color:#fff;font-size:10px;font-weight:800;cursor:pointer}.authUser button:hover{background:#fff;color:#171a1f}@media(max-width:900px){.authUser{width:100%;max-width:none}.authCard{padding:30px 24px}.productTagRow{justify-content:flex-start}}@media print{.authGate,.authUser{display:none!important}}

/* V20 World-Class Right Navigation + Executive User */
@media (min-width:1181px){
  body.authGranted main{max-width:none;margin:0;padding:22px 306px 0 34px}
  body.authGranted .tabs{display:none!important}
  .commerceRail{position:fixed;right:18px;top:18px;bottom:18px;width:264px;z-index:90;display:flex;flex-direction:column;padding:16px 14px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(165deg,#16191e 0%,#22262d 68%,#42181b 100%);box-shadow:0 30px 80px rgba(12,16,22,.30);color:#fff;overflow:hidden}
  .commerceRail:before{content:"";position:absolute;right:-90px;top:-80px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.28),transparent 68%);pointer-events:none}
  .railBrand{position:relative;padding:10px 10px 17px;border-bottom:1px solid rgba(255,255,255,.11)}
  .railBrandTop{display:flex;align-items:center;gap:8px;font:800 20px/1 Space Grotesk,Manrope,sans-serif}
  .railBrandTop b{margin-left:auto;padding:5px 8px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);font:800 9px Manrope,sans-serif;letter-spacing:.08em}
  .railBrand small{display:block;margin:8px 0 0 17px;color:#aeb7c5;font-size:8px;letter-spacing:.18em}
  .railPulse{width:9px;height:9px;border-radius:50%;background:#ef3038;box-shadow:0 0 0 5px rgba(239,48,56,.12),0 0 18px rgba(239,48,56,.7)}
  .railNav{position:relative;display:grid;gap:4px;padding:13px 0;overflow:auto;scrollbar-width:none}
  .railNav::-webkit-scrollbar{display:none}
  .railNav .tabBtn{width:100%;min-height:39px;padding:9px 11px;border:1px solid transparent;border-radius:11px;color:#bcc5d2;font-size:11px;font-weight:720;justify-content:flex-start;border-bottom:0!important;background:transparent}
  .railNav .tabBtn:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateX(-2px)}
  .railNav .tabBtn.active{color:#fff;background:linear-gradient(90deg,rgba(215,25,32,.96),rgba(215,25,32,.52));border-color:rgba(255,255,255,.14);box-shadow:0 9px 24px rgba(215,25,32,.20)}
  .railNav .tabIcon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.07);font-size:12px}
  .railNav .tabBtn.active .tabIcon{background:rgba(255,255,255,.18)}
  .railNav .publicMarket{margin-top:6px;border-top:1px solid rgba(255,255,255,.11);padding-top:12px}
  .railFooter{position:relative;margin-top:auto;display:flex;align-items:center;gap:9px;padding:12px 10px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.05)}
  .railFooter b,.railFooter small{display:block}.railFooter b{font-size:9px}.railFooter small{margin-top:3px;color:#9ea9b8;font-size:8px}.railSecure{color:#20c997;font-size:13px;text-shadow:0 0 12px rgba(32,201,151,.8)}
}
@media (max-width:1180px){.commerceRail{display:none}}

/* World-class authenticated user */
.premiumUser{position:relative;display:grid!important;grid-template-columns:auto minmax(125px,1fr) auto auto;align-items:center;gap:10px;max-width:410px!important;padding:9px 10px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:17px!important;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.055))!important;box-shadow:inset 0 1px rgba(255,255,255,.12),0 12px 32px rgba(0,0,0,.14);backdrop-filter:blur(14px)}
.premiumUser[hidden]{display:none!important}.userAvatarWrap{position:relative;width:39px;height:39px}.premiumUser img{width:39px!important;height:39px!important;border:2px solid rgba(255,255,255,.82);box-shadow:0 5px 16px rgba(0,0,0,.22)}
.userPresence{position:absolute;right:-1px;bottom:1px;width:10px;height:10px;border:2px solid #25282d;border-radius:50%;background:#20c997;box-shadow:0 0 10px rgba(32,201,151,.72)}
.userIdentity{min-width:0}.premiumUser .userIdentity small{color:#9fa9b8!important;font-size:7px!important;letter-spacing:.13em!important}.premiumUser .userIdentity strong{max-width:160px!important;margin-top:2px;font-size:11px!important;letter-spacing:.01em}.premiumUser .userIdentity span{display:block;max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;color:#c8d0db;font-size:8px}
.userRole{padding:5px 8px;border:1px solid rgba(239,48,56,.32);border-radius:999px;background:rgba(215,25,32,.13);color:#ff8f94;font-size:7px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.signOutPremium{width:33px;height:33px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:10px!important;background:rgba(255,255,255,.07)!important}
.signOutPremium svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.signOutPremium:hover{background:#fff!important;color:#17191d!important;transform:translateY(-1px)}
@media(max-width:1100px){.premiumUser{grid-column:1/-1;max-width:none!important}.headerActions{width:100%}}
@media(max-width:600px){.premiumUser{grid-template-columns:auto 1fr auto}.userRole{display:none}.premiumUser .userIdentity strong{max-width:130px!important}}
@media print{.commerceRail{display:none!important}}


/* V21 Left Navigation + Sticky Header + Access Administration */
@media (min-width:1181px){
  body.authGranted main{max-width:none;margin:0;padding:18px 34px 0 306px!important}
  body.authGranted .appHeader{position:sticky;top:14px;z-index:85;margin-bottom:0;box-shadow:0 22px 56px rgba(15,18,23,.24)}
  .commerceRail{left:18px!important;right:auto!important;top:18px;bottom:18px;width:264px}
  .commerceRail:before{left:-90px!important;right:auto!important}
  .railNav .tabBtn:hover{transform:translateX(2px)!important}
  .trustBar{position:relative;z-index:20;background:rgba(245,246,248,.88);backdrop-filter:blur(10px)}
}
.adminWorkspace{padding-bottom:24px}.adminHero{background:linear-gradient(135deg,#15181d 0%,#272b31 62%,#3f171a 100%)}
.fourAdminKpis{grid-template-columns:repeat(4,1fr)}.adminGrid{grid-template-columns:minmax(0,1.75fr) minmax(360px,.75fr);align-items:start}.adminDirectoryPanel{min-width:0}.adminEditorPanel{position:sticky;top:180px}.adminToolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.adminSecondaryBtn{min-height:38px;padding:0 13px;border:1px solid #dfe3e8;border-radius:10px;background:#fff;color:#353b44;font-weight:750;cursor:pointer}.adminSecondaryBtn:hover{border-color:#d71920;color:#d71920;background:#fff7f7}.fileButton{display:inline-flex;align-items:center}.adminNewBtn{height:38px;min-width:auto}.adminSearchRow{display:flex;align-items:center;gap:12px;margin-bottom:14px}.adminSearchRow input{flex:1;height:42px;border:1px solid #dfe3e8;border-radius:11px;padding:0 13px;font:600 12px Manrope}.storageBadge{padding:7px 10px;border-radius:999px;background:#fff4e5;color:#9a5a00;font-size:9px;font-weight:850;white-space:nowrap}.directoryUser{display:flex;align-items:center;gap:10px}.directoryUser>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#d71920,#ff5a60);color:#fff;font-weight:850}.directoryUser b,.directoryUser small{display:block}.directoryUser small{margin-top:2px}.profilePill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#4b5563;font-size:9px;font-weight:850}.statusAccess{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:850}.statusAccess:before{content:"";width:6px;height:6px;border-radius:50%}.statusAccess.active{background:#eaf8f2;color:#147a52}.statusAccess.active:before{background:#1bb57a}.statusAccess.inactive{background:#fff0f1;color:#b21d23}.statusAccess.inactive:before{background:#d71920}.rowActions{display:flex;gap:6px}.rowActions button{border:0;background:#f3f5f8;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}.rowActions button:hover{background:#feecee;color:#b8171d}.emptyAdmin{text-align:center;padding:28px;color:#77808d}.adminForm{display:grid;gap:14px}.adminForm label>span,.adminForm legend{display:block;margin-bottom:6px;color:#687180;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.adminForm input,.adminForm select{width:100%;height:42px;border:1px solid #dfe3e8;border-radius:10px;padding:0 12px;background:#fff;font:600 11px Manrope}.adminFormTwo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.adminForm fieldset{margin:0;padding:13px;border:1px solid #e3e6eb;border-radius:13px}.modulePermissionGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.modulePermissionGrid label{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid #eceef2;border-radius:9px;background:#fafbfc}.modulePermissionGrid input{width:15px;height:15px}.modulePermissionGrid label>span{margin:0;text-transform:none;letter-spacing:0;font-size:9px}.adminToggle{display:flex!important;align-items:center;gap:9px;padding:11px;border:1px solid #e3e6eb;border-radius:11px;background:#fafbfc}.adminToggle input{width:16px;height:16px}.adminToggle span{margin:0!important;text-transform:none!important;letter-spacing:0!important;font-size:10px!important}.adminFormActions{display:flex;justify-content:flex-end;gap:8px}.roleCards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.roleCard{padding:14px;border:1px solid #e3e7ec;border-radius:14px;background:linear-gradient(145deg,#fff,#fafbfc)}.roleCard>div{display:flex;gap:9px;align-items:center}.roleCard>div>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#fff0f1;color:#d71920}.roleCard b,.roleCard small{display:block}.roleCard small{margin-top:3px;color:#737c89;font-size:8px}.roleCard em{display:block;margin-top:11px;color:#687180;font-size:9px;font-style:normal}.securityChecklist{display:grid;gap:12px}.securityChecklist>div{display:flex;gap:11px;padding:12px;border:1px solid #e5e8ec;border-radius:13px;background:#fafbfc}.securityChecklist i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#e9f8f1;color:#14805a;font-style:normal;font-weight:900}.securityChecklist b,.securityChecklist small{display:block}.securityChecklist small{margin-top:3px;color:#747d89;line-height:1.4}.adminRolesSection{align-items:start}
@media(max-width:1280px){.adminGrid{grid-template-columns:1fr}.adminEditorPanel{position:static}.roleCards{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.fourAdminKpis{grid-template-columns:1fr 1fr}.adminToolbar{justify-content:flex-start}.adminFormTwo,.modulePermissionGrid,.roleCards{grid-template-columns:1fr}.adminSearchRow{align-items:stretch;flex-direction:column}}
@media print{.adminToolbar,.adminFormActions,.adminSearchRow{display:none!important}}

/* V21.1 layout and quality fixes */
html{scroll-padding-top:190px}
.tabPanel{scroll-margin-top:190px}
@media (min-width:1181px){
  body.authGranted main{padding-left:292px!important;padding-right:28px!important}
  body.authGranted .appHeader{top:10px;z-index:120;border-radius:24px;max-width:calc(100vw - 320px);margin-left:0}
  .commerceRail{width:246px;left:14px!important;top:14px;bottom:14px}
  .railNav{padding-right:3px;overflow-y:auto;overscroll-behavior:contain}
  .trustBar{position:sticky;top:176px;z-index:70;border-radius:0 0 14px 14px;padding-left:14px;padding-right:14px}
}
.adminLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,430px);gap:18px;align-items:start;margin-top:18px}
.adminMainColumn{display:grid;gap:18px;min-width:0}
.adminDirectoryPanel{margin:0!important}
.adminEditorPanel{position:sticky;top:194px;max-height:calc(100vh - 214px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0!important}
.adminEditorPanel .panelHead{position:sticky;top:-22px;z-index:3;background:linear-gradient(180deg,#fff 82%,rgba(255,255,255,.92));padding-top:22px}
.adminTable{min-width:760px}
.adminRolesSection{margin-top:0!important}
.adminRolesSection>.panel{height:100%}
.adminForm fieldset{max-height:300px;overflow:auto;scrollbar-width:thin}
.modulePermissionGrid label{min-height:40px}
.rowActions button{white-space:nowrap}
footer{position:relative;z-index:2}
body{overflow-x:hidden}
@media(max-width:1500px){
  .adminLayout{grid-template-columns:minmax(0,1fr) 390px}
  .adminToolbar{justify-content:flex-start}
}
@media(max-width:1280px){
  .adminLayout{grid-template-columns:1fr}
  .adminEditorPanel{position:static;max-height:none;overflow:visible}
  .adminEditorPanel .panelHead{position:static;padding-top:0;background:none}
}
@media(max-width:760px){
  html{scroll-padding-top:90px}.tabPanel{scroll-margin-top:90px}
  .adminTable{min-width:680px}
}

/* V21.2 administration layout stabilization */
@media (min-width:1181px){
  body.authGranted main{padding-top:14px!important;padding-bottom:34px!important}
  body.authGranted .appHeader{
    position:sticky!important;
    top:10px!important;
    z-index:120!important;
    min-height:148px!important;
    padding:20px 24px!important;
    margin-bottom:12px!important;
  }
  body.authGranted .appHeader .brandLogo{width:148px!important}
  body.authGranted .appHeader .productIdentity h1{font-size:27px!important}
  body.authGranted .appHeader .headerActions{gap:10px!important}
  body.authGranted .trustBar{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
    margin:0 0 12px!important;
    padding:7px 12px!important;
    border-radius:12px!important;
    background:rgba(245,246,248,.9)!important;
  }
}

#tab-administracion{padding-bottom:8px}
#tab-administracion .adminLayout{
  grid-template-columns:minmax(0,1fr) minmax(390px,430px)!important;
  gap:20px!important;
  align-items:start!important;
}
#tab-administracion .adminMainColumn{align-content:start}
#tab-administracion .adminEditorPanel{
  position:relative!important;
  top:auto!important;
  max-height:none!important;
  overflow:visible!important;
  align-self:start!important;
  margin:0!important;
}
#tab-administracion .adminEditorPanel .panelHead{
  position:relative!important;
  top:auto!important;
  padding-top:0!important;
  background:transparent!important;
}
#tab-administracion .adminForm fieldset{
  max-height:none!important;
  overflow:visible!important;
}
#tab-administracion .modulePermissionGrid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#tab-administracion .adminFormActions{
  position:sticky;
  bottom:0;
  z-index:4;
  margin:4px -4px -4px;
  padding:12px 4px 4px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 30%);
}
#tab-administracion .adminDirectoryPanel,
#tab-administracion .adminRolesSection>.panel,
#tab-administracion .adminEditorPanel{box-shadow:0 14px 40px rgba(20,24,31,.08)!important}
#tab-administracion .adminRolesSection{align-items:stretch!important}
#tab-administracion .adminRolesSection>.panel{min-height:330px!important}
#tab-administracion .tableWrap{max-width:100%}
#tab-administracion .adminTable{min-width:720px!important}
footer{clear:both!important;margin-top:26px!important;position:relative!important;z-index:1!important}

@media(max-width:1500px){
  #tab-administracion .adminLayout{grid-template-columns:minmax(0,1fr) 390px!important}
}
@media(max-width:1280px){
  #tab-administracion .adminLayout{grid-template-columns:1fr!important}
  #tab-administracion .adminEditorPanel{max-width:none!important}
  #tab-administracion .modulePermissionGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #tab-administracion .modulePermissionGrid{grid-template-columns:1fr!important}
  #tab-administracion .adminRolesSection>.panel{min-height:auto!important}
}

/* V21.3 sticky header occlusion fix */
@media (min-width:1181px){
  body.authGranted main{
    padding-top:0!important;
  }
  body.authGranted .appHeader{
    position:sticky!important;
    top:0!important;
    z-index:500!important;
    margin-top:0!important;
    margin-bottom:14px!important;
    border-radius:0 0 24px 24px!important;
    background:linear-gradient(135deg,#15171a 0%,#24272c 68%,#351b1d 100%)!important;
    box-shadow:
      0 -42px 0 42px #f5f6f8,
      0 22px 56px rgba(15,18,23,.24)!important;
    isolation:isolate;
    contain:paint;
  }
  body.authGranted .appHeader::after{
    z-index:-1;
  }
  body.authGranted .trustBar{
    position:relative!important;
    z-index:20!important;
  }
  body.authGranted .tabPanel,
  body.authGranted .sectionHero{
    scroll-margin-top:176px!important;
  }
}
@media (max-width:1180px){
  body.authGranted .appHeader{
    position:relative!important;
    top:auto!important;
    border-radius:24px!important;
    box-shadow:0 18px 42px rgba(15,18,23,.18)!important;
  }
}

/* V21.5 world-class fixed header architecture */
@media (min-width:1181px){
  :root{--icommand-sidebar:246px;--icommand-header-h:158px;--icommand-gutter:14px}
  body.authGranted main{
    padding-left:calc(var(--icommand-sidebar) + 46px)!important;
    padding-right:28px!important;
    padding-top:calc(var(--icommand-header-h) + 30px)!important;
  }
  body.authGranted .appHeader{
    position:fixed!important;
    top:var(--icommand-gutter)!important;
    left:calc(var(--icommand-sidebar) + 28px)!important;
    right:20px!important;
    width:auto!important;
    max-width:none!important;
    min-height:var(--icommand-header-h)!important;
    margin:0!important;
    padding:20px 24px!important;
    border-radius:24px!important;
    z-index:1000!important;
    overflow:hidden!important;
    contain:layout paint style!important;
    isolation:isolate!important;
    box-shadow:0 24px 64px rgba(13,17,24,.26),0 1px 0 rgba(255,255,255,.07) inset!important;
    transition:min-height .22s ease,padding .22s ease,box-shadow .22s ease,transform .22s ease!important;
  }
  body.authGranted .appHeader::before{border-radius:24px 0 0 24px!important}
  body.authGranted .appHeader::after{z-index:-1!important}
  body.authGranted .brandBlock{min-width:0;flex:1;gap:20px!important}
  body.authGranted .brandMark{min-width:150px!important;flex:0 0 150px!important}
  body.authGranted .brandLogo{width:145px!important}
  body.authGranted .productDivider{height:54px!important}
  body.authGranted .productIdentity{min-width:0}
  body.authGranted .productIdentity h1{font-size:27px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.authGranted .productIdentity p{max-width:690px;line-height:1.35}
  body.authGranted .headerActions{
    flex:0 0 auto!important;
    max-width:620px!important;
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    grid-template-areas:"updated refresh export" "user user print"!important;
    gap:10px 12px!important;
    align-items:center!important;
    justify-items:stretch!important;
  }
  body.authGranted .updateMeta{grid-area:updated;min-width:182px!important;height:48px!important}
  body.authGranted #refreshBtn{grid-area:refresh;height:48px!important}
  body.authGranted #exportExcelBtn{grid-area:export;height:48px!important}
  body.authGranted #printBtn{grid-area:print;height:44px!important;justify-self:start}
  body.authGranted .premiumUser{grid-area:user!important;max-width:none!important;min-width:300px!important;height:48px!important;padding:7px 9px!important}
  body.authGranted .trustBar{
    position:relative!important;
    top:auto!important;
    margin:0 0 14px!important;
    border-radius:14px!important;
    z-index:10!important;
  }
  body.authGranted .tabPanel,
  body.authGranted .sectionHero{scroll-margin-top:calc(var(--icommand-header-h) + 28px)!important}
  body.authGranted.headerScrolled .appHeader{
    min-height:132px!important;
    padding-top:15px!important;
    padding-bottom:15px!important;
    box-shadow:0 18px 52px rgba(13,17,24,.30),0 1px 0 rgba(255,255,255,.07) inset!important;
  }
  body.authGranted.headerScrolled .productIdentity p{display:none!important}
  body.authGranted.headerScrolled .brandLogo{width:132px!important}
  body.authGranted.headerScrolled .productDivider{height:46px!important}
  body.authGranted.headerScrolled .productIdentity h1{font-size:25px!important}
}

@media (min-width:1181px) and (max-width:1500px){
  :root{--icommand-header-h:150px}
  body.authGranted .appHeader{left:276px!important;right:14px!important;padding:17px 18px!important}
  body.authGranted .brandMark{min-width:124px!important;flex-basis:124px!important}
  body.authGranted .brandLogo{width:122px!important}
  body.authGranted .productIdentity h1{font-size:24px!important}
  body.authGranted .productIdentity p{font-size:11px!important;max-width:540px}
  body.authGranted .headerActions{max-width:540px!important;gap:8px!important}
  body.authGranted .updateMeta{min-width:160px!important}
  body.authGranted .premiumUser{min-width:270px!important}
  body.authGranted .utilityBtn{padding-left:12px!important;padding-right:12px!important}
}

@media (max-width:1180px){
  body.authGranted main{padding-top:14px!important}
  body.authGranted .appHeader{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    min-height:auto!important;
    border-radius:24px!important;
    margin:0 0 14px!important;
  }
}


/* V21.5 clean fixed header + footer/script visibility fix */
@media (min-width:1181px){
  :root{
    --icommand-header-h:154px;
    --icommand-header-gap:18px;
  }
  body.authGranted main{
    padding-top:calc(var(--icommand-header-h) + var(--icommand-header-gap))!important;
  }
  body.authGranted .appHeader{
    top:0!important;
    left:calc(var(--icommand-sidebar) + 18px)!important;
    right:0!important;
    min-height:var(--icommand-header-h)!important;
    border-radius:0 0 24px 24px!important;
    border-top:0!important;
    box-shadow:0 18px 50px rgba(13,17,24,.28),0 1px 0 rgba(255,255,255,.07) inset!important;
  }
  body.authGranted .appHeader::before{border-radius:0 0 0 24px!important}
  body.authGranted .appHeader::after{border-radius:0 0 24px 24px!important}
  body.authGranted.headerScrolled .appHeader{
    min-height:128px!important;
    padding-top:13px!important;
    padding-bottom:13px!important;
  }
  body.authGranted .tabPanel,
  body.authGranted .sectionHero{
    scroll-margin-top:calc(var(--icommand-header-h) + 20px)!important;
  }
}
footer{overflow:hidden!important}


/* v22.0 - Conectores / SAP Service Layer */
.railGroup{margin:6px 0}.railGroupToggle{width:100%;border:0;background:transparent;color:inherit;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;border-radius:12px;cursor:pointer;font:750 12px Manrope}.railGroupToggle:hover{background:rgba(215,25,32,.06)}.railGroupTitle{display:flex;align-items:center;gap:10px}.railChevron{transition:.2s transform;color:#8b93a0}.railGroup.collapsed .railChevron{transform:rotate(-90deg)}.railSubnav{display:grid;gap:4px;padding-left:15px;max-height:90px;overflow:hidden;transition:.25s max-height,.25s opacity}.railGroup.collapsed .railSubnav{max-height:0;opacity:0}.connectorSub{position:relative;padding-left:16px!important}.connectorSub:before{content:"";position:absolute;left:2px;top:50%;width:8px;height:1px;background:#d7dbe1}.sapGlyph{display:grid!important;place-items:center;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#0a6ed1,#052f5f);color:#fff!important;font-size:11px!important;font-weight:900}.connectorHero{background:linear-gradient(135deg,#061d34,#0a416f 62%,#0a6ed1)!important}.connectorScore strong{font-size:30px!important;letter-spacing:.05em}.connectorKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:16px}.connectorKpis article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:var(--shadow)}.connectorKpis small,.connectorKpis em{display:block;color:var(--muted);font-style:normal}.connectorKpis b{display:block;font-size:18px;margin:8px 0;color:#17202a}.connectorKpis em{font-size:10px}.connectorLayout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px}.connectorForm{display:grid;gap:16px}.connectorModeSwitch{display:inline-grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#edf2f7;border-radius:13px;max-width:360px}.connectorModeSwitch input{position:absolute;opacity:0}.connectorModeSwitch span{display:block;padding:9px 14px;border-radius:9px;text-align:center;font-size:11px;font-weight:800;cursor:pointer}.connectorModeSwitch input:checked+span{background:#fff;color:#0a6ed1;box-shadow:0 5px 15px rgba(15,41,70,.12)}.formGrid{display:grid;gap:13px}.formGrid.twoCols{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid label{display:grid;gap:6px}.formGrid label.full{grid-column:1/-1}.formGrid label>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#697383}.formGrid input,.formGrid select{width:100%;height:42px;border:1px solid #dfe4ea;border-radius:10px;padding:0 12px;background:#fff;color:#20262e;outline:none}.formGrid input:focus,.formGrid select:focus{border-color:#0a6ed1;box-shadow:0 0 0 3px rgba(10,110,209,.10)}.securityNote{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:13px 14px;border:1px solid #cfe2f5;background:#f2f8fd;border-radius:12px}.securityNote strong{color:#0a6ed1;font-size:11px}.securityNote p{margin:0;color:#566171;font-size:10px;line-height:1.5}.connectorActions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.primaryAction,.secondaryAction{height:42px;border-radius:11px;padding:0 16px;font-weight:800;cursor:pointer}.primaryAction{border:0;background:linear-gradient(135deg,#0a6ed1,#074f96);color:#fff;box-shadow:0 9px 22px rgba(10,110,209,.24)}.secondaryAction{border:1px solid #d7dce2;background:#fff;color:#29313b}.primaryAction:disabled,.secondaryAction:disabled{opacity:.55;cursor:wait}.sapObjectList{display:grid;gap:8px}.sapObjectList label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid #e5e8ec;border-radius:11px;cursor:pointer;transition:.18s}.sapObjectList label:hover{border-color:#9dc7ed;background:#f7fbff}.sapObjectList input{accent-color:#0a6ed1}.sapObjectList span b,.sapObjectList span small{display:block}.sapObjectList span b{font-size:11px}.sapObjectList span small{font-size:9px;color:var(--muted);margin-top:2px}.sapObjectList em{font-style:normal;font-size:9px;color:#0a6ed1;background:#eaf4fd;padding:4px 7px;border-radius:99px}.objectSummary{margin-top:14px;padding:13px;background:#f6f8fa;border-radius:11px;display:flex;justify-content:space-between;font-size:11px}.connectorDemoGrid{align-items:start}.integrationTimeline{list-style:none;margin:0;padding:0;display:grid;gap:6px}.integrationTimeline li{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid #e7eaee;border-radius:11px;transition:.2s}.integrationTimeline li>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#edf1f5;font-weight:900;color:#68717d}.integrationTimeline b,.integrationTimeline small{display:block}.integrationTimeline b{font-size:11px}.integrationTimeline small{font-size:9px;color:var(--muted);margin-top:2px}.integrationTimeline em{font-style:normal;font-size:9px;color:#7d8692}.integrationTimeline li.running{border-color:#91c4ef;background:#f1f8fe}.integrationTimeline li.running>span{background:#0a6ed1;color:#fff;animation:pulse 1s infinite}.integrationTimeline li.done{border-color:#bfe3d1;background:#f1faf5}.integrationTimeline li.done>span{background:#269765;color:#fff}.integrationTimeline li.done em{color:#269765;font-weight:800}.connectorConsole{height:266px;overflow:auto;background:#101820;color:#d8e2ec;border-radius:13px;padding:13px;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.connectorConsole>div{display:grid;grid-template-columns:64px 1fr;gap:9px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}.connectorConsole time{color:#6d8398}.console-ok span,.console-success span{color:#6ee7a7}.console-warn span{color:#f7c45c}.console-error span{color:#ff7f86}.connectorHealth{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.connectorHealth>div{padding:9px;background:#f6f8fa;border-radius:9px}.connectorHealth small,.connectorHealth b{display:block}.connectorHealth small{font-size:8px;text-transform:uppercase;color:var(--muted)}.connectorHealth b{font-size:10px;margin-top:4px}.miniTextButton{border:0;background:transparent;color:#0a6ed1;font-weight:800;cursor:pointer}.connectorMetric{display:flex;align-items:baseline;gap:8px;margin:12px 0}.connectorMetric strong{font-size:34px;letter-spacing:-.04em}.connectorMetric span{font-size:10px;color:var(--muted)}.miniBars{height:8px;background:#edf1f4;border-radius:99px;overflow:hidden;margin-bottom:9px}.miniBars i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,#0a6ed1,#57a5e9);border-radius:inherit;transition:1s width}.emptyConnectorRow{text-align:center!important;color:var(--muted);padding:25px!important}.architectureFlow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px}.architectureFlow>div{padding:15px;border:1px solid #e4e8ed;border-radius:13px;background:linear-gradient(145deg,#fff,#f8fafc)}.architectureFlow b,.architectureFlow small{display:block}.architectureFlow b{font-size:11px}.architectureFlow small{font-size:9px;color:var(--muted);margin-top:5px;line-height:1.4}.architectureFlow>span{color:#0a6ed1;font-size:22px}.connectorToast{position:fixed;right:24px;bottom:24px;z-index:9999;background:#16202a;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:0 16px 38px rgba(0,0,0,.24);opacity:0;transform:translateY(15px);pointer-events:none;transition:.22s}.connectorToast.show{opacity:1;transform:none}.runningBadge{background:#eaf4fd!important;color:#0a6ed1!important;animation:pulse 1s infinite}.connectorWorkspace .panel{min-width:0}
@media(max-width:1320px){.connectorKpis{grid-template-columns:repeat(3,1fr)}.connectorLayout{grid-template-columns:1fr}.architectureFlow{grid-template-columns:1fr}.architectureFlow>span{transform:rotate(90deg);justify-self:center}}
@media(max-width:760px){.connectorKpis{grid-template-columns:repeat(2,1fr)}.formGrid.twoCols{grid-template-columns:1fr}.formGrid label.full{grid-column:auto}.connectorHealth{grid-template-columns:repeat(2,1fr)}.connectorActions>*{flex:1}.railGroup{display:none}}

/* v22.1 · Mercado Público dentro de Conectores */
.mpGlyph{display:grid!important;place-items:center;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,#d71920,#8f0f14);color:#fff!important;font-size:8px!important;font-weight:900;letter-spacing:-.03em}.railSubnav{max-height:140px}.mpConnectorConfig{align-items:stretch}.mpConnectorConfig>.panel{display:flex;flex-direction:column}.mpTicketStatus{display:flex;align-items:center;gap:10px;padding:13px 14px;margin:14px 0;border:1px solid #e2e6ea;background:#f8fafb;border-radius:12px}.mpTicketStatus .statusDot{width:11px;height:11px;border-radius:50%;background:#a9b0b8;box-shadow:0 0 0 4px rgba(169,176,184,.14)}.mpTicketStatus .statusDot.ready{background:#249765;box-shadow:0 0 0 4px rgba(36,151,101,.14)}.mpTicketStatus b,.mpTicketStatus small{display:block}.mpTicketStatus b{font-size:11px}.mpTicketStatus small{margin-top:3px;color:var(--muted);font-size:9px}.mpSearchGridNoTicket{grid-template-columns:minmax(130px,.42fr) minmax(280px,1.4fr) auto}.mpConnectorConfig .connectorActions{margin-top:auto;padding-top:8px}.publicHero{background:linear-gradient(135deg,#551014,#9e171d 62%,#d71920)!important}
@media(max-width:1100px){.mpSearchGridNoTicket{grid-template-columns:1fr}.mpSearchGridNoTicket .mpSearchBtn{width:100%}}

/* v22.2 · Softland, Oracle y SQL Server */
.railSubnav{max-height:320px}.softlandGlyph,.oracleGlyph,.sqlGlyph{display:grid!important;place-items:center;width:22px;height:22px;border-radius:7px;color:#fff!important;font-weight:900}.softlandGlyph{background:linear-gradient(135deg,#00a0df,#005c98);font-size:8px!important}.oracleGlyph{background:linear-gradient(135deg,#f80000,#8f0000);font-size:11px!important}.sqlGlyph{background:linear-gradient(135deg,#5f6b7a,#1f2933);font-size:7px!important}.enterpriseConnectorHero{color:#fff}.softlandHero{background:linear-gradient(135deg,#063955,#006a9f 62%,#00a0df)!important}.oracleHero{background:linear-gradient(135deg,#3d0000,#9c0000 62%,#f80000)!important}.sqlHero{background:linear-gradient(135deg,#15202b,#344454 62%,#607384)!important}.enterpriseKpis{margin-bottom:16px}.genericObjectList{display:grid;gap:9px;margin-bottom:14px}.genericObjectList label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e4e8ed;border-radius:11px;background:#fafbfc;font-size:11px;font-weight:700}.genericObjectList input{accent-color:#d71920}.ecConsole{height:260px;overflow:auto;background:#101820;color:#d8e2ec;border-radius:13px;padding:13px;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.ecConsole>div{display:grid;grid-template-columns:64px 1fr;gap:9px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}.ecConsole time{color:#6d8398}.enterpriseConnector .connectorLayout{align-items:start}.enterpriseConnector .panel{min-width:0}.enterpriseConnectorForm{display:grid;gap:16px}
@media(max-width:760px){.enterpriseKpis{grid-template-columns:repeat(2,1fr)}}

/* v22.3 menu architecture: business queries, connectors and administration */
.railSubnav{max-height:260px}
.adminGroup .railSubnav{max-height:70px}
.adminGroup[hidden]{display:none!important}
.publicMarketMain .tabIcon,.mpGlyph{font-size:9px!important;font-weight:900;color:#fff!important;background:linear-gradient(135deg,#2563eb,#0f4c9a);border-radius:7px;width:24px;height:24px;display:grid!important;place-items:center}
.mpConnectorOnly{align-items:start}
.mpConnectorOnly>article:first-child>article.panel{box-shadow:none;border:0;padding:0;margin-top:14px}
.mpConnectorOnly>article:first-child>article.panel>.panelHead{display:none}
.mpQueryConfig{grid-template-columns:1fr!important}
.adminGroup .connectorSub .tabIcon{background:rgba(215,25,32,.1);color:#d71920;border-radius:7px;width:22px;height:22px;display:grid;place-items:center;font-size:10px;font-weight:900}
@media(max-width:1100px){.mpConnectorOnly{grid-template-columns:1fr}}


/* iCommand v23.0 · Copiloto IA */
.aiMainNav{margin-top:8px}.aiMainNav .tabIcon{background:linear-gradient(135deg,#ef233c,#7b1e2b);color:#fff;font-size:9px;font-weight:900}.aiWorkspace{padding-bottom:32px}.aiHero{background:linear-gradient(120deg,#15191f 0%,#20242b 58%,#4d1720 100%);color:#fff}.aiHero h2,.aiHero p{color:#fff}.aiKpiStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.aiKpiStrip article{background:#fff;border:1px solid #e6e9ee;border-top:3px solid #ef233c;border-radius:16px;padding:18px;box-shadow:0 10px 24px rgba(17,24,39,.07)}.aiKpiStrip small,.aiKpiStrip em{display:block;color:#7a8495;font-style:normal}.aiKpiStrip b{display:block;font-size:20px;margin:7px 0}.aiMainGrid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:18px;align-items:stretch}.aiChatCard{display:flex;flex-direction:column;min-height:620px}.aiOnline{background:#e9f9f1!important;color:#087a50!important}.aiConversation{flex:1;min-height:420px;max-height:560px;overflow:auto;padding:12px 4px 12px 0;scrollbar-width:thin}.aiMessage{display:flex;gap:12px;margin:12px 0;align-items:flex-start}.aiMessage>div:last-child{max-width:82%;padding:14px 16px;border-radius:16px;background:#f4f6f8;border:1px solid #e5e7eb}.aiMessage.user{justify-content:flex-end}.aiMessage.user>div{background:#20242b;color:#fff;border-color:#20242b}.aiMessage p{margin:6px 0;line-height:1.55}.aiMessage small{display:block;margin-top:9px;color:#788395}.aiMessage ol{margin:8px 0 0 20px;padding:0}.aiAvatar,.aiFloatAvatar{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#ef233c,#7b1e2b);color:#fff;font-weight:900;box-shadow:0 6px 14px rgba(239,35,60,.25)}.aiComposer{display:grid;grid-template-columns:1fr auto;gap:10px;border-top:1px solid #e5e7eb;padding-top:14px}.aiComposer textarea{resize:none;border:1px solid #d9dee6;border-radius:13px;padding:13px 14px;font:inherit;outline:none}.aiComposer textarea:focus{border-color:#ef233c;box-shadow:0 0 0 3px rgba(239,35,60,.1)}.aiComposer button{border:0;border-radius:13px;background:#e51d2a;color:#fff;font-weight:800;padding:0 22px}.aiComposerMeta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;color:#7b8492;font-size:11px}.aiComposerMeta button{border:0;background:transparent;color:#d71920;font-weight:700}.aiSuggestions{display:grid;gap:9px}.aiSuggestions button{border:1px solid #e4e7ec;background:#f8f9fb;border-radius:12px;padding:12px 13px;text-align:left;font-weight:700;color:#28303b;cursor:pointer}.aiSuggestions button:hover{border-color:#ef233c;background:#fff3f4;transform:translateX(2px)}.aiEvidence{margin-top:16px;padding:14px;border-left:3px solid #ef233c;background:#fafafb;border-radius:10px}.aiEvidence p{margin:5px 0 0;color:#727c8b;font-size:12px}.aiCapabilityGrid{margin-top:18px}.aiCapabilityGrid ul{margin:0;padding-left:18px;line-height:2;color:#525d6c}.aiTyping{margin:12px 0 12px 50px;color:#7b8492;font-size:12px}.aiFloatButton{position:fixed;right:24px;bottom:24px;z-index:9997;border:0;border-radius:18px;background:linear-gradient(135deg,#ef233c,#5c1720);color:#fff;box-shadow:0 16px 34px rgba(76,17,27,.35);padding:12px 17px;display:flex;gap:9px;align-items:center;cursor:pointer}.aiFloatButton span{width:31px;height:31px;border-radius:10px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:900}.aiFloatPanel{position:fixed;right:24px;bottom:88px;width:min(390px,calc(100vw - 32px));height:570px;z-index:9998;background:#fff;border:1px solid #dfe3e8;border-radius:20px;box-shadow:0 26px 60px rgba(17,24,39,.28);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(18px) scale(.97);transition:.2s ease;overflow:hidden}.aiFloatPanel.open{opacity:1;pointer-events:auto;transform:none}.aiFloatPanel header{padding:14px 15px;background:linear-gradient(120deg,#171b21,#511821);color:#fff;display:flex;justify-content:space-between;align-items:center}.aiFloatPanel header>div{display:flex;gap:10px;align-items:center}.aiFloatPanel header small{display:block;color:#d8dce2;margin-top:2px}.aiFloatPanel header button{border:0;background:rgba(255,255,255,.12);color:#fff;width:32px;height:32px;border-radius:10px;font-size:22px}.aiFloatMessages{flex:1;overflow:auto;padding:14px;background:#f4f6f8}.aiMiniMessage{padding:11px 13px;border-radius:13px;margin:8px 0;max-width:88%;font-size:13px;line-height:1.45}.aiMiniMessage.bot{background:#fff;border:1px solid #e1e5ea}.aiMiniMessage.user{background:#252a31;color:#fff;margin-left:auto}.aiFloatQuick{display:flex;gap:6px;overflow:auto;padding:8px 12px;background:#fff}.aiFloatQuick button{white-space:nowrap;border:1px solid #e0e4e9;border-radius:999px;background:#fff;padding:7px 10px;font-size:11px}.aiFloatPanel form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px;border-top:1px solid #e3e6ea}.aiFloatPanel input{border:1px solid #dce1e7;border-radius:11px;padding:11px;min-width:0}.aiFloatPanel form button{border:0;border-radius:11px;background:#e51d2a;color:#fff;font-weight:800;padding:0 14px}
@media(max-width:1100px){.aiKpiStrip{grid-template-columns:repeat(2,1fr)}.aiMainGrid{grid-template-columns:1fr}.aiChatCard{min-height:540px}}
@media(max-width:680px){.aiKpiStrip{grid-template-columns:1fr}.aiFloatButton{right:14px;bottom:14px}.aiFloatPanel{right:8px;bottom:76px;width:calc(100vw - 16px);height:min(620px,calc(100vh - 95px))}.aiComposer{grid-template-columns:1fr}.aiComposer button{min-height:44px}.aiComposerMeta span{display:none}}

/* v23.1 · worldclass layout polish */
body{line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.connectorSub:before{display:none!important;content:none!important}
.railSubnav{padding-left:0!important;gap:6px!important}
.connectorSub,.adminGroup .connectorSub{padding-left:12px!important}
.railNav .tabBtn{font-size:13.5px!important;letter-spacing:.01em}
.railNav .tabIcon{width:26px;height:26px;font-size:12px}
.railFooter{padding:14px 12px!important;border-radius:16px!important}
.railFooter b{font-size:10px!important}.railFooter small{font-size:9px!important;line-height:1.35}
.panel{padding:24px!important}
.panelHead{margin-bottom:18px!important}
.panelHead h2{font-size:18px!important;line-height:1.2}
.panelHead p{font-size:13px!important;line-height:1.5}
.formGrid,.connectorForm,.enterpriseConnectorForm,.adminForm{gap:16px!important}
.formGrid.twoCols,.adminFormTwo{gap:14px!important}
.formGrid label,.adminForm label{gap:8px!important}
.formGrid label>span,.adminForm label>span,.adminForm legend{font-size:11px!important;letter-spacing:.08em!important;color:#5d6673!important}
.formGrid input,.formGrid select,.adminForm input,.adminForm select,.adminSearchRow input{height:48px!important;border-radius:13px!important;padding:0 14px!important;font-size:14px!important;font-weight:600!important;color:#1f2630!important}
.adminForm fieldset{padding:16px!important;border-radius:15px!important}
.securityNote{padding:15px 16px!important;border-radius:14px!important}
.securityNote p{font-size:12px!important;line-height:1.6!important}
.genericObjectList label,.modulePermissionGrid label,.sapObjectList label{min-height:46px!important;padding:12px 13px!important;font-size:12px!important}
.directoryUser b{font-size:13px!important}.directoryUser small{font-size:11px!important}.profilePill,.statusAccess{font-size:10px!important}.rowActions button{padding:8px 12px!important;font-size:11px!important}
.storageBadge{font-size:10px!important;padding:8px 11px!important}
.adminSearchRow{gap:14px!important;margin-bottom:16px!important}

@media (min-width:1181px){
  body.authGranted main{padding:18px 28px 0 292px!important}
  body.authGranted .tabs{display:none!important}
  body.authGranted .appHeader{
    top:14px!important;
    left:auto!important;
    right:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(420px,.95fr)!important;
    align-items:start!important;
    gap:28px!important;
    padding:28px 30px!important;
    min-height:164px!important;
    border-radius:28px!important;
    box-shadow:0 30px 75px rgba(18,22,28,.24)!important;
    overflow:visible!important;
  }
  body.authGranted .appHeader::after{right:-140px!important;top:-210px!important;opacity:.95}
  body.authGranted .brandBlock{align-items:flex-start!important;gap:26px!important}
  body.authGranted .brandLogo{width:170px!important;height:auto!important}
  body.authGranted .productDivider{height:72px!important;opacity:.9}
  body.authGranted .productIdentity{padding-top:2px!important}
  body.authGranted .productTagRow{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:4px!important}
  body.authGranted .productIdentity .productTag{font-size:11px!important;letter-spacing:.18em!important}
  body.authGranted .productIdentity .productVersion{font-size:12px!important;padding:6px 10px!important}
  body.authGranted .productIdentity h1{font-size:42px!important;line-height:1.04!important;margin:8px 0 10px!important;letter-spacing:-.035em!important}
  body.authGranted .productIdentity p{font-size:17px!important;line-height:1.5!important;max-width:880px!important;color:#d8e0ec!important}
  body.authGranted .projectContext{gap:12px!important;flex-wrap:wrap!important}
  body.authGranted .projectContext span{padding:8px 14px!important;border-radius:14px!important}
  body.authGranted .projectContext small{font-size:10px!important}
  body.authGranted .projectContext strong{font-size:14px!important}
  body.authGranted .headerActions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"user user" "meta refresh"!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    max-width:none!important;
  }
  body.authGranted .headerActions .utilityBtn{display:none!important}
  body.authGranted .premiumUser{
    grid-area:user!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:94px!important;
    padding:16px 18px!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.07))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.15),0 18px 36px rgba(0,0,0,.16)!important;
  }
  body.authGranted .userAvatarWrap{width:58px!important;height:58px!important}
  body.authGranted .premiumUser img{width:58px!important;height:58px!important;border-width:2px!important}
  body.authGranted .userPresence{width:13px!important;height:13px!important;right:1px!important;bottom:3px!important}
  body.authGranted .userIdentity small{font-size:10px!important;letter-spacing:.14em!important;color:#afbbc9!important}
  body.authGranted .premiumUser .userIdentity strong{display:block;max-width:none!important;font-size:18px!important;line-height:1.15!important;color:#fff!important}
  body.authGranted .premiumUser .userIdentity span{max-width:none!important;font-size:12px!important;margin-top:4px!important;color:#d7deea!important}
  body.authGranted .userRole{padding:8px 12px!important;font-size:9px!important;letter-spacing:.1em!important}
  body.authGranted .signOutPremium{width:40px!important;height:40px!important;border-radius:12px!important}
  body.authGranted .updateMeta{
    grid-area:meta!important;
    min-width:0!important;
    height:60px!important;
    padding:12px 16px!important;
    border-radius:16px!important;
    justify-content:flex-start!important;
  }
  body.authGranted .updateMeta small{font-size:11px!important}
  body.authGranted .updateMeta strong{font-size:14px!important}
  body.authGranted .refreshBtn{grid-area:refresh!important;height:60px!important;min-width:180px!important;padding:0 20px!important;border-radius:16px!important;font-size:14px!important;justify-self:end!important}
  body.authGranted .trustBar{top:196px!important;padding:12px 16px 4px!important;font-size:12px!important}
  body.authGranted .trustBar>div{gap:16px!important}
  body.authGranted .commerceRail{width:246px!important;padding:16px 16px 14px!important;border-radius:26px!important}
  body.authGranted .railBrand{padding:8px 10px 14px!important;margin-bottom:10px!important}
  body.authGranted .railBrandTop{font-size:16px!important}
  body.authGranted .railBrand small{font-size:10px!important;letter-spacing:.18em!important}
  body.authGranted .railNav{gap:7px!important;padding-right:2px!important}
  body.authGranted .railNav .tabBtn{min-height:44px!important;padding:12px 12px!important;border-radius:14px!important}
  body.authGranted .adminEditorPanel{top:224px!important;max-height:calc(100vh - 244px)!important}
}

@media (max-width:1180px){
  .appHeader{padding:22px!important}
  .headerActions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .headerActions .utilityBtn{display:none!important}
  .premiumUser{max-width:none!important;width:100%!important;min-height:78px!important;padding:14px 16px!important}
  .updateMeta,.refreshBtn{width:100%!important}
}

/* v23.3 · proporciones equilibradas y navegación completa */
@media (min-width:1181px){
  :root{--icommand-sidebar:236px;--icommand-header-h:142px;--icommand-header-gap:16px}
  body.authGranted main{
    padding-left:calc(var(--icommand-sidebar) + 40px)!important;
    padding-right:22px!important;
    padding-top:calc(var(--icommand-header-h) + var(--icommand-header-gap))!important;
  }
  body.authGranted .appHeader{
    position:fixed!important;
    top:0!important;
    left:calc(var(--icommand-sidebar) + 18px)!important;
    right:0!important;
    min-height:var(--icommand-header-h)!important;
    height:var(--icommand-header-h)!important;
    padding:18px 22px!important;
    grid-template-columns:minmax(0,1.6fr) minmax(390px,.8fr)!important;
    gap:22px!important;
    border-radius:0 0 22px 22px!important;
    overflow:hidden!important;
  }
  body.authGranted .brandBlock{gap:18px!important;align-items:center!important}
  body.authGranted .brandMark{min-width:120px!important;flex:0 0 120px!important}
  body.authGranted .brandLogo{width:116px!important}
  body.authGranted .productDivider{height:54px!important}
  body.authGranted .productIdentity h1{font-size:31px!important;line-height:1.04!important;margin:6px 0 7px!important}
  body.authGranted .productIdentity p{font-size:13px!important;line-height:1.35!important;max-width:760px!important}
  body.authGranted .productTagRow{margin-bottom:2px!important}
  body.authGranted .productIdentity .productTag{font-size:9px!important}
  body.authGranted .productIdentity .productVersion{font-size:10px!important;padding:4px 8px!important}
  body.authGranted .projectContext{gap:8px!important}
  body.authGranted .projectContext span{padding:6px 10px!important;border-radius:11px!important}
  body.authGranted .projectContext small{font-size:8px!important}
  body.authGranted .projectContext strong{font-size:11px!important}
  body.authGranted .headerActions{
    grid-template-columns:minmax(0,1fr) 154px!important;
    grid-template-areas:"user user" "meta refresh"!important;
    gap:8px 10px!important;
  }
  body.authGranted .premiumUser{
    min-height:70px!important;
    height:70px!important;
    padding:10px 12px!important;
    border-radius:17px!important;
    gap:10px!important;
  }
  body.authGranted .userAvatarWrap{width:44px!important;height:44px!important}
  body.authGranted .premiumUser img{width:44px!important;height:44px!important}
  body.authGranted .premiumUser .userIdentity strong{font-size:14px!important}
  body.authGranted .premiumUser .userIdentity span{font-size:10px!important}
  body.authGranted .userIdentity small{font-size:8px!important}
  body.authGranted .userRole{font-size:7px!important;padding:6px 8px!important}
  body.authGranted .signOutPremium{width:34px!important;height:34px!important}
  body.authGranted .updateMeta{height:48px!important;padding:9px 12px!important;border-radius:13px!important}
  body.authGranted .updateMeta small{font-size:9px!important}
  body.authGranted .updateMeta strong{font-size:11px!important}
  body.authGranted .refreshBtn{height:48px!important;min-width:154px!important;padding:0 14px!important;border-radius:13px!important;font-size:12px!important}
  body.authGranted .commerceRail{
    width:var(--icommand-sidebar)!important;
    left:12px!important;
    top:12px!important;
    bottom:12px!important;
    padding:13px 12px 12px!important;
    border-radius:22px!important;
  }
  body.authGranted .railBrand{padding:7px 8px 12px!important;margin-bottom:4px!important}
  body.authGranted .railBrandTop{font-size:15px!important}
  body.authGranted .railBrand small{font-size:8px!important;margin-top:6px!important}
  body.authGranted .railNav{
    min-height:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    padding:8px 0!important;
    overflow-y:auto!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(255,255,255,.18) transparent!important;
  }
  body.authGranted .railNav::-webkit-scrollbar{display:block!important;width:5px!important}
  body.authGranted .railNav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16)!important;border-radius:99px!important}
  body.authGranted .railNav .tabBtn{
    min-height:36px!important;
    height:36px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    font-size:11px!important;
    flex:0 0 auto!important;
  }
  body.authGranted .railNav .tabIcon{width:22px!important;height:22px!important;font-size:10px!important}
  body.authGranted .railGroup{margin:2px 0!important;flex:0 0 auto!important}
  body.authGranted .railGroupToggle{min-height:36px!important;padding:7px 9px!important;font-size:11px!important;border-radius:10px!important}
  body.authGranted .railSubnav{gap:2px!important;padding:2px 0 2px 8px!important}
  body.authGranted .railSubnav .tabBtn{height:34px!important;min-height:34px!important;font-size:10px!important}
  body.authGranted .railFooter{flex:0 0 auto!important;margin-top:6px!important;padding:10px 9px!important;border-radius:12px!important}
  body.authGranted .railFooter b{font-size:8px!important}
  body.authGranted .railFooter small{font-size:7px!important}
  body.authGranted .trustBar{display:none!important}
  body.authGranted .tabPanel,
  body.authGranted .sectionHero{scroll-margin-top:calc(var(--icommand-header-h) + 18px)!important}
  body.authGranted.headerScrolled .appHeader{
    min-height:var(--icommand-header-h)!important;
    height:var(--icommand-header-h)!important;
    padding:18px 22px!important;
  }
  body.authGranted.headerScrolled .productIdentity p{display:block!important}
  body.authGranted.headerScrolled .brandLogo{width:116px!important}
  body.authGranted.headerScrolled .productIdentity h1{font-size:31px!important}
}

@media (min-width:1181px) and (max-width:1450px){
  :root{--icommand-sidebar:224px;--icommand-header-h:132px}
  body.authGranted main{padding-left:254px!important}
  body.authGranted .appHeader{left:242px!important;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr)!important;padding:15px 18px!important}
  body.authGranted .brandMark{min-width:96px!important;flex-basis:96px!important}
  body.authGranted .brandLogo{width:94px!important}
  body.authGranted .productIdentity h1{font-size:26px!important}
  body.authGranted .productIdentity p{font-size:11px!important;max-width:560px!important}
  body.authGranted .premiumUser{height:64px!important;min-height:64px!important}
  body.authGranted .updateMeta,body.authGranted .refreshBtn{height:44px!important}
}

/* iCommand v24.0 · Data Integration Manager */
.adminGroup .railSubnav{max-height:430px!important}
.adminSubnav{padding-bottom:8px}
.adminSubnav .tabBtn{font-size:11px!important;min-height:38px!important}
.adminSubnav .tabIcon{font-size:8px!important;width:22px!important;height:22px!important}
.integrationAdminWorkspace{padding-bottom:34px}
.dataAdminHero{background:linear-gradient(135deg,#10151c 0%,#1f2c3b 58%,#173c59 100%)!important;color:#fff}
.dataAdminHero h2,.dataAdminHero p{color:#fff}
.mapHero{background:linear-gradient(135deg,#111827,#263b52 58%,#235f78)!important}
.metricHero{background:linear-gradient(135deg,#17151b,#35233f 60%,#6a2f68)!important}
.widgetHero{background:linear-gradient(135deg,#111827,#333b4b 58%,#6d3946)!important}
.syncHero{background:linear-gradient(135deg,#0f1820,#1d3a3b 60%,#17725d)!important}
.qualityHero{background:linear-gradient(135deg,#131820,#25303e 58%,#345f43)!important}
.integrationAdminGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);gap:18px;align-items:stretch;margin-top:18px}
.dimForm{display:grid;gap:16px}.dimConnectionCard{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.dimConnectionCard>div{padding:14px;border:1px solid #e3e7ec;border-radius:13px;background:#f8fafc}.dimConnectionCard small,.dimConnectionCard b{display:block}.dimConnectionCard small{font-size:9px;color:#707b89;text-transform:uppercase;letter-spacing:.07em}.dimConnectionCard b{font-size:13px;margin-top:5px}
.dimConsole{height:245px;overflow:auto;background:#0e1720;color:#dce7f0;border-radius:14px;padding:14px;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.dimConsole>div{display:grid;grid-template-columns:66px 1fr;gap:9px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05)}.dimConsole time{color:#74879a}.dimConsole .ok{color:#76e3ad}.dimConsole .warn{color:#ffd36b}.dimConsole .error{color:#ff8a92}
.dimSourceCatalog{margin-top:18px}.metadataSearch{margin-bottom:12px}.metadataSearch input{width:100%;height:42px;border:1px solid #dfe4ea;border-radius:11px;padding:0 12px}.mappingWorkspace{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.6fr);gap:18px;margin-top:18px}.metadataTree{max-height:720px;overflow:auto}.metadataObjects{display:grid;gap:8px}.metadataObject{border:1px solid #e3e7ec;border-radius:12px;overflow:hidden}.metadataObject>button{width:100%;border:0;background:#f7f9fb;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:800;cursor:pointer}.metadataObject.active>button{background:#eaf4fd;color:#0a6ed1}.metadataColumns{display:none;padding:8px 10px}.metadataObject.active .metadataColumns{display:grid;gap:5px}.metadataColumns span{display:flex;justify-content:space-between;font-size:10px;color:#5f6875;padding:5px 2px}.metadataColumns em{font-style:normal;color:#8a94a2}
.mappingCanvas{min-width:0}.mappingHeader{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:end;margin-bottom:16px}.mappingHeader label{display:grid;gap:7px}.mappingHeader label>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#66717f}.mappingHeader select{height:44px;border:1px solid #dfe4ea;border-radius:11px;padding:0 12px;background:#fff}.mapArrow{font-size:24px;color:#0a6ed1;padding-bottom:8px}.mappingTable{display:grid;gap:8px;margin-bottom:16px}.mappingRow{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr) minmax(130px,.7fr);gap:10px;align-items:center;padding:10px;border:1px solid #e5e8ed;border-radius:12px;background:#fafbfc}.mappingRow select,.mappingRow input{height:38px;border:1px solid #dfe4ea;border-radius:9px;padding:0 10px;background:#fff;font-size:11px}.mappingRow .mapMiniArrow{color:#0a6ed1;font-weight:900}.relationList{display:grid;gap:9px}.relationList>div{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #e4e8ed;border-radius:12px;background:#fafbfc;font-size:11px}.relationList span{color:#0a6ed1;font-size:18px}
.metricAdminGrid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.metricTestCard{padding:22px;border-radius:16px;background:linear-gradient(145deg,#111827,#293548);color:#fff}.metricTestCard small,.metricTestCard strong,.metricTestCard span{display:block}.metricTestCard small{font-size:10px;letter-spacing:.1em;color:#a9b7c7}.metricTestCard strong{font-size:34px;margin:10px 0}.metricTestCard span{color:#7be0ae;font-size:12px;font-weight:800}.formulaBox{margin-top:14px;padding:13px;border:1px solid #e4e8ed;border-radius:12px;background:#f8fafc}.formulaBox small,.formulaBox code{display:block}.formulaBox small{font-size:9px;color:#6f7885;text-transform:uppercase}.formulaBox code{margin-top:7px;color:#28313b;font-size:11px;white-space:normal;word-break:break-word}
.widgetBuilder{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;margin-top:18px}.widgetPreviewPanel{display:flex;flex-direction:column}.widgetPreview{margin:auto 0;padding:24px;border:1px solid #e3e7ec;border-top:4px solid #ef233c;border-radius:17px;background:linear-gradient(180deg,#fff,#fafbfc);box-shadow:0 14px 34px rgba(17,24,39,.08)}.widgetPreview small,.widgetPreview b,.widgetPreview span{display:block}.widgetPreview small{font-size:10px;color:#6f7987;letter-spacing:.08em}.widgetPreview b{font-size:30px;margin:12px 0}.widgetPreview span{font-size:12px;color:#16875e;font-weight:800}.widgetPreview i{display:block;height:6px;margin-top:16px;border-radius:99px;background:linear-gradient(90deg,#ef233c 72%,#edf0f3 72%)}
.syncKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.syncKpis article{background:#fff;border:1px solid #e3e7ec;border-radius:16px;padding:17px;box-shadow:var(--shadow)}.syncKpis small,.syncKpis b,.syncKpis em{display:block}.syncKpis small{color:#6e7886;font-size:10px}.syncKpis b{font-size:22px;margin:7px 0}.syncKpis em{font-style:normal;color:#7b8491;font-size:10px}.syncJobs{display:grid;gap:9px}.syncJob{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid #e3e7ec;border-radius:12px;background:#fafbfc}.syncJob i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#eaf4fd;color:#0a6ed1;font-style:normal;font-weight:900}.syncJob b,.syncJob small{display:block}.syncJob small{color:#75808e;margin-top:3px;font-size:9px}.syncJob span{font-size:9px;padding:5px 8px;border-radius:999px;background:#e9f8f1;color:#157a55;font-weight:800}.syncConsole{height:300px}
.qualityGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-top:18px}.qualityRules{display:grid;gap:9px}.qualityRule{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid #e4e8ed;border-radius:12px;background:#fafbfc}.qualityRule i{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#e9f8f1;color:#15805a;font-style:normal;font-weight:900}.qualityRule b,.qualityRule small{display:block}.qualityRule small{margin-top:3px;color:#747e8c;font-size:9px}.qualityRule span{font-size:10px;font-weight:850;color:#16835d}.reconciliation{display:grid;gap:8px}.reconciliation>div{display:flex;justify-content:space-between;gap:16px;padding:12px;border:1px solid #e4e8ed;border-radius:11px}.reconciliation span{color:#6e7885;font-size:11px}.reconciliation b{font-size:12px}.reconciliation .ok{color:#11825b}.fullAction{width:100%;margin-top:14px;height:44px}
@media(max-width:1180px){.integrationAdminGrid,.mappingWorkspace,.widgetBuilder,.qualityGrid{grid-template-columns:1fr}.metadataTree{max-height:none}.syncKpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.syncKpis{grid-template-columns:1fr}.mappingHeader{grid-template-columns:1fr}.mapArrow{transform:rotate(90deg);justify-self:center}.mappingRow{grid-template-columns:1fr}.mappingRow .mapMiniArrow{transform:rotate(90deg);justify-self:center}.dimConnectionCard{grid-template-columns:1fr}}

/* v24.1 · Oracle Production Connector */
.oracleProductionWorkspace{padding-bottom:32px}
.oracleProdGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:18px;margin-top:18px;align-items:stretch}
.oracleProdGrid>.panel{margin:0!important}
.oracleConfigPanel,.oracleConsolePanel{min-width:0}
.oracleConsolePanel{display:flex;flex-direction:column}
.oracleConsolePanel .ecConsole{flex:1;min-height:300px}
.oracleDiscoveryPanel{margin-top:18px!important}
.oracleDiscoveryActions{display:flex;gap:9px;flex-wrap:wrap}
.oracleDiscoveryToolbar{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(280px,1fr) auto;gap:12px;align-items:end;margin-bottom:16px}
.oracleDiscoveryToolbar label{display:grid;gap:7px}
.oracleDiscoveryToolbar label>span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#66707e}
.oracleDiscoveryToolbar select,.oracleDiscoveryToolbar input{height:44px;border:1px solid #dce1e7;border-radius:11px;padding:0 12px;background:#fff;font:600 12px Manrope;color:#20262e}
.oracleMetadataGrid{display:grid;grid-template-columns:minmax(320px,.62fr) minmax(0,1.38fr);gap:16px;align-items:start}
.oracleObjectDetail{display:grid;gap:14px;min-width:0}
.oracleObjectDetail .panelHead{margin:0!important}
.oracleColumnsWrap{max-height:280px}
.oracleSampleWrap{max-height:330px}
.rowActionButton{border:1px solid #dce2e8;background:#fff;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:850;color:#28313b;cursor:pointer}
.rowActionButton:hover{border-color:#f80000;color:#b40000;background:#fff7f7}
.oracleIntegrationFlow{margin-top:18px!important}
.oracleArchitecture{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr!important}
.oracleArchitecture>div{min-height:92px}
.oracleArchitecture b{font-size:12px!important}.oracleArchitecture small{font-size:10px!important;line-height:1.5!important}
#oracleStatus{font-size:25px!important;letter-spacing:.02em}
#oracleStatusSub{max-width:220px}
@media(max-width:1180px){.oracleProdGrid,.oracleMetadataGrid{grid-template-columns:1fr}.oracleDiscoveryToolbar{grid-template-columns:1fr 1fr}.oracleDiscoveryToolbar .storageBadge{grid-column:1/-1;justify-self:start}.oracleArchitecture{grid-template-columns:1fr!important}.oracleArchitecture>span{transform:rotate(90deg);justify-self:center}}
@media(max-width:680px){.oracleDiscoveryToolbar{grid-template-columns:1fr}.oracleDiscoveryActions>*{flex:1}.oracleProdGrid{gap:14px}}

/* v24.2 · Credenciales Oracle en plataforma */
.passwordField{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.passwordField input{min-width:0}
.passwordToggle{height:48px;padding:0 14px;border:1px solid #dfe3e8;border-radius:13px;background:#fff;color:#b51d24;font:800 12px Manrope;cursor:pointer}
.passwordToggle:hover{background:#fff5f5;border-color:#d71920}
.credentialSessionNotice{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:16px 17px;border:1px solid #cfe0f2;border-radius:15px;background:linear-gradient(135deg,#f5f9fd,#eef6fc)}
.credentialSessionNotice>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff;color:#0a6ed1;box-shadow:0 6px 14px rgba(27,65,100,.08)}
.credentialSessionNotice b{display:block;font-size:12px;color:#22303d}
.credentialSessionNotice p{margin:5px 0 0;font-size:11px;line-height:1.55;color:#5f6977}
.oracleConfigPanel .connectorActions{margin-top:2px}
@media(max-width:760px){.passwordField{grid-template-columns:1fr}.passwordToggle{width:100%}}


/* v26.4 · Executive UX */
:root{--exec-bg:#f4f6f8;--exec-surface:#fff;--exec-ink:#121820;--exec-muted:#667085;--exec-line:#e6e9ee;--exec-accent:#d71920;--exec-nav:#161b22;--exec-success:#14875e;--exec-warning:#c07a00}
*{font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif!important}
body{background:var(--exec-bg)!important;color:var(--exec-ink)!important}
main{padding-left:248px!important}
.commerceRail{width:232px!important;background:linear-gradient(180deg,#161b22 0%,#1b222b 100%)!important;border-right:1px solid rgba(255,255,255,.06)!important;box-shadow:10px 0 30px rgba(16,24,40,.08)!important}
.railBrand{padding:24px 20px 18px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.railBrandTop span:nth-child(2){font-size:16px!important;font-weight:800!important;letter-spacing:-.02em!important}.railBrandTop b{font-size:9px!important;background:rgba(255,255,255,.08)!important;border:0!important}.railBrand small{font-size:9px!important;letter-spacing:.18em!important;color:#98a2b3!important}
.railNav{padding:14px 12px 90px!important}.railGroup{margin:4px 0!important;border-radius:10px!important}.railGroupToggle{min-height:48px!important;padding:0 12px!important;border-radius:10px!important;color:#d0d5dd!important}.railGroupToggle:hover,.railGroup:not(.collapsed)>.railGroupToggle{background:rgba(255,255,255,.07)!important;color:#fff!important}.railGroupTitle{gap:11px!important;font-size:12px!important;font-weight:700!important}.tabIcon{width:30px!important;height:30px!important;border-radius:8px!important;background:rgba(255,255,255,.08)!important;color:#d0d5dd!important;font-size:9px!important}.railSubnav{padding:4px 8px 8px 43px!important}.tabBtn{min-height:36px!important;border-radius:8px!important;color:#98a2b3!important;font-size:11px!important}.tabBtn:hover,.tabBtn.active{background:rgba(215,25,32,.14)!important;color:#fff!important}.tabBtn .tabIcon{display:none!important}
.appHeader{min-height:108px!important;padding:18px 28px!important;background:#fff!important;border-bottom:1px solid var(--exec-line)!important;box-shadow:none!important;color:var(--exec-ink)!important;align-items:center!important}.brandLogo{width:112px!important;height:auto!important}.productDivider{height:42px!important;background:var(--exec-line)!important}.productIdentity{gap:5px!important}.productIdentity h1{font-size:24px!important;line-height:1.1!important;letter-spacing:-.035em!important;color:var(--exec-ink)!important;font-weight:760!important}.productTag{font-size:9px!important;letter-spacing:.12em!important}.productVersion{font-size:9px!important;color:#667085!important;background:#f2f4f7!important;border:0!important}.projectContext{gap:8px!important}.projectContext span{background:#f8fafc!important;border:1px solid var(--exec-line)!important;border-radius:8px!important;padding:6px 10px!important}.projectContext small{display:none!important}.projectContext strong{font-size:10px!important;color:#344054!important}.productIdentity>p{display:none!important}
.headerActions{gap:10px!important}.updateMeta{background:#f8fafc!important;border:1px solid var(--exec-line)!important;border-radius:10px!important;padding:10px 13px!important;color:#344054!important}.updateMeta small{color:#98a2b3!important}.refreshBtn{height:42px!important;padding:0 16px!important;border-radius:10px!important;box-shadow:none!important}.premiumUser{min-width:0!important;padding:7px 8px 7px 10px!important;background:#fff!important;border:1px solid var(--exec-line)!important;box-shadow:none!important;color:#344054!important}.userIdentity small,.userIdentity span,.userRole{display:none!important}.userIdentity strong{font-size:11px!important}.userAvatarWrap img{width:34px!important;height:34px!important}.signOutPremium{width:34px!important;height:34px!important}
.trustBar{display:none!important}
.dashboardContent,.tabPanel{padding:18px 26px 40px!important}
.heroExecutive{min-height:240px!important;padding:34px 36px!important;border-radius:18px!important;background:linear-gradient(125deg,#151b22 0%,#1f2933 66%,#3a1f24 100%)!important;box-shadow:0 18px 45px rgba(16,24,40,.12)!important}.heroExecutive .eyebrow{font-size:10px!important;letter-spacing:.14em!important;color:#ff7a80!important}.heroExecutive h2{max-width:760px!important;font-size:38px!important;line-height:1.08!important;letter-spacing:-.045em!important;font-weight:760!important}.heroExecutive p{max-width:720px!important;font-size:14px!important;line-height:1.55!important;color:#cbd5e1!important}.heroScore{border-radius:16px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important}.heroScore strong{font-family:Inter,Manrope,sans-serif!important}.heroScore span{font-size:10px!important}
.kpiGrid{gap:14px!important;margin-top:16px!important}.kpiGrid>article{min-height:132px!important;padding:18px 19px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--exec-line)!important;box-shadow:0 6px 18px rgba(16,24,40,.045)!important}.kpiGrid>article:before{display:none!important}.kpiGrid small{font-size:9px!important;letter-spacing:.1em!important;color:#667085!important}.kpiGrid b{font-size:25px!important;letter-spacing:-.035em!important;color:#101828!important}.kpiGrid em{font-size:10px!important;color:#667085!important}.kpiGrid .alert{border-color:#f3d1d3!important;background:#fffafb!important}
.panel{border:1px solid var(--exec-line)!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(16,24,40,.045)!important}.panelHead{padding-bottom:14px!important;border-bottom:1px solid #eef0f3!important}.panelHead h2,.sectionHero h2{font-family:Inter,Manrope,sans-serif!important;font-weight:720!important;letter-spacing:-.025em!important;color:#101828!important}.panelHead h2{font-size:17px!important}.panelHead p{font-size:11px!important;color:#667085!important}.eyebrow{font-size:9px!important;letter-spacing:.13em!important}.badge,.statusPill{border-radius:999px!important}
.grid{gap:16px!important}table{font-size:11px!important}th{font-size:9px!important;letter-spacing:.08em!important;background:#f8fafc!important;color:#667085!important}td{color:#344054!important}
.actionCards>div{border:1px solid var(--exec-line)!important;border-radius:12px!important;background:#fff!important}.actionCards b{font-size:12px!important}.actionCards p{font-size:10px!important}
.aiLauncher{border-radius:12px!important;box-shadow:0 14px 30px rgba(16,24,40,.18)!important}
@media(max-width:1100px){main{padding-left:0!important}.commerceRail{transform:translateX(-100%)}.appHeader{padding:16px 18px!important}.dashboardContent,.tabPanel{padding:16px!important}}
