@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-VariableFont_wght-DIScfSlK.ttf)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-VariableFont_wght-C7M6Z1jt.ttf)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-Italic-VariableFont_wght-Detbahke.ttf)format("truetype");font-style:italic;font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-VariableFont_wght-BrlcHZ7m.ttf)format("truetype");font-style:normal;font-weight:100 800;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Italic-VariableFont_wght-CZO9PUqx.ttf)format("truetype");font-style:italic;font-weight:100 800;font-display:swap}:root{--color-primary:#fff;--color-secondary:#18d1ff;--color-tertiary:#ababab;--color-background:#141313;--color-background-deep:#0b0c10;--color-surface-lowest:#0e0e0e;--color-surface-low:#15171d;--color-surface-card:#181a20;--color-surface-container:#201f1f;--color-surface-container-high:#2a2a2a;--color-surface-container-highest:#353434;--color-text-main:#f1f5f9;--color-text-muted:#94a3b8;--color-text-subtle:#64748b;--color-text-inverse:#000;--color-border-subtle:#ffffff14;--color-border-default:#ffffff1a;--color-border-strong:#fff3;--color-border-secondary:#18d1ff59;--color-success:#1e6f23;--color-warning:#f59e0b;--color-error:#8f170a;--color-info:var(--color-secondary);--glow-primary:0 0 16px #ffffff29;--glow-secondary:0 0 18px #18d1ff3d;--glow-secondary-strong:0 0 24px #18d1ff61;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Geist", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--dashboard-max-width:1280px;--app-header-height:64px;--transition-fast:.12s ease;--transition-default:.18s ease}*{box-sizing:border-box}html,body,#root{min-height:100%}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at top right, #18d1ff14, transparent 34rem), radial-gradient(circle at top left, #ffffff09, transparent 28rem), var(--color-background);min-width:320px;color:var(--color-text-main);font-family:var(--font-body);overscroll-behavior:none;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}input[type=date]{min-height:30px;color:var(--color-primary);background:var(--color-surface-card);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin-top:4px;padding:4px 8px;display:block}input[type=date]:focus{border-color:var(--color-secondary);box-shadow:var(--glow-secondary);outline:none}button{cursor:pointer}::selection{background:var(--color-secondary);color:var(--color-text-inverse)}*{scrollbar-width:thin;scrollbar-color:#ffffff3d transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff57}.prts-app{min-height:100vh;color:var(--color-text-main);background:0 0}.prts-header{z-index:40;height:var(--app-header-height);border-bottom:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0c10e6;justify-content:space-between;align-items:center;gap:24px;padding:0 24px;display:flex;position:sticky;top:0}.prts-main{width:min(100%, var(--dashboard-max-width));margin:0 auto;padding:24px}.prts-dashboard-grid{grid-template-columns:1fr;gap:24px;display:grid}.prts-bottom-grid{grid-template-columns:1fr;align-items:stretch;gap:24px;display:grid}.prts-bottom-grid>section{height:100%}@media (width>=1024px){.prts-bottom-grid{grid-template-columns:5fr 7fr}}.prts-heading{color:var(--color-primary);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:700}.prts-heading-lg{font-size:18px;line-height:1.2}.prts-heading-md{font-size:15px;line-height:1.25}.prts-heading-sm{font-size:13px;line-height:1.25}.prts-body{color:var(--color-text-muted);font-family:var(--font-body);font-size:13px}.prts-label{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.prts-mono{font-family:var(--font-mono)}.prts-muted{color:var(--color-text-muted)}.prts-subtle{color:var(--color-text-subtle)}.prts-primary{color:var(--color-primary)}.prts-secondary{color:var(--color-secondary)}.prts-tertiary{color:var(--color-tertiary)}.prts-panel{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#181a209e;box-shadow:0 24px 64px #00000052}.prts-panel-padded{padding:20px}.prts-panel-header{border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.prts-panel-title-row{align-items:center;gap:8px;display:flex}.prts-panel-marker{background:var(--color-secondary);width:8px;height:8px;box-shadow:var(--glow-secondary);border-radius:999px;flex:none}.prts-panel-caption{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.prts-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=640px){.prts-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.prts-kpi-card{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:#0006;padding:12px}.prts-kpi-label{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;display:block}.prts-kpi-value{color:var(--color-primary);font-family:var(--font-mono);margin-top:2px;font-size:18px;font-weight:700;line-height:1.25;display:block}.prts-kpi-value-secondary{color:var(--color-secondary)}.prts-kpi-unit{color:var(--color-text-muted);font-size:11px;font-weight:400}.prts-button{min-height:32px;color:var(--color-primary);font-family:var(--font-mono);background:var(--color-surface-low);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);transition:background-color var(--transition-default), border-color var(--transition-default), color var(--transition-default), box-shadow var(--transition-default), transform var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.prts-button:hover{background:var(--color-surface-container);border-color:var(--color-border-strong)}.prts-button:active{transform:translateY(1px)}.prts-button-primary{color:var(--color-text-inverse);background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--glow-primary);font-weight:700}.prts-button-primary:hover{background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--glow-secondary)}.prts-button-secondary{color:var(--color-text-inverse);background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--glow-secondary);font-weight:700}.prts-button-secondary:hover{box-shadow:var(--glow-secondary-strong);background:#63e0ff;border-color:#63e0ff}.prts-segmented-control{background:var(--color-surface-card);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);align-items:center;gap:2px;padding:4px;display:inline-flex}.prts-segment{min-height:26px;color:var(--color-text-muted);font-family:var(--font-mono);border-radius:var(--radius-xs);transition:background-color var(--transition-default), color var(--transition-default), box-shadow var(--transition-default);background:0 0;border:0;padding:4px 10px;font-size:12px}.prts-segment:hover{color:var(--color-primary);background:#ffffff0f}.prts-segment-active{color:var(--color-text-inverse);background:var(--color-primary);box-shadow:var(--glow-primary);font-weight:700}.prts-chip{min-height:22px;color:var(--color-text-muted);font-family:var(--font-mono);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:#ffffff0d;align-items:center;gap:6px;padding:2px 8px;font-size:11px;line-height:1;display:inline-flex}.prts-chip-primary{color:var(--color-primary);border-color:#ffffff52}.prts-chip-secondary{color:var(--color-secondary);background:#18d1ff14;border-color:#18d1ff52}.prts-chip-success{color:var(--color-success);background:#34d3991a;border-color:#34d3994d}.prts-chip-warning{color:var(--color-warning);background:#f59e0b1a;border-color:#f59e0b4d}.prts-chip-error{color:var(--color-error);background:#ffb4ab1a;border-color:#ffb4ab4d}.prts-live-dot{background:var(--color-success);border-radius:999px;flex:none;width:6px;height:6px;animation:1.6s ease-in-out infinite prts-pulse;box-shadow:0 0 12px #34d399a6}@keyframes prts-pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.prts-run-list{flex-direction:column;gap:10px;display:flex}.prts-run-list-scroll{max-height:600px;padding-right:4px;overflow-y:auto}.prts-run-card{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:background-color var(--transition-default), border-color var(--transition-default), box-shadow var(--transition-default), transform var(--transition-fast);background:#15171da3;padding:14px;position:relative}.prts-run-card:hover{background:var(--color-surface-low);border-color:var(--color-border-strong)}.prts-run-card-selected{background:var(--color-surface-low);border-color:var(--color-secondary);box-shadow:var(--glow-secondary)}.prts-run-card:active{transform:translateY(1px)}.prts-rank-badge{width:24px;height:24px;color:var(--color-primary);font-family:var(--font-mono);border-radius:var(--radius-sm);background:#ffffff1a;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.prts-run-card-selected .prts-rank-badge{color:var(--color-text-inverse);background:var(--color-secondary);box-shadow:var(--glow-secondary)}.prts-energy-bar{background:#0000009e;border-radius:999px;width:100%;height:6px;overflow:hidden}.prts-energy-bar-fill{background:var(--color-tertiary);border-radius:inherit;height:100%}.prts-energy-bar-fill-active{background:var(--color-secondary);box-shadow:var(--glow-secondary)}.prts-chart-shell{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:#00000080;margin-top:4px;padding:16px}.prts-chart-header{border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.prts-chart-title{color:var(--color-primary);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.prts-chart-title:before{content:"";background:var(--color-secondary);width:6px;height:14px;box-shadow:var(--glow-secondary);display:block}.prts-chart-legend{color:var(--color-text-muted);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.prts-legend-item{align-items:center;gap:6px;display:inline-flex}.prts-legend-line{background:currentColor;width:18px;height:2px;display:inline-block}.prts-legend-line-secondary{color:var(--color-secondary)}.prts-legend-line-tertiary{color:var(--color-tertiary);border-top:1px dashed var(--color-tertiary);background:0 0}.prts-chart-grid-line{stroke:#ffffff0f;stroke-dasharray:3 3}.prts-chart-axis-line{stroke:#ffffff26}.prts-chart-axis-label{fill:var(--color-text-subtle);font-family:var(--font-mono);font-size:10px}.prts-chart-line-incoming{stroke:var(--color-secondary);stroke-width:2.5px;filter:drop-shadow(0 0 6px #18d1ff66)}.prts-chart-line-current{stroke:var(--color-tertiary);stroke-width:1.75px;stroke-dasharray:5 4}.prts-chart-point-selected{fill:var(--color-secondary);stroke:var(--color-background-deep);stroke-width:2px;filter:drop-shadow(0 0 8px #18d1ff8c)}.prts-daily-energy-chart{width:100%;height:300px;margin-top:12px}.prts-daily-energy-chart-message{padding:32px 0}.prts-daily-energy-chart-title{color:#18d1ff;margin-bottom:4px;font-weight:700}.prts-section-content{margin-top:16px}.prts-day-strip{border-top:1px solid #ffffff0d;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding-top:10px;display:grid}.prts-job-detail-card{flex-direction:column;gap:16px;height:100%;display:flex}.prts-job-detail-content{flex-direction:column;gap:12px;min-height:180px;display:flex}.prts-job-detail-tabs{width:fit-content;max-width:100%}.prts-job-detail-tab-content{flex:1;padding:4px 0}.prts-metric-comparison-row{border-top:1px solid #ffffff0f;padding:10px 0}.prts-metric-comparison-values{font-family:var(--font-mono);grid-template-columns:1fr 1fr auto;align-items:baseline;gap:16px;margin-top:4px;font-size:12px;display:grid}.prts-metric-delta-increase{color:var(--color-warning);font-weight:700}.prts-metric-delta-decrease{color:var(--color-success);font-weight:700}.prts-run-card-content{text-align:left;min-width:0}.prts-run-card-metrics{text-align:right;flex-shrink:0}@media (width<=639px){.prts-job-detail-tabs{width:100%;overflow-x:auto}.prts-metric-comparison-values{grid-template-columns:1fr;gap:4px}}@media (width>=768px){.prts-day-strip{grid-template-columns:repeat(14,minmax(0,1fr))}}.prts-day-button{min-width:0;color:var(--color-text-subtle);font-family:var(--font-mono);text-align:center;border-radius:var(--radius-sm);transition:background-color var(--transition-default), border-color var(--transition-default), color var(--transition-default), box-shadow var(--transition-default);background:0 0;border:1px solid #0000;padding:7px 4px;font-size:11px}.prts-day-button:hover{color:var(--color-primary);background:#ffffff0f}.prts-day-button-selected{color:var(--color-text-inverse);background:var(--color-secondary);border-color:var(--color-secondary);box-shadow:var(--glow-secondary);font-weight:700}.prts-day-button-date{font-size:9px;line-height:1.2;display:block}.prts-day-button-value{margin-top:2px;display:block}.prts-detail-header{border-bottom:1px solid var(--color-border-default);padding-bottom:12px}.prts-detail-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.prts-detail-title{color:var(--color-primary);font-family:var(--font-display);margin:12px 0 0;font-size:18px;font-weight:700;line-height:1.25}.prts-detail-description{color:var(--color-text-muted);margin:6px 0 0;font-size:13px;line-height:1.6}.prts-comparison-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=768px){.prts-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.prts-comparison-card{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:#00000057;padding:14px}.prts-comparison-card-highlight{border-color:var(--color-border-secondary);box-shadow:var(--glow-secondary)}.prts-comparison-title{color:var(--color-primary);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.prts-stat-row{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.prts-stat-label{color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px}.prts-stat-value{color:var(--color-primary);font-family:var(--font-mono);font-size:12px;font-weight:700}.prts-job-timeline-chart-style{width:100%;height:260px;margin-top:12px}.prts-flex{display:flex}.prts-flex-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.prts-flex-center{justify-content:center;align-items:center;display:flex}.prts-flex-wrap{flex-wrap:wrap}.prts-gap-sm{gap:8px}.prts-gap-md{gap:12px}.prts-gap-lg{gap:16px}.prts-stack-horizontal{display:flex}.prts-stack-sm{gap:8px}.prts-stack-md{gap:12px}.prts-stack-lg{gap:16px}.prts-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=767px){.prts-header{height:auto;min-height:var(--app-header-height);flex-wrap:wrap;padding:12px 16px}.prts-main,.prts-panel-padded{padding:16px}.prts-panel-header,.prts-chart-header{flex-direction:column;align-items:flex-start}}
