/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --radius-sm: 3px;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --radius: 5px;
    --color-paper: #edebe5;
    --color-surface: #f8f6f2;
    --color-surface2: #e3dfd7;
    --color-surface3: #f2efe9;
    --color-ink: #1a1917;
    --color-muted: #706b63;
    --color-faint: #a29d95;
    --color-border: #cdc7bd;
    --color-border2: #b0a99f;
    --color-accent: #c2410c;
    --color-accent-h: #9a3412;
    --color-accent-dim: #fde8dc;
    --color-night: #18130f;
    --color-night2: #231e19;
    --color-night3: #332c26;
    --color-night-text: #f0ebe3;
    --color-night-muted: #9c958c;
    --color-night-border: #332c26;
    --color-success: #15803d;
    --color-error: #b91c1c;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .static {
    position: static;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .rounded {
    border-radius: var(--radius);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
}
[data-theme="dark"] {
  --color-paper: #14100c;
  --color-surface: #1e1811;
  --color-surface2: #2c251c;
  --color-surface3: #251e16;
  --color-ink: #ece4d8;
  --color-muted: #9a9083;
  --color-faint: #6b6358;
  --color-border: #342c22;
  --color-border2: #473d30;
  --color-accent: #e2571f;
  --color-accent-h: #f26a2e;
  --color-accent-dim: #3a2416;
  --color-night: #100c08;
  --color-night2: #1c1712;
  --color-night3: #2a221a;
  --color-night-text: #ece4d8;
  --color-night-muted: #9a9083;
  --color-night-border: #2a221a;
  --color-success: #6bbf85;
  --color-error: #e0736b;
  --color-warn: #d69b5a;
  --color-info: #5fa8d3;
  --color-purple: #a98fdb;
  --color-orange: #e2571f;
  color-scheme: dark;
}
@layer base {
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  html, body {
    height: 100%;
    background-color: var(--color-paper);
    color: var(--color-ink);
    font-family: var(--font-sans);
    font-size: 13px;
    line-height: 1.5;
    color-scheme: light;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  ::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }
  ::-webkit-scrollbar-track {
    background: transparent;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--color-border2);
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--color-muted);
  }
}
@layer components {
  #app {
    display: grid;
    grid-template-rows: 48px 1fr;
    height: 100vh;
    overflow: hidden;
  }
  #main {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  #topbar {
    background: var(--color-night);
    border-bottom: 1px solid var(--color-night-border);
    color: var(--color-night-text);
    display: flex;
    align-items: center;
    padding: 0 18px;
    gap: 10px;
    flex-shrink: 0;
  }
  .logo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding-right: 18px;
    border-right: 1px solid var(--color-night-border);
    flex-shrink: 0;
    color: var(--color-night-text);
    white-space: nowrap;
  }
  .topbar-spacer {
    flex: 1;
  }
  .nav-tabs {
    display: flex;
    gap: 1px;
    padding-left: 8px;
  }
  .nav-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    padding: 4px 11px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--color-night-muted);
    cursor: pointer;
    transition: background 0.1s, color 0.1s, border-color 0.1s;
    white-space: nowrap;
  }
  .nav-tab:hover {
    background: var(--color-night3);
    color: var(--color-night-text);
  }
  .nav-tab.active {
    background: var(--color-night3);
    border-color: var(--color-night-border);
    color: var(--color-night-text);
  }
  .auth-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 12px;
    border-left: 1px solid var(--color-night-border);
  }
  .auth-status {
    font-size: 10px;
    color: var(--color-night-muted);
    white-space: nowrap;
    letter-spacing: 0.04em;
  }
  .refresh-indicator {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    color: var(--color-night-muted);
    letter-spacing: 0.04em;
  }
  .refresh-dot {
    width: 5px;
    height: 5px;
    background: var(--color-success);
    border-radius: 50%;
    flex-shrink: 0;
  }
  .refresh-dot.active {
    animation: pulse-dot 2s ease-in-out infinite;
  }
  @keyframes pulse-dot {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.25;
    }
  }
  .btn {
    background: var(--color-surface3);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    padding: 5px 13px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--color-ink);
    cursor: pointer;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.1s, border-color 0.1s;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .btn:hover {
    background: var(--color-surface2);
    border-color: var(--color-border2);
  }
  .btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
  }
  .btn.primary {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
  }
  .btn.primary:hover {
    background: var(--color-accent-h);
    border-color: var(--color-accent-h);
  }
  .btn.active {
    background: var(--color-accent-dim);
    border-color: var(--color-accent);
    color: var(--color-accent);
  }
  .btn.danger {
    color: var(--color-error);
    border-color: color-mix(in srgb, #b91c1c 35%, #b0a99f);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-error) 35%, var(--color-border2));
    }
  }
  .btn.danger:hover {
    background: color-mix(in srgb, #b91c1c 8%, #f2efe9);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 8%, var(--color-surface3));
    }
    border-color: var(--color-error);
  }
  .btn.mini {
    min-height: 22px;
    padding: 3px 7px;
    font-size: 9px;
  }
  .btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
  }
  #topbar .btn {
    background: var(--color-night2);
    border-color: var(--color-night-border);
    color: var(--color-night-text);
  }
  #topbar .btn:hover {
    background: var(--color-night3);
    border-color: var(--color-accent);
  }
  #btn-theme {
    padding: 5px 9px;
  }
  #btn-theme .icon-sun {
    display: none;
  }
  #btn-theme .icon-moon {
    display: inline-block;
  }
  [data-theme="dark"] #btn-theme .icon-sun {
    display: inline-block;
  }
  [data-theme="dark"] #btn-theme .icon-moon {
    display: none;
  }
  #ui-dialog[hidden] {
    display: none;
  }
  #ui-dialog {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 12, 9, 0.62);
    backdrop-filter: blur(2px);
  }
  .dialog-panel {
    width: min(460px, 100%);
  }
  .dialog-panel.wide {
    width: min(560px, 100%);
  }
  .dialog-check-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .dialog-checklist {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: min(360px, 50vh);
    overflow-y: auto;
    padding: 4px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-paper);
  }
  .dialog-check {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    font-size: 12px;
    color: var(--color-ink);
  }
  .dialog-check.disabled {
    opacity: 0.55;
  }
  .dialog-check input {
    width: auto;
    min-height: 0;
    margin: 0;
  }
  .dialog-check-empty {
    padding: 16px 8px;
    text-align: center;
    color: var(--color-muted);
    font-size: 12px;
  }
  .dialog-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius);
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
    max-height: min(680px, calc(100vh - 48px));
    overflow: hidden;
  }
  .dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface3);
  }
  .dialog-title {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--color-ink);
  }
  .dialog-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    overflow-y: auto;
  }
  .dialog-message {
    color: var(--color-ink);
    font-size: 12px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
  .dialog-fields {
    display: grid;
    gap: 10px;
  }
  .dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    padding: 12px 16px;
    border-top: 1px solid var(--color-border);
    background: var(--color-surface3);
  }
  .view {
    display: none;
  }
  .view.active {
    display: contents;
  }
  #view-requests.active {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 20px 24px 32px;
  }
  #view-requests .requests-header {
    flex-shrink: 0;
  }
  #view-requests .table-wrap {
    flex: 1;
    min-height: 0;
    overflow: auto;
  }
  #view-settings.active, #view-traces.active, #view-admins.active {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px 24px 32px;
  }
  #view-overview.active {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px 24px 32px;
    gap: 10px;
  }
  #view-overview.active > * {
    flex-shrink: 0;
  }
  .section-title {
    font-size: 12px;
    font-weight: 600;
    text-transform: capitalize;
    letter-spacing: 0;
    color: var(--color-muted);
    margin: 8px 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .section-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--color-border);
  }
  .page-hero {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
  }
  .page-hero h1 {
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-transform: capitalize;
    font-weight: 600;
    color: var(--color-ink);
  }
  .page-hero p {
    display: none;
  }
  .hero-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .hero-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    align-items: center;
    justify-content: flex-end;
    max-width: 520px;
    background: var(--color-paper);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 3px;
  }
  .quiet-status {
    color: var(--color-muted);
    font-size: 10px;
    margin-top: 3px;
    letter-spacing: 0.04em;
  }
  .date-range-tabs {
    display: flex;
    gap: 1px;
    align-items: center;
    flex-wrap: wrap;
  }
  .date-range-tab {
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-muted);
    cursor: pointer;
    transition: background 0.1s, color 0.1s;
  }
  .date-range-tab:hover {
    background: var(--color-surface2);
    color: var(--color-ink);
  }
  .date-range-tab.active {
    background: var(--color-surface);
    border-color: var(--color-border2);
    color: var(--color-ink);
  }
  .stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--color-border);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .stat-card {
    background: var(--color-surface);
    padding: 16px 18px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    overflow: hidden;
  }
  .stat-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
  }
  .stat-card::before {
    background: var(--color-border2);
  }
  .stat-card.c-accent::before {
    background: var(--color-accent);
  }
  .stat-card.c-red::before {
    background: var(--color-error);
  }
  .stat-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-muted);
  }
  .stat-value {
    font-family: var(--font-mono);
    font-size: 30px;
    font-weight: 600;
    letter-spacing: -0.5px;
    line-height: 1;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
  }
  .stat-value.v-red {
    color: var(--color-error);
  }
  .stat-value.v-green, .stat-value.v-blue, .stat-value.v-purple {
    color: var(--color-ink);
  }
  .stat-sub {
    font-size: 10px;
    color: var(--color-muted);
    letter-spacing: 0.04em;
  }
  .status-hero {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
  }
  .status-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 3px;
    background: var(--color-border2);
  }
  .status-hero.ok::before {
    background: var(--color-success);
  }
  .status-hero.warn::before {
    background: var(--color-accent);
  }
  .status-hero.bad::before {
    background: var(--color-error);
  }
  .status-hero-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
  }
  .status-hero-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-muted);
    flex-shrink: 0;
  }
  .status-hero.ok .status-hero-dot {
    background: var(--color-success);
  }
  .status-hero.warn .status-hero-dot {
    background: var(--color-accent);
  }
  .status-hero.bad .status-hero-dot {
    background: var(--color-error);
    animation: pulse-dot 2s ease-in-out infinite;
  }
  .status-hero-headline {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.15;
    color: var(--color-ink);
  }
  .status-hero.bad .status-hero-headline {
    color: var(--color-error);
  }
  .status-hero-summary {
    margin-top: 5px;
    font-size: 12px;
    color: var(--color-muted);
  }
  .status-hero-figure {
    text-align: right;
    flex-shrink: 0;
  }
  .status-hero-figure-value {
    font-family: var(--font-mono);
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -1px;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
  }
  .status-hero.ok .status-hero-figure-value {
    color: var(--color-success);
  }
  .status-hero.bad .status-hero-figure-value {
    color: var(--color-error);
  }
  .status-hero-figure-label {
    margin-top: 6px;
    font-size: 11px;
    color: var(--color-muted);
  }
  .charts-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    gap: 10px;
    min-width: 0;
  }
  .chart-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 16px 18px 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    overflow: hidden;
  }
  .table-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 16px 18px 12px;
    display: block;
    width: 100%;
    min-height: 80px;
    overflow: visible;
  }
  .table-card .chart-header {
    margin-bottom: 12px;
  }
  .chart-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
  }
  .chart-title {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--color-ink);
  }
  .chart-subtitle {
    font-size: 10px;
    color: var(--color-muted);
    margin-top: 2px;
  }
  .bar-chart-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 200px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .bar-chart-legend {
    display: flex;
    gap: 12px;
    font-size: 10px;
    color: var(--color-muted);
    letter-spacing: 0.04em;
  }
  .legend-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-right: 3px;
    vertical-align: middle;
  }
  .bar-chart {
    flex: 1;
    display: flex;
    align-items: flex-end;
    gap: 3px;
    min-height: 160px;
    position: relative;
    min-width: 100%;
  }
  .bar-chart-grid {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
  }
  .bar-chart-gridline {
    width: 100%;
    height: 1px;
    background: var(--color-border);
  }
  .bar-group {
    flex: 1 0 24px;
    min-width: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    position: relative;
  }
  .bar-stack {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    height: 100%;
    justify-content: flex-end;
  }
  .bar {
    width: 80%;
    min-height: 2px;
    transition: opacity 0.15s;
  }
  .bar.requests {
    background: rgba(21, 128, 61, 0.65);
  }
  .bar.errors {
    background: rgba(185, 28, 28, 0.65);
  }
  .bar-group:hover .bar {
    opacity: 0.75;
  }
  [data-theme="dark"] .bar.requests {
    background: rgba(107, 191, 133, 0.55);
  }
  [data-theme="dark"] .bar.errors {
    background: rgba(224, 115, 107, 0.6);
  }
  .bar-label {
    font-size: 9px;
    color: var(--color-faint);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .bar-chart-empty {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: var(--color-muted);
  }
  .mini-table-wrap, #models-table-wrap, #providers-table-wrap, #endpoints-table-wrap, #errors-messages-wrap, #slow-requests-wrap {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
  }
  .mini-table-title {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-muted);
    margin-bottom: 3px;
  }
  .mini-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11.5px;
    table-layout: fixed;
  }
  .mini-table th {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
    padding: 5px 7px;
    text-align: left;
    border-bottom: 1px solid var(--color-border);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mini-table th.num, .mini-table td.num {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }
  .mini-table td {
    padding: 6px 7px;
    color: var(--color-ink);
    border-bottom: 1px solid var(--color-border);
    font-family: var(--font-mono);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mini-table tr:last-child td {
    border-bottom: none;
  }
  .mini-table tbody tr:hover td {
    background: var(--color-surface3);
  }
  .error-message-cell, .error-type-cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
  }
  .error-message-cell {
    max-width: 0;
    width: 100%;
  }
  .error-type-cell {
    max-width: 120px;
    color: var(--color-muted);
  }
  .error-last-seen-header, .error-last-seen-cell {
    white-space: nowrap;
    font-size: 11px;
    text-align: right;
  }
  .error-last-seen-header {
    font-weight: 700;
  }
  .error-last-seen-cell {
    color: var(--color-muted);
  }
  #endpoints-wrap, #endpoints-table-wrap, #slow-requests-wrap {
    display: block;
    height: auto;
    overflow: hidden;
  }
  #endpoints-table-wrap .mini-table, #slow-requests-wrap .mini-table {
    width: 100%;
    min-width: 0;
  }
  .metric-table {
    display: grid;
    grid-auto-rows: minmax(32px, auto);
    width: 100%;
  }
  .metric-row {
    display: grid;
    align-items: center;
    gap: 10px;
    min-width: 0;
    border-bottom: 1px solid var(--color-border);
  }
  .metric-row:last-child {
    border-bottom: none;
  }
  .metric-row.header {
    min-height: 26px;
    color: var(--color-muted);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  .metric-row:not(.header):hover {
    background: var(--color-surface3);
  }
  .metric-cell {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 6px 7px;
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .metric-cell.num {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }
  .metric-table.endpoints .metric-row {
    grid-template-columns: minmax(220px, 1fr) minmax(100px, 140px) minmax(110px, 150px);
  }
  .metric-table.performance .metric-row {
    grid-template-columns: minmax(220px, 1fr) minmax(80px, 110px) minmax(80px, 110px) minmax(80px, 110px) minmax(100px, 130px) minmax(100px, 130px) minmax(120px, 150px);
  }
  .errors-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
  }
  .empty-state {
    padding: 20px;
    text-align: center;
    font-size: 11px;
    color: var(--color-muted);
    background: var(--color-paper);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-sm);
    letter-spacing: 0.04em;
  }
  .notice {
    padding: 8px 12px;
    font-size: 11px;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border: 1px solid;
  }
  .notice.error {
    background: color-mix(in srgb, #b91c1c 6%, #f8f6f2);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 6%, var(--color-surface));
    }
    border-color: color-mix(in srgb, #b91c1c 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-error) 20%, transparent);
    }
    color: var(--color-error);
  }
  #auth-banner {
    display: none;
    background: color-mix(in srgb, #b91c1c 8%, #f8f6f2);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 8%, var(--color-surface));
    }
    border-bottom: 1px solid color-mix(in srgb, #b91c1c 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-bottom: 1px solid color-mix(in srgb, var(--color-error) 20%, transparent);
    }
    color: var(--color-error);
    font-size: 11px;
    padding: 8px 24px;
    position: sticky;
    top: 0;
    z-index: 50;
    letter-spacing: 0.04em;
  }
  .requests-header {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 4px;
  }
  .inline-check {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    background: var(--color-surface3);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-muted);
    cursor: pointer;
  }
  .filter-input {
    background: var(--color-surface);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    padding: 4px 9px;
    font-size: 12px;
    color: var(--color-ink);
    min-height: 28px;
    outline: none;
    font-family: var(--font-sans);
    width: 120px;
  }
  .filter-input.search {
    width: 200px;
  }
  .filter-input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 2px var(--color-accent-dim);
  }
  .filter-input::placeholder {
    color: var(--color-faint);
  }
  .filter-select {
    background: var(--color-surface);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    padding: 4px 9px;
    font-size: 12px;
    font-family: var(--font-sans);
    color: var(--color-ink);
    min-height: 28px;
    outline: none;
    cursor: pointer;
  }
  .filter-select:focus {
    border-color: var(--color-accent);
  }
  .filter-reset {
    color: var(--color-muted);
  }
  .settings-grid {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(360px, 1.2fr);
    gap: 10px;
    align-items: start;
  }
  .settings-panel {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
  }
  .settings-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface3);
  }
  .settings-panel-title {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--color-ink);
  }
  .settings-panel-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .settings-form {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(180px, 1.4fr) auto;
    gap: 7px;
    align-items: end;
  }
  .settings-form.compact {
    grid-template-columns: minmax(180px, 1fr) auto;
  }
  .field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
  }
  .field label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-muted);
  }
  .field input, .field select, .field textarea {
    background: var(--color-paper);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    padding: 6px 9px;
    font-size: 12px;
    color: var(--color-ink);
    min-height: 30px;
    outline: none;
    font-family: var(--font-sans);
    width: 100%;
  }
  .field textarea {
    font-size: 11px;
    line-height: 1.5;
    min-height: 60px;
    resize: vertical;
  }
  .field input:focus, .field select:focus, .field textarea:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 2px var(--color-accent-dim);
  }
  .field input::placeholder, .field textarea::placeholder {
    color: var(--color-faint);
  }
  .muted {
    color: var(--color-muted);
  }
  .settings-form.provider-form {
    grid-template-columns: minmax(140px, 1fr) minmax(200px, 1.4fr) minmax(160px, 1fr) minmax(90px, 0.5fr) auto;
  }
  .settings-form.provider-form .field-headers {
    grid-column: 1 / -1;
  }
  .settings-form.provider-form .field-check {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--color-muted);
  }
  .settings-form.provider-form .field-check[hidden] {
    display: none;
  }
  .settings-form.provider-form .field-check input {
    width: auto;
    min-height: 0;
    margin: 0;
  }
  .settings-form.model-form {
    grid-template-columns: minmax(140px, 1fr) minmax(140px, 0.9fr) minmax(160px, 1fr);
  }
  .settings-form.model-form .model-price-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 7px;
  }
  .settings-form.model-form .model-capabilities-field {
    grid-column: 1 / -1;
  }
  .settings-form.model-form #btn-save-model-route {
    justify-self: start;
  }
  .model-fallbacks {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
  }
  .model-fallbacks-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
  }
  .model-fallbacks-title {
    color: var(--color-ink);
    font-size: 11px;
    font-weight: 600;
  }
  .model-fallbacks-empty {
    font-size: 11px;
    padding: 10px 12px;
    background: var(--color-surface3);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-sm);
  }
  .failover-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 360px);
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
  }
  .failover-chain-preview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px 12px;
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
  }
  .failover-chain-step {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .failover-chain-value {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--color-ink);
    word-break: break-all;
  }
  .failover-chain-arrow {
    color: var(--color-muted);
    font-size: 14px;
    padding: 0 2px;
  }
  .failover-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
  }
  .fallback-hop {
    display: grid;
    grid-template-columns: 28px minmax(140px, 0.9fr) minmax(160px, 1fr) auto;
    gap: 8px;
    align-items: end;
    padding: 10px;
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
  }
  .fallback-step {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--color-surface);
    border: 1px solid var(--color-border2);
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 2px;
  }
  .fallback-hop .field {
    margin: 0;
  }
  .fallback-hop select,
  .fallback-hop input {
    background: var(--color-paper);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    color: var(--color-ink);
    min-height: 30px;
    width: 100%;
    padding: 6px 9px;
    font-size: 12px;
    font-family: var(--font-sans);
    outline: none;
  }
  .route-path {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 420px;
    line-height: 1.35;
    font-size: 11px;
  }
  .attempt-timeline {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
  }
  .attempt-step {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
  }
  .attempt-index {
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    color: var(--color-muted);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
  }
  .attempt-step.ok .attempt-index {
    color: var(--color-success);
    border-color: color-mix(in srgb, var(--color-success) 35%, var(--color-border));
  }
  .attempt-step.failed .attempt-index {
    color: var(--color-error);
    border-color: color-mix(in srgb, var(--color-error) 35%, var(--color-border));
  }
  .attempt-body {
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    padding: 8px 10px;
    min-width: 0;
  }
  .attempt-title {
    font-size: 12px;
    font-weight: 600;
    overflow-wrap: anywhere;
  }
  .attempt-meta {
    color: var(--color-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
    font-size: 10px;
  }
  .admins-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    min-width: 0;
  }
  .settings-form.admin-create-form {
    grid-template-columns: minmax(160px, 1fr) minmax(180px, 1fr) minmax(190px, 0.8fr) auto;
  }
  .admins-table-wrap {
    width: 100%;
    min-width: 0;
  }
  .admin-username {
    display: inline-block;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
  }
  .admin-role {
    color: var(--color-muted);
  }
  .capability-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }
  .capability-check {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 26px;
    padding: 3px 10px;
    border: 1px solid var(--color-border2);
    background: var(--color-surface3);
    color: var(--color-muted);
    font-size: 11px;
    font-family: var(--font-mono);
    letter-spacing: 0.02em;
    border-radius: 999px;
    cursor: pointer;
    user-select: none;
  }
  .capability-check:has(input:checked) {
    background: var(--color-accent-dim);
    border-color: color-mix(in srgb, var(--color-accent) 45%, var(--color-border2));
    color: var(--color-ink);
  }
  .capability-check input {
    accent-color: var(--color-accent);
    width: auto;
    min-height: auto;
    padding: 0;
    border: 0;
  }
  .form-mode-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    grid-column: 1 / -1;
    padding: 8px 10px;
    background: var(--color-accent-dim);
    border: 1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);
    border-radius: var(--radius-sm);
    font-size: 12px;
  }
  .settings-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11.5px;
    white-space: nowrap;
  }
  .settings-table th {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
    padding: 6px 9px;
    text-align: left;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface3);
  }
  .settings-table td {
    padding: 6px 9px;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-ink);
    vertical-align: middle;
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .settings-table th.num, .settings-table td.num {
    text-align: right;
  }
  .settings-table td.mono {
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .settings-table tbody tr:hover td {
    background: var(--color-surface3);
  }
  .settings-table tbody tr.selected td {
    background: var(--color-accent-dim);
  }
  .row-actions {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
  }
  .icon-btn {
    background: var(--color-surface2);
    border: 1px solid var(--color-border2);
    min-width: 26px;
    min-height: 26px;
    padding: 3px 6px;
    font-size: 11px;
    font-family: var(--font-mono);
    color: var(--color-ink);
    cursor: pointer;
  }
  .icon-btn:hover {
    background: var(--color-surface3);
  }
  .icon-btn.danger {
    color: var(--color-error);
  }
  .key-reveal {
    background: color-mix(in srgb, #15803d 6%, #f8f6f2);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-success) 6%, var(--color-surface));
    }
    border: 1px solid color-mix(in srgb, #15803d 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--color-success) 20%, transparent);
    }
    padding: 10px;
    display: none;
    gap: 6px;
    flex-direction: column;
  }
  .key-reveal.visible {
    display: flex;
  }
  .key-reveal-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
  }
  .key-reveal code {
    display: block;
    flex: 1;
    min-width: 0;
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    padding: 7px 9px;
    color: var(--color-ink);
    overflow-x: auto;
    font-size: 11px;
    font-family: var(--font-mono);
  }
  .ops-panel {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .ops-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface3);
  }
  .ops-panel-body {
    padding: 14px;
  }
  .trace-workspace {
    display: grid;
    grid-template-columns: minmax(360px, 0.9fr) minmax(520px, 1.4fr);
    gap: 10px;
    align-items: start;
    min-height: 0;
  }
  .trace-list {
    display: grid;
    gap: 8px;
  }
  .trace-row {
    width: 100%;
    text-align: left;
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-ink);
    padding: 9px 10px;
    display: grid;
    gap: 6px;
    cursor: pointer;
  }
  .trace-row:hover, .trace-row.selected {
    border-color: var(--color-accent);
    background: color-mix(in srgb, #c2410c 5%, #f2efe9);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 5%, var(--color-surface3));
    }
  }
  .trace-row-main, .trace-row-meta, .trace-row-sub {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  .trace-row-main {
    justify-content: space-between;
  }
  .trace-key, .trace-row-sub span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .trace-key {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-ink);
  }
  .trace-row-meta, .trace-row-sub {
    font-size: 10px;
    color: var(--color-muted);
  }
  .trace-row-sub {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
  }
  .trace-error {
    color: var(--color-error);
  }
  .trace-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 12px;
  }
  .trace-id-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
  }
  .trace-id-strip span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    max-width: 100%;
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    padding: 5px 8px;
    font-size: 10px;
    color: var(--color-muted);
  }
  .trace-id-strip strong {
    color: var(--color-ink);
  }
  .trace-timeline {
    display: grid;
    gap: 10px;
  }
  .trace-event {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 8px;
    position: relative;
  }
  .trace-event::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 16px;
    bottom: -10px;
    width: 1px;
    background: var(--color-border);
  }
  .trace-event:last-child::before {
    display: none;
  }
  .trace-event-dot {
    width: 9px;
    height: 9px;
    margin-top: 12px;
    border-radius: 50%;
    background: var(--color-success);
    border: 2px solid var(--color-surface);
    z-index: 1;
  }
  .trace-event.failed .trace-event-dot, .trace-event.timeout .trace-event-dot, .trace-event.rate_limited .trace-event-dot {
    background: var(--color-error);
  }
  .trace-event.running .trace-event-dot, .trace-event.pending .trace-event-dot {
    background: var(--color-accent);
  }
  .trace-event-body {
    border: 1px solid var(--color-border);
    background: var(--color-surface3);
    padding: 9px;
  }
  .trace-event-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: 11px;
  }
  .trace-offset {
    color: var(--color-muted);
    font-variant-numeric: tabular-nums;
  }
  .trace-event-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }
  .trace-event-grid div {
    min-width: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    padding: 6px 7px;
  }
  .trace-event-grid span {
    display: block;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-muted);
  }
  .trace-event-grid strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    color: var(--color-ink);
    margin-top: 2px;
  }
  .trace-event-error {
    margin-top: 8px;
    border: 1px solid color-mix(in srgb, #b91c1c 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border: 1px solid color-mix(in srgb, var(--color-error) 25%, transparent);
    }
    background: color-mix(in srgb, #b91c1c 7%, #f8f6f2);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 7%, var(--color-surface));
    }
    color: var(--color-error);
    padding: 7px 8px;
    font-size: 11px;
  }
  .check-row {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
  }
  .check-row input {
    accent-color: var(--color-accent);
  }
  .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid;
    border-radius: 999px;
  }
  .badge::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .badge.success {
    background: color-mix(in srgb, #15803d 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-success) 10%, transparent);
    }
    color: var(--color-success);
    border-color: color-mix(in srgb, #15803d 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-success) 25%, transparent);
    }
  }
  .badge.success::before {
    background: var(--color-success);
  }
  .badge.failed, .badge.error {
    background: color-mix(in srgb, #b91c1c 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 10%, transparent);
    }
    color: var(--color-error);
    border-color: color-mix(in srgb, #b91c1c 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-error) 25%, transparent);
    }
  }
  .badge.failed::before, .badge.error::before {
    background: var(--color-error);
  }
  .badge.running, .badge.pending {
    background: color-mix(in srgb, #c2410c 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-accent) 10%, transparent);
    }
    color: var(--color-accent);
    border-color: color-mix(in srgb, #c2410c 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-accent) 25%, transparent);
    }
  }
  .badge.running::before {
    background: var(--color-accent);
    animation: pulse-dot 1s infinite;
  }
  .badge.pending::before {
    background: var(--color-accent);
  }
  .badge.cancelled, .badge.skipped {
    background: color-mix(in srgb, #706b63 12%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-muted) 12%, transparent);
    }
    color: var(--color-muted);
    border-color: color-mix(in srgb, #706b63 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-muted) 25%, transparent);
    }
  }
  .badge.cancelled::before, .badge.skipped::before {
    background: var(--color-muted);
  }
  .badge.timeout, .badge.rate_limited {
    background: color-mix(in srgb, #b91c1c 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-error) 10%, transparent);
    }
    color: var(--color-error);
    border-color: color-mix(in srgb, #b91c1c 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-error) 25%, transparent);
    }
  }
  .badge.timeout::before, .badge.rate_limited::before {
    background: var(--color-error);
  }
  .badge.neutral {
    background: color-mix(in srgb, #706b63 12%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background: color-mix(in srgb, var(--color-muted) 12%, transparent);
    }
    color: var(--color-muted);
    border-color: color-mix(in srgb, #706b63 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in srgb, var(--color-muted) 25%, transparent);
    }
  }
  .badge.neutral::before {
    background: var(--color-muted);
  }
  .table-wrap {
    overflow-x: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
  }
  .req-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11.5px;
    white-space: nowrap;
  }
  .req-table th {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
    padding: 7px 10px;
    text-align: left;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface3);
    position: sticky;
    top: 0;
    z-index: 1;
  }
  .req-table th.num {
    text-align: right;
  }
  .req-table td {
    padding: 7px 10px;
    color: var(--color-ink);
    border-bottom: 1px solid var(--color-border);
    font-family: var(--font-mono);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
  }
  .req-table td.num {
    text-align: right;
  }
  .req-table td.mono {
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .req-table tbody tr {
    cursor: pointer;
    transition: background 0.1s;
  }
  .req-table tbody tr:hover td {
    background: var(--color-surface3);
  }
  .req-table tbody tr.selected td {
    background: var(--color-accent-dim);
  }
  .req-table tbody tr:last-child td {
    border-bottom: none;
  }
  .req-table td.muted {
    color: var(--color-muted);
  }
  .req-table td.model-cell {
    min-width: 180px;
    max-width: 360px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }
  .cell-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
    line-height: 1.25;
  }
  .cell-sub {
    color: var(--color-muted);
    font-size: 10px;
  }
  .table-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    color: var(--color-muted);
    font-size: 12px;
  }
  .table-pager-actions {
    display: flex;
    gap: 6px;
  }
  .table-loading, .table-empty {
    padding: 28px;
    text-align: center;
    color: var(--color-muted);
    font-size: 11px;
    letter-spacing: 0.04em;
  }
  #detail-drawer {
    position: fixed;
    top: 48px;
    right: 0;
    bottom: 0;
    width: 520px;
    background: var(--color-surface);
    border-left: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.2s ease;
    z-index: 100;
    overflow: hidden;
  }
  #detail-drawer.open {
    transform: translateX(0);
  }
  .drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
    background: var(--color-surface3);
  }
  .drawer-title {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--color-ink);
  }
  .drawer-close {
    background: transparent;
    border: none;
    color: var(--color-muted);
    cursor: pointer;
    padding: 3px;
    font-size: 16px;
    line-height: 1;
    transition: color 0.1s;
  }
  .drawer-close:hover {
    color: var(--color-ink);
  }
  .drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 18px 22px;
  }
  .drawer-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--color-border);
  }
  .drawer-tab {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 6px 12px;
    font-size: 10px;
    font-weight: 700;
    font-family: var(--font-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-muted);
    cursor: pointer;
    margin-bottom: -1px;
    transition: color 0.1s;
  }
  .drawer-tab:hover {
    color: var(--color-ink);
  }
  .drawer-tab.active {
    color: var(--color-ink);
    border-bottom-color: var(--color-accent);
  }
  .fact-group {
    margin-bottom: 16px;
  }
  .fact-group-title {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
    margin-bottom: 8px;
  }
  .facts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
    margin-bottom: 0;
  }
  .fact {
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    padding: 8px 10px;
  }
  .fact-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
    margin-bottom: 2px;
  }
  .fact-value {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    font-size: 13px;
    color: var(--color-ink);
    word-break: break-all;
  }
  .fact-value.mono {
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .copy-btn {
    flex-shrink: 0;
    background: transparent;
    border: 1px solid var(--color-border);
    color: var(--color-muted);
    cursor: pointer;
    font-size: 11px;
    line-height: 1;
    padding: 2px 5px;
    border-radius: var(--radius-sm);
  }
  .copy-btn:hover {
    color: var(--color-ink);
    border-color: var(--color-border2);
    background: var(--color-surface);
  }
  .drawer-error {
    margin-bottom: 12px;
  }
  #toast-host {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 400;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
  }
  .toast {
    pointer-events: auto;
    min-width: 180px;
    max-width: 320px;
    padding: 10px 12px;
    border-radius: var(--radius);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-ink);
    box-shadow: 0 8px 24px color-mix(in srgb, var(--color-ink) 12%, transparent);
    font-size: 12px;
    animation: toast-in 0.18s ease-out;
  }
  .toast.ok {
    border-color: color-mix(in srgb, var(--color-success) 35%, var(--color-border));
  }
  .toast.error {
    border-color: color-mix(in srgb, var(--color-error) 35%, var(--color-border));
  }
  .toast.leaving {
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  @keyframes toast-in {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  pre {
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    padding: 10px 12px;
    max-height: 300px;
    overflow: auto;
    margin-bottom: 10px;
  }
  pre code {
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1.65;
    color: var(--color-ink);
  }
  .event-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
  }
  .event-item {
    background: var(--color-surface3);
    border: 1px solid var(--color-border);
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .event-header {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
  }
  .event-type {
    font-size: 10px;
    font-weight: 700;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .event-ts {
    font-size: 10px;
    color: var(--color-muted);
  }
  .event-duration {
    font-size: 10px;
    color: var(--color-muted);
    margin-left: auto;
  }
  .event-message {
    font-size: 11px;
    color: var(--color-ink);
  }
  .payload-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .payload-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    font-size: 11px;
    color: var(--color-muted);
  }
  .payload-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
    margin-bottom: 5px;
  }
  .payload-mode-toggle {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid var(--color-border2);
    background: var(--color-paper);
    padding: 2px;
    gap: 1px;
  }
  .payload-mode-toggle button {
    min-height: 24px;
    padding: 3px 9px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--color-muted);
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .payload-mode-toggle button:hover {
    color: var(--color-ink);
    background: var(--color-surface3);
  }
  .payload-mode-toggle button.active {
    color: var(--color-ink);
    border-color: var(--color-border);
    background: var(--color-surface);
  }
  .payload-card {
    border: 1px solid var(--color-border);
    background: var(--color-surface3);
    padding: 10px;
  }
  .payload-card-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    cursor: pointer;
    list-style: none;
  }
  .payload-card-summary::-webkit-details-marker, .payload-message-head::-webkit-details-marker {
    display: none;
  }
  .payload-card-summary:before {
    content: "▾";
    color: var(--color-accent);
    margin-right: 2px;
    flex-shrink: 0;
  }
  .payload-card:not([open]) .payload-card-summary {
    margin-bottom: 0;
  }
  .payload-card:not([open]) .payload-card-summary:before {
    content: "▸";
  }
  .payload-card-summary .payload-label {
    margin-bottom: 0;
  }
  .payload-badges, .payload-message-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
  }
  .payload-badges span, .payload-message-head span {
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-muted);
    font-size: 9px;
    line-height: 1.2;
    padding: 2px 5px;
  }
  .payload-badges strong {
    color: var(--color-accent);
    margin-right: 4px;
    font-weight: 700;
  }
  .payload-facts, .payload-usage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
  }
  .payload-facts div, .payload-usage div {
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    padding: 7px 8px;
    min-width: 0;
  }
  .payload-facts span, .payload-usage span {
    display: block;
    color: var(--color-muted);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 2px;
  }
  .payload-facts strong, .payload-usage strong {
    display: block;
    color: var(--color-ink);
    font-size: 11px;
    word-break: break-word;
  }
  .payload-subtitle {
    margin: 10px 0 6px;
    color: var(--color-muted);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  .payload-message-list, .payload-tool-list, .payload-tool-calls {
    display: grid;
    gap: 7px;
  }
  .payload-message {
    border: 1px solid var(--color-border);
    background: var(--color-paper);
    padding: 9px;
  }
  .payload-message.response {
    background: var(--color-surface);
  }
  .payload-message:not([open]) {
    background: var(--color-surface);
  }
  .payload-message-head {
    cursor: pointer;
    list-style: none;
  }
  .payload-message-head:before {
    content: "▸";
    color: var(--color-accent);
    margin-right: 1px;
  }
  .payload-message[open] > .payload-message-head:before {
    content: "▾";
  }
  .payload-role {
    color: var(--color-ink) !important;
    border-color: var(--color-border2) !important;
    font-weight: 700;
  }
  .payload-role.system {
    color: var(--color-muted) !important;
  }
  .payload-role.user {
    color: var(--color-ink) !important;
  }
  .payload-role.assistant {
    color: var(--color-accent) !important;
  }
  .payload-role.tool {
    color: var(--color-muted) !important;
  }
  .payload-message-content {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin-top: 7px;
    max-height: 360px;
    overflow: auto;
    color: var(--color-ink);
    font-size: 12px;
    line-height: 1.55;
  }
  .payload-tool, .json-node {
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    padding: 6px 8px;
  }
  .payload-tool summary, .json-node summary {
    cursor: pointer;
    color: var(--color-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }
  .payload-tool-description {
    color: var(--color-muted);
    margin: 6px 0;
    font-size: 11px;
    line-height: 1.5;
  }
  .payload-diff-note {
    color: var(--color-muted);
    display: grid;
    gap: 4px;
    font-size: 11px;
    line-height: 1.5;
  }
  .json-children {
    display: grid;
    gap: 4px;
    margin: 6px 0 0 12px;
    padding-left: 9px;
    border-left: 1px solid var(--color-border);
  }
  .json-leaf {
    font-size: 11px;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }
  .json-key {
    color: var(--color-accent);
    font-weight: 700;
  }
  .json-colon {
    color: var(--color-muted);
    margin: 0 4px;
  }
  .json-value.string, .json-value.number, .json-value.boolean {
    color: var(--color-ink);
  }
  .json-value.null {
    color: var(--color-muted);
  }
  .spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--color-border2);
    border-top-color: var(--color-accent);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
  }
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }
  #login-overlay[hidden] {
    display: none;
  }
  #login-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    background: rgba(15, 12, 9, 0.80);
    backdrop-filter: blur(3px);
    padding: 24px;
  }
  .login-card {
    width: min(400px, 100%);
    background: var(--color-surface);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius);
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.18);
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .login-title {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--color-ink);
  }
  .login-subtitle {
    color: var(--color-muted);
    font-size: 11px;
    letter-spacing: 0.04em;
  }
  .login-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .login-form label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-muted);
  }
  .login-form input {
    background: var(--color-paper);
    border: 1px solid var(--color-border2);
    padding: 9px 10px;
    color: var(--color-ink);
    font-family: var(--font-mono);
    font-size: 13px;
    outline: none;
    width: 100%;
  }
  .login-form input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 2px var(--color-accent-dim);
  }
  .login-error {
    min-height: 16px;
    color: var(--color-error);
    font-size: 11px;
  }
  .http-ok {
    color: var(--color-success);
  }
  .http-err {
    color: var(--color-error);
  }
  .http-warn {
    color: var(--color-accent);
  }
  .trunc {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: bottom;
  }
  .ai-analysis-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 16px 18px 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
  }
  .ai-analysis-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }
  .ai-analysis-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .ai-analysis-actions .filter-select {
    min-width: 180px;
  }
  .ai-analysis-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--color-muted);
  }
  .ai-analysis-result {
    background: var(--color-paper);
    border: 1px solid var(--color-border);
    padding: 12px 14px;
    font-size: 12px;
    line-height: 1.65;
    color: var(--color-ink);
    white-space: normal;
    min-height: 80px;
    max-height: 480px;
    overflow-y: auto;
  }
  .ai-analysis-result h1, .ai-analysis-result h2, .ai-analysis-result h3 {
    font-size: 13px;
    font-weight: 700;
    margin: 14px 0 8px;
    color: var(--color-ink);
  }
  .ai-analysis-result h1:first-child, .ai-analysis-result h2:first-child, .ai-analysis-result h3:first-child {
    margin-top: 0;
  }
  .ai-analysis-result p {
    margin: 0 0 10px;
  }
  .ai-analysis-result ul, .ai-analysis-result ol {
    margin: 0 0 10px 16px;
    padding: 0;
  }
  .ai-analysis-result li {
    margin-bottom: 4px;
  }
  .ai-analysis-result hr {
    border: 0;
    border-top: 1px solid var(--color-border);
    margin: 12px 0;
  }
  .ai-analysis-result code {
    background: var(--color-surface2);
    padding: 1px 4px;
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .ai-analysis-result strong {
    font-weight: 700;
    color: var(--color-ink);
  }
  .ai-model-status-line {
    font-size: 11px;
    color: var(--color-muted);
    min-height: 16px;
  }
  .playground-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 0 28px 28px;
  }
  .playground-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
  }
  .playground-panel .ops-panel-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .playground-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .playground-form .field {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .playground-form label, .playground-params label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-muted);
  }
  .playground-form textarea, .playground-form input, .playground-form select {
    background: var(--color-paper);
    border: 1px solid var(--color-border2);
    border-radius: var(--radius-sm);
    padding: 9px 10px;
    color: var(--color-ink);
    font-family: var(--font-sans);
    font-size: 13px;
    outline: none;
    width: 100%;
  }
  .playground-form textarea {
    resize: vertical;
    line-height: 1.5;
  }
  .playground-form input:focus, .playground-form select:focus, .playground-form textarea:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 2px var(--color-accent-dim);
  }
  .playground-params {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .playground-output {
    flex: 1;
    background: var(--color-paper);
    border: 1px solid var(--color-border);
    padding: 14px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--color-ink);
    white-space: normal;
    overflow-y: auto;
    min-height: 160px;
  }
  .playground-output h1, .playground-output h2, .playground-output h3 {
    font-size: 13px;
    font-weight: 700;
    margin: 14px 0 8px;
    color: var(--color-ink);
  }
  .playground-output h1:first-child, .playground-output h2:first-child, .playground-output h3:first-child {
    margin-top: 0;
  }
  .playground-output p {
    margin: 0 0 10px;
  }
  .playground-output ul, .playground-output ol {
    margin: 0 0 10px 16px;
    padding: 0;
  }
  .playground-output li {
    margin-bottom: 4px;
  }
  .playground-output hr {
    border: 0;
    border-top: 1px solid var(--color-border);
    margin: 12px 0;
  }
  .playground-output code {
    background: var(--color-surface2);
    padding: 1px 4px;
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 11px;
  }
  .playground-output pre {
    background: var(--color-surface2);
    border: 1px solid var(--color-border);
    padding: 10px;
    border-radius: 4px;
    overflow-x: auto;
    margin: 0 0 10px;
  }
  .playground-output pre code {
    background: transparent;
    padding: 0;
  }
  .playground-output strong {
    font-weight: 700;
    color: var(--color-ink);
  }
  .playground-meta {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--color-border);
    font-size: 10px;
    color: var(--color-muted);
    letter-spacing: 0.04em;
  }
  .stream-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--color-ink);
    cursor: pointer;
    align-self: end;
    padding-bottom: 2px;
  }
  .stream-toggle input {
    width: auto;
    accent-color: var(--color-accent);
  }
  .playground-cursor {
    display: inline-block;
    width: 7px;
    height: 13px;
    background: var(--color-accent);
    vertical-align: middle;
    margin-left: 2px;
    animation: blink-cursor 1s step-end infinite;
  }
  @keyframes blink-cursor {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0;
    }
  }
  @media (max-width: 1100px) {
    .charts-row {
      grid-template-columns: 1fr;
    }
    .stat-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .settings-grid, .trace-workspace, .playground-layout {
      grid-template-columns: 1fr;
    }
    .settings-form.admin-create-form {
      grid-template-columns: 1fr 1fr;
    }
    .settings-form.admin-create-form .btn {
      justify-self: start;
    }
  }
  @media (max-width: 900px) {
    #app {
      height: auto;
      overflow: visible;
    }
    #main {
      overflow: visible;
    }
    .errors-row {
      grid-template-columns: 1fr;
    }
    #detail-drawer {
      width: 100%;
    }
    .facts-grid {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 560px) {
    .drawer-body {
      padding: 12px;
    }
    .stat-grid {
      grid-template-columns: 1fr;
    }
    .settings-form, .settings-form.compact, .settings-form.admin-create-form {
      grid-template-columns: 1fr;
    }
    .failover-toolbar {
      grid-template-columns: 1fr;
    }
    .fallback-hop {
      grid-template-columns: 28px 1fr;
    }
    .fallback-hop .row-actions {
      grid-column: 2;
      justify-content: flex-start;
    }
    .page-hero {
      flex-direction: column;
    }
    .ai-analysis-actions {
      width: 100%;
    }
    .ai-analysis-actions .filter-select {
      width: 100%;
    }
    .key-reveal-row {
      flex-direction: column;
    }
  }
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
