@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600&display=swap");:root{--ng-blue:#007db9;--ng-green:#00ac30;--ng-navy:#021c3a;--ng-white:#ffffff;--ng-blue-50:#e0f0f8;--ng-green-50:#e5f5ea;--ng-gray-50:#f7f8fa;--ng-gray-100:#eef1f4;--ng-gray-200:#dce2e8;--ng-gray-300:#bcc5cf;--ng-gray-400:#8c97a3;--ng-gray-500:#5c6773;--ng-gray-700:#2e3741;--ng-gray-900:#11161c;--ng-success:var(--ng-green);--ng-success-bg:var(--ng-green-50);--ng-warning:#b97d0a;--ng-warning-bg:#fbf1dc;--ng-danger:#c0392b;--ng-danger-bg:#fbe6e3;--ng-info:var(--ng-blue);--ng-info-bg:var(--ng-blue-50);--ng-font:"Raleway","Segoe UI",-apple-system,system-ui,"Helvetica Neue",Arial,sans-serif;--ng-radius-sm:6px;--ng-radius:10px;--ng-shadow-sm:0 1px 2px rgba(2,28,58,0.06);--ng-shadow:0 2px 8px rgba(2,28,58,0.08);--ng-shadow-lg:0 8px 24px rgba(2,28,58,0.12)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--ng-font);font-size:14px;line-height:1.45;color:var(--ng-gray-700);background:var(--ng-gray-50);-webkit-font-smoothing:antialiased}a{color:var(--ng-blue);text-decoration:none}h1,h2,h3{color:var(--ng-navy);font-weight:600;margin:0}.ng-banner{position:-webkit-sticky;position:sticky;top:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 0;background:var(--ng-navy);color:#fff;font:600 12px var(--ng-font);letter-spacing:.03em;box-shadow:0 2px 8px rgba(2,28,58,.25)}.ng-shell{padding:24px}.ng-header{display:flex;align-items:center;gap:14px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--ng-gray-200)}.ng-header img{height:34px;width:auto}.ng-header .title{font:600 18px var(--ng-font);color:var(--ng-navy)}.ng-header .spacer{flex:1 1}.ng-header .user{font-size:13px;color:var(--ng-gray-500)}.ng-card{background:#fff;border:1px solid var(--ng-gray-200);border-radius:var(--ng-radius);box-shadow:var(--ng-shadow-sm);padding:24px}.ng-btn{font:500 13px/1 var(--ng-font);padding:8px 14px;border-radius:var(--ng-radius-sm);border:1px solid transparent;cursor:pointer;transition:.15s ease;display:inline-flex;gap:6px;align-items:center}.ng-btn--primary{background:var(--ng-blue);color:#fff}.ng-btn--primary:hover{background:#0066a0}.ng-btn--secondary{background:#fff;color:var(--ng-navy);border-color:var(--ng-gray-300)}.ng-btn--sm{padding:5px 10px;font-size:12px}.ng-btn:focus-visible{outline:2px solid var(--ng-blue);outline-offset:2px}.ng-input,.ng-select{width:100%;font:400 14px var(--ng-font);padding:8px 12px;border:1px solid var(--ng-gray-300);border-radius:var(--ng-radius-sm);background:#fff;transition:border-color .15s,box-shadow .15s}.ng-input:focus,.ng-select:focus{border-color:var(--ng-blue);box-shadow:0 0 0 3px rgba(0,125,185,.15);outline:none}.ng-label{display:block;margin-bottom:4px;font:500 12px var(--ng-font);color:var(--ng-gray-700);text-transform:uppercase;letter-spacing:.03em}.ng-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ng-table thead th{background:var(--ng-navy);color:#fff;font-weight:500;text-align:left;padding:10px 12px;white-space:nowrap}.ng-table thead th.num{text-align:right}.ng-table tbody td{padding:9px 12px;border-bottom:1px solid var(--ng-gray-200);font-family:Cascadia Mono,Cascadia Code,Consolas,SF Mono,ui-monospace,Menlo,monospace}.ng-table tbody td.num{text-align:right}.ng-table tbody tr:hover{background:var(--ng-gray-50)}.ng-table .empty{text-align:center;color:var(--ng-gray-400);padding:40px}.ng-badge{display:inline-flex;padding:2px 8px;border-radius:6px;font:500 11px var(--ng-font);text-transform:uppercase;letter-spacing:.04em}.ng-badge--ok{background:var(--ng-success-bg);color:var(--ng-success)}.ng-badge--warn{background:var(--ng-warning-bg);color:var(--ng-warning)}.ng-badge--err{background:var(--ng-danger-bg);color:var(--ng-danger)}.ng-badge--info{background:var(--ng-info-bg);color:var(--ng-info)}.ng-kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:16px}.ng-kpi{background:#fff;border:1px solid var(--ng-gray-200);border-radius:var(--ng-radius);padding:16px 18px}.ng-kpi .v{font:600 28px var(--ng-font);color:var(--ng-navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ng-kpi .l{font:500 12px var(--ng-font);color:var(--ng-gray-500);text-transform:uppercase;letter-spacing:.03em}.ng-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.ng-filters>div{min-width:160px}@media (max-width:720px){.ng-kpis{grid-template-columns:repeat(2,1fr)}}.ng-hero{background:var(--ng-navy);color:#fff;border-radius:var(--ng-radius-lg);padding:22px 28px;margin-bottom:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ng-hero .eyebrow{font:600 11px var(--ng-font);color:#7fa9c9;letter-spacing:.12em;text-transform:uppercase}.ng-hero h1{color:#fff;font-size:20px;margin-top:6px}.ng-hero .sub{color:#aebfcd;font-size:13px;margin-top:4px}.ng-hero .meta{text-align:right;font-size:12px;color:#aebfcd;white-space:nowrap}.ng-hero .meta .lbl{font:600 10px var(--ng-font);color:#7fa9c9;letter-spacing:.06em;text-transform:uppercase}.ng-hero .meta .big{font:600 18px var(--ng-font);color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ng-kpi .v.ok{color:var(--ng-green)}.ng-kpi .v.err{color:var(--ng-danger)}.ng-kpi .v.warn{color:var(--ng-warning)}.ng-sem{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px;font:600 14px var(--ng-font);margin-bottom:16px}.ng-sem--verde{background:var(--ng-green-50);color:var(--ng-green)}.ng-sem--rojo{background:var(--ng-danger-bg);color:var(--ng-danger)}.ng-sem .dot{font-size:16px;line-height:1}.ng-section-title{font:600 14px var(--ng-font);color:var(--ng-navy);margin:22px 0 8px}.ng-shell{max-width:1280px;margin:0 auto;padding:0 32px 48px}@media (max-width:1366px){.ng-shell{padding:0 24px 40px}}.ng-shell-header{position:-webkit-sticky;position:sticky;top:24px;z-index:20;background:#fff;border-bottom:1px solid var(--ng-gray-200);box-shadow:var(--ng-shadow-sm)}.ng-brandbar{display:flex;align-items:center;gap:14px;height:64px;padding:0 32px;border-bottom:1px solid var(--ng-gray-100)}.ng-brandbar .spacer{flex:1 1}.ng-brandbar .title{font:600 18px var(--ng-font);color:var(--ng-navy);text-decoration:none}.ng-brandbar .subtitle{font:500 12px var(--ng-font);color:var(--ng-gray-500)}.ng-navrail{display:flex;align-items:center;gap:28px;height:48px;padding:0 32px}.ng-navrail .spacer{flex:1 1}.ng-nav__link{font:500 14px var(--ng-font);color:var(--ng-gray-700);text-decoration:none;padding:14px 0;border-bottom:2px solid transparent;transition:.15s ease;white-space:nowrap}.ng-nav__link:hover{color:var(--ng-navy);border-bottom-color:var(--ng-gray-300)}.ng-nav__link--active{color:var(--ng-navy);font-weight:600;border-bottom-color:var(--ng-blue)}.ng-nav__link:focus-visible{outline:2px solid var(--ng-blue);outline-offset:2px;border-radius:4px}.ng-nav__sep{width:1px;height:20px;background:var(--ng-gray-200)}.ng-menu-wrap{position:relative}.ng-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;background:#fff;border:1px solid var(--ng-gray-200);border-radius:8px;box-shadow:0 6px 20px rgba(2,28,58,.12);padding:6px;z-index:30}.ng-menu__label{font:600 11px var(--ng-font);color:var(--ng-gray-500);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 4px}.ng-menu__item{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px;font:500 13px var(--ng-font);color:var(--ng-gray-700);text-decoration:none;background:none;border:none;cursor:pointer}.ng-menu__item:hover{background:var(--ng-gray-50);color:var(--ng-navy)}.ng-menu__item--danger{color:var(--ng-danger)}.ng-menu__divider{height:1px;background:var(--ng-gray-200);margin:6px 0}.ng-userchip{display:inline-flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;background:none;border:none;cursor:pointer;font:500 13px var(--ng-font);color:var(--ng-gray-700)}.ng-userchip:hover{background:var(--ng-gray-50)}.ng-avatar{width:28px;height:28px;border-radius:50%;background:var(--ng-navy);color:#fff;font:600 12px var(--ng-font);display:inline-flex;align-items:center;justify-content:center}.ng-skel{background:var(--ng-gray-100);border-radius:6px;height:14px;display:inline-block;animation:ng-pulse 1.2s ease-in-out infinite}@keyframes ng-pulse{0%,to{opacity:1}50%{opacity:.5}}.ng-state{text-align:center;padding:48px 24px;color:var(--ng-gray-500)}.ng-state .icon{font-size:28px;color:var(--ng-gray-300);display:block;margin-bottom:8px}.ng-state .title{font:600 15px var(--ng-font);color:var(--ng-gray-900)}.ng-state .sub{font:400 13px var(--ng-font);color:var(--ng-gray-500);margin-top:4px}.ng-state--error .icon{color:var(--ng-danger)}.ng-kpi--alarm{box-shadow:inset 3px 0 0 var(--ng-danger),var(--ng-shadow-sm)}