@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";@font-face{font-family:Roobert;font-weight:300;font-style:normal;src:url(/fonts/Roobert-Light.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:300;font-style:italic;src:url(/fonts/Roobert-LightItalic.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:400;font-style:normal;src:url(/fonts/Roobert-Regular.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:400;font-style:italic;src:url(/fonts/Roobert-RegularItalic.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:500;font-style:normal;src:url(/fonts/Roobert-Medium.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:500;font-style:italic;src:url(/fonts/Roobert-MediumItalic.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:600;font-style:normal;src:url(/fonts/Roobert-SemiBold.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:600;font-style:italic;src:url(/fonts/Roobert-SemiBoldItalic.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:700;font-style:normal;src:url(/fonts/Roobert-Bold.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:700;font-style:italic;src:url(/fonts/Roobert-BoldItalic.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:800;font-style:normal;src:url(/fonts/Roobert-Heavy.otf) format("opentype");font-display:swap}@font-face{font-family:Roobert;font-weight:800;font-style:italic;src:url(/fonts/Roobert-HeavyItalic.otf) format("opentype");font-display:swap}:root{--ep-brand-primary: rgb(41, 103, 87);--ep-brand-primary-hover: rgb(56, 122, 107);--ep-brand-primary-dark: rgb(0, 49, 35);--ep-brand-primary-tint: rgb(79, 143, 128);--ep-brand-secondary: rgb(206, 228, 224);--ep-brand-tertiary: rgb(219, 235, 232);--ep-brand-surface-tint: rgb(246, 250, 249);--ep-brand-navy: rgb(33, 68, 94);--ep-brand-navy-tint: rgb(125, 163, 200);--ep-success: rgb(25, 191, 63);--ep-error: rgb(237, 48, 48);--ep-error-alt: rgb(232, 21, 30);--ep-warning: rgb(244, 153, 0);--ep-info: rgb(33, 68, 94);--ep-black: rgb(0, 0, 0);--ep-ink: rgb(15, 15, 16);--ep-ink-2: rgb(29, 27, 32);--ep-ink-3: rgb(33, 33, 33);--ep-grey-900: rgb(41, 41, 41);--ep-grey-800: rgb(67, 67, 67);--ep-grey-700: rgb(85, 85, 85);--ep-grey-500: rgb(160, 160, 160);--ep-grey-400: rgb(196, 196, 196);--ep-grey-300: rgb(217, 217, 217);--ep-grey-200: rgb(230, 230, 230);--ep-grey-150: rgb(238, 238, 238);--ep-grey-100: rgb(245, 245, 245);--ep-grey-50: rgb(250, 250, 250);--ep-white: rgb(255, 255, 255);--ep-bg: var(--ep-white);--ep-bg-alt: var(--ep-grey-100);--ep-bg-dark: var(--ep-black);--ep-surface: var(--ep-white);--ep-surface-elevated: var(--ep-brand-surface-tint);--ep-surface-inverse: var(--ep-black);--ep-fg: var(--ep-black);--ep-fg-2: var(--ep-ink-2);--ep-fg-muted: var(--ep-grey-700);--ep-fg-subtle: var(--ep-grey-500);--ep-fg-on-dark: var(--ep-white);--ep-fg-on-dark-muted: var(--ep-grey-50);--ep-accent: var(--ep-brand-primary);--ep-accent-fg: var(--ep-white);--ep-accent-soft: var(--ep-brand-tertiary);--ep-border: var(--ep-grey-200);--ep-border-strong: var(--ep-grey-400);--ep-divider: rgb(219, 218, 222);--ep-surface-alt: var(--ep-grey-100);--ep-fg-disabled: var(--ep-grey-400);--ep-state-error: var(--ep-error);--ep-state-info: var(--ep-info);--ep-state-success: var(--ep-success);--ep-state-warning: var(--ep-warning);--ep-focus-ring: 0 0 0 3px rgba(41, 103, 87, .35);--ep-scrim: rgba(0, 0, 0, .6);--ep-scrim-brand: rgba(2, 51, 37, .5);--ep-highlight: rgba(255, 255, 255, .2);--ep-font-sans: "Roobert", -apple-system, "Segoe UI", system-ui, sans-serif;--ep-font-label: "Roboto", var(--ep-font-sans);--ep-font-mono: "JetBrains Mono", "Andale Mono", ui-monospace, monospace;--ep-w-light: 300;--ep-w-regular: 400;--ep-w-medium: 500;--ep-w-semibold:600;--ep-w-bold: 700;--ep-w-heavy: 800;--ep-size-display-lg: 64px;--ep-size-display-md: 36px;--ep-size-display-sm: 32px;--ep-size-headline-lg: 48px;--ep-size-headline-md: 26px;--ep-size-headline-sm: 24px;--ep-size-title-lg: 22px;--ep-size-title-md: 20px;--ep-size-title-sm: 18px;--ep-size-body-lg: 18px;--ep-size-body-md: 16px;--ep-size-body-sm: 14px;--ep-size-body-xs: 12px;--ep-size-label-lg: 18px;--ep-size-label-md: 14px;--ep-size-label-sm: 12px;--ep-space-0: 0;--ep-space-1: 4px;--ep-space-2: 8px;--ep-space-3: 12px;--ep-space-4: 16px;--ep-space-5: 24px;--ep-space-6: 32px;--ep-space-7: 48px;--ep-space-8: 64px;--ep-space-9: 96px;--ep-radius-xs: 4px;--ep-radius-sm: 6px;--ep-radius-md: 8px;--ep-radius-lg: 16px;--ep-radius-xl: 32px;--ep-radius-2xl: 64px;--ep-radius-pill: 9999px;--ep-elev-0: none;--ep-elev-1: 0 0 2px 0 rgba(0,0,0,.24);--ep-elev-2: 0 2px 8px 0 rgba(0,0,0,.1), 0 0 2px 0 rgba(0,0,0,.18);--ep-elev-3: 0 8px 24px 0 rgba(0,0,0,.12), 0 0 2px 0 rgba(0,0,0,.16);--ep-ease-standard: cubic-bezier(.2, 0, 0, 1);--ep-ease-emphasized:cubic-bezier(.3, 0, 0, 1);--ep-ease-out: cubic-bezier(.2, 0, 0, 1);--ep-dur-fast: .12s;--ep-dur-med: .2s;--ep-dur-slow: .32s}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--ep-bg);font-family:var(--ep-font-sans);color:var(--ep-fg)}:root{--kpi-accent: var(--ep-brand-primary);--kpi-accent-fg: #fff;--kpi-row-h: 64px;--kpi-sidebar-w: 360px}:root[data-density=compact]{--kpi-row-h: 52px}.kpi-app{min-height:100vh;display:grid;grid-template-rows:84px 1fr}.kpi-nav{height:84px;background:var(--ep-black);color:#fff;display:flex;align-items:center;gap:28px;padding:0 32px;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.04)}.kpi-nav-brand{display:flex;align-items:center;gap:12px}.kpi-nav-brand img{height:28px}.kpi-nav-divider{width:1px;height:28px;background:#ffffff2e}.kpi-nav-product{display:flex;flex-direction:column;gap:2px}.kpi-nav-product-eyebrow{font:600 10px/1 var(--ep-font-sans);letter-spacing:1.4px;text-transform:uppercase;color:#ffffff8c}.kpi-nav-product-title{font:600 17px/1 var(--ep-font-sans);color:#fff;letter-spacing:-.2px}.kpi-nav-spacer{flex:1}.kpi-nav-period{display:inline-flex;align-items:center;gap:8px;font:500 12px/1 var(--ep-font-sans);color:#ffffffb3}.kpi-nav-period-dot{width:6px;height:6px;border-radius:50%;background:var(--ep-success);box-shadow:0 0 0 4px #19bf3f26}.kpi-body{display:grid;grid-template-columns:var(--kpi-sidebar-w) 1fr;min-height:calc(100vh - 84px)}.kpi-main-wrap{overflow-y:auto}.kpi-side{border-right:1px solid var(--ep-border);background:var(--ep-bg);height:calc(100vh - 84px);overflow-y:auto;position:sticky;top:84px}.kpi-side-head{padding:28px 24px 12px;display:flex;flex-direction:column;gap:6px}.kpi-side-eyebrow{font:600 10px/1 var(--ep-font-sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--ep-fg-muted)}.kpi-side-title{font:600 22px/1.15 var(--ep-font-sans);letter-spacing:-.3px;color:var(--ep-fg)}.kpi-side-sub{font:400 13px/1.4 var(--ep-font-sans);color:var(--ep-fg-muted);margin-top:2px}.kpi-side-section{margin-top:18px}.kpi-side-section-head{display:flex;align-items:center;gap:10px;padding:10px 24px 6px}.kpi-side-section-mark{width:8px;height:8px;border-radius:2px}.kpi-side-section-name{font:600 11px/1 var(--ep-font-sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--ep-fg)}.kpi-side-section-count{margin-left:auto;font:500 11px/1 var(--ep-font-mono);color:var(--ep-fg-muted)}.kpi-side-item{display:grid;grid-template-columns:28px 1fr auto;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center;padding:10px 24px;cursor:pointer;position:relative;border-left:3px solid transparent;transition:background var(--ep-dur-fast) var(--ep-ease-out)}.kpi-side-item:hover{background:var(--ep-brand-surface-tint)}.kpi-side-item-active{background:var(--ep-brand-surface-tint);border-left-color:var(--kpi-accent)}.kpi-side-rank{grid-column:1 / 2;grid-row:1 / 3;align-self:center;font:500 11px/1 var(--ep-font-mono);color:var(--ep-fg-subtle);letter-spacing:.5px}.kpi-side-item-active .kpi-side-rank{color:var(--kpi-accent);font-weight:700}.kpi-side-name{grid-column:2 / 3;grid-row:1 / 2;font:500 14px/1.2 var(--ep-font-sans);color:var(--ep-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-side-item-active .kpi-side-name{font-weight:600}.kpi-side-meta{grid-column:2 / 3;grid-row:2 / 3;display:flex;align-items:center;gap:6px;font:500 12px/1 var(--ep-font-mono);color:var(--ep-fg-muted)}.kpi-side-trend{display:inline-flex;align-items:center;gap:2px;font:500 11px/1 var(--ep-font-sans)}.kpi-side-trend-up{color:var(--ep-success)}.kpi-side-trend-down{color:var(--ep-error)}.kpi-side-trend-flat{color:var(--ep-fg-muted)}.kpi-side-status{grid-column:3 / 4;grid-row:1 / 3;align-self:center;width:8px;height:8px;border-radius:50%;background:var(--ep-grey-300)}.kpi-side-status-green{background:var(--ep-success)}.kpi-side-status-amber{background:var(--ep-warning)}.kpi-side-status-red{background:var(--ep-error)}.kpi-side-status-neutral{background:var(--ep-grey-400)}.kpi-side::-webkit-scrollbar{width:6px}.kpi-side::-webkit-scrollbar-thumb{background:var(--ep-grey-200);border-radius:4px}.kpi-side::-webkit-scrollbar-thumb:hover{background:var(--ep-grey-300)}.kpi-main{padding:40px 56px 80px;max-width:1200px}:root[data-density=compact] .kpi-main{padding:28px 40px 64px}.kpi-crumbs{display:flex;align-items:center;gap:10px;margin-bottom:16px;font:500 12px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-crumbs-cat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font:600 11px/1 var(--ep-font-sans);letter-spacing:.6px;text-transform:uppercase}.kpi-crumbs-rank{font:500 11px/1 var(--ep-font-mono);color:var(--ep-fg-muted)}.kpi-crumbs-sep{color:var(--ep-grey-300)}.kpi-title{font:600 42px/1.05 var(--ep-font-sans);letter-spacing:-.6px;margin:0 0 10px;color:var(--ep-fg)}.kpi-subtitle{font:400 17px/1.5 var(--ep-font-sans);color:var(--ep-fg-muted);max-width:760px;margin:0 0 28px}.kpi-ribbon{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;padding:22px 28px;margin-bottom:28px;border:1px solid var(--ep-border);border-radius:16px;background:var(--ep-bg)}.kpi-ribbon-value{display:flex;align-items:baseline;gap:8px;font:600 56px/1 var(--ep-font-sans);letter-spacing:-1.5px;color:var(--ep-fg)}.kpi-ribbon-value .kpi-unit{font:500 22px/1 var(--ep-font-sans);color:var(--ep-fg-muted);letter-spacing:0}.kpi-ribbon-mid{display:flex;flex-direction:column;gap:8px}.kpi-ribbon-sub{font:400 13px/1.4 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-trend-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 10px;border-radius:6px;font:600 13px/1 var(--ep-font-sans)}.kpi-trend-good-up{background:#19bf3f1a;color:var(--ep-success)}.kpi-trend-bad-up{background:#ed30301a;color:var(--ep-error)}.kpi-trend-flat{background:var(--ep-grey-100);color:var(--ep-fg-muted)}.kpi-target{display:flex;flex-direction:column;gap:6px;min-width:200px;border-left:1px solid var(--ep-border);padding-left:28px}.kpi-target-label{font:600 10px/1 var(--ep-font-sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--ep-fg-muted)}.kpi-target-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9999px;font:600 13px/1 var(--ep-font-sans);align-self:flex-start}.kpi-target-green{background:#19bf3f1f;color:#128a2c}.kpi-target-amber{background:#f4990024;color:#9c6200}.kpi-target-red{background:#ed30301f;color:#b21f1f}.kpi-target-neutral{background:var(--ep-grey-100);color:var(--ep-fg-muted)}.kpi-target-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.kpi-chart-card{border:1px solid var(--ep-border);border-radius:16px;background:var(--ep-bg);padding:24px 28px 16px;margin-bottom:28px}.kpi-chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.kpi-chart-title{font:600 15px/1 var(--ep-font-sans);color:var(--ep-fg);letter-spacing:-.1px}.kpi-chart-title-sub{font:400 12px/1 var(--ep-font-sans);color:var(--ep-fg-muted);margin-left:10px}.kpi-seg{display:inline-flex;padding:3px;border-radius:9999px;background:var(--ep-grey-100);border:1px solid var(--ep-border)}.kpi-seg-btn{border:0;background:transparent;cursor:pointer;padding:6px 14px;border-radius:9999px;font:500 12px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-seg-btn:hover{color:var(--ep-fg)}.kpi-seg-btn-active{background:var(--ep-bg);color:var(--ep-fg);font-weight:600;box-shadow:var(--ep-elev-1)}.kpi-chart{width:100%;height:320px;position:relative}:root[data-density=compact] .kpi-chart{height:240px}.kpi-chart-empty{display:flex;align-items:center;justify-content:center;color:var(--ep-fg-muted);font:400 14px/1 var(--ep-font-sans)}.kpi-chart-legend{display:flex;gap:18px;padding:4px 4px 0;flex-wrap:wrap}.kpi-chart-legend-item{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-chart-legend-swatch{width:12px;height:3px;border-radius:2px}.kpi-axis-text{font:500 11px/1 var(--ep-font-mono);fill:var(--ep-fg-subtle)}.kpi-grid-line{stroke:var(--ep-grey-150);stroke-width:1}.kpi-target-line{stroke:var(--ep-grey-500);stroke-width:1;stroke-dasharray:4 4}.kpi-target-label-svg{font:600 10px/1 var(--ep-font-sans);letter-spacing:.5px;fill:var(--ep-fg-muted)}.kpi-line{fill:none;stroke:var(--kpi-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.kpi-area{fill:var(--kpi-accent);fill-opacity:.1}.kpi-band{fill:var(--ep-grey-200);fill-opacity:.5}.kpi-bar{fill:var(--kpi-accent)}.kpi-dot{fill:var(--ep-bg);stroke:var(--kpi-accent);stroke-width:2}.kpi-hover-rule{stroke:var(--ep-grey-400);stroke-width:1;stroke-dasharray:2 4}.kpi-hover-dot{fill:var(--kpi-accent);stroke:var(--ep-bg);stroke-width:2}.kpi-tip{position:absolute;pointer-events:none;background:var(--ep-fg);color:#fff;padding:8px 10px;border-radius:6px;font:500 12px/1.4 var(--ep-font-sans);box-shadow:var(--ep-elev-2);transform:translate(-50%,-120%);white-space:nowrap;z-index:30}.kpi-tip-row{display:flex;align-items:center;gap:6px}.kpi-tip-swatch{width:8px;height:8px;border-radius:2px}.kpi-tip-date{font:500 10px/1 var(--ep-font-mono);color:#fff9;margin-bottom:4px}.kpi-card{border:1px solid var(--ep-border);border-radius:16px;background:var(--ep-bg);padding:22px 24px}.kpi-card-eyebrow{font:600 10px/1 var(--ep-font-sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--ep-fg-muted);margin-bottom:10px}.kpi-card-body{font:400 15px/1.6 var(--ep-font-sans);color:var(--ep-fg-2)}.kpi-card-body+.kpi-card-eyebrow{margin-top:22px}.kpi-calc{display:block;margin-top:12px;font:400 13px/1.5 var(--ep-font-mono);background:var(--ep-grey-100);padding:12px 14px;border-radius:8px;color:var(--ep-fg-2);border:1px solid var(--ep-border)}.kpi-source-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--ep-divider)}.kpi-source-row:last-child{border-bottom:0}.kpi-source-name{font:600 13px/1.2 var(--ep-font-sans);color:var(--ep-fg)}.kpi-source-detail{font:400 13px/1.4 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-table-card{border:1px solid var(--ep-border);border-radius:16px;background:var(--ep-bg);padding:22px 24px;margin-bottom:28px}.kpi-table-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.kpi-table-title{font:600 15px/1 var(--ep-font-sans);color:var(--ep-fg)}.kpi-table{width:100%;border-collapse:collapse}.kpi-table th{font:600 11px/1 var(--ep-font-sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--ep-fg-muted);text-align:left;padding:10px 16px 10px 0;border-bottom:1px solid var(--ep-border)}.kpi-table th:last-child,.kpi-table td:last-child{padding-right:0;text-align:right}.kpi-table td{font:400 13.5px/1.4 var(--ep-font-sans);color:var(--ep-fg-2);padding:12px 16px 12px 0;border-bottom:1px solid var(--ep-divider)}:root[data-density=compact] .kpi-table td{padding:8px 16px 8px 0}.kpi-table tr:last-child td{border-bottom:0}.kpi-table tr:hover td{background:var(--ep-grey-50)}.kpi-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;font:600 11px/1 var(--ep-font-sans);letter-spacing:.4px;text-transform:uppercase}.kpi-pill-p1{background:#ed30301f;color:var(--ep-error)}.kpi-pill-p2{background:#f4990024;color:#9c6200}.kpi-pill-p3{background:var(--ep-grey-100);color:var(--ep-fg-muted)}.kpi-pill-good{background:#19bf3f1a;color:var(--ep-success)}.kpi-spark{width:56px;height:16px;flex-shrink:0}.kpi-spark path{fill:none;stroke:var(--ep-grey-400);stroke-width:1.5;stroke-linejoin:round}.kpi-side-item-active .kpi-spark path{stroke:var(--kpi-accent)}.kpi-tweaks-toggle{position:fixed;bottom:28px;right:28px;z-index:50;width:44px;height:44px;border-radius:50%;background:var(--ep-fg);color:#fff;border:0;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--ep-elev-2)}.kpi-tweaks-toggle:hover{background:var(--ep-grey-800)}.kpi-tweaks-panel{position:fixed;bottom:84px;right:28px;z-index:50;background:var(--ep-bg);border:1px solid var(--ep-border);border-radius:16px;padding:20px;min-width:240px;box-shadow:var(--ep-elev-3);display:flex;flex-direction:column;gap:12px}.kpi-tweaks-section{font:600 10px/1 var(--ep-font-sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--ep-fg-muted);padding-bottom:6px;border-bottom:1px solid var(--ep-border)}.kpi-tweaks-row{display:flex;flex-direction:column;gap:6px}.kpi-tweaks-label{font:500 12px/1 var(--ep-font-sans);color:var(--ep-fg)}.kpi-tweaks-radios{display:flex;gap:8px;flex-wrap:wrap}.kpi-tweaks-radio{display:flex;align-items:center;gap:4px;font:400 12px/1 var(--ep-font-sans);color:var(--ep-fg-muted);cursor:pointer}.kpi-tweaks-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;font:500 12px/1 var(--ep-font-sans);color:var(--ep-fg)}.kpi-tweaks-colors{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.kpi-tweaks-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.kpi-tweaks-color-active{border-color:var(--ep-fg)}.kpi-tweaks-color-input{width:28px;height:28px;border:0;border-radius:50%;cursor:pointer;padding:0;background:none}.admin-nav-btn{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;padding:4px 14px;font:500 13px/1.4 var(--ep-font-sans);cursor:pointer;margin-left:12px}.admin-nav-btn:hover{background:#ffffff1a}.admin-nav-btn-active{background:#ffffff26}.admin-page{padding:32px 40px;max-width:1100px;margin:0 auto}.admin-header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.admin-back{background:none;border:none;cursor:pointer;color:var(--ep-fg-muted);font:400 14px/1 var(--ep-font-sans)}.admin-back:hover{color:var(--ep-fg)}.admin-title{font:600 22px/1 var(--ep-font-sans);margin:0}.admin-sync-area{margin-left:auto;display:flex;align-items:center;gap:10px}.admin-btn-sync{background:#21445e;color:#fff}.admin-btn-sync:hover:not(:disabled){background:#163044}.admin-sync-msg{font:400 13px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.admin-sync-msg--error{color:#ed3030}.admin-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.admin-config-col{background:var(--ep-surface);border:1px solid var(--ep-border);border-radius:10px;padding:24px}.admin-col-head{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}.admin-col-title{font:600 16px/1 var(--ep-font-sans);margin:0}.admin-col-org{font:400 13px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.admin-item-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:6px}.admin-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--ep-bg);border-radius:6px}.admin-item-name{font:500 14px/1 var(--ep-font-mono, monospace)}.admin-item-remove{background:none;border:none;cursor:pointer;color:var(--ep-fg-muted);font-size:12px;padding:2px 6px;border-radius:4px}.admin-item-remove:hover{color:#ed3030;background:#ed303014}.admin-add-row{display:flex;gap:8px}.admin-input{flex:1;padding:8px 12px;border:1px solid var(--ep-border);border-radius:6px;background:var(--ep-bg);color:var(--ep-fg);font:400 13px/1 var(--ep-font-sans)}.admin-input:focus{outline:2px solid var(--ep-accent);outline-offset:1px}.admin-btn{padding:8px 14px;border:none;border-radius:6px;font:500 13px/1 var(--ep-font-sans);cursor:pointer}.admin-btn:disabled{opacity:.4;cursor:default}.admin-btn-preview{background:var(--ep-border);color:var(--ep-fg)}.admin-btn-preview:hover:not(:disabled){background:var(--ep-fg-muted);color:var(--ep-bg)}.admin-btn-add{background:#296757;color:#fff}.admin-btn-add:hover:not(:disabled){background:#1e4f42}.admin-preview-area{margin-top:32px}.admin-preview-loading{color:var(--ep-fg-muted);font:400 14px/1 var(--ep-font-sans);padding:16px}.admin-btn-icon{background:none;border:none;cursor:pointer;color:var(--ep-fg-muted);font-size:16px;line-height:1;padding:2px 5px;border-radius:4px}.admin-btn-icon:hover{background:#ed303014;color:#ed3030}.admin-btn-delete{margin-left:6px}.admin-item-col{flex-direction:column;align-items:stretch;gap:0}.admin-item-row{display:flex;align-items:center;justify-content:space-between}.admin-item-editing{background:var(--ep-bg-card);border:1px solid var(--ep-border)}.admin-item-actions{display:flex;align-items:center;gap:4px}.admin-btn-sm{padding:4px 10px;font-size:12px}.admin-btn-ghost{background:none;border:1px solid var(--ep-border);color:var(--ep-fg-muted)}.admin-btn-ghost:hover:not(:disabled){border-color:var(--ep-fg-muted);color:var(--ep-fg);background:transparent}.admin-board-edit{padding:14px 0 8px;display:flex;flex-direction:column;gap:14px}.admin-status-map{display:flex;flex-direction:column;gap:6px}.admin-status-map-label{font:600 11px/1 var(--ep-font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ep-fg-muted);margin-bottom:4px}.admin-status-map-row{display:flex;align-items:center;gap:6px}.admin-status-arrow{color:var(--ep-fg-muted);font-size:14px}.admin-input-sm{max-width:200px;font-size:12px;padding:5px 8px}.admin-select{padding:6px 8px;border-radius:6px;border:1px solid var(--ep-border);background:var(--ep-bg);color:var(--ep-fg);font:400 13px/1 var(--ep-font-sans)}.admin-field-row{display:flex;flex-direction:column;gap:5px}.admin-field-label{font:600 11px/1 var(--ep-font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ep-fg-muted)}.admin-edit-actions{display:flex;gap:8px}.admin-targets-section{margin-top:40px;border-top:1px solid var(--ep-border);padding-top:24px}.admin-section-title{font:700 16px/1 var(--ep-font-sans);margin:0 0 16px}.admin-targets-table-wrap{overflow-x:auto}.admin-targets-table{width:100%;border-collapse:collapse;font-size:13px}.admin-targets-table th{text-align:left;padding:6px 12px;border-bottom:2px solid var(--ep-border);font:600 11px/1 var(--ep-font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ep-fg-muted)}.admin-targets-table td{padding:8px 12px;border-bottom:1px solid var(--ep-border)}.admin-target-name{font-weight:500}.admin-target-dir{color:var(--ep-fg-muted);font-size:12px}.admin-target-val{font-variant-numeric:tabular-nums}.admin-target-row--editing td{background:var(--ep-bg-card)}.admin-target-edit-actions{display:flex;gap:6px}.admin-input-num{width:80px}.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ep-bg)}.admin-login-card{width:380px;padding:40px;border:1px solid var(--ep-border);border-radius:12px;background:var(--ep-bg-card);display:flex;flex-direction:column;gap:20px}.admin-login-back{align-self:flex-start}.admin-login-title{font:700 22px/1 var(--ep-font-sans);margin:0}.admin-login-desc{font:400 14px/1.5 var(--ep-font-sans);color:var(--ep-fg-muted);margin:0}.admin-login-error{padding:10px 14px;border-radius:6px;background:#ed303014;border:1px solid rgba(237,48,48,.2);color:#ed3030;font:400 13px/1.4 var(--ep-font-sans)}.admin-btn-github{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ep-black, #1a1a1a);color:#fff;border:none;border-radius:8px;padding:12px 20px;font:600 14px/1 var(--ep-font-sans);cursor:pointer}.admin-btn-github:hover{background:#333}.admin-header-user{display:flex;align-items:center;gap:10px;margin-left:auto}.admin-avatar{width:28px;height:28px;border-radius:50%}.admin-username{font:500 13px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-module-bar{display:flex;align-items:center;gap:16px;padding:10px 24px;background:var(--ep-surface);border-bottom:1px solid var(--ep-border)}.kpi-module-bar-title{display:flex;flex-direction:column;gap:2px}.kpi-module-bar-eyebrow{font:600 10px/1 var(--ep-font-sans);letter-spacing:1px;text-transform:uppercase;color:var(--ep-fg-muted)}.kpi-module-bar-name{font:600 15px/1 var(--ep-font-sans);color:var(--ep-ink)}.kpi-module-bar-status{font:400 13px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-module-bar-error{font:500 13px/1 var(--ep-font-sans);color:var(--ep-error)}.kpi-btn{font:600 13px/1 var(--ep-font-sans);padding:8px 14px;border-radius:6px;cursor:pointer;border:1px solid var(--ep-brand-primary);background:var(--ep-brand-primary);color:#fff}.kpi-btn:disabled{opacity:.55;cursor:default}.kpi-btn-secondary{background:transparent;color:var(--ep-brand-primary)}.kpi-btn-danger{border-color:var(--ep-error);background:transparent;color:var(--ep-error)}.kpi-shell-page{padding:48px;color:var(--ep-fg-muted)}.kpi-shell-page h1{font:600 22px/1.2 var(--ep-font-sans);color:var(--ep-ink);margin:0 0 12px}.kpi-shell-error{color:var(--ep-error)}.kpi-shell-modules{display:flex;gap:4px;margin-left:24px}.kpi-shell-link{font:500 14px/1 var(--ep-font-sans);color:#ffffffb8;text-decoration:none;padding:8px 12px;border-radius:6px}.kpi-shell-link:hover{color:#fff;background:#ffffff14}.kpi-shell-link.is-active{color:#fff;background:#ffffff24}.kpi-shell-user{display:flex;align-items:center;gap:12px;font:500 13px/1 var(--ep-font-sans);color:#fff}.kpi-shell-signout{font:500 13px/1 var(--ep-font-sans);color:#fff;background:transparent;cursor:pointer;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 10px}.kpi-shell-footer{padding:16px 24px;font:400 12px/1.4 var(--ep-font-sans);color:var(--ep-fg-muted);border-top:1px solid var(--ep-border)}@media (max-width: 720px){.kpi-shell-modules{margin-left:8px;overflow-x:auto}.kpi-shell-user span{display:none}}.kpi-admin{padding:0 24px 32px}.kpi-admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ep-border);margin-bottom:24px}.kpi-admin-tab{font:500 14px/1 var(--ep-font-sans);color:var(--ep-fg-muted);text-decoration:none;padding:14px 12px;border-bottom:2px solid transparent}.kpi-admin-tab.is-active{color:var(--ep-ink);border-bottom-color:var(--ep-brand-primary)}.kpi-admin-main{max-width:1200px}.kpi-admin-title{font:600 22px/1.2 var(--ep-font-sans);color:var(--ep-ink);margin:0 0 16px}.kpi-admin-card{border:1px solid var(--ep-border);border-radius:8px;padding:16px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px;background:var(--ep-surface)}.kpi-admin-card h2{font:600 15px/1 var(--ep-font-sans);margin:0}.kpi-admin-fields{display:flex;flex-wrap:wrap;gap:12px}.kpi-admin-fields label,.kpi-admin-filters label{display:flex;flex-direction:column;gap:4px;font:500 12px/1 var(--ep-font-sans);color:var(--ep-fg-muted)}.kpi-admin-fields input,.kpi-admin-filters input,.kpi-admin-filters select{font:400 14px/1.2 var(--ep-font-sans);padding:8px 10px;border:1px solid var(--ep-border-strong);border-radius:6px;min-width:220px}.kpi-admin-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.kpi-admin-error{color:var(--ep-error);font:500 13px/1.4 var(--ep-font-sans);margin:0}.kpi-admin-table{width:100%;border-collapse:collapse;font:400 13px/1.4 var(--ep-font-sans)}.kpi-admin-table th{text-align:left;font-weight:600;color:var(--ep-fg-muted);padding:8px;border-bottom:1px solid var(--ep-border);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.kpi-admin-table td{padding:8px;border-bottom:1px solid var(--ep-border);vertical-align:top}.kpi-admin-table tr.is-deactivated td{color:var(--ep-fg-muted)}.kpi-admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.kpi-admin-actions{display:flex;gap:8px;justify-content:flex-end}.kpi-admin-json{font:400 12px/1.4 ui-monospace,monospace;color:var(--ep-fg-muted);white-space:pre-wrap;word-break:break-all}.kpi-admin-section{margin-bottom:32px}.kpi-admin-section h2{font:600 15px/1 var(--ep-font-sans);margin:0 0 12px}.kpi-role-picker{display:flex;flex-wrap:wrap;gap:16px}.kpi-role-picker fieldset{border:1px solid var(--ep-border);border-radius:6px;padding:8px 12px;margin:0}.kpi-role-picker legend{font:600 11px/1 var(--ep-font-sans);color:var(--ep-fg-muted);padding:0 4px}.kpi-role-picker label{display:flex;align-items:center;gap:6px;font:400 13px/1.8 var(--ep-font-sans)}.kpi-role-chip{display:inline-block;font:500 11px/1 var(--ep-font-sans);padding:4px 6px;margin:0 4px 4px 0;border-radius:4px;background:var(--ep-brand-tertiary);color:var(--ep-brand-primary-dark)}.kpi-status{font:600 11px/1 var(--ep-font-sans);text-transform:uppercase;letter-spacing:.5px}.kpi-status-active{color:var(--ep-brand-primary)}.kpi-status-invited{color:var(--ep-warning)}.kpi-status-deactivated{color:var(--ep-fg-muted)}@media (max-width: 720px){.kpi-admin{padding:0 16px 24px}.kpi-admin-fields input,.kpi-admin-filters input{min-width:0;width:100%}}.kpi-app{grid-template-columns:minmax(0,1fr)}.kpi-admin-table-wrap{overflow-x:auto}.kpi-admin-table td:last-child{white-space:nowrap}.kpi-admin-card>.kpi-btn{align-self:flex-start}.kpi-shell-signout-error{padding:8px 24px;font:500 13px/1.4 var(--ep-font-sans)}@media (max-width: 720px){.kpi-nav{gap:12px;padding:0 16px}.kpi-nav-divider,.kpi-nav-product,.kpi-nav-brand img{display:none}.kpi-shell-modules{margin-left:0;min-width:0;flex:1 1 auto;overflow-x:auto}.kpi-shell-link{white-space:nowrap}.kpi-nav-spacer{display:none}.kpi-shell-user{flex-shrink:0}}
