body.mtv-active{margin:0;padding:0;background:#000;overflow:hidden;height:100vh}.mtv-root{--bg: #0a0a12;--panel: #12121c;--panel-2: #171722;--border: #1f1f2e;--border-2: #2a2a3d;--text: #e8e8ef;--text-dim: #8a8aa0;--text-mute: #5a5a70;--ok: oklch(.74 .16 145);--warn: oklch(.78 .17 60);--crit: oklch(.66 .22 25);--ok-bg: color-mix(in oklab, var(--ok) 18%, transparent);--warn-bg: color-mix(in oklab, var(--warn) 20%, transparent);--crit-bg: color-mix(in oklab, var(--crit) 22%, transparent);--font-sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mtv-root *{box-sizing:border-box}.mtv-root .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mtv-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center;overflow:hidden}.mtv-stage-inner{width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);aspect-ratio:16 / 9;container-type:inline-size;background:var(--bg);--fz-xs: clamp(12px, .469cqw, 18px);--fz-sm: clamp(13px, .521cqw, 20px);--fz-md: clamp(14px, .573cqw, 22px);--fz-lg: clamp(15px, .625cqw, 24px);--fz-xl: clamp(16px, .677cqw, 26px);--fz-2xl: clamp(17px, .729cqw, 28px);--fz-3xl: clamp(20px, .885cqw, 34px);--fz-4xl: clamp(22px, 1.041cqw, 40px);--fz-5xl: clamp(48px, 2.291cqw, 88px);--sp-1: clamp(4px, .156cqw, 6px);--sp-2: clamp(6px, .208cqw, 8px);--sp-3: clamp(8px, .26cqw, 10px);--sp-4: clamp(8px, .313cqw, 12px);--sp-5: clamp(10px, .365cqw, 14px);--sp-6: clamp(10px, .417cqw, 16px);--sp-7: clamp(12px, .469cqw, 18px);--sp-8: clamp(12px, .521cqw, 20px);--sp-9: clamp(14px, .625cqw, 24px);--sp-10: clamp(16px, .729cqw, 28px);--sp-11: clamp(16px, .833cqw, 32px);--sp-12: clamp(20px, 1.041cqw, 40px);--sp-13: clamp(20px, 1.25cqw, 48px);--h-bar: clamp(6px, .26cqw, 10px);--h-skel-line: clamp(17px, .729cqw, 28px);--h-skel-row: clamp(32px, 1.563cqw, 60px);--h-skel-val: clamp(48px, 2.291cqw, 88px);--h-skel-evt: clamp(40px, 2.083cqw, 80px);--h-skel-prj: clamp(140px, 7.5cqw, 280px);--h-swatch: clamp(28px, 1.146cqw, 44px);--w-swatch: clamp(4px, .156cqw, 6px)}.dash{width:100%;height:100%;padding:var(--sp-13);display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto 1fr;grid-template-areas:"header header" "servers notion";gap:var(--sp-11);background:radial-gradient(ellipse at 20% 0%,rgba(79,140,255,.05),transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(176,102,255,.05),transparent 60%),var(--bg)}.zone{background:var(--panel);border:1px solid var(--border);border-radius:var(--sp-6);padding:var(--sp-11) var(--sp-12);display:flex;flex-direction:column;min-width:0;min-height:0}.zone-header{grid-area:header}.zone-servers{grid-area:servers}.zone-notion{overflow:hidden}.right-stack{grid-area:notion;display:grid;grid-template-rows:1fr 4fr;gap:var(--sp-9);min-height:0;min-width:0}.right-stack>.zone{min-height:0;min-width:0}.zone-title-bar{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-10);gap:var(--sp-9)}.zone-title{font-weight:700;font-size:var(--fz-4xl);letter-spacing:.18em;color:var(--text);text-transform:uppercase}.zone-meta{font-family:var(--font-mono);font-size:var(--fz-md);color:var(--text-mute);letter-spacing:.04em;display:inline-flex;align-items:center;gap:var(--sp-5)}.zone-stale-row{display:flex;justify-content:flex-end;margin-bottom:var(--sp-5)}.stale-chip{font-family:var(--font-mono);font-size:var(--fz-xs);font-weight:600;letter-spacing:.04em;padding:4px var(--sp-4);border-radius:999px;background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in oklab,var(--warn) 40%,transparent);text-transform:uppercase}.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-9);flex:1;align-items:stretch}.kpi{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--sp-4);padding:var(--sp-10) var(--sp-11);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-6);min-width:0}.kpi-label{font-size:var(--fz-lg);font-weight:500;color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{font-size:var(--fz-5xl);line-height:1;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value .big{font-size:inherit}.kpi-foot{display:flex;align-items:baseline;gap:var(--sp-5);font-size:var(--fz-lg);color:var(--text-mute)}.kpi-foot-label{color:var(--text-mute);letter-spacing:.02em}.kpi-date{font-family:var(--font-sans);color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delta{display:inline-flex;align-items:baseline;gap:var(--sp-2);font-family:var(--font-mono);font-weight:600;font-size:var(--fz-2xl)}.delta-big{font-size:var(--fz-5xl);font-weight:600;line-height:1}.delta-up{color:var(--ok)}.delta-down{color:var(--crit)}.delta-neutral{color:var(--text-dim)}.delta-arrow{font-size:.8em}.srv-table{display:flex;flex-direction:column;flex:1;min-height:0}.srv-head,.srv-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:var(--sp-6);padding:var(--sp-5) var(--sp-4)}.srv-head{font-size:var(--fz-lg);font-weight:500;color:var(--text-mute);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:var(--sp-5)}.srv-row{flex:1;min-height:0;border-bottom:1px solid var(--border);transition:background .6s ease,opacity .6s ease}.srv-row:last-child{border-bottom:none}@property --srv-pulse-warn{syntax: "<percentage>"; inherits: true; initial-value: 9%;}@property --srv-pulse-crit{syntax: "<percentage>"; inherits: true; initial-value: 13%;}.srv-table{animation:srv-pulse-warn 2s ease-in-out infinite,srv-pulse-crit 1.1s ease-in-out infinite}@keyframes srv-pulse-warn{0%,to{--srv-pulse-warn: 9%}50%{--srv-pulse-warn: 22%}}@keyframes srv-pulse-crit{0%,to{--srv-pulse-crit: 35%}50%{--srv-pulse-crit: 75%}}.srv-row.is-degraded{background:color-mix(in oklab,var(--warn) var(--srv-pulse-warn),transparent)}.srv-row.is-down{background:color-mix(in oklab,var(--crit) var(--srv-pulse-crit),transparent)}.srv-row.is-down .srv-name:after{content:"DOWN";margin-left:var(--sp-5);font-family:var(--font-mono);font-size:var(--fz-xs);font-weight:700;letter-spacing:.08em;color:var(--crit);background:var(--crit-bg);padding:4px var(--sp-3);border-radius:6px;border:1px solid color-mix(in oklab,var(--crit) 40%,transparent)}.srv-row.is-degraded .srv-name:after{content:"DEGRADED";margin-left:var(--sp-5);font-family:var(--font-mono);font-size:var(--fz-xs);font-weight:700;letter-spacing:.06em;color:var(--warn);background:var(--warn-bg);padding:4px var(--sp-3);border-radius:6px;border:1px solid color-mix(in oklab,var(--warn) 40%,transparent)}.col-name{display:flex;align-items:center;gap:var(--sp-6);min-width:0}.srv-swatch{width:var(--w-swatch);height:var(--h-swatch);border-radius:3px;flex:0 0 auto;box-shadow:0 0 18px currentColor}.srv-name{font-family:var(--font-mono);font-size:var(--fz-4xl);color:var(--text);letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center}.col-num{font-size:var(--fz-4xl);color:var(--text);text-align:left}.col-delta,.col-delta .delta,.col-tps{font-size:var(--fz-2xl)}.col-up{font-size:var(--fz-3xl);display:inline-flex;align-items:center;gap:var(--sp-2)}.uptime-ok{color:var(--text)}.uptime-crit{color:var(--crit)}.uptime-na{color:var(--text-mute)}.warn-glyph{font-size:.9em}.badge{display:inline-block;padding:var(--sp-2) var(--sp-6);border-radius:var(--sp-3);font-weight:600;font-size:var(--fz-3xl);letter-spacing:.02em;line-height:1}.badge-ok{background:var(--ok-bg);color:var(--ok);border:1px solid color-mix(in oklab,var(--ok) 40%,transparent)}.badge-warn{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in oklab,var(--warn) 40%,transparent)}.badge-crit{background:var(--crit-bg);color:var(--crit);border:1px solid color-mix(in oklab,var(--crit) 45%,transparent)}.badge-mute{background:#8a8aa01a;color:var(--text-mute);border:1px solid var(--border-2)}.srv-legend{margin-top:var(--sp-8);padding-top:var(--sp-8);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-9);flex-wrap:wrap}.legend-items{display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap}.legend-item .badge{font-size:var(--fz-md);padding:var(--sp-2) var(--sp-4)}.legend-foot{font-family:var(--font-mono);font-size:var(--fz-sm);color:var(--text-mute);letter-spacing:.02em}.notion-body{display:flex;flex-direction:column;gap:var(--sp-10);flex:1;min-height:0}.notion-sub{display:flex;flex-direction:column;min-height:0}.notion-sub-stretch{flex:1;min-height:0}.notion-sub-title{font-size:var(--fz-xl);font-weight:500;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--sp-7)}.evt-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-7)}.evt{display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-7) var(--sp-9);min-height:clamp(110px,6cqw,220px);background:var(--panel-2);border:1px solid var(--border);border-left:6px solid #22c55e;border-radius:var(--sp-4);min-width:0}.evt-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.evt-type-pill{font-family:var(--font-mono);font-size:var(--fz-md);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:var(--sp-2) var(--sp-5);border-radius:999px;border:1px solid color-mix(in oklab,currentColor 45%,transparent);background:color-mix(in oklab,currentColor 18%,transparent);white-space:nowrap;line-height:1}.evt-title{font-size:var(--fz-xl);font-weight:600;color:var(--text);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.evt-date{font-size:var(--fz-md);color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;font-weight:500}.evt-days{font-size:var(--fz-xl);color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;font-weight:700}.prj-list{display:grid;grid-template-rows:1fr 1fr;gap:var(--sp-7);flex:1;min-height:0}.prj{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--sp-3);padding:var(--sp-5) var(--sp-9) var(--sp-7);display:flex;flex-direction:column;justify-content:flex-start;min-height:0}.prj.prj-placeholder{border-style:dashed;border-color:var(--border-2);background:transparent;justify-content:center}.prj.prj-placeholder .prj-rings{opacity:.55}.prj-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--sp-6);margin-bottom:var(--sp-3)}.prj-icon{font-size:var(--fz-3xl);line-height:1}.prj-title{font-size:var(--fz-2xl);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prj-end-date{font-size:var(--fz-xl);color:var(--text);letter-spacing:.02em;white-space:nowrap;font-weight:600}.prj-end-label{color:var(--text-mute);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;font-size:var(--fz-sm);font-weight:500}.prj-rings{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-9);align-items:center;align-content:center;flex:1;min-height:0;container-type:size}.prj-ring{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center;min-width:0;min-height:0}.prj-ring-svg{width:clamp(40px,min(22cqi,60cqb),130px);height:clamp(40px,min(22cqi,60cqb),130px);display:block}.prj-ring-label{font-family:var(--font-sans);color:var(--text-mute);font-size:var(--fz-md);letter-spacing:.08em;text-transform:uppercase}.skel{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;border-radius:var(--sp-2);animation:mtv-shimmer 1.6s linear infinite;display:inline-block}.skel-line{height:var(--h-skel-line);width:100%}.skel-value{height:var(--h-skel-val);width:70%}.skel-row{flex:1;min-height:var(--h-skel-row);width:100%;border-radius:var(--sp-3);margin-bottom:4px}.skel-evt-row{display:block;width:100%;height:100%;min-height:clamp(110px,6cqw,220px);border-radius:var(--sp-4)}.skel-prj-row{display:block;width:100%;height:100%;min-height:var(--h-skel-prj);border-radius:var(--sp-3)}.zone-services .svc-row{display:flex;flex:1;align-items:center;justify-content:space-around;gap:var(--sp-9);min-height:0;min-width:0}.svc-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);min-width:0}.svc-dot{width:clamp(20px,1.15cqw,36px);height:clamp(20px,1.15cqw,36px);border-radius:50%;background:var(--text-mute);box-shadow:0 0 0 4px color-mix(in oklab,var(--text-mute) 18%,transparent)}.svc--ok .svc-dot{background:var(--ok);box-shadow:0 0 0 6px color-mix(in oklab,var(--ok) 22%,transparent);animation:svc-pulse-ok 2.4s ease-in-out infinite}.svc--degraded .svc-dot{background:var(--warn);box-shadow:0 0 0 6px color-mix(in oklab,var(--warn) 28%,transparent);animation:svc-pulse-warn 1.8s ease-in-out infinite}.svc--down .svc-dot{background:var(--crit);box-shadow:0 0 0 6px color-mix(in oklab,var(--crit) 28%,transparent);animation:svc-pulse-down 1.4s ease-in-out infinite}@keyframes svc-pulse-ok{0%,to{box-shadow:0 0 0 6px color-mix(in oklab,var(--ok) 22%,transparent)}50%{box-shadow:0 0 0 11px color-mix(in oklab,var(--ok) 8%,transparent)}}@keyframes svc-pulse-warn{0%,to{box-shadow:0 0 0 6px color-mix(in oklab,var(--warn) 28%,transparent)}50%{box-shadow:0 0 0 11px color-mix(in oklab,var(--warn) 12%,transparent)}}@keyframes svc-pulse-down{0%,to{box-shadow:0 0 0 6px color-mix(in oklab,var(--crit) 28%,transparent)}50%{box-shadow:0 0 0 11px color-mix(in oklab,var(--crit) 12%,transparent)}}.svc-label{font-size:var(--fz-2xl);font-weight:700;letter-spacing:.1em;color:var(--text);text-transform:uppercase;text-align:center}.svc-rt{font-size:var(--fz-sm);color:var(--text-mute);letter-spacing:.02em;font-weight:500}.svc-rt--ok{color:var(--text-mute);opacity:.7}.svc-rt--down{color:var(--crit);font-weight:700;letter-spacing:.12em}.svc--degraded .svc-rt{color:var(--warn);font-weight:700}.svc-item--skel{align-items:center}@keyframes mtv-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.muted-dash{color:var(--text-mute);font-family:var(--font-mono)}.mtv-unauth{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a0a12;color:#3a3a50;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(15px,1.25vw,24px);letter-spacing:.08em}body.mtv-xeneon-active{margin:0;padding:0;background:#000;overflow:hidden;height:100vh}.mtv-stage-inner--xeneon{width:min(100vw,calc(100vh * 32 / 9));height:min(100vh,28.125vw);aspect-ratio:32 / 9;container-type:inline-size;background:var(--bg);--fz-xs: clamp(10px, .45cqw, 14px);--fz-sm: clamp(11px, .5cqw, 16px);--fz-md: clamp(12px, .55cqw, 18px);--fz-lg: clamp(13px, .6cqw, 20px);--fz-xl: clamp(14px, .7cqw, 22px);--fz-2xl: clamp(16px, .8cqw, 24px);--fz-3xl: clamp(18px, 1cqw, 30px);--fz-4xl: clamp(20px, 1.2cqw, 34px);--fz-5xl: clamp(34px, 2cqw, 56px);--sp-1: clamp(3px, .16cqw, 5px);--sp-2: clamp(4px, .2cqw, 7px);--sp-3: clamp(6px, .25cqw, 9px);--sp-4: clamp(7px, .3cqw, 10px);--sp-5: clamp(8px, .35cqw, 12px);--sp-6: clamp(9px, .4cqw, 14px);--sp-7: clamp(10px, .45cqw, 16px);--sp-8: clamp(10px, .5cqw, 18px);--sp-9: clamp(12px, .6cqw, 20px);--sp-10: clamp(14px, .7cqw, 22px);--sp-11: clamp(14px, .8cqw, 24px);--sp-12: clamp(16px, .9cqw, 28px);--sp-13: clamp(16px, 1cqw, 32px);--h-bar: clamp(5px, .22cqw, 8px);--h-skel-line: clamp(14px, .65cqw, 22px);--h-skel-row: clamp(28px, 1.4cqw, 48px);--h-skel-val: clamp(34px, 2cqw, 56px);--h-skel-evt: clamp(36px, 1.8cqw, 60px);--h-skel-prj: clamp(80px, 4cqw, 160px);--h-swatch: clamp(20px, 1cqw, 32px);--w-swatch: clamp(3px, .14cqw, 5px)}.dash-xeneon{width:100%;height:100%;padding:var(--sp-9);display:grid;grid-template-columns:.85fr 1.55fr 1.05fr 1.05fr;grid-template-rows:1fr;grid-template-areas:"kpis servers smid right";gap:var(--sp-9);background:radial-gradient(ellipse at 0% 0%,rgba(79,140,255,.05),transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(176,102,255,.05),transparent 60%),var(--bg)}.dash-xeneon>.zone-header{grid-area:kpis}.dash-xeneon>.zone-servers{grid-area:servers}.dash-xeneon>.xeneon-col-mid{grid-area:smid}.dash-xeneon>.zone-notion.zone-notion--projects{grid-area:right}.dash-xeneon .zone{padding:var(--sp-8) var(--sp-9)}.dash-xeneon .zone-title-bar{margin-bottom:var(--sp-6)}.dash-xeneon .zone-header--xeneon{display:flex;flex-direction:column}.dash-xeneon .kpi-grid-2col{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,1fr);gap:var(--sp-4);flex:1;min-height:0}.dash-xeneon .kpi-grid-2col .kpi{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);min-width:0;min-height:0}.dash-xeneon .kpi-grid-2col .kpi-label{font-size:var(--fz-md);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-xeneon .kpi-grid-2col .kpi-value{font-size:var(--fz-3xl);line-height:1;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-xeneon .kpi-grid-2col .kpi-value .delta-big{font-size:var(--fz-3xl)}.dash-xeneon .kpi-grid-2col .kpi-foot{display:flex;align-items:baseline;gap:var(--sp-3);font-size:var(--fz-sm);color:var(--text-dim)}.dash-xeneon .kpi-grid-2col .kpi-foot-label{font-size:var(--fz-xs);letter-spacing:.03em}.dash-xeneon .kpi-grid-2col .skel-value{height:var(--fz-3xl);width:70%}.dash-xeneon .zone-servers--mosaic{display:flex;flex-direction:column}.dash-xeneon .srv-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:var(--sp-5);flex:1;min-height:0;min-width:0}.dash-xeneon .srv-card{display:grid;grid-template-rows:auto 1fr auto;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-7);background:var(--panel-2);border:1px solid var(--border);border-left:5px solid var(--srv-card-color, var(--text-mute));border-radius:var(--sp-3);min-width:0;min-height:0;overflow:hidden;transition:background .4s ease}.dash-xeneon .srv-card-head{display:flex;align-items:center;gap:var(--sp-4);min-width:0}.dash-xeneon .srv-card-name{font-family:var(--font-mono);font-size:var(--fz-2xl);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;flex:1;min-width:0}.dash-xeneon .srv-card-value{font-size:clamp(28px,1.9cqw,56px);font-weight:600;color:var(--text);text-align:center;line-height:1;align-self:center;white-space:nowrap;overflow:hidden}.dash-xeneon .srv-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-width:0}.dash-xeneon .srv-card-foot .badge{font-size:var(--fz-md);padding:var(--sp-2) var(--sp-5)}.dash-xeneon .srv-card-up{font-size:var(--fz-lg);color:var(--text);display:inline-flex;align-items:center;gap:var(--sp-2)}.dash-xeneon .skel-card{background:var(--panel-2);border:1px solid var(--border);border-left:5px solid var(--border-2);border-radius:var(--sp-3);min-width:0;min-height:0}.dash-xeneon .srv-mosaic{animation:srv-pulse-warn 2s ease-in-out infinite,srv-pulse-crit 1.1s ease-in-out infinite}.dash-xeneon .srv-card.is-degraded{background:color-mix(in oklab,var(--warn) var(--srv-pulse-warn),var(--panel-2));border-color:color-mix(in oklab,var(--warn) 50%,var(--border));border-left-color:var(--warn)}.dash-xeneon .srv-card.is-down{background:color-mix(in oklab,var(--crit) var(--srv-pulse-crit),var(--panel-2));border-color:color-mix(in oklab,var(--crit) 55%,var(--border));border-left-color:var(--crit)}.dash-xeneon .srv-card.is-down .srv-card-name:after,.dash-xeneon .srv-card.is-degraded .srv-card-name:after{margin-left:var(--sp-4);font-family:var(--font-mono);font-size:var(--fz-xs);font-weight:700;letter-spacing:.08em;padding:3px var(--sp-3);border-radius:6px}.dash-xeneon .srv-card.is-down .srv-card-name:after{content:"DOWN";color:var(--crit);background:var(--crit-bg);border:1px solid color-mix(in oklab,var(--crit) 40%,transparent)}.dash-xeneon .srv-card.is-degraded .srv-card-name:after{content:"DEGRADED";color:var(--warn);background:var(--warn-bg);border:1px solid color-mix(in oklab,var(--warn) 40%,transparent);letter-spacing:.04em}.xeneon-col-mid{display:grid;grid-template-rows:auto 1fr;gap:var(--sp-7);min-height:0;min-width:0}.xeneon-col-mid>.zone{min-height:0;min-width:0}.dash-xeneon .zone-services{padding:var(--sp-6) var(--sp-9)}.dash-xeneon .zone-services .svc-row{flex:0 0 auto}.dash-xeneon .zone-notion--planning .evt-list{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:var(--sp-6);flex:1;min-height:0}.dash-xeneon .zone-notion--planning .evt{min-height:0;padding:var(--sp-6) var(--sp-9)}.dash-xeneon .zone-notion--planning .evt-type-pill{font-size:var(--fz-md);padding:var(--sp-2) var(--sp-5)}.dash-xeneon .zone-notion--planning .evt-days{font-size:var(--fz-xl)}.dash-xeneon .zone-notion--planning .evt-title{font-size:var(--fz-2xl);line-height:1.15}.dash-xeneon .zone-notion--planning .evt-date{font-size:var(--fz-lg)}.dash-xeneon .zone-notion--planning .skel-evt-row{height:100%;min-height:0}.dash-xeneon .zone-notion--projects .prj{padding:var(--sp-4) var(--sp-7) var(--sp-5)}.dash-xeneon .zone-notion--projects .prj-head{margin-bottom:var(--sp-2);gap:var(--sp-4)}.dash-xeneon .zone-notion--projects .prj-icon{font-size:var(--fz-2xl)}.dash-xeneon .zone-notion--projects .prj-title{font-size:var(--fz-xl)}.dash-xeneon .zone-notion--projects .prj-end-date{font-size:var(--fz-md)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--accent: #3b82f6;--accent-hover: #2563eb;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--border: #475569}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary)}.layout{display:flex;min-height:100vh}.sidebar-modern{width:256px;background:linear-gradient(180deg,#1e293b,#0f172a);border-right:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;overflow-y:auto;z-index:100}.sidebar-header-modern{padding:1.5rem;border-bottom:1px solid rgba(71,85,105,.3)}.sidebar-title-modern{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-subtitle-modern{font-size:.875rem;color:#94a3b8;margin-top:.25rem}.sidebar-nav-modern{flex:1;padding:1rem;overflow-y:auto}.nav-section{margin-bottom:.5rem}.nav-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;background:none;border:none;color:#94a3b8;cursor:pointer;transition:color .2s}.nav-section-header:hover{color:#f1f5f9}.nav-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.nav-section-content{margin-top:.25rem;padding-left:.5rem}.nav-separator{height:1px;background:#4755694d;margin:.75rem 0}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#cbd5e1;text-decoration:none;border-radius:.5rem;transition:all .2s;margin-bottom:.25rem;position:relative}.nav-link:hover:not(.disabled){background:#3b82f61a;color:#f1f5f9}.nav-link.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:500}.nav-link.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.badge-soon{margin-left:auto;font-size:.625rem;background:#fbbf2433;color:#fbbf24;padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.sidebar-footer-modern{padding:1rem;border-top:1px solid rgba(71,85,105,.3);background:#0f172a}.user-info{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(71,85,105,.3)}.user-name{font-size:.875rem;font-weight:500;color:#f1f5f9;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge{font-size:.75rem;color:#3b82f6;font-weight:500}.btn-logout{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#4755694d;border:none;border-radius:.5rem;color:#cbd5e1;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#ef444433;color:#fca5a5}.sidebar{display:none}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border)}.sidebar-header h1{font-size:1.5rem;font-weight:700;color:var(--accent)}.sidebar-nav{flex:1;padding:1rem 0}.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all .2s}.sidebar-nav a:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav a.active{background-color:var(--bg-tertiary);color:var(--accent);border-left:3px solid var(--accent)}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--border)}.main-content{flex:1;overflow-y:auto;margin-left:256px;min-height:100vh}.topbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);padding:1.5rem 2rem}.topbar h1{font-size:1.875rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.content{padding:2rem}.filters-compact{display:flex;align-items:flex-end;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:.75rem;padding:1rem 1.5rem;margin-bottom:2rem;position:sticky;top:8px;z-index:100;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:box-shadow .2s ease}.filters-compact.is-stuck{box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003}.filter-compact-item{display:flex;flex-direction:column;gap:.5rem;position:relative}.filter-compact-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.comparison-period-badge{margin-left:auto}.comparison-period-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.5rem .75rem;background:linear-gradient(135deg,#8b5cf626,#3b82f626);border:1px solid rgba(139,92,246,.3);border-radius:.5rem}.comparison-label{font-size:.625rem;font-weight:600;color:#a78bfa;text-transform:uppercase;letter-spacing:.05em}.comparison-dates{font-size:.75rem;color:var(--text-secondary);font-weight:500}.dropdown-wrapper{position:relative}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem 1rem;min-width:180px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.dropdown-trigger:hover{border-color:var(--accent);background:#3b82f60d}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:240px;max-height:300px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 10px 40px #0000004d;z-index:1000;padding:.5rem}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.375rem;cursor:pointer;transition:all .2s;width:100%;border:none;background:none;color:var(--text-primary);font-size:.875rem;text-align:left}.dropdown-item:hover{background:#3b82f61a}.project-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px currentColor}.date-input-compact{padding:.625rem 1rem;min-width:150px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-weight:500;transition:all .2s}.date-input-compact:hover{border-color:var(--accent)}.date-input-compact:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.filter-warning-inline{display:flex;align-items:center;padding:.625rem 1rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:.5rem;color:#fbbf24;font-size:.875rem;font-weight:500;margin-left:auto}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.quick-stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.75rem;padding:1rem 1.25rem;transition:all .2s;position:relative;overflow:hidden}.quick-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--stat-color-start) 0%,var(--stat-color-end) 100%);transition:width .2s}.quick-stat-card:hover:before{width:6px}.quick-stat-card:nth-child(1){--stat-color-start: #3b82f6;--stat-color-end: #2563eb}.quick-stat-card:nth-child(2){--stat-color-start: #10b981;--stat-color-end: #059669}.quick-stat-card:nth-child(3){--stat-color-start: #f59e0b;--stat-color-end: #d97706}.quick-stat-card:nth-child(4){--stat-color-start: #8b5cf6;--stat-color-end: #7c3aed}.quick-stat-card:hover{border-color:var(--stat-color-start);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.quick-stat-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.quick-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.quick-stat-change{font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.quick-stat-change.positive{color:var(--success)}.quick-stat-change.negative{color:var(--danger)}.quick-stat-change.neutral{color:var(--text-secondary)}.section-header-with-filter{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;margin-bottom:1.5rem}.category-filter-wrapper{position:relative}.category-filter-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.category-filter-trigger:hover{border-color:var(--accent);background:#3b82f60d}.category-filter-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:280px;max-height:400px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 10px 40px #0000004d;z-index:1000;padding:.5rem}.category-filter-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.375rem;cursor:pointer;transition:all .2s;width:100%;border:none;background:none;color:var(--text-primary);font-size:.875rem;text-align:left}.category-filter-item:hover{background:#3b82f61a}.filter-label-modern{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center}.project-chips{display:flex;flex-wrap:wrap;gap:.75rem}.project-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.5rem;background:#0f172a4d;border-radius:.5rem;border:1px solid var(--border)}.project-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:all .2s;background:var(--bg-tertiary);border:1px solid transparent}.project-checkbox-item:hover{background:#3b82f61a;border-color:var(--accent)}.project-checkbox-content{display:flex;align-items:center;gap:.75rem;flex:1}.project-color-indicator{width:12px;height:12px;border-radius:50%;box-shadow:0 0 8px currentColor;flex-shrink:0}.project-checkbox-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.filter-warning{margin-top:.75rem;padding:.75rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:.5rem;color:#fbbf24;font-size:.875rem;font-weight:500;text-align:center}.chip-project{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.625rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:2px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);position:relative;overflow:hidden}.chip-project:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--project-color);opacity:0;transition:opacity .2s}.chip-project:hover{border-color:var(--project-color);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.chip-project:hover:before{opacity:.5}.chip-project.active{background:linear-gradient(135deg,var(--project-color),var(--project-color));border-color:var(--project-color);color:#fff;box-shadow:0 4px 16px #0003}.chip-project.active:before{opacity:1}.chip-indicator{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.chip{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:2px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary)}.chip:hover{border-color:var(--accent);color:var(--text-primary)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.date-quick-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.btn-quick-date{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-quick-date:hover{background:#3b82f61a;border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px)}.btn-quick-date:active{transform:translateY(0)}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.card-header{margin-bottom:1rem}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.card-description{color:var(--text-secondary);font-size:.875rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-change{font-size:.875rem;font-weight:600}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--danger)}.skeleton-line{background:linear-gradient(90deg,var(--border) 25%,var(--bg-primary) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:.25rem}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.stat-spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:stat-spin .7s linear infinite}@keyframes stat-spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.form-input,.form-select{width:100%;padding:.75rem;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:.375rem;color:var(--text-primary);font-size:1rem}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent)}select,select option{background-color:var(--bg-secondary);color:var(--text-primary)}select option:hover,select option:checked{background-color:var(--accent);color:#fff}.btn{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.filters-container{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;background-color:var(--bg-secondary);padding:1.5rem;border-radius:.5rem;border:1px solid var(--border)}.filter-group{flex:1;min-width:200px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.login-card{width:100%;max-width:400px;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;padding:2rem}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:1.875rem;font-weight:700;color:var(--accent)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.table th{font-weight:600;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase}.table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s;position:relative;padding-right:2rem}.table th.sortable:hover{color:var(--accent);background:#3b82f60d}.table th.sortable:after{content:"⇅";position:absolute;right:.75rem;opacity:.3;font-size:.75rem}.table th.sortable.asc:after{content:"↑";opacity:1;color:var(--accent)}.table th.sortable.desc:after{content:"↓";opacity:1;color:var(--accent)}.table tbody tr:hover{background-color:var(--bg-tertiary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-secondary{color:var(--text-secondary)}.custom-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border);border-radius:.25rem;background-color:var(--bg-tertiary);cursor:pointer;position:relative;transition:all .2s ease}.custom-checkbox:hover{border-color:var(--accent)}.custom-checkbox:checked{background-color:var(--accent);border-color:var(--accent)}.custom-checkbox:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.custom-checkbox:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.reset-filters-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#fca5a5;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:auto}.reset-filters-btn:hover{background:#ef444433;border-color:#ef444480;color:#ef4444;transform:translateY(-1px)}.reset-filters-btn:active{transform:translateY(0)}.filter-bar-global{background:linear-gradient(135deg,#1e293bf2,#0f172af2);border:1px solid rgba(71,85,105,.4);border-radius:1rem;padding:1rem 1.5rem;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1000}.filter-bar-content{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.filter-section{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.filter-section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.filter-section-projects{flex:1;min-width:200px}.project-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.project-chip{padding:.375rem .75rem;background:#33415580;border:1px solid rgba(71,85,105,.5);border-radius:2rem;color:#94a3b8;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.project-chip:hover{background:#3b82f626;border-color:#3b82f666;color:#e2e8f0}.project-chip.active{background:linear-gradient(135deg,#3b82f64d,#8b5cf64d);border-color:#3b82f699;color:#f1f5f9;box-shadow:0 0 12px #3b82f633}.all-selected-hint{font-size:.75rem;color:#64748b;font-style:italic}.loading-text{font-size:.8125rem;color:#64748b}.subproject-dropdown-wrapper{position:relative;z-index:100}.subproject-dropdown-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:2rem;color:#a78bfa;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.subproject-dropdown-trigger:hover{background:#8b5cf633;border-color:#8b5cf680}.subproject-dropdown-trigger.has-selection{background:linear-gradient(135deg,#8b5cf640,#ec489926);border-color:#8b5cf680;color:#c4b5fd}.subproject-dropdown-trigger svg{transition:transform .2s ease}.subproject-dropdown-trigger svg.rotated{transform:rotate(180deg)}.subproject-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:220px;background:#1e293bfa;border:1px solid rgba(71,85,105,.5);border-radius:.5rem;box-shadow:0 10px 40px #0006;z-index:9999;padding:.5rem;max-height:300px;overflow-y:auto}.subproject-dropdown-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent}.subproject-dropdown-item:hover{background:#8b5cf61a}.subproject-dropdown-item.selected{background:#8b5cf626;border-left-color:var(--item-color, #8b5cf6)}.subproject-checkbox{width:16px;height:16px;accent-color:#8b5cf6;cursor:pointer}.subproject-name{font-size:.875rem;color:#e2e8f0}.filter-section-dates-inline{display:flex;align-items:center;gap:1rem;flex-shrink:0}.date-inputs{display:flex;align-items:center;gap:.5rem}.date-input-global{padding:.5rem .75rem;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:.5rem;color:#e2e8f0;font-size:.875rem;font-family:inherit;cursor:pointer;transition:all .2s ease}.date-input-global::-webkit-calendar-picker-indicator{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%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:16px;width:20px;height:20px;cursor:pointer;opacity:.7;-webkit-transition:opacity .2s;transition:opacity .2s;filter:none}.date-input-global::-webkit-calendar-picker-indicator:hover{opacity:1}.date-input-global:hover{border-color:#3b82f680}.date-input-global:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.date-separator{color:#64748b;font-weight:500}.date-shortcuts{display:flex;gap:.375rem;flex-wrap:wrap}.date-shortcut-btn{padding:.375rem .625rem;background:#33415566;border:1px solid rgba(71,85,105,.4);border-radius:.375rem;color:#94a3b8;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.date-shortcut-btn:hover{background:#3b82f626;border-color:#3b82f666;color:#e2e8f0;transform:translateY(-1px)}.date-shortcut-btn:active{transform:translateY(0)}.date-shortcut-btn.shortcut-year{background:#10b98126;border-color:#10b9814d;color:#34d399}.date-shortcut-btn.shortcut-year:hover{background:#10b98140;border-color:#10b98180;color:#6ee7b7}.date-shortcut-btn.shortcut-n1{background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa}.date-shortcut-btn.shortcut-n1:hover{background:#8b5cf640;border-color:#8b5cf680;color:#c4b5fd}.date-shortcut-btn.shortcut-n2{background:#ec489926;border-color:#ec48994d;color:#f472b6}.date-shortcut-btn.shortcut-n2:hover{background:#ec489940;border-color:#ec489980;color:#f9a8d4}.date-shortcut-btn.shortcut-all{background:#fbbf2426;border-color:#fbbf244d;color:#fbbf24}.date-shortcut-btn.shortcut-all:hover{background:#fbbf2440;border-color:#fbbf2480;color:#fcd34d}.period-info-inline{display:flex;align-items:center;gap:1rem;margin-left:auto;flex-shrink:0}.period-box{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .75rem;background:#0f172a80;border-radius:.5rem;border:1px solid rgba(71,85,105,.3);min-width:165px;width:165px}.period-box .period-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.period-box.current .period-value{font-size:.8125rem;font-weight:600;color:#10b981;white-space:nowrap}.period-box.previous .period-value{font-size:.8125rem;font-weight:500;color:#a78bfa;white-space:nowrap}.reset-btn-global{display:flex;align-items:center;justify-content:center;padding:.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#fca5a5;cursor:pointer;transition:all .2s ease;flex-shrink:0}.reset-btn-global:hover{background:#ef444433;border-color:#ef444480;color:#ef4444;transform:scale(1.05)}.reset-btn-global:active{transform:scale(1)}.cmp-hero{background:linear-gradient(135deg,#3b82f614,#8b5cf60f,#f59e0b0a);border:1px solid rgba(71,85,105,.35);border-radius:1rem;padding:1.75rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.cmp-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#f59e0b)}.cmp-hero-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.cmp-hero-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #3b82f64d}.cmp-hero-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.cmp-hero-sub{font-size:.85rem;color:var(--text-secondary);margin:.15rem 0 0}.cmp-date-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#00000026;border-radius:.625rem;border:1px solid rgba(71,85,105,.25);margin-bottom:1.5rem}.cmp-date-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}.cmp-date-inputs{display:flex;align-items:center;gap:.5rem}.cmp-date-input{padding:.45rem .65rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:.375rem;font-size:.85rem;transition:border-color .2s}.cmp-date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f626}.cmp-date-arrow{color:var(--text-secondary);font-size:.9rem}.cmp-cols-grid{display:flex;gap:.75rem;align-items:stretch;flex-wrap:wrap;margin-bottom:1.5rem}.cmp-col-card{flex:1 1 200px;max-width:280px;padding:.875rem;background:var(--bg-secondary);border-radius:.625rem;border:1px solid var(--border);border-left:3px solid var(--col-accent, var(--accent));position:relative;transition:border-color .2s,box-shadow .2s}.cmp-col-card:hover{border-color:var(--col-accent, var(--accent));box-shadow:0 2px 12px #00000026}.cmp-col-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cmp-col-badge{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff}.cmp-col-card-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;border-radius:4px;display:flex;opacity:.5;transition:all .2s}.cmp-col-card-close:hover{color:var(--danger);opacity:1}.cmp-col-card-meta{margin-top:.5rem;font-size:.7rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.15rem}.cmp-config-select{width:100%;padding:.5rem .75rem;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:.375rem;font-size:.85rem;cursor:pointer;transition:border-color .2s}.cmp-config-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f626}.cmp-col-add{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:90px;min-height:90px;background:transparent;border:2px dashed rgba(71,85,105,.4);border-radius:.625rem;cursor:pointer;color:var(--text-secondary);font-size:.7rem;font-weight:500;transition:all .25s ease;align-self:stretch}.cmp-col-add:hover{border-color:var(--accent);color:var(--accent);background:#3b82f60d;transform:scale(1.03)}.cmp-compare-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 2rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:.625rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #3b82f64d}.cmp-compare-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.cmp-compare-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.cmp-empty{text-align:center;padding:4rem 2rem}.cmp-empty-icon{width:64px;height:64px;margin:0 auto 1.25rem;border-radius:16px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid rgba(71,85,105,.3);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.cmp-empty-title{font-size:1.125rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.cmp-empty-sub{font-size:.875rem;color:var(--text-secondary);opacity:.7}.cmp-results{display:flex;flex-direction:column;gap:0}.cmp-header{display:flex;gap:1rem;margin-bottom:.5rem}.cmp-col-header{padding:.875rem .75rem;background:var(--bg-secondary);border-radius:.625rem;border-left:3px solid var(--hdr-color, var(--accent));text-align:center;position:relative;transition:box-shadow .2s}.cmp-col-header:hover{box-shadow:0 2px 12px #0000001f}.cmp-col-type{display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;margin-bottom:.25rem}.cmp-col-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.cmp-col-name{display:block;font-size:1rem;font-weight:700;color:var(--text-primary)}.cmp-col-dates{display:block;font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.cmp-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;margin-bottom:.75rem;overflow:hidden}.cmp-section-title{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:#00000026;border-bottom:1px solid var(--border)}.cmp-section-subtitle{font-size:.65rem;font-weight:400;color:var(--text-secondary);margin-left:.25rem;text-transform:none}.cmp-row{display:flex;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid rgba(71,85,105,.2);align-items:center}.cmp-row:last-child{border-bottom:none}.cmp-row-label{width:200px;min-width:200px;display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.cmp-row-cells{flex:1;display:grid;gap:.75rem}.cmp-cell{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.375rem .5rem;border-radius:.375rem;transition:background .2s}.cmp-cell-best{background:#10b98114}.cmp-cell-best .cmp-cell-value{color:#10b981}.cmp-cell-value{font-size:1rem;font-weight:700;color:var(--text-primary);text-align:center}.cmp-cell-na{font-size:.875rem;font-weight:500;color:var(--text-secondary);opacity:.5}.comparator-change{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:500}.comparator-change.positive{color:var(--success)}.comparator-change.negative{color:var(--danger)}.cmp-row-products{align-items:flex-start}.cmp-products-list{display:flex;flex-direction:column;gap:.25rem;padding:.25rem .5rem;width:100%}.cmp-product-item{display:grid;grid-template-columns:1.5rem 1fr auto auto;gap:.4rem;align-items:center;font-size:.75rem;padding:.2rem 0}.cmp-product-rank{color:var(--text-secondary);font-weight:600;font-size:.65rem}.cmp-product-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.cmp-product-val{color:var(--text-secondary);font-weight:600;text-align:right;font-size:.7rem}.cmp-product-pct{color:var(--text-secondary);font-size:.65rem;text-align:right;min-width:2.5rem}.comparator-skeleton-pulse{animation:cmp-pulse 1.5s ease-in-out infinite}@keyframes cmp-pulse{0%,to{opacity:.3}50%{opacity:.6}}@media (max-width: 1200px){.filter-bar-content{gap:1rem}.filter-section-projects{order:1;flex-basis:100%}.filter-section-dates{order:2}.filter-section-info{order:3}.reset-btn-global{order:4}}@media (max-width: 768px){.filter-bar-global{padding:1rem}.dates-row{flex-direction:column;align-items:flex-start;gap:.75rem}.date-shortcuts{width:100%}.period-info{flex-direction:column;gap:.5rem}}.th-tooltip-wrapper .th-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);right:0;background:var(--bg-primary, #1a1a2e);color:var(--text-primary, #e2e8f0);border:1px solid var(--border, #334155);border-radius:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:400;white-space:normal;width:220px;line-height:1.4;z-index:50;box-shadow:0 4px 12px #0000004d}.th-tooltip-wrapper:hover .th-tooltip{display:block}
