.sidebar{position:fixed;left:0;top:0;width:250px;height:100vh;background:linear-gradient(180deg,#ffffffdb,#fff5f3c2),radial-gradient(circle at top left,rgba(196,30,58,.1),transparent 34%),linear-gradient(180deg,#fdfbfa,#faf5f2);border-right:2px solid rgba(196,30,58,.12);display:flex;flex-direction:column;z-index:1000;box-shadow:8px 0 28px #c41e3a1a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:width .18s ease,box-shadow .18s ease}.sidebar.collapsed{width:80px}.sidebar-header{padding:22px 18px 18px;border-bottom:1px solid rgba(196,30,58,.15);display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.brand-logo{width:84px;height:84px;object-fit:contain;object-position:center;border-radius:18px;background:#fffffff5;box-shadow:0 12px 26px #c41e3a29;border:1px solid rgba(196,30,58,.12);padding:6px;flex-shrink:0;transition:width .18s ease,height .18s ease,border-radius .18s ease}.sidebar-toggle{border:1px solid rgba(196,30,58,.18);background:#fffc;color:#8b2a3e;width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:.95rem;line-height:1;box-shadow:0 6px 16px #c41e3a1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:absolute;right:18px;top:50%;transform:translateY(-50%)}.sidebar-toggle:hover{background:#ffffffeb}.sidebar-header h2{margin:0;font-size:1rem;font-weight:700;color:#1f2328;letter-spacing:-.03em;line-height:1.15}.sidebar-header .subtitle{margin:5px 0 0;font-size:.72rem;color:#5c6f84;text-transform:uppercase;letter-spacing:.08em}.brand-version{margin:8px 0 0;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#c41e3a1f;color:#9a1d2e;font-size:.7rem;font-weight:700}.sidebar-nav{flex:1;padding:18px 10px;display:flex;flex-direction:column;gap:10px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid transparent;background:#ffffff57;color:#2a4057;cursor:pointer;border-radius:14px;font-size:.95rem;font-weight:600;transition:all .2s ease;white-space:nowrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-item:hover{background:#ffffffad;color:#143451;border-color:#95bce08c;box-shadow:0 10px 18px #12385b14;transform:translateY(-1px)}.nav-item.active{background:linear-gradient(135deg,#c41e3a24,#ffffffb8);color:#8b2a3e;box-shadow:0 14px 24px #c41e3a24;border-color:#c41e3a52}.nav-item:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid rgba(196,30,58,.88);outline-offset:2px}.nav-icon{min-width:24px;text-align:center;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.nav-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.nav-label{flex:1;text-align:left}.sidebar-footer{padding:16px 18px 18px;border-top:1px solid rgba(182,198,217,.45)}.sidebar.collapsed .nav-label,.sidebar.collapsed .version,.sidebar.collapsed .brand-version,.sidebar.collapsed .version-caption{display:none}.sidebar.collapsed .sidebar-header{padding:16px 10px}.sidebar.collapsed .brand-logo{width:48px;height:48px;padding:4px;border-radius:12px}.sidebar.collapsed .sidebar-toggle{right:10px}.sidebar.collapsed .sidebar-nav{padding:12px 8px}.sidebar.collapsed .nav-item{justify-content:center;padding:12px;gap:0}.sidebar.collapsed .nav-icon{min-width:0}.sidebar.collapsed .sidebar-footer{padding:10px}.version{margin:0;font-size:.76rem;color:#40576f;text-align:center;font-weight:700;letter-spacing:.02em}.version-caption{margin:5px 0 0;font-size:.68rem;color:#71869b;text-align:center}@media (max-width: 768px){.sidebar{width:72px}.sidebar-header{justify-content:center;padding:14px 8px}.sidebar-header h2,.sidebar-header .subtitle,.brand-version,.sidebar-footer{display:none}.brand-logo{width:46px;height:46px;padding:3px;border-radius:12px}.sidebar-toggle{display:none}.sidebar-nav{padding:10px 6px}.nav-label{display:none}.nav-item{justify-content:center;padding:11px 8px;gap:0}.nav-icon{min-width:0}}@media (max-width: 560px){.sidebar{width:64px}.sidebar-nav{padding:8px 5px}.nav-item{padding:10px 6px}.nav-icon{font-size:1.15rem}}@media (prefers-reduced-motion: reduce){.sidebar,.nav-item,.sidebar-toggle{transition:none}}:root{--ink-900: #1f2328;--ink-800: #2f3b47;--ink-700: #3b4c5f;--ink-500: #C41E3A;--bg-100: #f5f6f8;--bg-200: #eef1f4;--accent: #C41E3A;--accent-dark: #B5162F;--accent-light: #E63A4A;--danger: #d13438;--warning: #ca5010;--ok: #107c10;--card-border: #d0d7de;--muted: #5c6b78;--shadow: 0 1px 4px rgba(31, 35, 40, .08);--shadow-soft: 0 10px 30px rgba(196, 30, 58, .08);--shadow-lift: 0 18px 42px rgba(196, 30, 58, .12);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .42);--glass-highlight: linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .06));--texture-layer: radial-gradient(circle at top left, rgba(196, 30, 58, .08), transparent 32%);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Verdana,sans-serif;color:var(--ink-900);background:radial-gradient(circle at top,rgba(196,30,58,.06),transparent 28%),linear-gradient(180deg,#fff8f7,#fef3f0 52%,#fdf0ed)}.app-layout{display:flex;height:100vh;overflow:hidden}.app-content{flex:1;display:flex;flex-direction:column;margin-left:250px;overflow:hidden;transition:margin-left .18s ease}.app-layout.sidebar-collapsed .app-content{margin-left:80px}.app-header{background:#ffffffb8;color:var(--ink-900);padding:18px 28px;border-bottom:2px solid rgba(196,30,58,.18);box-shadow:0 10px 28px #c41e3a14;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-header h1{margin:8px 0 0;font-size:1.55rem;font-weight:600}.app-header .eyebrow{margin:0;font-size:.8rem;color:#667787;text-transform:uppercase;letter-spacing:.5px}.app-main{flex:1;overflow-y:auto;padding:32px;background-image:linear-gradient(#ffffff38,#ffffff38),radial-gradient(circle at 1px 1px,rgba(104,131,158,.08) 1px,transparent 0);background-size:auto,18px 18px}.app-footer{border-top:1px solid var(--card-border);padding:16px 32px;background:#fff}.dashboard-container,.traceability-container{animation:fadeIn .2s ease-in}.dashboard-header,.traceability-header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(191,206,223,.65)}.traceability-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.dashboard-header h2,.traceability-header h2{margin:0 0 8px;font-size:1.6rem;color:var(--ink-900)}.dashboard-header p,.traceability-header p{margin:0;color:var(--muted);font-size:.95rem}.traceability-eyebrow{margin:0 0 8px;color:#5d7082;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700}.traceability-header-badge{min-width:260px;border-radius:10px;padding:14px 16px;background:linear-gradient(180deg,#c41e3a,#a01628);color:#fff;box-shadow:0 4px 14px #c41e3a47}.traceability-header-badge strong,.traceability-header-badge span{display:block}.traceability-header-badge strong{font-size:1rem}.traceability-header-badge span{margin-top:4px;font-size:.82rem;color:#ffffffd1}.dashboard-filters{background:linear-gradient(180deg,#ffffffc2,#f5faff9e);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-soft);border:1px solid rgba(178,199,221,.48);margin-bottom:14px;display:grid;gap:10px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.dashboard-filter-presets{display:flex;flex-wrap:wrap;gap:8px}.dashboard-filter-presets button{border:1px solid #c7d0d9;border-radius:8px;background:#fff;color:#2f3b47;font-weight:600;padding:6px 10px;cursor:pointer}.dashboard-filter-presets button:hover{background:#eef6ff;border-color:#90c2f5}.dashboard-filter-range{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;align-items:end}input,select,textarea{border:1px solid #c7d0d9;border-radius:6px;background:#fff;color:#1f2328;padding:8px 10px;font-family:Segoe UI,Tahoma,Verdana,sans-serif}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #c41e3a2e}button{font-family:Segoe UI,Tahoma,Verdana,sans-serif}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.app-content{margin-left:72px}.app-main{padding:16px}.app-footer{padding:12px 16px}.dashboard-filter-range{grid-template-columns:1fr}.app-header{padding:16px 18px}.app-header h1{font-size:1.25rem}.traceability-header-badge{min-width:0}}@media (max-width: 560px){.app-content{margin-left:64px}.app-main,.app-footer{padding-left:12px;padding-right:12px}.dashboard-header,.traceability-header{margin-bottom:20px;padding-bottom:12px}}.portal{max-width:1440px;margin:0 auto;padding:24px}.hero{background:linear-gradient(120deg,#6b1423,#a01a33);color:#fff;border-radius:18px;padding:28px;box-shadow:var(--shadow);animation:rise .5s ease-out}.eyebrow{margin:0;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;opacity:.86}.hero h1{margin:8px 0;font-weight:700}.hero p{margin:0;opacity:.95}.filters-panel{margin-top:18px;background:#fff;border-radius:14px;padding:18px;box-shadow:var(--shadow);border:1px solid #dce7f4}.endpoint-module{--az-blue: #C41E3A;--az-blue-dark: #B5162F;--az-border: #d0d7de;--az-surface: #ffffff;--az-surface-alt: #faf6f5;--az-muted: #52606d;--az-success: #107c10;--az-danger: #d13438;display:grid;gap:16px}.endpoint-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.endpoint-header-badge{min-width:220px;border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,#c41e3a,#a01628);color:#fff;box-shadow:0 10px 20px #c41e3a40}.endpoint-header-badge strong,.endpoint-header-badge span{display:block}.endpoint-header-badge strong{font-size:.98rem}.endpoint-header-badge span{margin-top:4px;font-size:.82rem;color:#ffffffd1}.endpoint-summary-card{background:var(--az-surface);border:1px solid var(--az-border);border-radius:12px;padding:18px;box-shadow:0 2px 10px #1f23280f;display:flex;justify-content:space-between;align-items:stretch;gap:16px}.endpoint-summary-card .apply-btn{margin-top:0;align-self:center;background:linear-gradient(180deg,var(--az-blue),var(--az-blue-dark));border:1px solid rgba(0,90,158,.55);border-radius:8px}.endpoint-summary-grid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.endpoint-metric-card{padding:14px 16px;border-radius:10px;border:1px solid var(--az-border);background:var(--az-surface);display:grid;gap:6px}.endpoint-metric-card strong{font-size:1.2rem;color:var(--ink-900)}.endpoint-metric-card.active{background:#f3fbf3;border-color:#b7dfb8}.endpoint-metric-card.inactive{background:#fff5f5;border-color:#f1c2c4}.endpoint-metric-card.total,.endpoint-metric-card.detail{background:var(--az-surface-alt)}.endpoint-metric-label{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--az-muted)}.endpoint-summary-card h3{margin:0;font-size:1rem}.endpoint-summary-card p{margin:4px 0 0;color:var(--muted)}.endpoint-table-card{background:var(--az-surface);border:1px solid var(--az-border);border-radius:12px;box-shadow:0 2px 10px #1f23280f;overflow:hidden}.endpoint-table th{background:#f6f8fa;color:#1f2328;border-bottom:1px solid var(--az-border)}.endpoint-table td{background:#fff}.endpoint-table tbody tr:hover td{background:#f3f9ff}.endpoint-table{min-width:1520px}.endpoint-mobile-list{display:none}.endpoint-route{font-family:Fira Code,Consolas,monospace;font-size:.82rem;min-width:280px}.endpoint-col-tech{min-width:360px}.endpoint-col-functional{min-width:420px}.endpoint-copy{line-height:1.42;color:#23384d;white-space:normal;overflow-wrap:anywhere}.endpoint-copy-functional{min-width:380px}.endpoint-mobile-card{border-top:1px solid var(--az-border);padding:16px;display:grid;gap:12px;background:#fff}.endpoint-mobile-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.endpoint-mobile-top h3{margin:0;font-size:1rem;color:var(--ink-900)}.endpoint-mobile-category{margin:4px 0 0;color:#60758b;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.endpoint-mobile-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.endpoint-mobile-chip{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:6px 10px;border-radius:999px;background:#e9f3ff;color:var(--az-blue-dark);font-size:.76rem;font-weight:700;letter-spacing:.03em}.endpoint-mobile-route{font-family:Fira Code,Consolas,monospace;font-size:.8rem;color:#21384c;line-height:1.4;overflow-wrap:anywhere}.endpoint-mobile-detail{margin-top:0}.endpoint-mobile-section{display:grid;gap:6px;padding:12px;border-radius:12px;border:1px solid var(--az-border);background:var(--az-surface-alt)}.endpoint-mobile-label{color:var(--az-muted);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.endpoint-status{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:5px 12px;font-weight:700;font-size:.75rem;letter-spacing:.02em}.endpoint-led{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #ffffff8c}.endpoint-status.active{color:#0f5e10;background:#e8f6e8;border:1px solid #b7dfb8;box-shadow:none}.endpoint-status.active .endpoint-led{background:var(--az-success);box-shadow:0 0 0 3px #107c1024}.endpoint-status.inactive{color:#9f1b1f;background:#fdebec;border:1px solid #f1c2c4;box-shadow:none}.endpoint-status.inactive .endpoint-led{background:var(--az-danger);box-shadow:0 0 0 3px #d134381f}.endpoint-detail{margin-top:6px;color:var(--muted);font-size:.8rem;line-height:1.3}@media (max-width: 980px){.endpoint-header,.endpoint-summary-card{grid-template-columns:1fr;display:grid}.endpoint-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.endpoint-table{min-width:1420px}}@media (max-width: 560px){.endpoint-header-badge{min-width:0}.endpoint-summary-grid{grid-template-columns:1fr}.endpoint-table{min-width:1320px}.traceability-table-wrap{display:none}.endpoint-mobile-list{display:grid}.endpoint-mobile-top{grid-template-columns:1fr;display:grid}.endpoint-mobile-card .endpoint-status{justify-self:flex-start}}.filters-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.filters-panel-header h3{margin:0;font-size:1rem}.filters-panel-header p{margin:4px 0 0;color:#60758b;font-size:.88rem}.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:12px}label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--ink-700)}input,select{margin-top:6px;border:1px solid #c3d6ea;border-radius:8px;padding:8px 10px;font-size:.92rem;background:#fff}.checkbox-filter{flex-direction:row;align-items:center;gap:8px;justify-content:flex-start;margin-top:24px;padding:10px 12px;border:1px solid #d7e3f2;border-radius:10px;background:#f8fbff}.filters-panel-actions{display:flex;justify-content:flex-end}.apply-btn{margin-top:14px;border:0;border-radius:10px;background:linear-gradient(90deg,#b5162f,#c41e3a);color:#fff;font-weight:700;padding:10px 16px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.apply-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #005a9c40}.kpi-strip{margin-top:18px;display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:12px}.kpi-card{background:#fff;border-radius:12px;padding:12px;box-shadow:var(--shadow);border-top:4px solid var(--accent);animation:rise .6s ease-out}.kpi-card h3{margin:0;font-size:.8rem;color:var(--ink-700)}.kpi-card strong{font-size:1.5rem}.trend-panel{margin-top:14px;background:#fff;border-radius:12px;box-shadow:var(--shadow);border:1px solid #dbe6f3;padding:14px}.trend-header h3{margin:0;color:var(--ink-900)}.trend-header p{margin:6px 0 0;color:var(--ink-700);font-size:.88rem}.trend-chart-shell{margin-top:10px;border-radius:10px;border:1px solid #e0e9f5;background:linear-gradient(180deg,#f8fbff,#f2f7fd);padding:10px 10px 0}.ops-panel{margin-top:14px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:14px;border:1px solid #dbe6f3}.ops-header h3{margin:0}.ops-header p{margin:6px 0 0;color:var(--ink-700);font-size:.88rem}.ops-metrics-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}.ops-metric-card{border-radius:10px;border:1px solid #d8e4f2;background:#f8fbff;padding:10px;transition:transform .15s ease,box-shadow .15s ease}.ops-metric-card:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0b1a2b14}.ops-metric-card.is-warning{border-color:#f2c58a;background:#fff8ef}.ops-metric-card span{display:block;color:var(--ink-700);font-size:.8rem}.ops-metric-card strong{display:block;margin-top:4px;font-size:1rem}.ops-table-shell{margin-top:12px;border:1px solid #dbe6f3;border-radius:10px;overflow:auto}.ops-table{width:100%;min-width:620px;border-collapse:collapse}.ops-table th,.ops-table td{padding:8px 10px;border-bottom:1px solid #e6edf5;font-size:.84rem}.ops-table th{background:#eef5fc}.ops-pill{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700}.ops-pill-neutral{background:#e8f1fb;color:#16466c}.ops-pill-ok{background:#e6f4ea;color:#0f6d3a}.ops-pill-warning{background:#fff2dd;color:#9a5b00}.ops-pill-danger{background:#fde7e8;color:#b71c1c}.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:12px;margin-top:14px}.insight-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:12px}.insight-card h3{margin:0 0 10px}.insight-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.cause-item,.alert-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #d9e5f3;background:#f8fbff;border-radius:10px;padding:8px 10px}.cause-name,.alert-location{color:var(--ink-900);font-size:.88rem;line-height:1.25}.cause-count,.alert-badge{min-width:28px;text-align:center;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:700;color:#fff;background:#0c5ea6}.alert-badge{background:#c62828}.empty-state{color:#4d647b;font-size:.86rem;padding:6px 2px}.status{margin-top:10px}.loading-state{margin-top:12px;border:1px solid #dbe7f5;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f2f7fd);padding:12px 14px}.loading-state-compact{margin-top:8px;padding:10px 12px}.loading-state-head{display:flex;align-items:center;gap:10px}.loading-state-head p{margin:0;color:#31506f;font-size:.88rem;font-weight:600}.loading-spinner{width:18px;height:18px;border-radius:50%;border:2px solid #bedcff;border-top-color:#c41e3a;animation:spin .9s linear infinite}.loading-skeleton-list{margin-top:10px;display:grid;gap:7px}.loading-skeleton-line{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#dbe9f8 20%,#f3f8ff,#dbe9f8 80%);background-size:220px 100%;animation:skeletonShift 1.2s ease-in-out infinite}.loading-skeleton-line-1{width:94%}.loading-skeleton-line-2{width:78%}.loading-skeleton-line-3{width:86%}.status.error{color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeletonShift{0%{background-position:220px 0}to{background-position:-220px 0}}.traceability-stats-strip{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.incident-board{margin-top:18px;background:#fff;border:1px solid #dce8f5;border-radius:16px;box-shadow:var(--shadow);padding:18px}.incident-board-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.incident-board-eyebrow{margin:0 0 8px;color:#1970a8;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700}.incident-board-header h3{margin:0;font-size:1.08rem}.incident-board-header p{margin:6px 0 0;color:#60758b;font-size:.88rem}.incident-board-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.incident-summary-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#edf5fd;color:#15507b;font-size:.78rem;font-weight:700}.incident-summary-pill-critical{background:#fdecee;color:#b4232b}.incident-summary-pill-warning{background:#fff4e6;color:#a35b00}.incident-board-empty{margin-top:16px;display:flex;flex-direction:column;gap:4px;border:1px dashed #cfe0f0;background:linear-gradient(180deg,#fbfdff,#f6fafe);border-radius:12px;padding:16px;color:#60758a}.incident-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.incident-card{border:1px solid #dbe6f3;border-radius:14px;padding:14px;text-align:left;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 28px #0a233a14;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.incident-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px #0a233a24}.incident-card-critical{border-color:#f1c8cd;background:linear-gradient(180deg,#fff8f8,#fff3f4)}.incident-card-warning{border-color:#f2d7a9;background:linear-gradient(180deg,#fffaf3,#fff5e9)}.incident-card-watch{border-color:#d5e4f3}.incident-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.incident-severity,.incident-score{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.75rem;font-weight:700;padding:5px 8px}.incident-severity-critical{background:#cf2f39;color:#fff}.incident-severity-warning{background:#d68009;color:#fff}.incident-severity-watch{background:#e8f0f8;color:#315778}.incident-score{background:#114f7914;color:#164c76}.incident-card-body{margin-top:12px;display:flex;flex-direction:column;gap:4px}.incident-card-body strong{font-size:.95rem;color:var(--ink-900)}.incident-card-body span{color:#60748a;font-size:.82rem}.incident-card-detail-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.incident-card-detail-grid label{display:block;color:#71869d;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.incident-card-detail-grid span{display:block;margin-top:4px;color:#16344f;font-size:.81rem;line-height:1.3}.incident-card-action{margin-top:14px;padding-top:12px;border-top:1px solid rgba(154,176,198,.35);display:flex;justify-content:space-between;align-items:center;gap:10px}.incident-card-action span{color:#345574;font-size:.8rem;font-weight:600}.incident-card-action strong{color:#1068aa;font-size:.82rem}.trace-stat-card{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #dce8f5;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}.trace-stat-card span,.trace-stat-card strong{display:block}.trace-stat-card span{color:#5f7488;font-size:.82rem}.trace-stat-card strong{margin-top:6px;font-size:1.45rem}.trace-stat-card-critical{border-color:#f0c1c5;background:linear-gradient(180deg,#fff7f8,#fff1f2)}.trace-stat-card-warning{border-color:#f3d3a1;background:linear-gradient(180deg,#fffaf2,#fff5e8)}.table-shell{margin-top:18px;background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:auto;border:1px solid #dbe6f3}.table-shell-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px 10px;border-bottom:1px solid #e6edf5;background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.table-shell-header h3{margin:0;font-size:1rem}.table-shell-header p{margin:4px 0 0;color:#61768a;font-size:.86rem}.table-shell-meta{display:flex;flex-wrap:wrap;gap:8px}.table-meta-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#eaf3fc;color:#16507c;font-size:.78rem;font-weight:700}.table-chip{display:inline-flex;align-items:center;max-width:220px;padding:4px 8px;border-radius:999px;background:#edf5fd;color:#144f7a;font-size:.78rem;font-weight:700}.table-chip.mono{font-family:Consolas,Courier New,monospace}.table-empty-state{display:flex;flex-direction:column;gap:4px;padding:18px;color:#50677d}table{width:100%;border-collapse:collapse;min-width:2200px}th,td{padding:10px;border-bottom:1px solid #e6edf5;text-align:left;font-size:.88rem}th{background:#f6f8fa;color:#1f2328;position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px #d0d7de}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.clickable-row{cursor:pointer;transition:box-shadow .18s ease,background-color .18s ease}.clickable-row:hover td{background:#eef6ff;box-shadow:inset 0 1px #1678d440,inset 0 -1px #1678d440}.clickable-row:hover td:first-child,.clickable-row:focus-visible td:first-child{box-shadow:inset 3px 0 #1570c9,inset 0 1px #1678d440,inset 0 -1px #1678d440}.sticky-col{position:sticky;background:#fff;z-index:2}th.sticky-col{z-index:4;background:#f3f8fd}.sticky-col-1{left:0;min-width:220px}.sticky-col-2{left:220px;min-width:260px}.sticky-col-3{left:480px;min-width:300px}th.sticky-col-3{z-index:5}.clickable-row:hover .sticky-col,.clickable-row:focus-visible .sticky-col{background:#eef6ff}.clickable-row:focus-visible td{background:#e3f0ff;box-shadow:inset 0 1px #1570c973,inset 0 -1px #1570c973}.action-text{color:#0c3f6a;font-weight:700;font-size:.82rem}.case-summary{display:flex;align-items:flex-start;gap:10px;min-width:200px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px 12px;min-width:250px}.detail-grid-wide{grid-template-columns:minmax(180px,1fr);min-width:280px}.detail-pair{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-pair span{color:#71869b;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.detail-pair strong{color:#16344f;font-size:.82rem;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.cell-stack{display:flex;flex-direction:column;gap:3px;min-width:0}.cell-stack strong{color:var(--ink-900);font-size:.86rem;font-weight:700}.cell-stack span{color:#698097;font-size:.77rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-stack.compact span{max-width:220px}.log-preview{max-width:360px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;color:#36506a;min-width:280px}.log-preview.success{color:#21633b}.log-preview.error{color:#a03034;font-weight:600}.status-chip{display:inline-flex;align-items:center;max-width:200px;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.25}.status-chip.ok{background:#e5f4ea;color:#21633b}.status-chip.danger{background:#fdecee;color:#a03034}.status-chip.finance{background:#eef6ff;color:#18507d}.status-chip.byd{background:#e8f7f0;color:#0f6d4b}.status-chip.neutral{background:#f1f4f7;color:#586d81}.table-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:110px}.link-btn{border:1px solid #b7cbe4;background:#f1f7fe;color:#0c3f6a;border-radius:8px;font-size:.78rem;font-weight:700;padding:4px 8px;cursor:pointer;text-decoration:none;line-height:1.2}.link-btn:hover{background:#e7f1ff}.diag-btn{border:1px solid #b7cbe4;background:#f1f7fe;color:#0c3f6a;border-radius:8px;font-size:.78rem;font-weight:700;padding:4px 8px;cursor:pointer}.badge{padding:2px 8px;border-radius:999px;color:#fff;font-weight:700}.badge.critical{background:var(--danger)}.badge.warning{background:var(--warning)}.badge.ok{background:var(--ok)}.badge.neutral{background:#546e7a}.pager-row{margin-top:12px;display:flex;justify-content:space-between;align-items:center;background:#fff;padding:10px 12px;border-radius:10px;box-shadow:var(--shadow)}.pager-actions{display:flex;align-items:center;gap:8px}.pager-actions button{border:1px solid #b8cae0;background:#f3f8fd;border-radius:8px;padding:6px 10px;cursor:pointer}.timeline-panel{margin-top:14px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:12px}.timeline-panel h3{margin:0 0 10px}.timeline-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:10px}.timeline-item{border:1px solid #d8e4f2;border-radius:10px;padding:10px;background:#f8fbff}.timeline-item strong{display:block}.timeline-item span{color:#005a9c;font-weight:700}.timeline-item p{margin:6px 0 0;font-size:.85rem}.timeline-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a172738;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px;animation:fadeIn .2s ease-out}.timeline-modal{width:min(980px,100%);max-height:82vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 48px #06172947;border:1px solid #d7e3f2;padding:14px;animation:rise .24s ease-out}.timeline-modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.timeline-modal-header h3{margin:0}.timeline-modal-close{border:1px solid #bdd0e6;background:#f0f7ff;color:#19466b;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}.timeline-modal-close:hover{background:#e4f0ff}.diag-drawer{margin-top:14px;background:#fff;border-radius:12px;box-shadow:var(--shadow);border:1px solid #d9e5f3;padding:14px;animation:rise .3s ease-out}.diag-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.diag-header h3{margin:0}.diag-header p{margin:4px 0 0;color:var(--ink-700);font-size:.86rem}.diag-close{border:1px solid #bdd0e6;background:#f0f7ff;color:#19466b;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}.diag-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.diag-card{border-radius:10px;border:1px solid #d9e5f3;background:#f8fbff;padding:10px}.diag-card h4{margin:0 0 8px}.diag-card p{margin:4px 0;font-size:.85rem}.diag-log{margin-top:10px;border-radius:10px;border:1px solid #d9e5f3;background:#f8fbff;padding:10px}.diag-log h4{margin:0 0 8px}.diag-log pre{margin:0;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.4;color:var(--ink-900)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.portal{padding:14px}.filter-grid,.kpi-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.ops-metrics-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.insight-grid,.timeline-grid,.diag-grid,.traceability-stats-strip,.incident-grid{grid-template-columns:1fr}.pager-row{flex-direction:column;align-items:flex-start;gap:8px}.charts-row{grid-template-columns:1fr}.traceability-header,.table-shell-header,.incident-board-header{flex-direction:column;align-items:stretch}table{min-width:1680px}.sticky-col{position:static}.sticky-col-1,.sticky-col-2,.sticky-col-3{left:auto;min-width:unset}th.sticky-col,th.sticky-col-3{z-index:3}}.charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:24px 0;animation:fadeIn .4s ease-in}.chart-card{background:#fff;border-radius:14px;padding:20px;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.08);transition:transform .2s ease,box-shadow .2s ease}.chart-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px #00000026}.chart-card h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--ink-900)}.chart-empty{display:flex;align-items:center;justify-content:center;height:300px;color:#999;font-style:italic}.ranking-chart-shell{border:1px solid #dfebf7;border-radius:10px;background:linear-gradient(180deg,#fbfdff,#f4f8fd);padding:8px 8px 2px}.pie-chart-container{display:flex;flex-direction:column;align-items:stretch;gap:12px}.pie-chart-container h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink-900)}.pie-chart-subtitle{margin:-6px 0 0;color:#60758b;font-size:.84rem}.pie-chart-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,1fr);gap:14px;align-items:center}.pie-chart-shell{position:relative;border:1px solid #dfebf7;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.pie-chart-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.pie-chart-center span{color:#6b8298;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.pie-chart-center strong{color:#15324f;font-size:1.35rem}.pie-ranking-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.pie-ranking-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #dfebf7;border-radius:10px;background:#f8fbff;padding:8px 10px}.pie-dot{width:10px;height:10px;border-radius:999px}.pie-ranking-name{color:#1f3f60;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pie-ranking-value{color:#18324b;font-size:.8rem;font-weight:700}.gauge-container{display:flex;flex-direction:column;align-items:center;gap:16px;padding:12px 0}.gauge-container h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink-900)}.gauge-svg{width:100%;max-width:300px;height:auto;aspect-ratio:2}.gauge-info{display:flex;flex-direction:column;align-items:center;gap:8px}.gauge-score{display:flex;align-items:baseline;gap:4px}.score-value{font-size:2.4rem;font-weight:700;color:var(--ink-900)}.gauge-status{font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.1)}@media (max-width: 1200px){.charts-row{grid-template-columns:1fr}.gauge-svg{max-width:250px}.score-value{font-size:2rem}}@media (max-width: 768px){.charts-row{gap:16px;margin:16px 0}.chart-card{padding:16px}.gauge-svg{max-width:200px}.score-value{font-size:1.8rem}.pie-chart-layout{grid-template-columns:1fr}.table-shell{border-radius:10px}table{min-width:1380px}th,td{padding:8px;font-size:.82rem}.detail-grid{grid-template-columns:1fr;min-width:190px}.detail-grid-wide{min-width:220px}.log-preview{min-width:220px;max-width:280px}}body{background:radial-gradient(circle at top,rgba(0,120,212,.08),transparent 30%),linear-gradient(180deg,#f7fbff,#eef3f8 52%,#e8edf3)}.app-header{padding:14px 24px;background:#ffffffbd;border-bottom:1px solid rgba(183,199,218,.5);box-shadow:0 16px 34px #15314d0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app-header-brand{display:flex;align-items:center;gap:20px}.app-header-logo{width:132px;height:40px;object-fit:contain;object-position:left center;flex-shrink:0}.app-header h1{font-size:1.45rem;font-weight:600;margin:4px 0 0}.app-header .eyebrow{margin:0}.app-main{padding:20px;background-image:linear-gradient(#ffffff29,#ffffff29),radial-gradient(circle at 1px 1px,rgba(101,129,156,.08) 1px,transparent 0);background-size:auto,18px 18px}.dashboard-filters,.filters-panel,.kpi-card,.trend-panel,.ops-panel,.insight-card,.chart-card,.table-shell,.traceability-empty-state,.diagnostic-card,.endpoint-summary-card,.endpoint-table-card{border-radius:var(--radius-md);border:1px solid rgba(181,201,222,.52);box-shadow:var(--shadow-soft);background:var(--glass-highlight),var(--texture-layer),var(--glass-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.apply-btn{background:linear-gradient(135deg,#c41e3a,#a01628);border:1px solid rgba(16,102,174,.85);border-radius:999px;padding:10px 16px;box-shadow:0 12px 24px #0078d438}.apply-btn:hover{background:linear-gradient(135deg,#0f86e5,#1264a3);box-shadow:0 16px 28px #0078d447;transform:translateY(-1px)}@media (max-width: 768px){.app-header-brand{gap:12px}.app-header-logo{width:104px;height:32px}}.dashboard-filter-presets button{border-radius:999px;border:1px solid rgba(183,199,218,.72);background:#ffffffb8;box-shadow:0 6px 14px #1838580d}.dashboard-filter-presets button:hover{background:#ffffffeb}.dashboard-filter-presets button.is-active{background:linear-gradient(135deg,#c41e3a,#a01628);border-color:#c41e3ae6;color:#fff;box-shadow:0 12px 24px #c41e3a40}.chart-card,.kpi-card,.insight-card,.endpoint-summary-card,.endpoint-table-card,.table-shell,.trend-panel,.ops-panel{overflow:hidden;box-shadow:0 14px 32px #12304e1a}.chart-card:hover,.kpi-card:hover,.insight-card:hover,.endpoint-summary-card:hover,.endpoint-table-card:hover,.trend-panel:hover,.ops-panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.table-shell-header,.traceability-header-badge,.endpoint-header-badge{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboard-filter-presets button:focus-visible,.apply-btn:focus-visible,.link-btn:focus-visible,.diag-btn:focus-visible,.pager-actions button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(0,120,212,.88);outline-offset:2px}@media (prefers-reduced-motion: reduce){.app-content,.chart-card,.kpi-card,.insight-card,.endpoint-summary-card,.endpoint-table-card,.trend-panel,.ops-panel,.apply-btn,.dashboard-filter-presets button{transition:none!important;animation:none!important}}table{border-color:#d8dde3}th{background:#f6f8fa;border-bottom:1px solid #d8dde3}td{border-bottom:1px solid #edf0f2}.clickable-row:hover td{background:#f7fafd}
