:root{--bg:#07101d;--bg2:#0b1728;--panel:rgba(255,255,255,.07);--line:rgba(255,255,255,.13);--text:#f8fbff;--muted:#aab7c7;--brand:#5fd0ff;--brand2:#8be37b;--gold:#f7c948;--danger:#ff6b6b;--shadow:0 24px 80px rgba(0,0,0,.34);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 10% 5%,rgba(95,208,255,.18),transparent 28rem),radial-gradient(circle at 85% 10%,rgba(139,227,123,.14),transparent 28rem),linear-gradient(135deg,#07101d,#0b1728 46%,#0a1020)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:290px;position:fixed;inset:0 auto 0 0;padding:28px 20px;border-right:1px solid var(--line);background:rgba(4,10,18,.76);backdrop-filter:blur(18px);display:flex;flex-direction:column}.main{width:calc(100% - 290px);margin-left:290px;padding:30px}.brand{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.06)}.brand img{width:48px;height:48px;object-fit:contain;border-radius:16px;background:rgba(255,255,255,.94);padding:5px}.brand strong{display:block;font-size:1.15rem}.brand small{display:block;color:var(--muted)}.nav{margin:32px 0;display:grid;gap:8px}.nav a{padding:12px 14px;border-radius:16px;color:var(--muted);transition:.18s}.nav a:hover,.nav a.active{color:var(--text);background:rgba(95,208,255,.12)}.status-card{margin-top:auto;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04))}.status-card span,.status-card small{color:var(--muted);display:block}.status-card strong{display:block;margin:8px 0}.hero{min-height:430px;display:grid;grid-template-columns:minmax(0,1.25fr) .75fr;align-items:center;gap:28px;padding:46px;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);background:linear-gradient(135deg,rgba(14,38,67,.96),rgba(16,39,31,.90)),radial-gradient(circle at top right,rgba(247,201,72,.22),transparent 20rem)}.eyebrow{margin:0 0 10px;color:var(--brand2);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800}h1,h2,h3{margin:0;line-height:1.05}h1{max-width:850px;font-size:clamp(2.4rem,6vw,5.7rem);letter-spacing:-.08em}h2{font-size:clamp(1.65rem,3vw,2.6rem);letter-spacing:-.045em}h3{font-size:1rem}.hero-copy{max-width:720px;color:var(--muted);font-size:1.08rem;line-height:1.7}.actions,.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}.button{border:1px solid var(--line);border-radius:999px;padding:12px 18px;cursor:pointer;color:var(--text);background:rgba(255,255,255,.08);transition:.16s}.button:hover{transform:translateY(-1px);background:rgba(255,255,255,.12)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button.primary{border:0;color:#06101b;font-weight:800;background:linear-gradient(135deg,var(--brand),var(--brand2))}.button.ghost{background:transparent}.hero-panel,.chart-card,.filters select,.metrics article,.panel{border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.07)}.hero-panel{align-self:stretch;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px}.hero-panel span,.hero-panel small{color:var(--muted)}.hero-panel strong{margin:8px 0;font-size:2.2rem;letter-spacing:-.05em}.section{margin-top:26px;padding:26px;border:1px solid var(--line);border-radius:30px;background:rgba(255,255,255,.055);box-shadow:0 14px 50px rgba(0,0,0,.18)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.filters select{min-width:190px;color:var(--text);padding:11px 12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metrics article{padding:20px}.metrics span,.metrics small{color:var(--muted)}.metrics strong{display:block;margin:10px 0 6px;font-size:2.1rem;letter-spacing:-.05em}.metrics .alert{border-color:rgba(255,107,107,.38)}.charts{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:16px;margin-top:16px}.chart-card{padding:18px;min-height:320px}.chart-card.wide{min-height:340px}.card-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.card-head span{color:var(--muted);font-size:.85rem}.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}.panel{padding:24px}.panel p{color:var(--muted);line-height:1.7}.upload-box{display:grid;place-items:center;min-height:150px;margin-top:18px;border:1px dashed rgba(95,208,255,.55);border-radius:24px;background:rgba(95,208,255,.06);text-align:center}.upload-box span{color:var(--muted)}.mapping-box{color:var(--muted);line-height:1.7;padding:14px;border-radius:18px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.muted{color:var(--muted)}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:22px}.preview{max-height:360px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.10);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(0,0,0,.18)}tbody tr:hover{background:rgba(255,255,255,.04)}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800}.badge.critical{color:#210909;background:#ff9b9b}.badge.high{color:#251600;background:#f7c948}.badge.medium{color:#06101b;background:#8bd8ff}.code{white-space:pre-wrap;overflow:auto;padding:14px;border-radius:18px;color:#dff6ff;background:rgba(0,0,0,.26);border:1px solid var(--line)}.toast{position:fixed;right:22px;bottom:22px;max-width:420px;padding:14px 16px;border-radius:18px;background:rgba(8,17,31,.94);border:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(120%);opacity:0;transition:.22s;z-index:30}.toast.show{transform:translateY(0);opacity:1}@media(max-width:1080px){.sidebar{position:static;width:100%}.shell{display:block}.main{width:100%;margin-left:0;padding:18px}.hero,.split,.charts{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.hero,.section{padding:20px;border-radius:24px}.metrics{grid-template-columns:1fr}h1{font-size:2.4rem}}

:root{--energisa-chart-stability:1}
.charts{align-items:start}
.chart-card{position:relative;overflow:hidden;min-height:380px}
.chart-card canvas{display:block;width:100%!important;height:280px!important;max-height:280px!important}
.chart-card.wide canvas{height:320px!important;max-height:320px!important}
.table-wrap.preview{max-height:360px;overflow:auto}
.table-wrap{max-width:100%;overflow:auto}
.section{scroll-margin-top:22px}
#toast{z-index:50}

/* user-facing-cleanup-v3 */
.sidebar .status-card,.nav a[href="#config"],#config,.config-section{display:none!important}
.preview-panel.is-hidden{display:none!important}
#severityFilter{display:none!important}
.filters.single-option select{display:none!important}
.filters.single-option:after{content:'Filtros automáticos';color:var(--muted);font-size:.9rem}
.insight-grid{display:grid;grid-template-columns:1.35fr .85fr .85fr;align-items:start}
.insight-list,.audit-note{min-height:280px}
.mini-list{display:grid;gap:12px}
.mini-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}
.mini-row span{display:block;color:var(--muted);font-size:.88rem;margin-top:3px}
.chart-note,.audit-note{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--muted);background:rgba(255,255,255,.04);line-height:1.55}
.chart-card{position:relative;overflow:hidden;min-height:380px}
.chart-card canvas{display:block;width:100%!important;height:280px!important;max-height:280px!important}
.chart-card.wide canvas{height:320px!important;max-height:320px!important}
.table-wrap.preview{max-height:360px;overflow:auto}
.table-wrap{max-width:100%;overflow:auto}
.section{scroll-margin-top:22px}
@media(max-width:1100px){.insight-grid{grid-template-columns:1fr}.chart-card canvas,.chart-card.wide canvas{height:280px!important;max-height:280px!important}}.workspace-tools{margin-top:18px;display:grid;gap:8px}.workspace-tools label{display:grid;gap:6px;color:var(--muted);font-size:.85rem}.workspace-tools select,.workspace-tools input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);border-radius:12px;padding:9px 10px}.button-ghost-small{padding:9px 12px;font-size:.88rem;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:14px;cursor:pointer}

.dropzone{display:grid;place-items:center;min-height:150px;margin-top:18px;padding:22px;border:1px dashed rgba(95,208,255,.55);border-radius:24px;background:rgba(95,208,255,.06);text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.dropzone span{color:var(--muted)}
.dropzone:hover{border-color:rgba(95,208,255,.82);background:rgba(95,208,255,.10)}
.dropzone.drag,.dropzone.active{border-color:var(--brand2);background:rgba(139,227,123,.12);box-shadow:0 0 0 4px rgba(139,227,123,.12);transform:translateY(-1px)}
.dropzone:focus-visible{outline:3px solid rgba(95,208,255,.75);outline-offset:4px}
