@charset "UTF-8";:root{--app-bg: #0B1220;--panel-bg: #121B2E;--panel-bg-raised: #182640;--panel-bg-inset: #0E1526;--border-color: #253355;--border-color-subtle: #1B2740;--accent-primary: #3DA9FC;--accent-primary-dim: #1E5FA8;--accent-secondary: #7C5CFC;--status-success: #34D399;--status-success-bg: rgba(52, 211, 153, .12);--status-warning: #FBBF24;--status-warning-bg: rgba(251, 191, 36, .12);--status-error: #F87171;--status-error-bg: rgba(248, 113, 113, .14);--status-info: #38BDF8;--status-info-bg: rgba(56, 189, 248, .12);--text-primary: #E8EDF7;--text-secondary: #9AA7C2;--text-muted: #64708C;--text-on-accent: #071018;--chart-1: #3DA9FC;--chart-2: #34D399;--chart-3: #FBBF24;--chart-4: #F87171;--chart-5: #7C5CFC;--chart-6: #F472B6;--chart-7: #2DD4BF;--chart-8: #FB923C;--elevation-1: 0 0 0 1px var(--border-color-subtle);--elevation-2: 0 4px 16px rgba(0,0,0,.35), 0 0 0 1px var(--border-color-subtle);--elevation-focus-glow: 0 0 0 3px rgba(61, 169, 252, .25);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--space-unit: 4px;--font-family-ui: "Inter", sans-serif;--font-family-mono: "JetBrains Mono", "IBM Plex Mono", monospace;--font-scale-xs: 11px;--font-scale-sm: 13px;--font-scale-base: 14px;--font-scale-md: 16px;--font-scale-lg: 20px;--font-scale-xl: 28px;--font-scale-display: 36px;--motion-fast: .12s;--motion-base: .2s;--motion-slow: .4s;--motion-easing: cubic-bezier(.4, 0, .2, 1);--sidebar-width: 220px;--sidebar-collapsed-width: 64px;--filter-panel-width: 240px;--header-height: 56px}[data-theme=light]{--app-bg: #F4F6FA;--panel-bg: #FFFFFF;--panel-bg-raised: #FFFFFF;--panel-bg-inset: #EEF1F7;--border-color: #DDE3EF;--border-color-subtle: #E7EBF3;--text-primary: #131B2C;--text-secondary: #4B5670;--text-muted: #8590A8;--elevation-2: 0 2px 12px rgba(20,30,60,.08), 0 0 0 1px var(--border-color-subtle)}body{font-family:Inter,sans-serif;font-size:14px}.kpi-value{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700;line-height:1.1}.kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary)}.table-header{font-size:11px;font-weight:600;color:var(--color-text-secondary)}.table-cell{font-size:13px;font-weight:400}.num-cell{font-family:JetBrains Mono,monospace;font-size:13px}[data-theme=dark] .mat-mdc-select-panel,.mat-mdc-select-panel{background:var(--panel-bg-raised)!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--app-bg);font-family:Inter,sans-serif;font-size:var(--font-scale-base);color:var(--text-primary);transition:background var(--motion-base) var(--motion-easing)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{display:grid;grid-template-rows:var(--header-height) 1fr;grid-template-columns:var(--sidebar-collapsed-width) 1fr var(--filter-panel-width);height:100vh;overflow:hidden;transition:grid-template-columns var(--motion-base) var(--motion-easing)}.shell.shell--expanded{grid-template-columns:var(--sidebar-width) 1fr var(--filter-panel-width)}.shell.shell--filter-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr 40px}.shell.shell--expanded.shell--filter-collapsed{grid-template-columns:var(--sidebar-width) 1fr 40px}.shell__header{grid-column:1/-1}.shell__sidebar{grid-row:2;overflow-y:auto}.shell__main{grid-row:2;overflow-y:auto;padding:20px}.shell__filters{grid-row:2;overflow-y:auto}.kpi-cards-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.charts-row{display:grid;gap:12px;margin-bottom:20px}.charts-row--2{grid-template-columns:1fr 1fr}.charts-row--3{grid-template-columns:2fr 1fr 1fr}.chart-card{background:var(--panel-bg);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle);padding:16px}.chart-card__title{font-size:var(--font-scale-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:12px}.chart-card--error{border-left:3px solid var(--status-error)}.chart-card--callout{background:var(--panel-bg-inset);border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);padding:12px 16px}echarts{width:100%;display:block}.data-table{width:100%;border-collapse:collapse}.data-table th{font-size:var(--font-scale-xs);font-weight:600;color:var(--text-secondary);padding:10px 12px;border-bottom:1px solid var(--border-color);text-align:left;text-transform:uppercase;letter-spacing:.05em;background:var(--panel-bg-raised);position:sticky;top:0;z-index:2}.data-table td{font-size:var(--font-scale-sm);font-weight:400;padding:8px 12px;border-bottom:1px solid var(--border-color-subtle);color:var(--text-primary)}.data-table tr:nth-child(2n) td{background:var(--panel-bg-inset)}.data-table tr:hover td{background:#3da9fc0f;border-left:3px solid var(--accent-primary);padding-left:9px}.data-table tr.row-red td{border-left:3px solid var(--status-error);background:var(--status-error-bg)}.data-table tr.row-amber td{border-left:3px solid var(--status-warning);background:var(--status-warning-bg)}.data-table tr.row-green td{border-left:3px solid var(--status-success);background:var(--status-success-bg)}.pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-scale-xs);font-weight:600;white-space:nowrap}.pill--green,.pill--success{background:var(--status-success-bg);color:var(--status-success)}.pill--amber,.pill--warning{background:var(--status-warning-bg);color:var(--status-warning)}.pill--red,.pill--error{background:var(--status-error-bg);color:var(--status-error)}.pill--grey{background:#94a3b81f;color:var(--text-muted)}.table-cell{font-family:var(--font-family-ui)}.num-cell{font-family:var(--font-family-mono);text-align:right;font-variant-numeric:tabular-nums}.prototype-watermark{position:fixed;bottom:12px;right:16px;font-size:10px;color:var(--text-muted);opacity:.5;z-index:9999}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--panel-bg) 25%,var(--panel-bg-raised) 50%,var(--panel-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite var(--motion-easing);border-radius:var(--radius-sm)}.skeleton--text{height:14px;width:100%;margin-bottom:8px}.skeleton--card{height:120px;width:100%}.skeleton--chart{height:260px;width:100%}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;flex-shrink:0}.status-dot--success{background:var(--status-success)}.status-dot--warning{background:var(--status-warning)}.status-dot--error{background:var(--status-error)}.status-dot--info{background:var(--status-info)}.status-dot--grey{background:var(--text-muted)}@keyframes status-pulse{0%{box-shadow:0 0 0 0 var(--status-warning)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.status-dot--pulse{animation:status-pulse 2s infinite var(--motion-easing)}.accent-bar{position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.accent-bar--success{background:var(--status-success)}.accent-bar--warning{background:var(--status-warning)}.accent-bar--error{background:var(--status-error)}.accent-bar--info{background:var(--status-info)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:var(--text-muted);text-align:center}.empty-state__icon{font-size:40px;width:40px;height:40px;margin-bottom:12px;opacity:.5}.empty-state__text{font-size:var(--font-scale-sm)}.avatar-initial{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary-dim),var(--accent-primary));color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.avatar-initial--sm{width:24px;height:24px;font-size:10px}.avatar-initial--ring{position:relative}.avatar-initial--ring:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--border-color)}.avatar-initial--ring.success:after{border-color:var(--status-success)}.avatar-initial--ring.warning:after{border-color:var(--status-warning)}.avatar-initial--ring.error:after{border-color:var(--status-error)}.avatar-initial--ring.info:after{border-color:var(--status-info)}.mat-mdc-table{background:transparent!important}.mat-mdc-paginator{background:transparent!important;color:var(--text-secondary)!important}.mat-mdc-select-value{color:var(--text-primary)!important}.mat-mdc-select-arrow{color:var(--text-muted)!important}.mat-mdc-option{font-size:13px!important}.mdc-text-field--outlined{--mdc-outlined-text-field-input-text-color: var(--text-primary)}.mdc-text-field--outlined .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline__notch,.mdc-text-field--outlined .mdc-notched-outline__trailing{border-color:var(--border-color)!important}.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__trailing{border-color:var(--accent-primary)!important}.mdc-text-field--outlined .mdc-floating-label{color:var(--text-muted)!important}.mat-mdc-form-field-focus-overlay{background:var(--accent-primary)!important;opacity:.08!important}.mat-mdc-dialog-surface,.mat-mdc-snack-bar-surface{background:var(--panel-bg-raised)!important;color:var(--text-primary)!important}.drop-zone{border:2px dashed var(--border-color);background:var(--panel-bg-inset);border-radius:var(--radius-md);padding:32px;text-align:center;transition:all var(--motion-base) var(--motion-easing);cursor:pointer}.drop-zone:hover,.drop-zone--active{border-color:var(--accent-primary);transform:scale(1.01);box-shadow:var(--elevation-focus-glow)}.segmented-progress{height:6px;border-radius:3px;background:var(--panel-bg-inset);overflow:hidden;position:relative}.segmented-progress__bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-primary-dim),var(--accent-primary));background-size:200% 100%;transition:width var(--motion-slow) var(--motion-easing)}.segmented-progress__bar--shimmer{animation:shimmer 1.5s infinite}.pipeline-dots-wrapper{display:flex;justify-content:center;width:100%}.pipeline-dots{display:flex;align-items:center;gap:0;width:max-content}.pipeline-dots__dot{width:14px;height:14px;min-width:14px;border-radius:50%;background:var(--border-color);flex-shrink:0;position:relative;transition:all var(--motion-base) var(--motion-easing)}.pipeline-dots__dot--complete{background:var(--status-success)}.pipeline-dots__dot--current{background:var(--accent-primary);box-shadow:0 0 0 4px #3da9fc33;animation:status-pulse 2s infinite}.pipeline-dots__dot--error{background:var(--status-error)}.pipeline-dots__dot--pending{background:var(--border-color);opacity:.5}.pipeline-dots__dot--error:after{content:"\2715";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:8px;color:#fff;font-weight:700}.pipeline-dots__line{width:70px;height:2px;background:var(--border-color);flex-shrink:0;transition:all var(--motion-base) var(--motion-easing)}.pipeline-dots__line--complete{background:var(--status-success)}.pipeline-dots__line--current{background:var(--accent-primary);opacity:.5}.pipeline-labels{display:flex;width:max-content;margin-top:4px;font-size:10px;color:var(--text-muted)}.pipeline-labels span{width:79px;flex-shrink:0;text-align:left;white-space:nowrap}.upload-dialog-container{padding:20px 24px;background:var(--surface-card);border-radius:12px}.upload-dialog-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f5f8ff,#fff);padding:14px 18px;border-radius:10px;border:1px solid var(--border-color);margin-bottom:16px}.upload-dialog-header h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.upload-dialog-header p{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.upload-dialog .mat-mdc-dialog-container{padding:0!important;border-radius:12px;overflow:hidden}
