:root{--bg-primary: #070b14;--bg-secondary: #0d1527;--bg-surface: rgba(15, 23, 42, .75);--bg-surface-hover: rgba(26, 38, 66, .85);--bg-glass: rgba(13, 21, 39, .65);--border-subtle: rgba(255, 255, 255, .08);--border-glass: rgba(59, 130, 246, .18);--border-glow: rgba(16, 185, 129, .35);--brand-blue: #2563eb;--brand-blue-glow: rgba(37, 99, 235, .3);--brand-green: #10b981;--brand-green-glow: rgba(16, 185, 129, .25);--accent-cyan: #06b6d4;--accent-purple: #8b5cf6;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--tenant-gracko: #3b82f6;--tenant-gramo: #10b981;--tenant-kaiku: #f59e0b;--tenant-ttr: #8b5cf6;--font-main: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--text-highlight: #38bdf8;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--shadow-card: 0 10px 30px -10px rgba(0, 0, 0, .5), 0 0 1px 1px rgba(255, 255, 255, .05);--shadow-glow-blue: 0 0 25px rgba(37, 99, 235, .25);--shadow-glow-green: 0 0 25px rgba(16, 185, 129, .25);--transition-fast: .2s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1)}.lucide{width:1.15em;height:1.15em;stroke-width:2px;vertical-align:-.18em;display:inline-block}.kpi-icon .lucide{width:26px;height:26px;stroke-width:2.2px}.sub-icon.lucide{width:14px;height:14px;stroke-width:2.5px;vertical-align:-2px}.section-title .lucide{width:22px;height:22px;color:var(--brand-blue);stroke-width:2.2px}.btn .lucide{width:16px;height:16px;stroke-width:2.2px}.search-icon .lucide{width:17px;height:17px}.tenant-icon-inline.lucide{width:13px;height:13px;margin-right:4px;vertical-align:-2px}.lead-icon-inline.lucide{width:13px;height:13px;vertical-align:-2px}.causality-icon-inline.lucide{width:14px;height:14px;vertical-align:-2px;color:var(--brand-green)}.modal-icon-inline.lucide{width:20px;height:20px;color:var(--accent-rose);vertical-align:-3px;margin-right:6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-main);line-height:1.5;min-height:100vh;overflow-x:hidden;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(37,99,235,.15),transparent),radial-gradient(ellipse 60% 40% at 90% 80%,rgba(16,185,129,.08),transparent),radial-gradient(ellipse 50% 30% at 10% 40%,rgba(139,92,246,.06),transparent);background-attachment:fixed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#334155}.app-container{max-width:1440px;margin:0 auto;padding:1.5rem 2rem 4rem;display:flex;flex-direction:column;gap:2rem}.header-glass{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);position:sticky;top:1rem;z-index:100;transition:var(--transition-smooth)}.brand-wrapper{display:flex;align-items:center;gap:1.25rem}.brand-logo-svg{width:48px;height:48px;filter:drop-shadow(0 0 12px rgba(37,99,235,.4));transition:transform var(--transition-fast)}.brand-logo-svg:hover{transform:scale(1.05) rotate(-2deg)}.brand-titles h1{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#fff 40%,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#2563eb33;color:#60a5fa;border:1px solid rgba(59,130,246,.35);padding:.2rem .6rem;border-radius:var(--radius-full)}.brand-tagline{font-size:.85rem;color:var(--text-muted)}.header-meta{display:flex;align-items:center;gap:1rem}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--text-muted);background:#10b98114;border:1px solid rgba(16,185,129,.25);padding:.45rem .9rem;border-radius:var(--radius-full)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-green);box-shadow:0 0 10px var(--brand-green);animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.25);opacity:1;box-shadow:0 0 14px var(--brand-green)}to{transform:scale(.95);opacity:.8}}.team-badge{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#cbd5e1;background:#ffffff0a;border:1px solid var(--border-subtle);padding:.45rem .9rem;border-radius:var(--radius-full)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.15rem}.kpi-card{background:var(--bg-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:transform var(--transition-fast),border-color var(--transition-fast)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--kpi-glow, var(--brand-blue)),transparent)}.kpi-card:hover{transform:translateY(-3px);border-color:#3b82f666}.kpi-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.kpi-label{font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.kpi-icon{font-size:1.3rem;opacity:.85}.kpi-value{font-size:2.2rem;font-weight:800;letter-spacing:-.04em;color:#fff;display:flex;align-items:baseline;gap:.3rem;line-height:1.1}.kpi-unit{font-size:.95rem;font-weight:600;color:var(--text-muted)}.kpi-subtext{margin-top:.6rem;font-size:.8rem;color:var(--brand-green);font-weight:600;display:flex;align-items:center;gap:.35rem}.section-title-wrap{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1rem}.section-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:.6rem}.section-subtitle{font-size:.85rem;color:var(--text-muted)}.tenants-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.tenant-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.tenant-card:hover{transform:translateY(-2px);border-color:var(--tenant-color);box-shadow:0 12px 28px -8px #0009,0 0 20px var(--tenant-glow)}.tenant-card.active{border-color:var(--tenant-color);background:linear-gradient(145deg,#141e37d9,#0c1324f2);box-shadow:0 0 25px var(--tenant-glow)}.tenant-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.tenant-pill{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .65rem;border-radius:var(--radius-full);background:#ffffff0f;color:var(--tenant-color);border:1px solid var(--tenant-color)}.tenant-incidents-count{font-size:.78rem;color:var(--brand-green);font-weight:600}.tenant-name{font-size:1.15rem;font-weight:700;margin-bottom:.2rem;color:#fff}.tenant-giro{font-size:.82rem;color:var(--text-muted);margin-bottom:.85rem}.tenant-infra{font-size:.78rem;font-family:var(--font-mono);color:var(--text-dim);background:#00000040;padding:.4rem .6rem;border-radius:var(--radius-sm);margin-bottom:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-threats{display:flex;flex-wrap:wrap;gap:.4rem}.threat-tag{font-size:.72rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:.2rem .5rem;border-radius:var(--radius-sm);color:#cbd5e1}.visuals-split-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}@media(max-width:1024px){.visuals-split-grid{grid-template-columns:1fr}}.chart-card{background:var(--bg-surface);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-card)}.matrix-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.matrix-grid-54{display:grid;grid-template-columns:repeat(18,1fr);gap:6px;padding:.5rem 0}@media(max-width:768px){.matrix-grid-54{grid-template-columns:repeat(9,1fr)}}.matrix-cell{aspect-ratio:1;border-radius:4px;background:#10b98140;border:1px solid rgba(16,185,129,.5);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-family:var(--font-mono);font-weight:600;color:#a7f3d0;cursor:pointer;transition:all var(--transition-fast);position:relative}.matrix-cell:hover{transform:scale(1.2);z-index:10;background:var(--brand-green);color:#000;box-shadow:0 0 12px var(--brand-green)}.matrix-cell.selected{outline:2px solid #fff;outline-offset:1px;background:#3b82f6;color:#fff}.canvas-container{width:100%;height:220px;position:relative;display:flex;align-items:center;justify-content:center}.controls-bar-container{background:var(--bg-surface, rgba(13, 21, 39, .85));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-glass, rgba(59, 130, 246, .2));border-radius:var(--radius-md, 14px);padding:1.15rem 1.4rem;box-shadow:0 10px 30px #00000073;display:flex;flex-direction:column;gap:.9rem}.controls-bar-main{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:space-between}.search-box-wrapper{position:relative;flex:1;min-width:260px}.search-icon{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-dim, #64748b);pointer-events:none;transition:color .2s ease}.search-input{width:100%;padding:.7rem 2.4rem .7rem 2.65rem;background:#070b14b3;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm, 10px);color:#fff;font-family:var(--font-main);font-size:.88rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.search-input:focus{outline:none;border-color:var(--brand-blue, #2563eb);background:#070b14e6;box-shadow:0 0 0 3px #2563eb4d,0 0 16px #2563eb33}.search-box-wrapper:focus-within .search-icon{color:#38bdf8}.search-clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all .2s ease}.search-clear-btn svg{width:13px;height:13px}.search-clear-btn:hover{background:#ef44444d;color:#f87171}.filters-group{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.select-wrapper{position:relative;display:inline-flex;align-items:center}.select-icon{position:absolute;left:.85rem;width:15px;height:15px;color:#38bdf8;pointer-events:none;z-index:1}.custom-select{padding:.68rem 2.2rem .68rem 2.45rem;background:#070b14b3;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm, 10px);color:#f1f5f9;font-family:var(--font-main);font-size:.84rem;font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .2s cubic-bezier(.16,1,.3,1)}.custom-select:hover{border-color:#3b82f666;background-color:#0f172ad9}.custom-select:focus{outline:none;border-color:var(--brand-blue, #2563eb);box-shadow:0 0 0 3px #2563eb40}.custom-select option{background:#0f172a;color:#fff;padding:8px}.action-buttons{display:flex;gap:.65rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.68rem 1.15rem;border-radius:var(--radius-sm, 10px);font-family:var(--font-main);font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn svg{width:16px;height:16px}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb59;position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px #2563eb8c}.btn-secondary{background:#ffffff0d;color:#cbd5e1;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff38;color:#fff;transform:translateY(-2px)}.active-filters-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.active-filters-chips{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.filters-label{font-size:.78rem;color:#94a3b8;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;margin-right:.35rem}.filter-chip{display:inline-flex;align-items:center;gap:.45rem;font-size:.76rem;font-weight:500;color:#e2e8f0;background:#1e293bbf;border:1px solid rgba(255,255,255,.1);padding:.25rem .65rem;border-radius:9999px;animation:fadeIn .2s ease-out}.filter-chip strong{color:#38bdf8;font-weight:700}.filter-chip.tenant-gracko strong{color:#60a5fa}.filter-chip.tenant-gramo strong{color:#34d399}.filter-chip.tenant-kaiku strong{color:#fbbf24}.filter-chip.tenant-ttr strong{color:#c084fc}.filter-chip button{background:transparent;border:none;color:#94a3b8;cursor:pointer;display:inline-flex;align-items:center;padding:0;transition:color .15s}.filter-chip button svg{width:12px;height:12px}.filter-chip button:hover{color:#f87171}.btn-clear-all-filters{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:.74rem;font-weight:600;border-radius:9999px;padding:.25rem .65rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s ease}.btn-clear-all-filters:hover{background:#ef444433;border-color:#ef444473;color:#fff}.filter-results-counter{display:flex;align-items:center;gap:.65rem;font-size:.78rem;font-family:var(--font-mono, monospace);color:#10b981;font-weight:600;flex-wrap:wrap}.decoys-filter-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-family:var(--font-mono, monospace);background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:.2rem .65rem;border-radius:9999px;color:#34d399;font-weight:600}.decoys-filter-badge strong{color:#fff}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.table-card{background:#0b1221e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md, 16px);box-shadow:0 16px 40px #0000008c;overflow:hidden;position:relative}.table-header-meta{padding:1.25rem 1.6rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#0f172a99,#0b122133)}.table-title-group{display:flex;align-items:center;gap:.9rem}.table-badge-indicator{width:38px;height:38px;border-radius:10px;background:#2563eb26;border:1px solid rgba(37,99,235,.35);display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #2563eb40}.table-title-icon{width:18px;height:18px;color:#38bdf8}.table-main-title{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:.15rem}.table-count-text{font-size:.82rem;color:#94a3b8}.table-count-text strong{color:#fff}.table-header-badges{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.decoys-header-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-family:var(--font-mono, monospace);background:#10b9811a;border:1px solid rgba(16,185,129,.32);padding:.35rem .85rem;border-radius:9999px;color:#a7f3d0;box-shadow:0 0 12px #10b98126;transition:all var(--transition-fast)}.decoys-header-badge:hover{background:#10b98129;border-color:#10b98180;box-shadow:0 0 16px #10b98140}.decoys-header-badge .badge-shield-icon{width:14px;height:14px;color:#34d399}.decoys-header-badge strong{color:#fff;font-weight:700}.causality-header-badge{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;font-family:var(--font-mono, monospace);background:#10b98114;border:1px solid rgba(16,185,129,.28);padding:.35rem .85rem;border-radius:9999px;color:#e2e8f0}.causality-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981;animation:pulse-dot 2s infinite ease-in-out}.causality-formula{color:#34d399}.table-container{overflow-x:auto;position:relative;scrollbar-width:thin;scrollbar-color:rgba(59,130,246,.3) rgba(7,11,20,.5)}.table-container::-webkit-scrollbar{height:7px}.table-container::-webkit-scrollbar-track{background:#070b1480}.table-container::-webkit-scrollbar-thumb{background:#3b82f659;border-radius:9999px}.table-container::-webkit-scrollbar-thumb:hover{background:#3b82f699}.alerts-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;text-align:left;font-size:.88rem}.alerts-table th{padding:1rem 1.25rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;background:#070b14d9;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:5}.alerts-table td{padding:.95rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;transition:all .2s ease}.table-data-row{cursor:pointer;position:relative;transition:background-color .2s ease,transform .2s ease}.table-data-row:hover{background:linear-gradient(90deg,#2563eb1f,#0f172a99)!important}.table-data-row:hover td:first-child{border-left:3px solid #38bdf8;padding-left:calc(1.25rem - 3px)}.corrida-code-badge{display:inline-block;font-family:var(--font-mono, monospace);font-size:.82rem;font-weight:700;color:#93c5fd;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);padding:.2rem .55rem;border-radius:6px;letter-spacing:.03em}.tenant-pill-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .7rem;border-radius:9999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tenant-dot{width:7px;height:7px;border-radius:50%}.tenant-pill-gracko{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.35)}.tenant-pill-gracko .tenant-dot{background:#3b82f6;box-shadow:0 0 6px #3b82f6}.tenant-pill-gramo{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.35)}.tenant-pill-gramo .tenant-dot{background:#10b981;box-shadow:0 0 6px #10b981}.tenant-pill-kaiku{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.tenant-pill-kaiku .tenant-dot{background:#f59e0b;box-shadow:0 0 6px #f59e0b}.tenant-pill-ttr{background:#8b5cf626;color:#c084fc;border:1px solid rgba(139,92,246,.35)}.tenant-pill-ttr .tenant-dot{background:#8b5cf6;box-shadow:0 0 6px #8b5cf6}.datetime-cell{display:flex;flex-direction:column;gap:.15rem}.date-part{font-size:.76rem;color:#94a3b8;font-family:var(--font-mono, monospace)}.time-part{font-size:.85rem;font-weight:700;color:#f8fafc;font-family:var(--font-mono, monospace)}.incident-cell{display:flex;flex-direction:column;gap:.25rem;max-width:320px}.incident-code-tag{font-size:.82rem;font-weight:700;color:#fff;letter-spacing:-.01em}.incident-desc-text{font-size:.75rem;color:#94a3b8;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confidence-cell{display:flex;align-items:center;gap:.55rem}.confidence-meter-bg{width:52px;height:6px;background:#ffffff14;border-radius:9999px;overflow:hidden}.confidence-meter-fill{height:100%;border-radius:9999px;transition:width .3s ease}.confidence-value-text{font-family:var(--font-mono, monospace);font-weight:700;font-size:.8rem;color:#f1f5f9}.lead-pill{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono, monospace);font-size:.78rem;padding:.25rem .65rem;border-radius:8px;white-space:nowrap}.lead-pill-icon{width:13px;height:13px}.lead-pill.lead-ultra{color:#38bdf8;background:#06b6d41f;border:1px solid rgba(6,182,212,.35);box-shadow:0 0 10px #06b6d426}.lead-pill.lead-high{color:#34d399;background:#10b9811f;border:1px solid rgba(16,185,129,.35)}.lead-pill.lead-med{color:#fbbf24;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35)}.lead-pill.lead-pending{color:#94a3b8;background:#94a3b81f;border:1px solid rgba(148,163,184,.25)}.causality-verified-seal{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.25);padding:.25rem .6rem;border-radius:9999px;white-space:nowrap}.causality-seal-icon{width:14px;height:14px;color:#10b981}.cell-action-arrow{text-align:right;padding-right:1.25rem}.action-row-chevron{width:16px;height:16px;color:#64748b;transition:transform .2s cubic-bezier(.16,1,.3,1),color .2s}.table-data-row:hover .action-row-chevron{transform:translate(4px);color:#38bdf8}.table-empty-state{text-align:center;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty-icon-wrap{width:52px;height:52px;border-radius:50%;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.empty-icon{width:24px;height:24px;color:#f59e0b}.table-empty-state h4{font-size:1.1rem;font-weight:700;color:#fff}.table-empty-state p{font-size:.85rem;color:#94a3b8;max-width:400px}.empty-reset-btn{margin-top:.5rem}.pagination-wrapper{padding:1.15rem 1.6rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.08);background:#070b1466}.pagination-info-group{display:flex;align-items:center;gap:1.25rem}.pagination-range-text{font-size:.84rem;color:#94a3b8}.pagination-range-text strong{color:#fff}.rows-per-page-select-wrapper{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:#94a3b8}.rows-per-page-select{background:#0f172acc;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;padding:.25rem .5rem;font-size:.8rem;font-family:var(--font-main);cursor:pointer}.rows-per-page-select:focus{outline:none;border-color:#3b82f6}.pagination-controls{display:flex;align-items:center;gap:.35rem}.page-numbers-group{display:flex;align-items:center;gap:.25rem}.page-btn{min-width:32px;height:32px;padding:0 .5rem;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1)}.page-nav-btn svg{width:15px;height:15px}.page-btn:hover:not(:disabled){background:#2563eb33;border-color:var(--brand-blue, #2563eb);color:#fff;transform:translateY(-1px)}.page-btn.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:#3b82f6;box-shadow:0 0 12px #2563eb73}.page-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.modal-card{background:#0f172a;border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:100%;max-width:620px;box-shadow:0 25px 50px -12px #000000b3;overflow:hidden;transform:translateY(20px) scale(.97);transition:transform .25s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.5rem;background:#ffffff08;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.2rem;font-weight:700}.modal-close-btn{background:transparent;border:none;color:var(--text-dim);font-size:1.4rem;cursor:pointer;line-height:1;transition:color var(--transition-fast)}.modal-close-btn:hover{color:#fff}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.detail-row{display:grid;grid-template-columns:140px 1fr;font-size:.88rem;gap:1rem}.detail-label{color:var(--text-muted);font-weight:600}.detail-value{color:#fff}.timeline-visual{background:#00000059;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.6rem}.timeline-step{display:flex;align-items:center;gap:.85rem;font-size:.84rem}.timeline-dot{width:10px;height:10px;border-radius:50%}#csvFileInput{display:none}.footer-text{text-align:center;font-size:.82rem;color:var(--text-dim);padding-top:1rem}@media(max-width:1200px){.kpi-grid,.tenants-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:1024px){.visuals-split-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.canvas-container{height:260px}.controls-bar-main{flex-direction:column;align-items:stretch}.search-box-wrapper{min-width:100%}.filters-group{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.select-wrapper,.custom-select{width:100%}.action-buttons{width:100%;justify-content:flex-end}}@media(max-width:768px){.app-container{padding:1rem .85rem!important;gap:1.25rem!important}.header-glass{flex-direction:column;align-items:flex-start;padding:1.1rem 1.25rem!important;gap:1rem!important}.header-meta{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.brand-logo-svg{width:42px!important;height:42px!important}.brand-titles h1{font-size:1.35rem!important}.brand-tagline{font-size:.78rem!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:.85rem!important}.tenants-grid{grid-template-columns:1fr!important;gap:1rem!important}.table-header-meta{flex-direction:column;align-items:flex-start;gap:.85rem;padding:1.1rem 1.2rem!important}.table-header-badges{width:100%;flex-direction:column;gap:.5rem}.decoys-header-badge,.causality-header-badge{width:100%;justify-content:center}.pagination-wrapper{flex-direction:column;align-items:center;gap:1rem;padding:1rem 1.2rem!important;text-align:center}.pagination-info-group{flex-direction:column;gap:.5rem}.pagination-controls{flex-wrap:wrap;justify-content:center}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%;justify-content:center}.filters-group{grid-template-columns:1fr!important;gap:.65rem}.select-wrapper{width:100%}.modal-card{max-width:95vw!important;margin:1rem!important}.detail-row{grid-template-columns:1fr!important;gap:.35rem!important}}@media(max-width:480px){.kpi-grid{grid-template-columns:1fr!important}.page-numbers-group{display:none}.table-main-title{font-size:1.02rem!important}}.pixel-canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0;pointer-events:none;z-index:1;opacity:.6;transition:opacity .3s ease}.pixel-card{height:400px;width:300px;position:relative;overflow:hidden;display:grid;place-items:center;aspect-ratio:4 / 5;border:1px solid var(--pixel-card-border, #27272a);background:var(--pixel-card-background, #080d1a);border-radius:25px;isolation:isolate;transition:border-color .2s cubic-bezier(.5,1,.89,1);-webkit-user-select:none;user-select:none}.pixel-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;aspect-ratio:1;background:radial-gradient(circle,var(--pixel-card-active-color, transparent),transparent 75%);opacity:0;transition:opacity .6s cubic-bezier(.5,1,.89,1);pointer-events:none;z-index:0}.pixel-card:hover:before,.pixel-card:focus-within:before{opacity:1}.kpi-pixel-card{width:100%!important;height:100%!important;min-height:140px!important;aspect-ratio:auto!important;border-radius:var(--radius-md, 14px)!important;background:#0a101eeb!important;border:1px solid rgba(255,255,255,.08)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:relative;overflow:hidden;box-shadow:0 8px 24px #00000073;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.kpi-pixel-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--kpi-glow, var(--brand-blue)),transparent);z-index:3}.kpi-pixel-card:hover{transform:translateY(-3px);border-color:#3b82f659!important;box-shadow:0 12px 32px #0000008c}.kpi-card-content{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.35rem 1.4rem;display:flex;flex-direction:column;justify-content:space-between;z-index:2;pointer-events:none;text-shadow:0 2px 6px rgba(0,0,0,.7)}.kpi-card-content *{pointer-events:auto}.gradient-card-wrapper{height:100%;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.gradient-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:100%;width:100%;min-height:180px;overflow:hidden;border-radius:1.25rem;padding:1.5rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #00000073;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .35s ease;isolation:isolate}.gradient-card-wrapper:hover .gradient-card{transform:translateY(-4px) scale(1.015);box-shadow:0 16px 36px #000000a6}.gradient-card.gradient-blue{background:linear-gradient(135deg,#0e1934f2,#080e1cfa 55%,#122650d9);border-color:#3b82f638;color:#3b82f6}.gradient-card.gradient-blue:hover,.gradient-card.gradient-blue.is-active{border-color:#3b82f6bf;box-shadow:0 16px 40px -10px #000000b3,0 0 28px #2563eb59}.gradient-card.gradient-green{background:linear-gradient(135deg,#0a241af2,#06140ffa 55%,#0c3224d9);border-color:#10b98138;color:#10b981}.gradient-card.gradient-green:hover,.gradient-card.gradient-green.is-active{border-color:#10b981bf;box-shadow:0 16px 40px -10px #000000b3,0 0 28px #10b98159}.gradient-card.gradient-orange{background:linear-gradient(135deg,#281c0af2,#140e06fa 55%,#38240ed9);border-color:#f59e0b38;color:#f59e0b}.gradient-card.gradient-orange:hover,.gradient-card.gradient-orange.is-active{border-color:#f59e0bbf;box-shadow:0 16px 40px -10px #000000b3,0 0 28px #f59e0b59}.gradient-card.gradient-purple{background:linear-gradient(135deg,#201034f2,#10081cfa 55%,#2e164cd9);border-color:#8b5cf638;color:#8b5cf6}.gradient-card.gradient-purple:hover,.gradient-card.gradient-purple.is-active{border-color:#8b5cf6bf;box-shadow:0 16px 40px -10px #000000b3,0 0 28px #8b5cf659}.gradient-card.is-active{border-width:1.5px}.gradient-card.is-active .gradient-badge-dot{box-shadow:0 0 10px currentColor;animation:pulse-dot 1.8s infinite ease-in-out}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}}.gradient-card-graphic-wrap{position:absolute;right:-25px;bottom:-25px;width:190px;height:190px;opacity:.16;pointer-events:none;z-index:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s ease}.gradient-card-wrapper:hover .gradient-card-graphic-wrap{transform:scale(1.12) rotate(4deg);opacity:.28}.gradient-card-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}.gradient-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.gradient-badge{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:.3rem .75rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;color:#e2e8f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gradient-badge-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.gradient-count-badge{font-size:.8rem;font-weight:700;letter-spacing:.02em}.gradient-card-body{margin-bottom:.85rem}.gradient-title{font-size:1.32rem;font-weight:800;color:#fff;margin-bottom:.25rem;letter-spacing:-.02em}.gradient-description{font-size:.84rem;color:#94a3b8;line-height:1.4}.gradient-infra{font-size:.78rem;font-family:var(--font-mono, monospace);color:#cbd5e1;background:#0000004d;border:1px solid rgba(255,255,255,.05);padding:.45rem .7rem;border-radius:.5rem;margin-bottom:.85rem;display:flex;align-items:center;gap:.45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.infra-icon{width:14px;height:14px;flex-shrink:0;color:inherit}.gradient-threats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}.gradient-threat-tag{font-size:.72rem;font-weight:500;color:#cbd5e1;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:.25rem .55rem;border-radius:.375rem;transition:background-color .2s,border-color .2s}.gradient-card-wrapper:hover .gradient-threat-tag{background:#ffffff17;border-color:#ffffff26}.gradient-cta{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;font-weight:600;color:#fff;padding-top:.5rem;transition:color .2s}.cta-arrow{width:16px;height:16px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.gradient-card-wrapper:hover .cta-arrow{transform:translate(5px)}.metrics-monitor-card{background:var(--bg-surface, #0d1527);border:1px solid var(--border-glass, rgba(59, 130, 246, .22));border-radius:var(--radius-md, 14px);padding:1.25rem 1.4rem;box-shadow:0 10px 30px #00000073,0 0 20px #3b82f60a;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1)}.metrics-monitor-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#38bdf8,#818cf8,#10b981,transparent);opacity:.7}.monitor-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem}.monitor-title-group{display:flex;flex-direction:column;gap:.2rem;min-width:220px}.monitor-title{display:flex;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:700;color:#f8fafc;margin:0;letter-spacing:-.01em}.monitor-subtitle{font-size:.78rem;color:#94a3b8;margin:0;line-height:1.35}.monitor-controls-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.monitor-mode-group{display:inline-flex;background:#0f172acc;border:1px solid rgba(255,255,255,.08);padding:3px;border-radius:10px;gap:2px}.monitor-mode-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;background:transparent;border:none;border-radius:7px;color:#94a3b8;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.monitor-mode-btn:hover{color:#f1f5f9;background:#ffffff0d}.monitor-mode-btn.active{background:linear-gradient(135deg,#3b82f640,#6366f140);color:#38bdf8;border:1px solid rgba(56,189,248,.35);box-shadow:0 0 10px #38bdf826}.monitor-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease}.monitor-action-btn:hover{color:#ef4444;border-color:#ef44444d;background:#ef44441a}.live-telemetry-ticker{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:.75rem;padding:.55rem .75rem;background:#070b14a6;border:1px solid rgba(255,255,255,.04);border-radius:10px}@media(max-width:640px){.live-telemetry-ticker{grid-template-columns:repeat(2,1fr)}}.ticker-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .4rem}.ticker-label-group{display:flex;align-items:center;gap:.4rem}.ticker-indicator{width:7px;height:7px;border-radius:50%;position:relative}.ticker-indicator.pulse:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;background:inherit;opacity:.4;animation:ping 2s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(2.2);opacity:0}}.ticker-label{font-size:.72rem;color:#94a3b8;font-weight:500}.ticker-value{font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:700;color:#f8fafc}.monitor-chart-container{width:100%;height:240px;position:relative}.monitor-collapsed-banner{background:#0d152799;border:1px dashed rgba(59,130,246,.25);border-radius:var(--radius-md, 14px);padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;transition:all .3s ease}.collapsed-text{display:flex;align-items:center;gap:.6rem;color:#94a3b8;font-size:.84rem}.collapsed-actions{display:flex;align-items:center;gap:.5rem}.restore-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:8px;background:#3b82f626;border:1px solid rgba(59,130,246,.35);color:#38bdf8;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.restore-btn:hover{background:#3b82f64d;box-shadow:0 0 12px #38bdf840;transform:translateY(-1px)}.chart-empty-placeholder{width:100%;height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:#0f172a4d;border:1px dashed rgba(148,163,184,.15);border-radius:10px;gap:.45rem}.empty-placeholder-title{color:#94a3b8;font-size:.88rem;font-weight:600}.empty-placeholder-sub{color:#64748b;font-size:.76rem;max-width:400px;line-height:1.4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030712d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;opacity:0;visibility:hidden;transition:opacity .25s cubic-bezier(.16,1,.3,1),visibility .25s cubic-bezier(.16,1,.3,1)}.modal-backdrop.open{opacity:1;visibility:visible}.modal-card{background:#0b1221f5;border:1px solid rgba(59,130,246,.25);border-radius:1.25rem;width:100%;max-width:700px;max-height:90vh;box-shadow:0 25px 60px -10px #000000d9,0 0 35px #2563eb33;overflow-y:auto;position:relative;transform:translateY(20px) scale(.97);transition:transform .3s cubic-bezier(.16,1,.3,1);isolation:isolate;display:flex;flex-direction:column}.modal-backdrop.open .modal-card{transform:translateY(0) scale(1)}.modal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--modal-tenant-color, #3b82f6),#10b981);z-index:10}.modal-header-hero{padding:1.6rem 1.75rem 1.25rem;background:linear-gradient(180deg,#0f172acc,#0b122166);border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-meta-pills{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem}.modal-tenant-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border-radius:9999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#ffffff0f;border:1px solid currentColor}.modal-tenant-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.modal-corrida-pill{font-family:var(--font-mono, monospace);font-size:.74rem;font-weight:700;color:#93c5fd;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);padding:.25rem .6rem;border-radius:6px}.modal-status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;color:#34d399;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:.25rem .65rem;border-radius:9999px}.modal-title-row{display:flex;align-items:center;gap:.65rem}.modal-incident-icon-wrap{width:36px;height:36px;border-radius:10px;background:#f43f5e26;border:1px solid rgba(244,63,94,.3);display:flex;align-items:center;justify-content:center;color:#f43f5e;box-shadow:0 0 14px #f43f5e40}.modal-main-title{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.02em;font-family:var(--font-mono, monospace)}.modal-close-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#94a3b8;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.modal-close-btn:hover{background:#ef444433;border-color:#ef444466;color:#fca5a5;transform:rotate(90deg)}.modal-body-content{padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.4rem}.modal-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.modal-hero-card{background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.35rem;position:relative;overflow:hidden}.modal-hero-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--hero-accent, #3b82f6)}.modal-hero-label{font-size:.74rem;font-weight:600;color:#94a3b8;display:flex;align-items:center;gap:.35rem}.modal-hero-val{font-size:1.5rem;font-weight:800;font-family:var(--font-mono, monospace);color:#fff;line-height:1.1}.modal-hero-sub{font-size:.72rem;color:#64748b;font-weight:500}.modal-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.modal-info-box{background:#0f172a80;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.1rem;display:flex;flex-direction:column;gap:.65rem}.modal-box-header{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}.modal-box-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#cbd5e1}.modal-box-row strong{color:#fff}.modal-box-icon{width:15px;height:15px;color:#38bdf8;flex-shrink:0}.modal-diagnosis-quote{background:#070b1499;border-left:3px solid #38bdf8;border-radius:0 8px 8px 0;padding:.75rem .9rem;font-size:.84rem;color:#e2e8f0;line-height:1.45;font-style:italic}.modal-timeline-container{background:#070b148c;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.25rem 1.4rem}.timeline-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.timeline-title{font-size:.78rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:.4rem}.timeline-badge-formula{font-family:var(--font-mono, monospace);font-size:.74rem;color:#34d399;background:#10b9811a;padding:.2rem .55rem;border-radius:6px;border:1px solid rgba(16,185,129,.2)}.timeline-steps-flow{position:relative;display:flex;flex-direction:column;gap:1.15rem;padding-left:.5rem}.timeline-steps-flow:before{content:"";position:absolute;top:14px;bottom:14px;left:20px;width:2px;background:linear-gradient(180deg,#10b981,#38bdf8,#f43f5e);opacity:.4}.timeline-flow-node{display:flex;align-items:flex-start;gap:1rem;position:relative;z-index:1}.timeline-node-icon-wrap{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#0f172a;border:2px solid var(--node-color, #3b82f6);color:var(--node-color, #3b82f6);box-shadow:0 0 12px var(--node-color, #3b82f6)}.timeline-node-icon-wrap svg{width:14px;height:14px}.timeline-node-content{flex:1;display:flex;flex-direction:column;gap:.2rem;padding-top:.2rem}.timeline-node-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.timeline-node-title{font-size:.86rem;font-weight:700;color:#fff}.timeline-node-time{font-family:var(--font-mono, monospace);font-size:.78rem;color:#94a3b8}.timeline-node-desc{font-size:.78rem;color:#94a3b8;line-height:1.4}.modal-footer{padding:1.1rem 1.75rem;background:#070b1499;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;gap:.75rem}.modal-footer-info{font-size:.78rem;color:#64748b;display:flex;align-items:center;gap:.4rem}.modal-footer-actions{display:flex;align-items:center;gap:.65rem}@media(max-width:640px){.modal-hero-metrics{grid-template-columns:1fr;gap:.65rem}.modal-details-grid{grid-template-columns:1fr}.modal-node-header{flex-direction:column;align-items:flex-start}.modal-footer{flex-direction:column;align-items:stretch}.modal-footer-actions{width:100%}.modal-footer-actions .btn{flex:1;justify-content:center}}.coyote-launcher-btn{position:fixed;bottom:24px;right:24px;z-index:9990;display:flex;align-items:center;gap:.65rem;padding:.65rem 1.1rem;background:linear-gradient(135deg,#0f172a,#1e1b4b);border:1px solid rgba(56,189,248,.4);border-radius:9999px;box-shadow:0 10px 25px #0009,0 0 20px #38bdf840;color:#f8fafc;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);font-family:inherit}.coyote-launcher-btn:hover{transform:translateY(-3px) scale(1.03);border-color:#38bdf8;box-shadow:0 14px 30px #000000b3,0 0 28px #38bdf873}.launcher-avatar-wrap{position:relative;width:32px;height:32px;border-radius:50%;background:#38bdf826;display:flex;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.3)}.launcher-status-dot{position:absolute;bottom:-1px;right:-1px;width:9px;height:9px;border-radius:50%;background:#10b981;border:2px solid #0f172a;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.launcher-text-group{display:flex;flex-direction:column;text-align:left}.launcher-title{font-size:.85rem;font-weight:700;color:#f8fafc;display:flex;align-items:center;gap:.3rem}.launcher-subtitle{font-size:.7rem;color:#38bdf8;font-family:JetBrains Mono,monospace}.coyote-chat-modal{position:fixed;bottom:24px;right:24px;width:410px;max-width:calc(100vw - 32px);height:580px;max-height:calc(100vh - 48px);z-index:9999;display:flex;flex-direction:column;background:#0d1527f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(56,189,248,.3);border-radius:18px;box-shadow:0 20px 45px #000000bf,0 0 35px #38bdf826;overflow:hidden;animation:slide-up .28s cubic-bezier(.16,1,.3,1)}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.coyote-chat-header{padding:.85rem 1.1rem;background:linear-gradient(90deg,#0f172ae6,#1e1b4bcc);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.header-identity{display:flex;align-items:center;gap:.7rem}.header-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#38bdf833,#6366f133);border:1px solid rgba(56,189,248,.4);display:flex;align-items:center;justify-content:center;font-size:1.25rem;position:relative}.header-status-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#10b981;border:2px solid #0d1527}.header-info h4{margin:0;font-size:.95rem;font-weight:700;color:#f8fafc;display:flex;align-items:center;gap:.4rem}.header-badges{display:flex;align-items:center;gap:.35rem;margin-top:2px}.badge-gemini,.badge-eleven{font-size:.65rem;font-family:JetBrains Mono,monospace;padding:1px 6px;border-radius:4px;font-weight:600}.badge-gemini{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.badge-eleven{background:#a78bfa26;color:#c084fc;border:1px solid rgba(167,139,250,.3)}.header-actions{display:flex;align-items:center;gap:.35rem}.chat-tool-btn{width:30px;height:30px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.chat-tool-btn:hover{background:#ffffff1f;color:#f8fafc}.chat-tool-btn.active{background:#38bdf833;color:#38bdf8;border-color:#38bdf866}.chat-tool-btn.close:hover{background:#ef444433;color:#ef4444;border-color:#ef444466}.coyote-messages-box{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.85rem;scroll-behavior:smooth}.coyote-messages-box::-webkit-scrollbar{width:5px}.coyote-messages-box::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.chat-msg-row{display:flex;gap:.65rem;align-items:flex-start;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg-row.user{flex-direction:row-reverse}.msg-avatar{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.msg-avatar.coyote{background:#38bdf833;border:1px solid rgba(56,189,248,.35)}.msg-avatar.user-avatar{background:#8b5cf640;border:1px solid rgba(139,92,246,.4);color:#c4b5fd;font-size:.75rem;font-weight:700}.msg-content-wrap{max-width:82%;display:flex;flex-direction:column;gap:.25rem}.msg-bubble{padding:.75rem .95rem;border-radius:14px;font-size:.85rem;line-height:1.45;color:#e2e8f0;word-break:break-word}.chat-msg-row.assistant .msg-bubble{background:#0f172ad9;border:1px solid rgba(56,189,248,.2);border-top-left-radius:4px;box-shadow:0 4px 14px #00000040}.chat-msg-row.user .msg-bubble{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border-top-right-radius:4px;box-shadow:0 4px 14px #2563eb4d}.msg-audio-bar{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.06)}.audio-play-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:6px;background:#a78bfa26;border:1px solid rgba(167,139,250,.3);color:#c084fc;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.audio-play-btn:hover{background:#a78bfa4d;color:#f5d0fe;transform:scale(1.02)}.audio-play-btn.playing{background:#10b98133;border-color:#10b98166;color:#34d399}.soundwave-anim{display:inline-flex;align-items:center;gap:2px;height:12px}.soundwave-bar{width:2.5px;height:100%;background:#34d399;border-radius:2px;animation:soundwave-jump .8s ease-in-out infinite alternate}.soundwave-bar:nth-child(1){animation-delay:.1s;height:40%}.soundwave-bar:nth-child(2){animation-delay:.25s;height:90%}.soundwave-bar:nth-child(3){animation-delay:.4s;height:60%}.soundwave-bar:nth-child(4){animation-delay:.15s;height:100%}@keyframes soundwave-jump{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.coyote-suggestions{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.suggestions-title{font-size:.72rem;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.suggestion-chip{text-align:left;padding:.45rem .75rem;border-radius:9px;background:#38bdf814;border:1px solid rgba(56,189,248,.2);color:#7dd3fc;font-size:.77rem;cursor:pointer;transition:all .2s ease;font-family:inherit;display:flex;align-items:center;gap:.4rem}.suggestion-chip:hover{background:#38bdf833;border-color:#38bdf8;color:#f8fafc;transform:translate(3px)}.thinking-indicator{display:flex;align-items:center;gap:.4rem;padding:.55rem .85rem;background:#0f172ab3;border:1px dashed rgba(56,189,248,.3);border-radius:12px;color:#38bdf8;font-size:.75rem;font-style:italic;width:fit-content}.thinking-dots{display:flex;gap:3px}.thinking-dot{width:5px;height:5px;border-radius:50%;background:#38bdf8;animation:bounce-dot 1.2s infinite ease-in-out}.thinking-dot:nth-child(1){animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes bounce-dot{0%,80%,to{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}.coyote-input-area{padding:.75rem .95rem;background:#0a101ee6;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.5rem}.coyote-input-row{display:flex;align-items:center;gap:.5rem}.coyote-text-input{flex:1;background:#0f172acc;border:1px solid rgba(56,189,248,.25);border-radius:10px;padding:.6rem .85rem;color:#f8fafc;font-size:.82rem;outline:none;transition:all .2s ease;font-family:inherit}.coyote-text-input:focus{border-color:#38bdf8;box-shadow:0 0 10px #38bdf833}.coyote-text-input::placeholder{color:#64748b}.coyote-send-btn,.coyote-random-btn{width:36px;height:36px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.coyote-random-btn{background:#a78bfa26;border:1px solid rgba(167,139,250,.3);color:#c084fc}.coyote-random-btn:hover{background:#a78bfa4d;color:#f5d0fe;transform:rotate(15deg)}.coyote-send-btn{background:linear-gradient(135deg,#0284c7,#3b82f6);color:#fff;box-shadow:0 2px 8px #0284c759}.coyote-send-btn:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#2563eb);transform:scale(1.04)}.coyote-send-btn:disabled{opacity:.45;cursor:not-allowed}.input-subline{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;color:#64748b;font-family:JetBrains Mono,monospace}
