:root{color:#d8d9da;background:#0b0c0e;font-family:Pretendard Variable,Pretendard,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;font-feature-settings:"ss10" 1;letter-spacing:-.015em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--canvas: #0b0c0e;--surface: #16191d;--surface-raised: #1d2025;--hairline: #2c3036;--hairline-strong: #3a3f47;--ink: #f0f1f2;--ink-muted: #a8acb2;--ash: #737983;--primary: #5794f2;--primary-bright: #73a7f5;--focus-ring: #8ab8ff;--success: #73bf69;--warning: #f2cc0c;--orange: #ff9830;--purple: #b877d9;--error: #f2495c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 50% -30%,rgba(87,148,242,.08),transparent 40%),var(--canvas);word-break:keep-all;overflow-wrap:break-word}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,h3,p,dl,dd{margin:0}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{display:grid;width:min(100%,420px);gap:22px;padding:36px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);box-shadow:0 24px 80px #00000073}.login-card h1{font-size:26px;line-height:1.3}.login-card label{display:grid;gap:5px;color:var(--ink-muted);font-size:10px;font-weight:600;line-height:15px;letter-spacing:.05em}.login-card input{width:100%;min-height:34px;padding:7px 9px;color:var(--ink);border:1px solid var(--hairline-strong);border-radius:3px;outline:none;background:#101215;transition:.12s ease}.login-card input:hover{border-color:#59616c}.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #5794f22e}.dashboard-page{width:100%;min-height:100vh;padding:0 12px 48px}.topbar{position:sticky;z-index:20;top:0;display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:20px;margin:0 -12px;padding:8px 16px;border-bottom:1px solid #24282d;background:#101215f0;box-shadow:0 2px 12px #00000059;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-lockup,.topbar-actions,.panel-heading,.store-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-lockup{justify-content:flex-start}.brand-logo{width:34px;height:34px;flex:0 0 auto;border-radius:9px;object-fit:cover}.brand-lockup h1{font-size:16px;font-weight:600;line-height:21px;white-space:nowrap}.eyebrow{color:var(--ash);font-size:10px;font-weight:600;line-height:14px;letter-spacing:.1em;text-transform:uppercase}.topbar-actions{flex:0 0 auto}.environment-badge,.connection-badge,.severity,.outcome{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hairline);border-radius:3px;padding:4px 8px;font-size:10px;font-weight:600;line-height:15px;letter-spacing:.05em;text-transform:uppercase}.environment-badge{color:#b9e5b4;border-color:#73bf6952;background:#73bf6917}.connection-badge{color:var(--ink-muted);text-transform:none}.connection-badge.live{color:var(--success);border-color:#73bf694d;background:#73bf6914}.connection-badge.reconnecting,.connection-badge.connecting{color:var(--warning)}.connection-badge.disconnected{color:var(--error)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success)}.primary-button,.secondary-button,.icon-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:600;line-height:18px;transition:.12s ease}.primary-button{padding:6px 15px;color:#fff;background:#3871c7;border-color:#5794f2}.primary-button:hover{background:#4684de}.secondary-button{padding:6px 10px;color:#d6d8dc;border-color:var(--hairline-strong);background:#20242a}.secondary-button:hover{color:#fff;border-color:#59616c;background:#2a2f36}.icon-button{width:32px;padding:0;color:var(--ink-muted);border-color:var(--hairline);background:#1a1d21}.icon-button:hover{color:var(--primary-bright);border-color:#4d6381}.topbar-actions>.environment-badge,.topbar-actions>.connection-badge,.topbar-actions>.icon-button,.topbar-actions>.secondary-button{height:34px;min-height:34px}.topbar-actions>.icon-button{width:34px}.dashboard-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;color:var(--ash);font-size:11px;font-variant-numeric:tabular-nums}.error-banner{display:flex;align-items:center;gap:9px;margin-bottom:8px;padding:9px 12px;color:#ffbcc4;border:1px solid rgba(242,73,92,.45);border-radius:3px;background:#f2495c1a;font-size:12px}.error-banner span{flex:1}.error-banner button{padding:2px 8px;color:#fff;border:0;border-bottom:1px solid currentColor;background:transparent}.monitor-grid{display:grid;grid-template-areas:"trace trace trace trace trace trace rate rate rate rate runtime runtime" "trace trace trace trace trace trace rate rate rate rate delivery delivery" "stores stores stores incidents incidents incidents version version version version version version";grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.dashboard-panel{min-width:0;overflow:hidden;color:var(--ink);border:1px solid var(--hairline);border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 32%),var(--surface);box-shadow:0 3px 9px #0003}.panel-heading{min-height:43px;padding:8px 10px;border-bottom:1px solid rgba(44,48,54,.72)}.panel-heading h2{margin-top:1px;font-size:12px;font-weight:500;line-height:17px}.trace-volume-panel{grid-area:trace}.success-rate-panel{grid-area:rate}.gauge-panel:nth-of-type(3){grid-area:runtime}.gauge-panel:nth-of-type(4){grid-area:delivery}.stat-panel.stores{grid-area:stores}.stat-panel.incidents{grid-area:incidents}.version-panel{grid-area:version}.chart-shell{position:relative;min-height:230px;padding:12px 12px 9px}.chart-shell svg{display:block;width:100%;height:177px;overflow:visible}.chart-grid line{stroke:#2b3036;stroke-width:1}.chart-line,.sparkline path{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chart-line.success{stroke:var(--primary)}.chart-line.failed{stroke:var(--error)}.chart-line.missing{stroke:var(--warning)}.chart-line.cancelled{stroke:var(--purple)}.chart-line.runtime{stroke:var(--orange)}.chart-line.delivery{stroke:var(--primary)}.chart-time-range{display:flex;justify-content:space-between;margin-top:3px;color:var(--ash);font-size:9px;font-variant-numeric:tabular-nums}.chart-summary{margin-top:7px;color:var(--ink-muted);font-size:10px;line-height:14px;text-align:center}.gauge-wrap{position:relative;display:grid;min-height:115px;place-items:center;padding:8px 6px 3px}.gauge-wrap svg{width:min(100%,130px)}.gauge-track,.gauge-value{fill:none;stroke-width:11;stroke-linecap:butt}.gauge-track{stroke:#2c3137}.gauge-value{stroke:var(--success)}.gauge-wrap strong{position:absolute;top:57px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:21px;font-weight:500;color:var(--success);font-variant-numeric:tabular-nums}.gauge-wrap .chart-summary{margin-top:-11px}.stat-panel{position:relative;min-height:130px}.stat-value{display:block;padding:14px 12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;color:var(--primary-bright);font-size:30px;font-weight:500;line-height:36px;font-variant-numeric:tabular-nums}.stat-panel.danger .stat-value{color:var(--error)}.sparkline{position:absolute;right:10px;bottom:10px;width:calc(100% - 20px);height:34px;opacity:.85}.sparkline path{stroke:var(--primary)}.stat-panel.danger .sparkline path{stroke:var(--error)}.version-bars{display:grid;max-height:220px;gap:8px;padding:12px;overflow-y:auto}.version-bar-row{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(120px,2.5fr) 48px;align-items:center;gap:9px;font-size:10px}.version-bar-row>span{overflow:hidden;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap}.version-bar-row>strong{color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;text-align:right}.version-bar-track{display:flex;height:16px;overflow:hidden;border:1px solid #30353b;background:#22262b}.version-bar-track i{display:block;height:100%}.version-bar-track .success{background:#3f78c8}.version-bar-track .failed{background:var(--error)}.version-bar-track .missing{background:var(--warning)}.version-bar-track .cancelled{background:var(--purple)}.operations-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:6px;margin-top:6px}.incident-list{max-height:330px;overflow-y:auto}.incident-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 12px;border-top:1px solid var(--hairline)}.incident-row:first-child{border-top:0}.incident-row strong{display:block;margin:7px 0 3px;color:var(--ink);font-size:12px}.incident-row p,.incident-row small{color:var(--ink-muted);font-size:11px;line-height:1.5}.incident-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.incident-analysis-panel{border-top:1px solid var(--hairline-strong);background:#111419}.incident-analysis-panel .panel-heading h3{margin-top:2px;font-size:13px}.incident-analysis-content{display:grid;gap:14px;padding:14px 12px}.incident-explanation{color:var(--ink-muted);font-size:11px;line-height:1.6}.incident-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.incident-scope>div{display:grid;gap:4px;padding:9px;border:1px solid var(--hairline);background:var(--surface)}.incident-scope dt,.incident-groups h4,.incident-traces h4{color:var(--ash);font-size:9px;font-weight:600;letter-spacing:.06em}.incident-scope dd{color:var(--ink);font-size:11px;line-height:1.5}.incident-groups,.incident-traces,.incident-guidance{display:grid;gap:7px}.incident-guidance{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-guidance section{padding:10px;border:1px solid var(--hairline);background:var(--surface)}.incident-guidance h4{margin:0 0 7px;color:var(--ink);font-size:10px}.incident-guidance h4 span{color:var(--warning);font-size:8px}.incident-guidance ul,.incident-guidance ol{display:grid;gap:5px;margin:0;padding-left:16px;color:var(--ink-muted);font-size:9px;line-height:1.5}.incident-groups span{padding:7px 9px;color:var(--ink-muted);border-left:2px solid var(--warning);background:#f2cc0c0d;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.incident-groups p{color:var(--ash);font-size:10px}.incident-traces{max-height:240px;overflow-y:auto}.incident-traces>button{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;gap:10px;align-items:center;padding:8px 9px;color:var(--ink-muted);border:1px solid var(--hairline);background:var(--surface);text-align:left;font-size:10px}.incident-traces>button:hover{border-color:#4d6381;background:#1b2027}.incident-traces strong{color:var(--warning);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500}.incident-traces small{color:var(--ash)}.load-more-button{justify-self:center}.severity.critical,.outcome.failed,.outcome.missing{color:#ffb3bc;border-color:#f2495c4d;background:#f2495c1c}.severity.warning{color:#ffe68a;border-color:#f2cc0c42;background:#f2cc0c14}.outcome.succeeded{color:#b8e7b2;border-color:#73bf6947;background:#73bf6917}.health-list{display:grid}.health-list>div{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-top:1px solid var(--hairline)}.health-list>div:first-child{border-top:0}.health-list dt{display:inline-flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:11px}.health-list dd{color:var(--primary-bright);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-variant-numeric:tabular-nums}.store-panel{margin-top:6px}.active-store-table-wrap{max-height:320px;overflow:auto;border-bottom:1px solid var(--hairline)}.active-store-table .store-row{position:relative;cursor:pointer}.store-row-button{display:block;padding:0;color:inherit;border:0;outline:none;background:transparent;text-align:left}.store-row-button:after{position:absolute;content:"";inset:0}.store-row-button strong,.store-row-button small{display:block}.store-row-button strong{color:var(--ink);font-weight:600}.store-row-button small{margin-top:2px;color:var(--ash);font-size:9px}.store-summary{padding:11px 12px;color:var(--ink);border-bottom:1px solid var(--hairline);font-size:12px}.store-summary span{color:var(--ink-muted);font-size:11px;font-variant-numeric:tabular-nums}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap}th{color:var(--ash);background:#14171a;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}td{color:var(--ink-muted);font-variant-numeric:tabular-nums}tbody tr:hover td{background:#5794f209}.active-store-table .store-row.selected td{background:#5794f21a}.active-store-table .store-row:has(.store-row-button:focus-visible) td{box-shadow:inset 0 2px var(--primary),inset 0 -2px var(--primary)}.active-store-table .store-row:has(.store-row-button:focus-visible) td:first-child{box-shadow:inset 2px 0 var(--primary),inset 0 2px var(--primary),inset 0 -2px var(--primary)}.active-store-table .store-row:has(.store-row-button:focus-visible) td:last-child{box-shadow:inset -2px 0 var(--primary),inset 0 2px var(--primary),inset 0 -2px var(--primary)}.active-store-table .has-failures{color:var(--error);font-weight:600}.compact-button{min-height:26px;padding:3px 8px;font-size:10px}.empty-state{display:grid;min-height:130px;padding:24px 12px;color:var(--ash);text-align:center;font-size:11px;line-height:1.6;place-items:center}.empty-state.compact{min-height:90px}.trace-detail{margin:12px;border:1px solid var(--hairline-strong);border-radius:3px;background:#111316}.trace-detail h3{max-width:760px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:11px;overflow-wrap:anywhere}.trace-detail pre{max-height:520px;margin:0;padding:12px;overflow:auto;color:#d8dee9;background:#090a0c;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;white-space:pre-wrap;word-break:break-all}.analysis-tabs{display:flex;gap:1px;padding:8px 10px 0;border-bottom:1px solid var(--hairline)}.analysis-tabs button{padding:7px 11px;color:var(--ash);border:0;border-bottom:2px solid transparent;background:transparent;font-size:11px}.analysis-tabs button.active{color:var(--primary-bright);border-bottom-color:var(--primary)}.analysis-content{display:grid;max-height:650px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;overflow-y:auto}.analysis-summary,.analysis-section,.legacy-diagnostic{padding:12px;border:1px solid var(--hairline);background:#15181c}.analysis-summary{grid-column:1 / -1;border-left:3px solid var(--error)}.analysis-kicker{color:var(--error);font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.analysis-summary h4{margin:5px 0 4px;font-size:16px}.analysis-summary p,.legacy-diagnostic{color:var(--ink-muted);font-size:11px;line-height:1.6}.analysis-section h5{margin:0 0 9px;color:var(--ink);font-size:11px}.analysis-section h5 span{margin-left:5px;padding:2px 5px;color:var(--warning);border:1px solid rgba(242,204,12,.26);border-radius:2px;font-size:8px}.analysis-section ul,.analysis-section ol{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--ink-muted);font-size:10px;line-height:1.55}.inference-section{border-left:2px solid var(--warning)}.diagnostic-facts{display:grid;gap:1px}.diagnostic-facts>div{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.5fr);gap:10px;padding:6px 0;border-bottom:1px solid rgba(44,48,54,.65)}.diagnostic-facts>div:last-child{border-bottom:0}.diagnostic-facts dt{color:var(--ash);font-size:9px}.diagnostic-facts dd{min-width:0;color:var(--ink-muted);font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.masked-evidence{grid-column:1 / -1}.spinning{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.monitor-grid{grid-template-areas:"trace trace" "rate rate" "runtime delivery" "stores incidents" "version version";grid-template-columns:repeat(2,minmax(0,1fr))}.chart-shell{min-height:260px}.chart-shell svg{height:205px}}@media(max-width:800px){.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.topbar-actions>.environment-badge{display:none}.operations-grid{grid-template-columns:1fr}}@media(max-width:640px){.dashboard-page{padding-right:8px;padding-left:8px}.topbar{position:static;flex-direction:column;margin:0 -8px;padding:10px 12px}.topbar-actions{width:100%;justify-content:flex-start}.topbar-actions .icon-button{margin-left:auto}.dashboard-meta,.store-summary,.incident-row{align-items:flex-start;flex-direction:column}.dashboard-meta{justify-content:center;padding:7px 0}.monitor-grid{grid-template-areas:"trace" "rate" "runtime" "delivery" "stores" "incidents" "version";grid-template-columns:1fr}.incident-row .secondary-button{width:100%}.incident-actions{width:100%;flex-direction:column}.incident-scope,.incident-guidance,.analysis-content{grid-template-columns:1fr}.analysis-summary,.masked-evidence{grid-column:auto}.incident-traces>button{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
