:root{color-scheme:light;--purple-25: #fbf9ff;--purple-50: #f5f0ff;--purple-100: #ebe0ff;--purple-200: #d6c2fe;--purple-300: #b795fc;--purple-400: #9a64f8;--purple-500: #8133f2;--purple-600: #7800f0;--purple-700: #6407c4;--purple-800: #4e0a96;--purple-900: #3a0d6b;--purple-950: #250747;--coral-400: #ff5c7a;--coral-500: #f83b60;--coral-600: #e11d48;--coral-700: #b4143a;--teal-500: #15b79e;--teal-600: #0e9384;--teal-700: #0b7568;--gray-25: #fcfcfd;--gray-50: #f9fafb;--gray-100: #f2f4f7;--gray-200: #e9ebf0;--gray-300: #d3d7e0;--gray-400: #98a2b3;--gray-500: #667085;--gray-600: #475467;--gray-700: #344054;--gray-800: #1d2739;--gray-900: #16202e;--gray-950: #0c111d;--background: var(--gray-50);--card: #ffffff;--foreground: var(--gray-900);--muted-foreground: var(--gray-500);--faint-foreground: var(--gray-400);--border: var(--gray-200);--hover-wash: var(--gray-50);--primary: var(--purple-700);--primary-soft: var(--purple-50);--primary-tint: rgba(100, 7, 196, .1);--success: #079455;--success-strong: #067647;--success-soft: rgba(7, 148, 85, .12);--warning: #f79009;--warning-text: #b54708;--warning-soft: rgba(247, 144, 9, .14);--serious: var(--coral-500);--serious-text: var(--coral-700);--serious-soft: rgba(225, 29, 72, .12);--destructive: #d92d20;--destructive-text: #b42318;--destructive-soft: rgba(217, 45, 32, .12);--info: #175cd3;--info-strong: #1849a9;--info-soft: rgba(23, 92, 211, .1);--sidebar: var(--purple-950);--sidebar-active: var(--purple-800);--sidebar-ink: #f5f3fb;--sidebar-muted: #a79fbb;--gradient-brand: linear-gradient(100deg, var(--purple-800), var(--purple-600));--shadow-xs: 0 1px 2px rgb(16 24 40 / .05);--shadow-sm: 0 1px 3px rgb(16 24 40 / .09), 0 1px 2px rgb(16 24 40 / .05);--shadow-lg: 0 12px 20px -6px rgb(16 24 40 / .1), 0 4px 8px -4px rgb(16 24 40 / .06);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--duration: .18s;--ease: cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--background: var(--gray-950);--card: var(--gray-900);--foreground: #f9fafb;--muted-foreground: #a79fbb;--faint-foreground: var(--gray-500);--border: #2a2140;--hover-wash: rgba(255, 255, 255, .04);--primary: var(--purple-300);--primary-soft: #241b33;--primary-tint: rgba(183, 149, 252, .14);--success: #32d583;--success-strong: #75e0a7;--success-soft: rgba(50, 213, 131, .14);--warning: #fdb022;--warning-text: #fec84b;--warning-soft: rgba(253, 176, 34, .14);--serious: var(--coral-400);--serious-text: #ff8ba1;--serious-soft: rgba(255, 92, 122, .14);--destructive: #f97066;--destructive-text: #fda29b;--destructive-soft: rgba(249, 112, 102, .14);--info: #84adff;--info-strong: #b2ccff;--info-soft: rgba(132, 173, 255, .12)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--background: var(--gray-950);--card: var(--gray-900);--foreground: #f9fafb;--muted-foreground: #a79fbb;--faint-foreground: var(--gray-500);--border: #2a2140;--hover-wash: rgba(255, 255, 255, .04);--primary: var(--purple-300);--primary-soft: #241b33;--primary-tint: rgba(183, 149, 252, .14);--success: #32d583;--success-strong: #75e0a7;--success-soft: rgba(50, 213, 131, .14);--warning: #fdb022;--warning-text: #fec84b;--warning-soft: rgba(253, 176, 34, .14);--serious: var(--coral-400);--serious-text: #ff8ba1;--serious-soft: rgba(255, 92, 122, .14);--destructive: #f97066;--destructive-text: #fda29b;--destructive-soft: rgba(249, 112, 102, .14);--info: #84adff;--info-strong: #b2ccff;--info-soft: rgba(132, 173, 255, .12)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"cv11","ss01";font-size:14px;line-height:1.43;-webkit-font-smoothing:antialiased}button{font-family:inherit}button:not(:disabled){cursor:pointer}.shell{display:flex;height:100%}.sidebar{width:232px;flex:0 0 232px;background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;padding:20px 12px 16px;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 22px}.brand-mark{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center;box-shadow:0 1px 4px #00000059}.brand-name{font-weight:600;font-size:14.5px;letter-spacing:-.01em;line-height:1.2}.brand-name span{display:block;font-weight:500;font-size:10.5px;color:var(--sidebar-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--sidebar-muted);font-size:13.5px;font-weight:500;text-align:left;width:100%;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.nav-item svg{flex:0 0 auto;opacity:.85}.nav-item:hover{background:#ffffff0f;color:var(--sidebar-ink)}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:550}.nav-item.active svg{opacity:1}.sidebar-foot{margin-top:auto;padding:12px 11px 0;font-size:11.5px;color:var(--sidebar-muted);border-top:1px solid rgba(255,255,255,.08)}.main{flex:1;min-width:0;overflow-y:auto}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:13px 28px;background:var(--card);border-bottom:1px solid var(--border)}.topbar h1{font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em}.topbar .spacer{flex:1}.op-switch{display:flex;gap:2px;padding:3px;background:var(--background);border:1px solid var(--border);border-radius:9px}.op-switch button{border:0;border-radius:7px;padding:5px 13px;background:transparent;color:var(--muted-foreground);font-size:13px;font-weight:500;transition:all var(--duration) var(--ease)}.op-switch button.active{background:var(--card);color:var(--primary);font-weight:600;box-shadow:var(--shadow-xs)}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-md);width:33px;height:33px;background:var(--card);color:var(--muted-foreground);display:grid;place-items:center;transition:all var(--duration) var(--ease)}.icon-btn:hover{color:var(--foreground);border-color:var(--gray-300)}.content{padding:24px 28px 48px;max-width:1240px}.grid{display:grid;gap:16px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.two-col{grid-template-columns:3fr 2fr}@media(max-width:1000px){.two-col{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-xs)}.card h3{margin:0 0 2px;font-size:14px;font-weight:600;letter-spacing:-.005em}.card .sub{font-size:12.5px;color:var(--muted-foreground);margin-bottom:14px}.tile{display:flex;align-items:flex-start;gap:14px}.tile-icon{width:40px;height:40px;flex:0 0 auto;border-radius:10px;background:var(--primary-tint);color:var(--primary);display:grid;place-items:center}.tile-body{min-width:0;display:flex;flex-direction:column}.tile .label{font-size:11.5px;font-weight:550;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.tile .value{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-top:7px;font-variant-numeric:tabular-nums}.tile .delta{font-size:12px;color:var(--muted-foreground);margin-top:3px}.tile .delta.good{color:var(--success-strong)}.tile .delta.bad{color:var(--destructive-text)}.hero{grid-column:span 2}.hero .value{font-size:34px;font-variant-numeric:normal}@media(max-width:700px){.hero{grid-column:span 1}}.chip{display:inline-flex;align-items:center;gap:6px;padding:2.5px 9px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;background:var(--hover-wash);border:1px solid var(--border);color:var(--muted-foreground);white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:999px;background:var(--faint-foreground)}.chip.good{background:var(--success-soft);border-color:transparent;color:var(--success-strong)}.chip.good .dot{background:var(--success)}.chip.warning{background:var(--warning-soft);border-color:transparent;color:var(--warning-text)}.chip.warning .dot{background:var(--warning)}.chip.serious{background:var(--serious-soft);border-color:transparent;color:var(--serious-text)}.chip.serious .dot{background:var(--serious)}.chip.critical{background:var(--destructive-soft);border-color:transparent;color:var(--destructive-text)}.chip.critical .dot{background:var(--destructive)}.chip.accent{background:var(--primary-tint);border-color:transparent;color:var(--primary)}.chip.accent .dot{background:var(--primary)}.wtp-meter{display:inline-block;width:72px;height:6px;border-radius:999px;overflow:hidden;background:var(--chip-bg)}.wtp-meter>span{display:block;height:100%;border-radius:999px}.wtp-meter.good{background:var(--success-soft)}.wtp-meter.good>span{background:var(--success)}.wtp-meter.warning{background:var(--warning-soft)}.wtp-meter.warning>span{background:var(--warning)}.wtp-meter.serious{background:var(--serious-soft)}.wtp-meter.serious>span{background:var(--serious)}.wtp-meter.critical{background:var(--destructive-soft)}.wtp-meter.critical>span{background:var(--destructive)}.table-wrap{overflow-x:auto;margin:0 -20px -20px;padding:0 20px 8px}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;font-size:11px;font-weight:550;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:11px 10px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background var(--duration) var(--ease)}tbody tr:hover{background:var(--hover-wash)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.cell-main{font-weight:500}.cell-sub{font-size:11.5px;color:var(--muted-foreground);margin-top:1px}.filters{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.filters button{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:var(--radius-md);padding:6px 13px;font-size:12.5px;font-weight:500;transition:all var(--duration) var(--ease)}.filters button:hover{color:var(--foreground)}.filters button.active{background:var(--primary-soft);border-color:transparent;color:var(--primary);font-weight:600}.loading,.empty{padding:44px 0;text-align:center;color:var(--muted-foreground);font-size:13px}.fade{opacity:.45;transition:opacity .15s}.feed{display:flex;flex-direction:column}.feed-item{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid var(--border)}.feed-item:last-child{border-bottom:0}.feed-icon{width:32px;height:32px;flex:0 0 auto;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--primary-tint);color:var(--primary)}.feed-body{min-width:0}.feed-title{font-weight:500;font-size:13px}.feed-meta{font-size:12px;color:var(--muted-foreground);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chart-tooltip{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 12px;font-size:12px;box-shadow:var(--shadow-lg)}.chart-tooltip .t-label{font-weight:600;margin-bottom:5px}.chart-tooltip .t-row{display:flex;align-items:center;gap:6px;color:var(--muted-foreground);padding:1px 0}.chart-tooltip .t-row .sw{width:8px;height:8px;border-radius:2.5px}.chart-tooltip .t-row b{color:var(--foreground);font-weight:600;margin-left:auto;padding-left:16px;font-variant-numeric:tabular-nums}.legend-row{display:flex;gap:16px;font-size:12px;color:var(--muted-foreground);margin-top:10px;flex-wrap:wrap}.legend-row .key{display:inline-flex;align-items:center;gap:6px;font-weight:500}.legend-row .sw{width:9px;height:9px;border-radius:2.5px}.release-row{flex-direction:column;gap:0}.release-head{display:flex;gap:13px;align-items:center;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.release-head:hover .feed-title{color:var(--primary)}.feed-icon.done{background:var(--success-soft);color:var(--success)}.release-status{display:flex;align-items:center;gap:10px;flex:0 0 auto}.cond-list{list-style:none;margin:12px 0 2px;padding:12px 0 0 45px;border-top:1px solid var(--border)}.cond{display:flex;align-items:baseline;gap:10px;padding:5px 0;font-size:13px;color:var(--muted-foreground)}.cond .tick{flex:0 0 16px;text-align:center;font-size:12px;color:var(--muted-foreground)}.cond.met .tick,.cond.waived .tick{color:var(--success)}.cond.met .cond-label,.cond.waived .cond-label{color:var(--foreground)}.cond.override .tick{color:var(--warning)}.cond-label{flex:1 1 auto}.cond-side{flex:0 0 auto;font-size:12px}.cond.na{opacity:.5}.cond.na .cond-label{text-decoration:line-through;text-decoration-thickness:1px}.cond-panel{padding-top:12px;margin-top:12px;border-top:1px solid var(--border)}.cond-panel .cond-list{border-top:0;padding-top:0;margin-top:0}.cond-main{flex:1 1 auto;min-width:0}.cond-actions{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.cond-actions button,.cond-prompt button,.cond-foot button,.cond-link button{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:var(--radius-sm, 6px);padding:4px 9px;font-size:11.5px;font-weight:550;cursor:pointer}.cond-actions button:hover,.cond-foot button:hover,.cond-link button:hover{border-color:var(--primary);color:var(--primary)}.cond-actions button:disabled,.cond-prompt button:disabled{opacity:.45;cursor:default}.cond-date{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:var(--radius-sm, 6px);padding:3px 7px;font:inherit;font-size:11.5px}.cond-prompt{display:flex;gap:6px;margin-top:7px;align-items:center}.cond-prompt input{flex:1 1 auto;min-width:0;border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:var(--radius-sm, 6px);padding:5px 9px;font:inherit;font-size:12.5px}.cond-prompt input:focus{outline:2px solid var(--primary-tint);border-color:var(--primary)}.cond-link{display:flex;gap:8px;align-items:center;margin-top:7px}.cond-link code{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;background:var(--primary-tint);color:var(--primary);padding:4px 8px;border-radius:var(--radius-sm, 6px)}.cond-foot{display:flex;align-items:center;gap:8px;padding:12px 0 2px 45px}.cond-foot .spacer{flex:1 1 auto}.cond-foot button.primary{background:var(--primary);color:#fff;border-color:var(--primary);padding:6px 13px;font-size:12.5px}.cond-foot button.primary:hover{opacity:.92;color:#fff}.cond-msg{margin:10px 0 0 45px;padding:8px 11px;border-radius:var(--radius-sm, 6px);font-size:12.5px;background:var(--success-soft);color:var(--success)}.cond-msg.bad{background:var(--destructive-soft);color:var(--destructive)}.login{min-height:100vh;display:grid;place-items:center;background:var(--background);padding:24px}.login-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);padding:28px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:12px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}.login-brand .brand-mark{width:34px;height:34px;border-radius:9px;background:var(--primary-tint);display:grid;place-items:center}.login-brand .brand-name{color:var(--foreground)}.login-brand .brand-name span{color:var(--muted-foreground)}.login-card h2{margin:4px 0 0;font-size:18px;letter-spacing:-.01em}.login-sub{margin:0 0 6px;font-size:13px;color:var(--muted-foreground);line-height:1.5}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:550;color:var(--muted-foreground)}.login-card input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);font:inherit;font-size:14px;background:var(--card);color:var(--foreground)}.login-card input:focus{outline:2px solid var(--primary-tint);border-color:var(--primary)}.login-msg{font-size:12.5px;padding:8px 11px;border-radius:var(--radius-sm, 6px);background:var(--success-soft);color:var(--success)}.login-msg.bad{background:var(--destructive-soft);color:var(--destructive)}.login-btn{margin-top:4px;padding:11px;border:0;border-radius:var(--radius-md, 8px);background:var(--primary);color:#fff;font:inherit;font-weight:600;cursor:pointer}.login-btn:disabled{opacity:.6}.login-switch{background:none;border:0;color:var(--primary);font:inherit;font-size:12.5px;cursor:pointer;padding:2px}.signout{margin-left:8px;border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:var(--radius-sm, 6px);padding:6px 10px;font:inherit;font-size:12px;cursor:pointer}.signout:hover{border-color:var(--primary);color:var(--primary)}.login-code{font-size:26px!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;padding:12px!important}.login-row{display:flex;justify-content:space-between;gap:8px}.login-switch:disabled{opacity:.5;cursor:default}
