@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Source+Sans+3:wght@400;600&display=swap";html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--sidebar:#1b2430;--sidebar-ink:#e8eef5;--sidebar-muted:#8b9bb0;--sidebar-active:#2f6fed;--bg:#eef1f5;--panel:#fff;--ink:#1a2332;--muted:#5c6b7e;--line:#d5dde8;--accent:#2f6fed;--accent-ink:#fff;--danger:#c0392b;--warn:#c47f17;--ok:#1f7a4d;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--radius:8px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018280a}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--bg);margin:0}button,input,select{font:inherit}.app-frame{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);flex-direction:column;gap:1.25rem;padding:1.25rem .85rem 1.5rem;display:flex}.sidebar-brand{padding:.35rem .65rem .75rem}.sidebar-brand .name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;line-height:1.15}.sidebar-brand .sub{color:var(--sidebar-muted);margin-top:.2rem;font-size:.75rem}.sidebar-nav{flex-direction:column;flex:1;gap:.2rem;display:flex}.sidebar-nav button{text-align:left;color:var(--sidebar-ink);cursor:pointer;opacity:.88;background:0 0;border:0;border-radius:6px;padding:.55rem .75rem}.sidebar-nav button:hover{opacity:1;background:#ffffff0f}.sidebar-nav button.active{background:var(--sidebar-active);opacity:1;font-weight:600}.sidebar-foot{color:var(--sidebar-muted);border-top:1px solid #ffffff14;padding:.5rem .65rem 0;font-size:.8rem}.main-col{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.topbar label{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.75rem;display:flex}.topbar select,.panel select,.panel input{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;min-width:11rem;padding:.4rem .55rem}.user-chip{color:var(--muted);font-size:.85rem}.user-chip strong{color:var(--ink);font-weight:600}.content{padding:1.25rem 1.5rem 2.5rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem}.panel+.panel{margin-top:1rem}.panel h1{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.55rem;font-weight:550}.panel h2{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.15rem;font-weight:550}.panel h3{font-family:var(--font-display);margin:.75rem 0 .35rem;font-weight:550}.panel>p,.hint{color:var(--muted);max-width:48rem;margin:0 0 1rem;line-height:1.5}.meta{color:var(--muted);font-size:.92rem}.error{color:var(--danger)!important}.stack{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.stack-gap{gap:.75rem;max-width:44rem;margin-top:1rem;display:grid}.panel button,.btn{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:.42rem .8rem}.panel button:hover,.btn:hover{border-color:var(--accent);color:var(--accent)}.panel button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.panel button.primary:hover{filter:brightness(1.05);color:var(--accent-ink)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin:1rem 0 1.25rem;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.95rem 1rem}.kpi .label{color:var(--muted);font-size:.8rem}.kpi .value{font-family:var(--font-display);margin-top:.25rem;font-size:1.75rem;line-height:1.1}.kpi.warn .value{color:var(--warn)}.kpi.danger .value{color:var(--danger)}.grid-2{grid-template-columns:1.2fr .8fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width<=960px){.app-frame{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;padding:.75rem}.sidebar-nav{flex-flow:wrap;flex:100%}.grid-2{grid-template-columns:1fr}}.chart-bars{align-items:flex-end;gap:.55rem;height:160px;padding-top:.5rem;display:flex}.chart-bars .bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.35rem;min-width:0;height:100%;display:flex}.chart-bars .bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:36px;min-height:2px}.chart-bars .bar-label{color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;overflow:hidden}.donut-wrap{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.donut-legend{color:var(--muted);gap:.35rem;font-size:.85rem;display:grid}.donut-legend span{border-radius:2px;width:.65rem;height:.65rem;margin-right:.4rem;display:inline-block}.pill{color:var(--ink);background:#e8edf5;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.pill.ok{color:var(--ok);background:#d8f3e5}.pill.warn{color:var(--warn);background:#fff0d6}.pill.danger{color:var(--danger);background:#fde2de}table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .4rem}th{color:var(--muted);font-size:.8rem;font-weight:600}code{font-size:.85em}.payload{border:1px solid var(--line);background:#f7f9fc;border-radius:6px;max-height:28rem;padding:.75rem;font-size:.8rem;overflow:auto}.secret-panel{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));border-radius:var(--radius);background:#fff7f5;max-width:48rem;padding:1rem}.secret-block{overflow-wrap:anywhere;word-break:break-all;border:1px solid var(--line);-webkit-user-select:all;user-select:all;background:#f7f9fc;border-radius:6px;padding:.65rem .75rem;font-size:.9rem;display:block}.h-bars{gap:.55rem;display:grid}.h-bars .row{grid-template-columns:8rem 1fr auto;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.h-bars .track{background:#e8edf5;border-radius:999px;height:8px;overflow:hidden}.h-bars .fill{background:var(--accent);border-radius:999px;height:100%}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:.75rem;display:flex}
