html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font-family:var(--ui)}.app{display:grid;grid-template-columns:248px 1fr;height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;background:var(--canvas-2);border-right:1px solid var(--line);overflow-y:auto;padding:var(--sp-3) var(--sp-3) var(--sp-4)}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2) var(--sp-4)}.sidebar-brand .name{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:.01em;color:var(--ink)}.sidebar-brand .sub{font-size:var(--fs-xs);color:var(--ink-dim);margin-top:1px}.nav-group{margin-top:var(--sp-3)}.nav-group+.nav-group{margin-top:var(--sp-4)}.nav-group-label{font-family:var(--mono);font-size:var(--fs-kicker);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);padding:0 var(--sp-3) var(--sp-2)}.sidebar-spacer{flex:1}.sidebar-foot{border-top:1px solid var(--line);padding-top:var(--sp-3);margin-top:var(--sp-3)}.sidebar-foot .who{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.sidebar-foot .server{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-dim);margin-top:3px}.content{overflow-y:auto;height:100vh}.page{max-width:var(--maxw);margin:0 auto;padding:var(--sp-6) var(--gutter) var(--sp-8)}.page-head-bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--canvas) 90%,transparent);-webkit-backdrop-filter:saturate(1.15) blur(8px);backdrop-filter:saturate(1.15) blur(8px);border-bottom:1px solid var(--line)}.page-head-bar .section-header{max-width:var(--maxw);margin:0 auto;padding:var(--sp-4) var(--gutter)}.section-header-actions{margin-left:auto}.tile-val.metric-number{font-variant-numeric:tabular-nums}.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--sp-5);align-items:start}@media (max-width: 1024px){.detail-grid{grid-template-columns:1fr}}.stack{display:grid;gap:var(--sp-5)}.meta-list{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-2) var(--sp-4);margin:0;font-size:var(--fs-sm)}.meta-list dt{color:var(--ink-dim)}.meta-list dd{margin:0;color:var(--ink);word-break:break-word}.preview{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--canvas-2);padding:var(--sp-4);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;max-height:460px;overflow:auto}.timeline{display:grid}.tl-item{position:relative;padding:0 0 var(--sp-4) var(--sp-5);border-left:2px solid var(--line)}.tl-item:last-child{border-left-color:transparent;padding-bottom:0}.tl-dot{position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:var(--r-pill);border:2px solid var(--canvas);background:var(--ink-faint)}.tl-dot.ok{background:var(--ok)}.tl-dot.info{background:var(--info)}.tl-dot.warn{background:var(--warn)}.tl-dot.err{background:var(--err)}.tl-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.tl-label{font-weight:600;font-size:var(--fs-sm)}.tl-time{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-faint);white-space:nowrap}.tl-detail{font-size:var(--fs-xs);color:var(--ink-dim);margin-top:2px}.sparkline{display:flex;align-items:flex-end;gap:3px;height:52px}.sparkline .bar{flex:1;background:var(--accent);border-radius:var(--r-xs) var(--r-xs) 0 0;min-height:3px}.sparkline .bar.empty{background:var(--line-2)}.row-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.toolbar .grow{flex:1}.muted{color:var(--ink-dim)}.mono{font-family:var(--mono)}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--ink-dim);margin-bottom:var(--sp-3);cursor:pointer}.back-link:hover{color:var(--ink)}.center-screen{min-height:100vh;display:grid;place-items:center;padding:var(--sp-5)}.form-panel{background:var(--canvas-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6)}.login-card{width:100%;max-width:420px}.token-reveal{font-family:var(--mono);font-size:var(--fs-sm);background:var(--canvas-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3);word-break:break-all;margin-top:var(--sp-2)}
