:root{--bg-deep:#060b0e;--bg-surface:#0a1114;--bg-raised:#10191e;--bg-row-even:#080f12;--bg-row-hover:#152229;--accent:#ffb000;--accent-dim:#ffb00026;--accent-glow:#ffb00066;--accent2:#f90;--alert:#ff3b3b;--alert-dim:#ff3b3b1f;--alert-glow:#ff3b3b73;--text-primary:#ffc43d;--text-bright:#ffb000;--text-secondary:#d19000;--text-muted:#526c7a;--border:#1a2b35;--border-bright:#2b3c46;--status-active:#ffb000;--status-completed:#526c7a;--status-paused:#d19000;--status-failed:#ff3b3b;--row-height:36px;--header-height:32px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:13px;line-height:1.4}body:before{content:"";z-index:999999;pointer-events:none;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px;width:100%;height:100%;position:fixed;top:0;left:0}body:after{content:"";z-index:999998;pointer-events:none;background:radial-gradient(circle,#0000 60%,#00000080 120%);width:100%;height:100%;position:fixed;top:0;left:0}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.kpi-strip{background:var(--bg-surface);border-bottom:1px solid var(--border);background:var(--border);flex-shrink:0;gap:1px;display:flex}.kpi-card{background:var(--bg-surface);flex-direction:column;flex:1;gap:3px;min-width:0;padding:10px 16px 8px;display:flex;position:relative;overflow:hidden}.kpi-card:first-child{background:linear-gradient(160deg, #0d171c 0%, var(--bg-surface) 100%)}.kpi-card:nth-child(2){background:linear-gradient(160deg, #101c22 0%, var(--bg-surface) 100%)}.kpi-card:nth-child(3){background:linear-gradient(160deg, #0e1a20 0%, var(--bg-surface) 100%)}.kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:600}.kpi-value-wrap{align-items:baseline;gap:4px;min-height:28px;display:flex}.kpi-prefix{color:var(--text-secondary);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:13px}.kpi-value{font-variant-numeric:tabular-nums;color:var(--accent);min-width:180px;text-shadow:0 0 6px var(--accent-glow);font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700;display:inline-block;overflow:hidden}.kpi-card:nth-child(2) .kpi-value{color:var(--text-primary)}.kpi-card:nth-child(3) .kpi-value{color:var(--text-bright)}.kpi-value.rolling{animation:.18s ease-out kpiRoll}@keyframes kpiRoll{0%{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kpi-accent-bar{height:2px;position:absolute;bottom:0;left:0;right:0}.kpi-card:first-child .kpi-accent-bar{background:var(--accent)}.kpi-card:nth-child(2) .kpi-accent-bar{background:var(--status-completed)}.kpi-card:nth-child(3) .kpi-accent-bar{background:var(--status-active)}.kpi-pulse-card{flex:none;justify-content:center;align-items:center;width:80px;background:var(--bg-surface)!important;background:linear-gradient(160deg,#172b36 0%,#0f2430 100%)!important}.kpi-pulse-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.kpi-pulse-label{letter-spacing:.12em;color:var(--text-muted);font-size:8px;font-weight:700}.live-pulse{background:var(--status-active);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulseRing;box-shadow:0 0 #2ecc7166}.live-pulse.paused{background:var(--text-muted);box-shadow:none;animation:none}@keyframes pulseRing{0%{box-shadow:0 0 #2ecc7180}60%{box-shadow:0 0 0 5px #2ecc7100}to{box-shadow:0 0 #2ecc7100}}.control-bar{background:var(--bg-raised);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:7px 12px;display:flex}.pause-btn{border:1px solid var(--border-bright);color:var(--text-primary);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;padding:5px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;transition:border-color .15s ease-out,background .15s ease-out,color .15s ease-out;display:flex}.pause-btn:hover{background:var(--border);border-color:var(--accent)}.pause-btn[aria-pressed=true]{border-color:var(--alert);color:var(--alert);background:#ff5c5c14}.pause-btn .btn-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.search-input{background:var(--bg-deep);border:1px solid var(--border);min-width:160px;max-width:320px;color:var(--text-primary);border-radius:4px;outline:none;flex:1;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;transition:border-color .18s ease-out,box-shadow .18s ease-out}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #ffc80126}.search-input::placeholder{color:var(--text-muted)}.control-divider{background:var(--border);flex-shrink:0;width:1px;height:20px}.row-count-badge{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px}.row-count-badge strong{color:var(--accent)}.row-count-label{color:var(--text-muted)}.filter-wrap{position:relative}.filter-btn{background:var(--bg-deep);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:500;transition:border-color .15s ease-out,background .15s ease-out;display:flex;position:relative}.filter-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.filter-btn.active{border-color:var(--accent);color:var(--text-primary);background:#ffc80112}.filter-btn .filter-count{background:var(--accent);color:#000;text-align:center;border-radius:8px;min-width:14px;padding:0 5px;font-size:9px;font-weight:800;line-height:15px}.filter-popover{z-index:100;border:1px solid var(--border-bright);background:#0d2030;border-radius:4px;min-width:190px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 32px #0009}.filter-popover-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 10px 6px;font-size:9px;font-weight:700;display:flex}.filter-clear{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;transition:opacity .12s}.filter-clear:hover{opacity:.75}.filter-option{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:5px 10px;font-size:11px;transition:background .1s;display:flex}.filter-option:hover{background:var(--bg-raised);color:var(--text-primary)}.filter-option input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.layout-toggle-bar{border-bottom:1px solid var(--border);background:#0d2030;flex-shrink:0;align-items:center;gap:12px;padding:4px 12px;display:flex}.layout-toggle-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:9px;font-weight:700}.toggle-item{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:10px;display:flex}.toggle-item input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.main-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.panels-container{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.grid-panel{flex-direction:column;flex:1;min-height:0;transition:filter .15s ease-out;display:flex;overflow:hidden}.grid-panel.is-paused{filter:saturate(.55)brightness(.85)}.grid-header{border-bottom:2px solid var(--border-bright);background:#0d2030;flex-shrink:0;display:flex}.grid-scroll-container{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent;flex:1;position:relative;overflow:hidden scroll}.grid-scroll-container::-webkit-scrollbar{width:5px}.grid-scroll-container::-webkit-scrollbar-track{background:0 0}.grid-scroll-container::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}.grid-spacer{position:absolute;top:0;left:0;right:0}.grid-row-pool{pointer-events:none;position:absolute;top:0;left:0;right:0}.col-header{height:var(--header-height);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:none;border-right:1px solid var(--border);background:0 0;flex-shrink:0;align-items:center;gap:5px;padding:0 8px;font-size:9px;font-weight:700;transition:color .12s ease-out,background .12s ease-out;display:flex;position:relative;overflow:hidden}.col-header:hover{color:var(--text-primary);background:#ffffff08}.col-header.sorted{color:var(--accent);background:#ffc8010f}.col-header.sorted:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.col-header .sort-arrow{color:var(--accent);flex-shrink:0;font-size:11px;font-weight:900;line-height:1;transition:transform .15s ease-out;display:inline-block}.col-header .sort-badge{background:var(--accent);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;font-size:8px;font-weight:800;display:flex}.grid-row{height:var(--row-height);border-bottom:1px solid var(--border);will-change:transform;pointer-events:auto;cursor:default;align-items:center;display:flex;position:absolute;left:0;right:0}.grid-row:hover{background:var(--bg-row-hover)!important}.grid-row.row-even{background:var(--bg-row-even)}.grid-row.row-odd{background:var(--bg-deep)}.grid-row.row-alert-flash{animation:.75s ease-out forwards rowAlertDoubleBlink}@keyframes rowAlertDoubleBlink{0%,to{background:0 0}15%,45%{background:#ff3b3b40}30%,60%{background:#ff3b3b0d}}.grid-row.row-failed-state{animation:3s ease-in-out infinite failedPulse}@keyframes failedPulse{0%,to{box-shadow:inset 0 0 0 1px #ff3b3b00}50%{box-shadow:inset 0 0 0 1px #ff3b3b40}}.cell{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);border-right:1px solid var(--border);flex-shrink:0;align-items:center;height:100%;padding:0 8px;font-size:12px;display:flex;overflow:hidden}.cell.col-project-name,.cell.col-automation-type,.cell.col-department,.cell.col-country,.cell.col-industry{white-space:nowrap;text-overflow:ellipsis;line-height:var(--row-height);padding:0 8px;display:block;overflow:hidden}.cell.col-project-id{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.cell.col-project-name{color:var(--text-bright);text-shadow:0 0 4px var(--accent-glow);font-size:12px;font-weight:500}.cell.numeric{font-variant-numeric:tabular-nums;color:var(--text-secondary);justify-content:flex-end;font-family:JetBrains Mono,monospace}.cell.currency{font-variant-numeric:tabular-nums;color:var(--text-primary);justify-content:flex-end;font-family:JetBrains Mono,monospace}.cell.high-savings{color:var(--text-bright);text-shadow:0 0 4px var(--accent-glow)}.cell.positive-roi{color:var(--status-active);text-shadow:0 0 4px var(--accent-glow)}.cell.negative-roi{color:var(--alert)}.status-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);border-radius:2px;align-items:center;gap:6px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;display:inline-flex;background:var(--bg-deep)!important;border:1px solid var(--border)!important}.status-badge:before{content:"";background:var(--text-muted);border-radius:50%;width:6px;height:6px;display:inline-block}.status-badge.Active{color:var(--text-bright);border-color:var(--accent-dim)!important}.status-badge.Active:before{background:var(--accent);box-shadow:0 0 6px var(--accent)}.status-badge.Completed{color:var(--text-muted)}.status-badge.Completed:before{background:var(--text-muted)}.status-badge.Paused{color:var(--text-secondary)}.status-badge.Paused:before{background:var(--text-secondary);box-shadow:0 0 4px var(--text-secondary)}.status-badge.Cancelled{color:var(--text-muted)}.status-badge.Cancelled:before{background:var(--text-muted)}.status-badge.Failed{color:var(--alert)!important;border-color:var(--alert-dim)!important}.status-badge.Failed:before{background:var(--alert);box-shadow:0 0 8px var(--alert);animation:1s step-end infinite indicatorBlink}@keyframes indicatorBlink{50%{opacity:.3}}.chart-panel{background:var(--bg-surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow:hidden}.chart-panel-header{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 12px 6px;font-size:9px;font-weight:700}.chart-canvas-wrap{flex:1;padding:10px 8px;overflow:hidden}.chart-canvas-wrap canvas{width:100%!important}.paused-overlay{color:#fff;letter-spacing:.1em;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ff5c5ceb;border:1px solid #ff5c5c80;border-radius:4px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:700;display:flex;position:fixed;bottom:12px;right:12px}.col-project-id{flex-shrink:0;width:88px}.col-project-name{flex-grow:1;flex-shrink:1;width:200px;min-width:160px}.col-status{flex-shrink:0;width:100px}.col-automation-type{flex-shrink:0;width:160px}.col-department{flex-shrink:0;width:140px}.col-country{flex-shrink:0;width:110px}.col-industry{flex-shrink:0;width:155px}.col-budget{flex-shrink:0;width:110px}.col-annual-savings{flex-shrink:0;width:120px}.col-roi{flex-shrink:0;width:80px}.col-robots{flex-shrink:0;width:72px}.col-hours-saved{flex-shrink:0;width:90px}@media (prefers-reduced-motion:reduce){.kpi-value.rolling,.grid-row.row-alert-flash,.grid-row.row-failed-state,.status-badge.badge-failed-glow,.live-pulse{transition:none!important;animation:none!important}}.insp-backdrop{z-index:900;cursor:pointer;background:#0000008c;animation:.18s ease-out inspBackdropIn;position:fixed;inset:0}@keyframes inspBackdropIn{0%{opacity:0}to{opacity:1}}.insp-panel{z-index:910;background:var(--bg-surface);border-left:1px solid var(--border-bright);flex-direction:column;width:min(520px,92vw);animation:.22s cubic-bezier(.22,1,.36,1) inspPanelIn;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-8px 0 40px #000000b3,-1px 0 #ffb0001f}@keyframes inspPanelIn{0%{opacity:.5;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.insp-header{border-bottom:1px solid var(--border-bright);background:linear-gradient(160deg, #0d1f2a 0%, var(--bg-surface) 100%);flex-shrink:0;padding:14px 16px 12px;position:relative}.insp-header-id{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:10px}.insp-header-name{color:var(--text-bright);text-shadow:0 0 8px var(--accent-glow);letter-spacing:.02em;white-space:normal;word-break:break-word;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;line-height:1.2}.insp-header-status{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.insp-header-hint{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:700}.insp-close-btn{border:1px solid var(--border-bright);color:var(--text-muted);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;transition:border-color .12s ease-out,color .12s ease-out,background .12s ease-out;position:absolute;top:12px;right:12px}.insp-close-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.insp-body{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent;flex:1;min-height:0;padding:0 0 24px;overflow:hidden auto}.insp-body:after{content:"";height:60px;display:block}.insp-body::-webkit-scrollbar{width:4px}.insp-body::-webkit-scrollbar-track{background:0 0}.insp-body::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.insp-section-header{border-bottom:1px solid var(--border);background:#08151d;align-items:center;gap:8px;margin-top:4px;padding:10px 16px 6px;display:flex}.insp-section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.75;font-size:9px;font-weight:800}.insp-fields-group{padding:4px 0}.insp-field{border-bottom:1px solid #1a2b3580;align-items:baseline;gap:8px;min-height:30px;padding:5px 16px;display:flex}.insp-field:last-child{border-bottom:none}.insp-field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;width:130px;min-width:130px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.insp-field-value{color:var(--text-primary);word-break:break-word;flex:1;font-family:JetBrains Mono,monospace;font-size:12px}.insp-field-value.numeric{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.insp-field-value.currency{font-variant-numeric:tabular-nums;color:var(--text-primary)}.insp-field-value.high-savings{color:var(--text-bright);text-shadow:0 0 4px var(--accent-glow)}.insp-field-value.positive-roi{color:var(--status-active);text-shadow:0 0 4px var(--accent-glow)}.insp-field-value.negative-roi{color:var(--alert)}.insp-relational-block{background:#ffb0000a;border:1px solid #ffb0002e;border-radius:3px;margin:8px 12px;overflow:hidden}.insp-relational-row{color:var(--text-secondary);border-bottom:1px solid #ffb0001a;flex-direction:column;gap:3px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.5;display:flex}.insp-relational-row:last-child{border-bottom:none}.insp-relational-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);opacity:.7;margin-bottom:2px;font-size:9px;font-weight:800;display:block}.insp-relational-value{color:var(--text-secondary);font-size:11px;line-height:1.6;display:block}.insp-relational-pending{color:var(--text-muted);letter-spacing:.05em;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:10px}.grid-panel.is-paused .grid-row-pool{cursor:crosshair}.title-bar{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:stretch;height:38px;display:flex}.title-bar-brand{align-self:center;align-items:baseline;gap:16px;padding:0 16px;display:flex}.title-bar-name{color:var(--accent);text-shadow:0 0 6px var(--accent-glow);letter-spacing:.1em;margin:0;font-size:14px;font-weight:700}.title-bar-tagline{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.title-pulse{border-left:1px solid var(--border);height:100%}
