@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.css";
@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";
/* [project]/packages/design-tokens/generated/tokens.css [app-client] (css) */
:root {
  --font-sans: "Pretendard", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Noto Sans KR", monospace;
  --font-numeric: tabular-nums;
  --text-display: 1.5rem;
  --text-title: 1.125rem;
  --text-section: .9375rem;
  --text-body: .875rem;
  --text-body-sm: .8125rem;
  --text-caption: .75rem;
  --text-micro: .6875rem;
  --leading-display: 1.3;
  --leading-title: 1.4;
  --leading-section: 1.45;
  --leading-body: 1.6;
  --leading-body-sm: 1.55;
  --leading-caption: 1.5;
  --leading-micro: 1.45;
  --tracking-tight: -.01em;
  --tracking-wide: .04em;
  --chrome-bg-light: #fbfbfc;
  --chrome-bg-dark: #121212;
  --chrome-border-light: #d8dadf;
  --chrome-border-dark: #303030;
  --chrome-disabled-bg-light: #f2f3f5;
  --chrome-disabled-bg-dark: #202020;
  --chrome-disabled-fg-light: #8b9098;
  --chrome-disabled-fg-dark: #6e6e6e;
  --chrome-divider-light: #e4e6ea;
  --chrome-divider-dark: #2a2a2a;
  --chrome-fg-light: #1a1a1a;
  --chrome-fg-dark: #e5e5e5;
  --chrome-input-bg-light: #fff;
  --chrome-input-bg-dark: #1a1a1a;
  --chrome-input-border-light: #d8dadf;
  --chrome-input-border-dark: #303030;
  --chrome-input-border-focus-light: #3971ff;
  --chrome-input-border-focus-dark: #d9a441;
  --chrome-muted-light: #5c5c5c;
  --chrome-muted-dark: #9a9a9a;
  --chrome-overlay-light: #0f172a66;
  --chrome-overlay-dark: #0009;
  --chrome-panel-light: #fff;
  --chrome-panel-dark: #1a1a1a;
  --chrome-panel-soft-light: #f2f3f5;
  --chrome-panel-soft-dark: #171717;
  --chrome-panel-strong-light: #e9ebee;
  --chrome-panel-strong-dark: #262626;
  --chrome-placeholder-light: #767b83;
  --chrome-placeholder-dark: #7c7c7c;
  --chrome-primary-light: #2f62e6;
  --chrome-primary-dark: #b3231c;
  --chrome-primary-foreground-light: #fff;
  --chrome-primary-foreground-dark: #fff;
  --chrome-primary-hover-light: #274fbe;
  --chrome-primary-hover-dark: #8c1b15;
  --chrome-print-ink-light: #000;
  --chrome-print-ink-dark: #000;
  --chrome-print-line-light: #999;
  --chrome-print-line-dark: #999;
  --chrome-print-muted-light: #333;
  --chrome-print-muted-dark: #333;
  --chrome-print-paper-light: #fff;
  --chrome-print-paper-dark: #fff;
  --chrome-ring-light: #3971ff;
  --chrome-ring-dark: #d9a441;
  --chrome-row-hover-light: #f2f3f5;
  --chrome-row-hover-dark: #171717;
  --chrome-row-selected-light: #e3ecfe;
  --chrome-row-selected-dark: #2a2418;
  --chrome-row-stripe-light: #fcfcfd;
  --chrome-row-stripe-dark: #1d1d1d;
  --chrome-shadow-light: #0f172a14;
  --chrome-shadow-dark: #00000073;
  --chrome-shadow-strong-light: #0f172a29;
  --chrome-shadow-strong-dark: #000000a6;
  --chrome-thead-bg-light: #f2f3f5;
  --chrome-thead-bg-dark: #171717;
  --chrome-wash-light: #eaf0ff;
  --chrome-wash-dark: #d9a4411f;
  --data-chart-1-light: #3971ff;
  --data-chart-1-dark: #7fa6ff;
  --data-chart-10-light: #bf227d;
  --data-chart-10-dark: #ed82c1;
  --data-chart-2-light: #12a594;
  --data-chart-2-dark: #2dd4bf;
  --data-chart-3-light: #b8860b;
  --data-chart-3-dark: #e8b54f;
  --data-chart-4-light: #e0575b;
  --data-chart-4-dark: #ff6b6b;
  --data-chart-5-light: #7c5cfc;
  --data-chart-5-dark: #c084fc;
  --data-chart-6-light: #5d9a13;
  --data-chart-6-dark: #b8ec79;
  --data-chart-7-light: #178c2a;
  --data-chart-7-dark: #74e787;
  --data-chart-8-light: #1584ac;
  --data-chart-8-dark: #70caeb;
  --data-chart-9-light: #a331b9;
  --data-chart-9-dark: #d894e6;
  --data-danger-border-light: #da3232;
  --data-danger-border-dark: #d70000;
  --data-danger-soft-light: #fbe6e6;
  --data-danger-soft-dark: #3a1414;
  --data-danger-solid-light: #da3232;
  --data-danger-solid-dark: #d70000;
  --data-danger-text-light: #c81e1e;
  --data-danger-text-dark: #ff6b6b;
  --data-info-border-light: #3971ff;
  --data-info-border-dark: #7fa6ff;
  --data-info-soft-light: #e7eefe;
  --data-info-soft-dark: #16233f;
  --data-info-solid-light: #3971ff;
  --data-info-solid-dark: #7fa6ff;
  --data-info-text-light: #2f62e6;
  --data-info-text-dark: #7fa6ff;
  --data-success-border-light: #1f9d50;
  --data-success-border-dark: #22c55e;
  --data-success-soft-light: #e4f5ea;
  --data-success-soft-dark: #16321f;
  --data-success-solid-light: #1f9d50;
  --data-success-solid-dark: #22c55e;
  --data-success-text-light: #157f3b;
  --data-success-text-dark: #4ade80;
  --data-warning-border-light: #c98a00;
  --data-warning-border-dark: #e8b54f;
  --data-warning-soft-light: #fbf0da;
  --data-warning-soft-dark: #3a2c10;
  --data-warning-solid-light: #c98a00;
  --data-warning-solid-dark: #e8b54f;
  --data-warning-text-light: #8a5a00;
  --data-warning-text-dark: #e8b54f;
  --chrome-bg: var(--chrome-bg-light);
  --chrome-border: var(--chrome-border-light);
  --chrome-disabled-bg: var(--chrome-disabled-bg-light);
  --chrome-disabled-fg: var(--chrome-disabled-fg-light);
  --chrome-divider: var(--chrome-divider-light);
  --chrome-fg: var(--chrome-fg-light);
  --chrome-input-bg: var(--chrome-input-bg-light);
  --chrome-input-border: var(--chrome-input-border-light);
  --chrome-input-border-focus: var(--chrome-input-border-focus-light);
  --chrome-muted: var(--chrome-muted-light);
  --chrome-overlay: var(--chrome-overlay-light);
  --chrome-panel: var(--chrome-panel-light);
  --chrome-panel-soft: var(--chrome-panel-soft-light);
  --chrome-panel-strong: var(--chrome-panel-strong-light);
  --chrome-placeholder: var(--chrome-placeholder-light);
  --chrome-primary: var(--chrome-primary-light);
  --chrome-primary-foreground: var(--chrome-primary-foreground-light);
  --chrome-primary-hover: var(--chrome-primary-hover-light);
  --chrome-print-ink: var(--chrome-print-ink-light);
  --chrome-print-line: var(--chrome-print-line-light);
  --chrome-print-muted: var(--chrome-print-muted-light);
  --chrome-print-paper: var(--chrome-print-paper-light);
  --chrome-ring: var(--chrome-ring-light);
  --chrome-row-hover: var(--chrome-row-hover-light);
  --chrome-row-selected: var(--chrome-row-selected-light);
  --chrome-row-stripe: var(--chrome-row-stripe-light);
  --chrome-shadow: var(--chrome-shadow-light);
  --chrome-shadow-strong: var(--chrome-shadow-strong-light);
  --chrome-thead-bg: var(--chrome-thead-bg-light);
  --chrome-wash: var(--chrome-wash-light);
  --data-chart-1: var(--data-chart-1-light);
  --data-chart-10: var(--data-chart-10-light);
  --data-chart-2: var(--data-chart-2-light);
  --data-chart-3: var(--data-chart-3-light);
  --data-chart-4: var(--data-chart-4-light);
  --data-chart-5: var(--data-chart-5-light);
  --data-chart-6: var(--data-chart-6-light);
  --data-chart-7: var(--data-chart-7-light);
  --data-chart-8: var(--data-chart-8-light);
  --data-chart-9: var(--data-chart-9-light);
  --data-danger-border: var(--data-danger-border-light);
  --data-danger-soft: var(--data-danger-soft-light);
  --data-danger-solid: var(--data-danger-solid-light);
  --data-danger-text: var(--data-danger-text-light);
  --data-info-border: var(--data-info-border-light);
  --data-info-soft: var(--data-info-soft-light);
  --data-info-solid: var(--data-info-solid-light);
  --data-info-text: var(--data-info-text-light);
  --data-success-border: var(--data-success-border-light);
  --data-success-soft: var(--data-success-soft-light);
  --data-success-solid: var(--data-success-solid-light);
  --data-success-text: var(--data-success-text-light);
  --data-warning-border: var(--data-warning-border-light);
  --data-warning-soft: var(--data-warning-soft-light);
  --data-warning-solid: var(--data-warning-solid-light);
  --data-warning-text: var(--data-warning-text-light);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --chrome-bg: var(--chrome-bg-dark);
    --chrome-border: var(--chrome-border-dark);
    --chrome-disabled-bg: var(--chrome-disabled-bg-dark);
    --chrome-disabled-fg: var(--chrome-disabled-fg-dark);
    --chrome-divider: var(--chrome-divider-dark);
    --chrome-fg: var(--chrome-fg-dark);
    --chrome-input-bg: var(--chrome-input-bg-dark);
    --chrome-input-border: var(--chrome-input-border-dark);
    --chrome-input-border-focus: var(--chrome-input-border-focus-dark);
    --chrome-muted: var(--chrome-muted-dark);
    --chrome-overlay: var(--chrome-overlay-dark);
    --chrome-panel: var(--chrome-panel-dark);
    --chrome-panel-soft: var(--chrome-panel-soft-dark);
    --chrome-panel-strong: var(--chrome-panel-strong-dark);
    --chrome-placeholder: var(--chrome-placeholder-dark);
    --chrome-primary: var(--chrome-primary-dark);
    --chrome-primary-foreground: var(--chrome-primary-foreground-dark);
    --chrome-primary-hover: var(--chrome-primary-hover-dark);
    --chrome-print-ink: var(--chrome-print-ink-dark);
    --chrome-print-line: var(--chrome-print-line-dark);
    --chrome-print-muted: var(--chrome-print-muted-dark);
    --chrome-print-paper: var(--chrome-print-paper-dark);
    --chrome-ring: var(--chrome-ring-dark);
    --chrome-row-hover: var(--chrome-row-hover-dark);
    --chrome-row-selected: var(--chrome-row-selected-dark);
    --chrome-row-stripe: var(--chrome-row-stripe-dark);
    --chrome-shadow: var(--chrome-shadow-dark);
    --chrome-shadow-strong: var(--chrome-shadow-strong-dark);
    --chrome-thead-bg: var(--chrome-thead-bg-dark);
    --chrome-wash: var(--chrome-wash-dark);
    --data-chart-1: var(--data-chart-1-dark);
    --data-chart-10: var(--data-chart-10-dark);
    --data-chart-2: var(--data-chart-2-dark);
    --data-chart-3: var(--data-chart-3-dark);
    --data-chart-4: var(--data-chart-4-dark);
    --data-chart-5: var(--data-chart-5-dark);
    --data-chart-6: var(--data-chart-6-dark);
    --data-chart-7: var(--data-chart-7-dark);
    --data-chart-8: var(--data-chart-8-dark);
    --data-chart-9: var(--data-chart-9-dark);
    --data-danger-border: var(--data-danger-border-dark);
    --data-danger-soft: var(--data-danger-soft-dark);
    --data-danger-solid: var(--data-danger-solid-dark);
    --data-danger-text: var(--data-danger-text-dark);
    --data-info-border: var(--data-info-border-dark);
    --data-info-soft: var(--data-info-soft-dark);
    --data-info-solid: var(--data-info-solid-dark);
    --data-info-text: var(--data-info-text-dark);
    --data-success-border: var(--data-success-border-dark);
    --data-success-soft: var(--data-success-soft-dark);
    --data-success-solid: var(--data-success-solid-dark);
    --data-success-text: var(--data-success-text-dark);
    --data-warning-border: var(--data-warning-border-dark);
    --data-warning-soft: var(--data-warning-soft-dark);
    --data-warning-solid: var(--data-warning-solid-dark);
    --data-warning-text: var(--data-warning-text-dark);
  }
}

:root[data-theme="dark"] {
  --chrome-bg: var(--chrome-bg-dark);
  --chrome-border: var(--chrome-border-dark);
  --chrome-disabled-bg: var(--chrome-disabled-bg-dark);
  --chrome-disabled-fg: var(--chrome-disabled-fg-dark);
  --chrome-divider: var(--chrome-divider-dark);
  --chrome-fg: var(--chrome-fg-dark);
  --chrome-input-bg: var(--chrome-input-bg-dark);
  --chrome-input-border: var(--chrome-input-border-dark);
  --chrome-input-border-focus: var(--chrome-input-border-focus-dark);
  --chrome-muted: var(--chrome-muted-dark);
  --chrome-overlay: var(--chrome-overlay-dark);
  --chrome-panel: var(--chrome-panel-dark);
  --chrome-panel-soft: var(--chrome-panel-soft-dark);
  --chrome-panel-strong: var(--chrome-panel-strong-dark);
  --chrome-placeholder: var(--chrome-placeholder-dark);
  --chrome-primary: var(--chrome-primary-dark);
  --chrome-primary-foreground: var(--chrome-primary-foreground-dark);
  --chrome-primary-hover: var(--chrome-primary-hover-dark);
  --chrome-print-ink: var(--chrome-print-ink-dark);
  --chrome-print-line: var(--chrome-print-line-dark);
  --chrome-print-muted: var(--chrome-print-muted-dark);
  --chrome-print-paper: var(--chrome-print-paper-dark);
  --chrome-ring: var(--chrome-ring-dark);
  --chrome-row-hover: var(--chrome-row-hover-dark);
  --chrome-row-selected: var(--chrome-row-selected-dark);
  --chrome-row-stripe: var(--chrome-row-stripe-dark);
  --chrome-shadow: var(--chrome-shadow-dark);
  --chrome-shadow-strong: var(--chrome-shadow-strong-dark);
  --chrome-thead-bg: var(--chrome-thead-bg-dark);
  --chrome-wash: var(--chrome-wash-dark);
  --data-chart-1: var(--data-chart-1-dark);
  --data-chart-10: var(--data-chart-10-dark);
  --data-chart-2: var(--data-chart-2-dark);
  --data-chart-3: var(--data-chart-3-dark);
  --data-chart-4: var(--data-chart-4-dark);
  --data-chart-5: var(--data-chart-5-dark);
  --data-chart-6: var(--data-chart-6-dark);
  --data-chart-7: var(--data-chart-7-dark);
  --data-chart-8: var(--data-chart-8-dark);
  --data-chart-9: var(--data-chart-9-dark);
  --data-danger-border: var(--data-danger-border-dark);
  --data-danger-soft: var(--data-danger-soft-dark);
  --data-danger-solid: var(--data-danger-solid-dark);
  --data-danger-text: var(--data-danger-text-dark);
  --data-info-border: var(--data-info-border-dark);
  --data-info-soft: var(--data-info-soft-dark);
  --data-info-solid: var(--data-info-solid-dark);
  --data-info-text: var(--data-info-text-dark);
  --data-success-border: var(--data-success-border-dark);
  --data-success-soft: var(--data-success-soft-dark);
  --data-success-solid: var(--data-success-solid-dark);
  --data-success-text: var(--data-success-text-dark);
  --data-warning-border: var(--data-warning-border-dark);
  --data-warning-soft: var(--data-warning-soft-dark);
  --data-warning-solid: var(--data-warning-solid-dark);
  --data-warning-text: var(--data-warning-text-dark);
}

/* [project]/packages/ui/styles.css [app-client] (css) */
.jv-root {
  --jv-space: .5rem;
  --jv-radius: 6px;
  --jv-dur: .14s;
  --jv-radius-sm: 4px;
  --jv-radius-lg: 10px;
  --jv-radius-pill: 999px;
  --jv-shadow-1: 0 1px 2px var(--chrome-shadow);
  --jv-shadow-2: 0 4px 12px var(--chrome-shadow);
  --jv-shadow-3: 0 12px 32px var(--chrome-shadow-strong);
  --jv-dur-slow: .22s;
  --jv-ease: cubic-bezier(.2, .6, .2, 1);
  --jv-band: 3.5rem;
  --jv-content-max: 80rem;
  color: var(--chrome-fg);
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.jv-root[data-density="compact"] {
  --jv-space: .375rem;
  --jv-ctl-h: 1.75rem;
  --jv-font: var(--text-body-sm);
  --jv-band: 3rem;
}

.jv-root[data-density="comfortable"] {
  --jv-space: .5rem;
  --jv-ctl-h: 2.25rem;
  --jv-font: var(--text-body);
}

:where(.jv-root) :focus-visible {
  outline: 2px solid var(--chrome-ring);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .jv-root, .jv-root * {
    --jv-dur: 0s;
    transition-duration: 0s !important;
    animation-duration: 0s !important;
  }
}

.jv-btn {
  height: var(--jv-ctl-h, 2.25rem);
  border-radius: var(--jv-radius);
  font: inherit;
  font-size: var(--jv-font, .875rem);
  cursor: pointer;
  white-space: nowrap;
  transition: background-color var(--jv-dur), border-color var(--jv-dur);
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  gap: .375rem;
  padding: 0 .875rem;
  font-weight: 500;
  display: inline-flex;
}

.jv-btn:disabled, .jv-btn[aria-busy="true"] {
  opacity: .55;
  cursor: not-allowed;
}

.jv-btn[data-variant="primary"] {
  background: var(--chrome-primary);
  color: var(--chrome-primary-foreground);
}

.jv-btn[data-variant="primary"]:hover:not(:disabled) {
  background: var(--chrome-primary-hover);
}

.jv-btn[data-variant="secondary"] {
  background: var(--chrome-panel-strong);
  color: var(--chrome-fg);
  border-color: var(--chrome-border);
}

.jv-btn[data-variant="secondary"]:hover:not(:disabled) {
  background: var(--chrome-panel-soft);
}

.jv-btn[data-variant="ghost"] {
  color: var(--chrome-muted);
  background: none;
}

.jv-btn[data-variant="ghost"]:hover:not(:disabled) {
  background: var(--chrome-panel-soft);
  color: var(--chrome-fg);
}

.jv-btn[data-variant="danger"] {
  background: var(--data-danger-solid);
  color: var(--chrome-primary-foreground);
}

.jv-btn[data-size="sm"] {
  height: calc(var(--jv-ctl-h, 2.25rem)  - .375rem);
  padding: 0 .625rem;
}

.jv-field {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.jv-label {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  font-weight: 500;
}

.jv-label[data-required="true"]:after {
  content: " *";
  color: var(--data-danger-text);
}

.jv-hint {
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  color: var(--chrome-muted);
}

.jv-error {
  font-size: var(--text-caption);
  color: var(--data-danger-text);
}

.jv-control {
  height: var(--jv-ctl-h, 2.25rem);
  background: var(--chrome-input-bg);
  color: var(--chrome-fg);
  border: 1px solid var(--chrome-input-border);
  border-radius: var(--jv-radius);
  font: inherit;
  font-size: var(--jv-font, .875rem);
  padding: 0 .625rem;
}

.jv-control:focus {
  border-color: var(--chrome-input-border-focus);
}

textarea.jv-control {
  resize: vertical;
  height: auto;
  min-height: 4.5rem;
  padding: .5rem .625rem;
}

.jv-control::placeholder {
  color: var(--chrome-placeholder);
}

.jv-control:disabled {
  background: var(--chrome-disabled-bg);
  color: var(--chrome-disabled-fg);
  cursor: not-allowed;
}

.jv-control[aria-invalid="true"] {
  border-color: var(--data-danger-border);
}

.jv-suggest-wrap {
  position: relative;
}

.jv-suggest-panel {
  z-index: 30;
  inset-inline-start: 0;
  background: var(--chrome-panel);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  min-width: 100%;
  max-height: 14rem;
  box-shadow: var(--jv-shadow-2);
  flex-direction: column;
  gap: .125rem;
  margin: 0;
  padding: .25rem;
  list-style: none;
  display: flex;
  position: absolute;
  top: calc(100% + .25rem);
  overflow-y: auto;
}

.jv-suggest-item {
  border-radius: var(--jv-radius-sm);
  font-size: var(--text-body-sm);
  cursor: pointer;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .375rem;
  padding: .375rem .5rem;
  display: flex;
}

.jv-suggest-item[data-active="true"] {
  background: var(--chrome-panel-soft);
}

.jv-suggest-name {
  color: var(--chrome-fg);
  font-weight: 500;
}

.jv-suggest-meta {
  color: var(--chrome-muted);
  font-size: var(--text-caption);
}

.jv-suggest-email {
  color: var(--chrome-muted);
  font-size: var(--text-caption);
  margin-inline-start: auto;
}

.jv-suggest-empty {
  font-size: var(--text-caption);
  color: var(--chrome-muted);
  padding: .375rem .5rem;
}

.jv-card {
  background: var(--chrome-panel);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  box-shadow: var(--jv-shadow-1);
}

.jv-card-head {
  padding: calc(var(--jv-space) * 2);
  border-bottom: 1px solid var(--chrome-divider);
}

.jv-card-title {
  font-size: var(--text-section);
  line-height: var(--leading-section);
  color: var(--chrome-fg);
  margin: 0;
  font-weight: 600;
}

.jv-card-desc {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body-sm);
  color: var(--chrome-muted);
  margin: .125rem 0 0;
}

.jv-card-body {
  padding: calc(var(--jv-space) * 2);
}

.jv-badge {
  font-size: var(--text-caption);
  background: var(--chrome-panel-strong);
  color: var(--chrome-muted);
  border-radius: 999px;
  align-items: center;
  gap: .25rem;
  padding: .0625rem .5rem;
  font-weight: 500;
  line-height: 1.5;
  display: inline-flex;
}

.jv-badge[data-tone="success"] {
  background: var(--data-success-soft);
  color: var(--data-success-text);
}

.jv-badge[data-tone="warning"] {
  background: var(--data-warning-soft);
  color: var(--data-warning-text);
}

.jv-badge[data-tone="danger"] {
  background: var(--data-danger-soft);
  color: var(--data-danger-text);
}

.jv-badge[data-tone="info"] {
  background: var(--data-info-soft);
  color: var(--data-info-text);
}

.jv-badge[data-fill="solid"] {
  color: var(--chrome-primary-foreground);
}

.jv-badge[data-fill="solid"][data-tone="success"] {
  background: var(--data-success-solid);
}

.jv-badge[data-fill="solid"][data-tone="warning"] {
  background: var(--data-warning-solid);
}

.jv-badge[data-fill="solid"][data-tone="danger"] {
  background: var(--data-danger-solid);
}

.jv-badge[data-fill="solid"][data-tone="info"] {
  background: var(--data-info-solid);
}

.jv-badge[data-removable="true"] {
  padding-right: .25rem;
}

.jv-badge-x {
  color: inherit;
  cursor: pointer;
  font: inherit;
  background: none;
  border: 0;
  border-radius: 999px;
  padding: 0 .25rem;
  display: inline-flex;
}

.jv-thumb {
  border-radius: var(--jv-radius);
  background: var(--chrome-panel-soft);
  flex: none;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.jv-thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.jv-thumb img[src=""], .jv-thumb img:not([src]) {
  display: none;
}

.jv-thumb-empty {
  text-align: center;
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  padding: 0 .25rem;
  line-height: 1.3;
}

.jv-thumb-play {
  background: var(--chrome-overlay);
  width: 16px;
  height: 16px;
  color: var(--chrome-primary-foreground);
  pointer-events: none;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-size: .5rem;
  line-height: 1;
  display: flex;
  position: absolute;
  bottom: 2px;
  right: 2px;
}

.jv-table-wrap {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  overflow-x: auto;
}

.jv-table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--jv-font, .875rem);
}

.jv-table th, .jv-table td {
  padding: calc(var(--jv-space) * 1.25) calc(var(--jv-space) * 1.5);
  text-align: left;
  border-bottom: 1px solid var(--chrome-divider);
}

.jv-table thead th {
  background: var(--chrome-thead-bg);
  color: var(--chrome-muted);
  font-weight: 600;
  position: sticky;
  top: 0;
}

.jv-table td[data-align="end"], .jv-table th[data-align="end"] {
  text-align: right;
  font-family: var(--font-mono);
  font-variant-numeric: var(--font-numeric);
}

.jv-table tbody tr:last-child td {
  border-bottom: 0;
}

.jv-table tbody tr:nth-child(2n) {
  background: var(--chrome-row-stripe);
}

.jv-table tbody tr:hover {
  background: var(--chrome-row-hover);
}

.jv-table tbody tr[data-selected="true"] {
  background: var(--chrome-row-selected);
}

.jv-table tbody tr:has(.jv-row-link) {
  cursor: pointer;
  position: relative;
}

.jv-row-link:after {
  content: "";
  position: absolute;
  inset: 0;
}

.jv-table tbody tr:has(.jv-row-link) :is(a:not(.jv-row-link), button, input, select, form) {
  z-index: 1;
  position: relative;
}

.jv-table tbody tr[data-row="subtotal"], .jv-table tbody tr[data-row="subtotal"]:hover {
  background: var(--chrome-panel-soft);
  font-weight: 600;
}

.jv-table tbody tr[data-row="total"], .jv-table tbody tr[data-row="total"]:hover {
  background: var(--chrome-panel-strong);
  font-weight: 700;
}

.jv-table tbody tr[data-row="total"] td {
  border-top: 2px solid var(--chrome-border);
}

.jv-state {
  min-height: 9rem;
  padding: calc(var(--jv-space) * 5) calc(var(--jv-space) * 3);
  border-radius: var(--jv-radius);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .375rem;
  display: flex;
}

.jv-state-title {
  font-size: var(--text-body);
  font-weight: 600;
  line-height: var(--leading-body);
}

.jv-state-body {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body-sm);
  color: var(--chrome-muted);
  max-width: 34rem;
  margin: 0;
}

.jv-state[data-state="loading"] .jv-state-title {
  color: var(--chrome-muted);
  font-weight: 500;
}

.jv-state[data-state="empty"] .jv-state-title {
  color: var(--chrome-fg);
}

.jv-state[data-state="empty"], .jv-state[data-state="absent"] {
  border: 1px dashed var(--chrome-border);
  background: var(--chrome-panel-soft);
}

.jv-state[data-state="error"] {
  border: 1px solid var(--data-danger-border);
  background: var(--data-danger-soft);
}

.jv-state[data-state="error"] .jv-state-body, .jv-state[data-state="absent"] .jv-state-title {
  color: var(--chrome-fg);
}

.jv-state[data-state="error"] .jv-state-title {
  color: var(--data-danger-text);
}

.jv-spinner {
  border: 2px solid var(--chrome-border);
  border-top-color: var(--chrome-primary);
  border-radius: 999px;
  width: 1.25rem;
  height: 1.25rem;
  animation: .7s linear infinite jv-spin;
}

@keyframes jv-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .jv-spinner {
    border-top-color: var(--chrome-border);
    animation: none;
  }
}

.jv-alert {
  padding: calc(var(--jv-space) * 1.5);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel-soft);
  font-size: var(--text-body-sm);
  gap: .625rem;
  display: flex;
}

.jv-alert[data-tone="success"] {
  background: var(--data-success-soft);
  border-color: var(--data-success-border);
  color: var(--data-success-text);
}

.jv-alert[data-tone="warning"] {
  background: var(--data-warning-soft);
  border-color: var(--data-warning-border);
  color: var(--data-warning-text);
}

.jv-alert[data-tone="danger"] {
  background: var(--data-danger-soft);
  border-color: var(--data-danger-border);
  color: var(--data-danger-text);
}

.jv-alert[data-tone="info"] {
  background: var(--data-info-soft);
  border-color: var(--data-info-border);
  color: var(--data-info-text);
}

.jv-alert-title {
  font-weight: 600;
}

.jv-dialog {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  color: var(--chrome-fg);
  box-shadow: var(--jv-shadow-3);
  width: 100%;
  max-width: min(32rem, 100vw - 2rem);
  max-height: calc(100vh - 4rem);
  padding: 0;
}

.jv-dialog[open] {
  flex-direction: column;
  display: flex;
}

.jv-dialog::backdrop {
  background: var(--chrome-overlay);
}

.jv-dialog-head {
  padding: calc(var(--jv-space) * 2);
  border-bottom: 1px solid var(--chrome-divider);
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  display: flex;
}

.jv-dialog-title {
  font-size: var(--text-section);
  margin: 0;
  font-weight: 600;
}

.jv-dialog-body {
  padding: calc(var(--jv-space) * 2);
  font-size: var(--text-body);
  flex: auto;
  min-height: 0;
  overflow: auto;
}

.jv-dialog-foot {
  padding: calc(var(--jv-space) * 2);
  border-top: 1px solid var(--chrome-divider);
  background: var(--chrome-panel-soft);
  justify-content: flex-end;
  gap: .5rem;
  display: flex;
}

.jv-toasts {
  z-index: 60;
  flex-direction: column;
  gap: .5rem;
  display: flex;
  position: fixed;
  inset-block-end: 1rem;
  inset-inline-end: 1rem;
}

.jv-toast {
  min-width: 16rem;
  max-width: 24rem;
  padding: calc(var(--jv-space) * 1.5);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  color: var(--chrome-fg);
  box-shadow: var(--jv-shadow-2);
  font-size: var(--text-body-sm);
  align-items: flex-start;
  gap: .5rem;
  display: flex;
}

.jv-toast[data-tone="success"] {
  border-color: var(--data-success-border);
}

.jv-toast[data-tone="warning"] {
  border-color: var(--data-warning-border);
}

.jv-toast[data-tone="danger"] {
  border-color: var(--data-danger-border);
}

.jv-toast[data-tone="info"] {
  border-color: var(--data-info-border);
}

.jv-toast-msg {
  flex: 1;
}

.jv-series {
  color: var(--data-chart-1);
}

.jv-series[data-series="2"] {
  color: var(--data-chart-2);
}

.jv-series[data-series="3"] {
  color: var(--data-chart-3);
}

.jv-series[data-series="4"] {
  color: var(--data-chart-4);
}

.jv-series[data-series="5"] {
  color: var(--data-chart-5);
}

.jv-series[data-series="6"] {
  color: var(--data-chart-6);
}

.jv-series[data-series="7"] {
  color: var(--data-chart-7);
}

.jv-series[data-series="8"] {
  color: var(--data-chart-8);
}

.jv-series[data-series="9"] {
  color: var(--data-chart-9);
}

.jv-series[data-series="10"] {
  color: var(--data-chart-10);
}

.jv-swatch {
  background: currentColor;
  border-radius: 2px;
  width: .625rem;
  height: .625rem;
  display: inline-block;
}

.jv-shell {
  background: var(--chrome-bg);
  min-height: 100vh;
  color: var(--chrome-fg);
  display: flex;
}

.jv-shell-side {
  background: var(--chrome-panel);
  border-inline-end: 1px solid var(--chrome-border);
  flex-direction: column;
  flex: 0 0 15rem;
  width: 15rem;
  display: flex;
  overflow: hidden;
}

.jv-shell-brand, .jv-shell-axes {
  flex: none;
}

.jv-shell-axes {
  padding: var(--jv-space);
  border-bottom: 1px solid var(--chrome-border);
  flex-wrap: wrap;
  gap: .25rem;
  display: flex;
}

.jv-axis {
  font-size: var(--text-caption);
  color: var(--chrome-muted);
  white-space: nowrap;
  border-radius: 999px;
  padding: .25rem .625rem;
  font-weight: 500;
  text-decoration: none;
}

.jv-axis:hover {
  background: var(--chrome-panel-soft);
  color: var(--chrome-fg);
}

.jv-axis[data-current="true"] {
  background: var(--chrome-primary);
  color: var(--chrome-primary-foreground);
  font-weight: 600;
}

.jv-shell-filters {
  padding: var(--jv-space);
  border-bottom: 1px solid var(--chrome-border);
  flex-direction: column;
  flex: none;
  gap: .5rem;
  display: flex;
}

.jv-shell-filters label {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  margin-bottom: .25rem;
  font-weight: 600;
  display: block;
}

.jv-shell-filters select, .jv-shell-filters input {
  box-sizing: border-box;
  width: 100%;
  font-size: var(--text-caption);
  border-radius: var(--jv-radius-sm);
  border: 1px solid var(--chrome-border);
  background: var(--chrome-bg);
  color: var(--chrome-fg);
  padding: .3125rem .5rem;
}

.jv-shell-filter-note {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  margin: 0;
  line-height: 1.4;
}

.jv-shell-filter-row {
  gap: .375rem;
  display: flex;
}

.jv-shell-filter-row > * {
  flex: 1 1 0;
  min-width: 0;
}

.jv-shell[data-shell="admin"] .jv-shell-side {
  background: var(--chrome-panel-soft);
}

.jv-shell-brand {
  min-height: var(--jv-band);
  padding: 0 calc(var(--jv-space) * 2);
  border-bottom: 1px solid var(--chrome-border);
  align-items: center;
  gap: .5rem;
  font-weight: 700;
  display: flex;
}

a.jv-shell-brand {
  color: inherit;
  text-decoration: none;
}

a.jv-shell-brand:hover {
  background: color-mix(in srgb, var(--chrome-fg) 4%, transparent);
}

.jv-shell-nav {
  padding: var(--jv-space);
  flex-direction: column;
  flex: auto;
  gap: .5rem;
  display: flex;
  overflow-y: auto;
}

.jv-shell-group {
  border-radius: var(--jv-radius);
}

.jv-shell-group-label {
  border-radius: var(--jv-radius);
  cursor: pointer;
  font-size: var(--text-micro);
  line-height: var(--leading-micro);
  letter-spacing: var(--tracking-wide);
  color: var(--chrome-fg);
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .375rem .5rem;
  font-weight: 600;
  list-style: none;
  display: flex;
}

.jv-shell-group-label::-webkit-details-marker {
  display: none;
}

.jv-shell-group-label:hover {
  background: var(--chrome-panel-soft);
}

.jv-shell-group-label:focus-visible {
  outline: 2px solid var(--chrome-primary);
  outline-offset: -2px;
}

.jv-shell-group[open] > .jv-shell-group-label {
  color: var(--chrome-muted);
}

.jv-shell-chevron {
  border-block-end: 1.5px solid;
  border-inline-end: 1.5px solid;
  flex: none;
  width: .5rem;
  height: .5rem;
  transition: transform .12s;
  transform: rotate(-45deg);
}

.jv-shell-group[open] > .jv-shell-group-label .jv-shell-chevron {
  transform: rotate(45deg);
}

.jv-shell-leaves {
  flex-direction: column;
  padding: .125rem 0 .5rem .75rem;
  display: flex;
}

.jv-shell-link {
  border-radius: var(--jv-radius);
  color: var(--chrome-muted);
  font-size: var(--jv-font, .875rem);
  padding: .375rem .5rem;
  text-decoration: none;
  display: block;
}

.jv-shell-link:hover {
  background: var(--chrome-panel-soft);
  color: var(--chrome-fg);
}

.jv-shell-link[aria-current="page"] {
  background: var(--chrome-wash);
  color: var(--chrome-primary);
  font-weight: 600;
}

.jv-shell-foot {
  padding: calc(var(--jv-space) * 1.5) calc(var(--jv-space) * 2);
  border-top: 1px solid var(--chrome-border);
  flex: none;
}

.jv-side-identity {
  flex-direction: column;
  gap: .125rem;
  min-width: 0;
  display: flex;
}

.jv-side-identity-name, .jv-side-identity-role {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jv-side-identity-name {
  font-size: var(--jv-font, .875rem);
  color: var(--chrome-fg);
  font-weight: 600;
}

.jv-side-identity-role {
  font-size: var(--text-micro);
  line-height: var(--leading-micro);
  color: var(--chrome-muted);
}

.jv-side-identity-link {
  font-size: var(--text-micro);
  line-height: var(--leading-micro);
  color: var(--chrome-muted);
  align-items: center;
  gap: .25rem;
  margin-block-start: .125rem;
  text-decoration: none;
  display: inline-flex;
}

.jv-side-identity-link:hover {
  color: var(--chrome-primary);
}

.jv-side-identity-arrow {
  font-size: var(--text-caption);
}

.jv-shell-main {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.jv-shell-head {
  min-height: var(--jv-band);
  padding: var(--jv-space) calc(var(--jv-space) * 3);
  border-bottom: 1px solid var(--chrome-border);
  background: var(--chrome-panel);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.jv-shell-head-actions {
  align-items: center;
  gap: calc(var(--jv-space) * 1.5);
  display: flex;
}

.jv-theme-toggle {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius-pill);
  background: var(--chrome-panel-soft);
  color: var(--chrome-fg);
  font: inherit;
  cursor: pointer;
  align-items: center;
  gap: .4em;
  padding: .35em .7em;
  font-size: .85em;
  line-height: 1;
  display: inline-flex;
}

.jv-theme-toggle:hover {
  background: var(--chrome-row-hover);
}

.jv-theme-toggle:focus-visible {
  outline: 2px solid var(--chrome-ring);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .jv-theme-toggle-label {
    display: none;
  }
}

.jv-shell-title {
  font-size: var(--text-title);
  line-height: var(--leading-title);
  letter-spacing: var(--tracking-tight);
  margin: 0;
  font-weight: 700;
}

.jv-shell-content {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--jv-content-max);
  padding: calc(var(--jv-space) * 3);
  flex: 1;
  margin-inline: auto;
}

.jv-shell-content > * + * {
  margin-top: calc(var(--jv-space) * 2);
}

.jv-shell-empty {
  padding: calc(var(--jv-space) * 3);
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
}

.jv-skip {
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.jv-skip:focus {
  clip-path: none;
  width: auto;
  height: auto;
  z-index: 20;
  border-radius: var(--jv-radius);
  background: var(--chrome-panel-strong);
  color: var(--chrome-fg);
  font-size: var(--jv-font, .875rem);
  padding: .5rem .75rem;
  text-decoration: none;
  inset-block-start: var(--jv-space);
  inset-inline-start: var(--jv-space);
  overflow: visible;
}

.jv-actionbar {
  flex-direction: row;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-actionbar[data-align="right"] {
  justify-content: flex-end;
}

.jv-actionbar[data-align="between"] {
  justify-content: space-between;
}

.jv-actionbar-secondary, .jv-actionbar-primary {
  gap: .5rem;
  display: flex;
}

.jv-actionbar-primary button, .jv-actionbar-primary [role="button"] {
  min-height: 2.25rem;
}

.jv-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.jv-toolbar-presets, .jv-toolbar-filters {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-toolbar-legend {
  font-size: var(--text-caption);
  color: var(--chrome-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-inline-start: auto;
  display: flex;
}

.jv-legend-item {
  align-items: center;
  gap: .375rem;
  display: inline-flex;
}

.jv-stat-row {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: .75rem;
  display: grid;
}

.jv-stat {
  padding: calc(var(--jv-space) * 1.5);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.jv-stat-label {
  font-size: var(--text-caption);
  color: var(--chrome-muted);
}

.jv-stat-value {
  color: var(--chrome-fg);
  font-size: 1.25rem;
  font-weight: 700;
}

.jv-stat-unit {
  font-size: var(--text-caption);
  color: var(--chrome-muted);
  margin-inline-start: .25rem;
  font-weight: 400;
}

.jv-stat-delta {
  font-size: var(--text-caption);
}

.jv-stat-delta[data-tone="up"] {
  color: var(--data-success-text);
}

.jv-stat-delta[data-tone="down"] {
  color: var(--data-danger-text);
}

.jv-stat-delta[data-tone="flat"], .jv-stat[data-missing="true"] .jv-stat-value {
  color: var(--chrome-muted);
}

.jv-tabs {
  border-bottom: 1px solid var(--chrome-divider);
  flex-direction: row;
  gap: 1rem;
  display: flex;
  overflow-x: auto;
}

.jv-tab {
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: none;
  flex: none;
  padding: .5rem .125rem;
  text-decoration: none;
}

.jv-tab[data-current="true"] {
  color: var(--chrome-primary);
  box-shadow: inset 0 -2px 0 var(--chrome-primary);
  font-weight: 600;
}

.jv-toggle {
  height: var(--jv-ctl-h, 2.25rem);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius-pill);
  background: var(--chrome-panel-strong);
  color: var(--chrome-muted);
  font-size: var(--jv-font, .875rem);
  cursor: pointer;
  transition: background-color var(--jv-dur), border-color var(--jv-dur), box-shadow var(--jv-dur);
  align-items: center;
  gap: .375rem;
  padding: 0 .875rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.jv-toggle[aria-pressed="true"] {
  background: var(--chrome-primary);
  color: var(--chrome-primary-foreground);
  border-color: var(--chrome-primary);
  box-shadow: 0 0 0 3px var(--data-info-soft);
}

.jv-freshness {
  font-size: var(--text-caption);
  color: var(--chrome-muted);
  flex-wrap: wrap;
  align-items: baseline;
  gap: .375rem;
  margin: 0;
  display: flex;
}

.jv-freshness-label {
  font-weight: 600;
}

.jv-freshness-detail {
  color: var(--chrome-muted);
}

.jv-freshness[data-verdict="fresh"] {
  border: 0;
  padding: 0;
}

.jv-freshness[data-verdict="stale"] {
  padding: calc(var(--jv-space) * .75) var(--jv-space);
  border: 1px solid var(--data-warning-border);
  border-radius: var(--jv-radius);
  background: var(--data-warning-soft);
  color: var(--data-warning-text);
}

.jv-freshness[data-verdict="stale"] .jv-freshness-detail {
  color: var(--data-warning-text);
}

.jv-freshness[data-verdict="unknown"] {
  padding: calc(var(--jv-space) * .75) var(--jv-space);
  border: 1px dashed var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel-soft);
}

.jv-shell-main, .jv-bg-field {
  z-index: 0;
  position: relative;
}

.jv-shell-main:before, .jv-bg-field:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  background-color: var(--chrome-wash);
  position: absolute;
  inset: 0;
  -webkit-mask: url("../media/bg-field.3ed5d44c.png") 0 0 / cover no-repeat;
  mask: url("../media/bg-field.3ed5d44c.png") 0 0 / cover no-repeat;
}

.jv-shell-main:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  opacity: .28;
  -webkit-mask-image: radial-gradient(125% 90% at 0% 0%, var(--chrome-fg) 0%, color-mix(in srgb, var(--chrome-fg) 55%, transparent) 45%, transparent 78%);
  mask-image: radial-gradient(125% 90% at 0% 0%, var(--chrome-fg) 0%, color-mix(in srgb, var(--chrome-fg) 55%, transparent) 45%, transparent 78%);
  -webkit-mask-image: radial-gradient(125% 90% at 0% 0%, var(--chrome-fg) 0%, color-mix(in srgb, var(--chrome-fg) 55%, transparent) 45%, transparent 78%);
  background-image: url("../media/shell-bg.6bbe180f.webp");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  inset: 0;
}

.jv-login-bg {
  z-index: 0;
  pointer-events: none;
  background-image: url("../media/banner-a.b39f6618.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  inset: 0;
}

@media (max-width: 759px) {
  .jv-login-bg {
    background-position: 50% 68%;
  }
}

.jv-login-card {
  width: min(100%, 24rem);
  padding: calc(var(--jv-space) * 4);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius-lg);
  background: color-mix(in srgb, var(--chrome-bg) 80%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 1.5rem 3rem var(--chrome-shadow-strong);
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.jv-brand {
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: inline-flex;
}

.jv-brand-logo {
  background-color: var(--chrome-fg);
  flex: none;
  width: 6.75rem;
  height: 1.125rem;
  -webkit-mask: url("../media/gn-logo-mask.ea57fa91.png") center / contain no-repeat;
  mask: url("../media/gn-logo-mask.ea57fa91.png") center / contain no-repeat;
}

.jv-brand-rule {
  background: var(--chrome-border);
  flex: none;
  width: 1px;
  height: .75rem;
}

.jv-brand-name {
  font-size: var(--text-section);
  letter-spacing: var(--tracking-tight);
  color: var(--chrome-fg);
  font-weight: 700;
}

.jv-brand-note {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  font-weight: 500;
}

.jv-brand[data-orientation="stack"] {
  flex-direction: column;
  gap: .75rem;
}

.jv-brand[data-orientation="stack"] .jv-brand-logo {
  width: 9rem;
  height: 1.5rem;
}

.jv-brand[data-orientation="stack"] .jv-brand-rule {
  display: none;
}

.jv-brand[data-orientation="stack"] .jv-brand-name {
  font-size: var(--text-display);
  line-height: var(--leading-display);
}

.jv-chart {
  gap: var(--jv-space);
  margin: 0;
  display: grid;
}

.jv-chart-svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.jv-chart-grid {
  stroke: var(--chrome-divider);
  stroke-width: 1px;
}

.jv-chart-axis {
  stroke: var(--chrome-border);
  stroke-width: 1px;
}

.jv-chart-tick {
  fill: var(--chrome-muted);
  font-size: var(--text-micro);
}

.jv-chart-line {
  fill: none;
  stroke-width: 2px;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.jv-chart-legend {
  gap: .25rem calc(var(--jv-space) * 2);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.jv-chart-legend li {
  font-size: var(--text-body-sm);
  align-items: center;
  gap: .375rem;
  display: inline-flex;
}

.jv-chart-swatch {
  border-radius: 999px;
  width: .75rem;
  height: .125rem;
}

.jv-chart-legend-label {
  color: var(--chrome-fg);
}

.jv-chart-legend-value {
  color: var(--chrome-muted);
  font-variant-numeric: tabular-nums;
}

.jv-chart-caption {
  color: var(--chrome-muted);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body-sm);
}

.jv-hist-bar {
  fill: var(--data-chart-1);
}

.jv-bars {
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.jv-bars-row {
  grid-template-columns: minmax(6rem, 11rem) 1fr;
  align-items: center;
  gap: .75rem;
  display: grid;
}

.jv-bars-label {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jv-bars-group {
  flex-direction: column;
  gap: .1875rem;
  min-width: 0;
  display: flex;
}

.jv-bars-item {
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: .5rem;
  display: grid;
}

.jv-bars-track {
  background: var(--chrome-divider);
  border-radius: 999px;
  height: .5rem;
  display: block;
  overflow: hidden;
}

.jv-bars-fill {
  border-radius: 999px;
  height: 100%;
  display: block;
}

.jv-bars-value {
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.jv-stack {
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.jv-stack-row {
  grid-template-columns: minmax(6rem, 11rem) 1fr max-content;
  align-items: center;
  gap: .75rem;
  display: grid;
}

.jv-stack-lane {
  min-width: 0;
  display: block;
}

.jv-stack-track {
  background: var(--chrome-divider);
  border-radius: 999px;
  height: .875rem;
  display: flex;
  overflow: hidden;
}

.jv-stack-seg {
  flex: none;
  height: 100%;
  display: block;
}

.jv-stack-seg + .jv-stack-seg {
  border-left: 1px solid var(--chrome-panel);
}

.jv-stack-swatch {
  border-radius: .1875rem;
  width: .625rem;
  height: .625rem;
}

.jv-heat {
  gap: var(--jv-space);
  display: grid;
}

.jv-heat-scroll {
  max-width: 100%;
  overflow-x: auto;
}

.jv-heat-table {
  border-collapse: separate;
  border-spacing: .1875rem;
  width: max-content;
  min-width: 100%;
}

.jv-heat-caption-native {
  caption-side: top;
  text-align: left;
  color: var(--chrome-muted);
  font-size: var(--text-body-sm);
  padding-bottom: .375rem;
}

.jv-heat-corner {
  min-width: 6rem;
}

.jv-heat-colhead {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
  max-width: 8rem;
  padding: .25rem .375rem;
  font-weight: 500;
  overflow: hidden;
}

.jv-heat-rowhead {
  background: var(--chrome-panel);
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 11rem;
  padding: .25rem .5rem;
  font-weight: 500;
  position: sticky;
  left: 0;
  overflow: hidden;
}

.jv-heat-cell {
  text-align: center;
  min-width: 3.25rem;
  font-size: var(--text-caption);
  font-variant-numeric: tabular-nums;
  color: var(--chrome-fg);
  border-radius: .1875rem;
  padding: .25rem .375rem;
}

.jv-heat-cell[data-dark] {
  color: var(--chrome-primary-foreground);
}

.jv-heat-cell-empty {
  color: var(--chrome-muted);
  background: repeating-linear-gradient(-45deg, transparent 0 6px, var(--chrome-divider) 6px 7px), var(--chrome-panel-soft);
}

.jv-heat-legend {
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-heat-legend-bar {
  border-radius: 999px;
  width: 6rem;
  height: .625rem;
  display: inline-block;
}

.jv-heat-legend-swatch {
  background: repeating-linear-gradient(-45deg, transparent 0 3px, var(--chrome-divider) 3px 3.5px), var(--chrome-panel-soft);
  border-radius: .1875rem;
  width: .625rem;
  height: .625rem;
}

.jv-heat-legend-scale {
  font-variant-numeric: tabular-nums;
}

.jv-overlay {
  gap: var(--jv-space);
  margin: 0;
  display: grid;
}

.jv-overlay-scroll {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  max-height: 70vh;
  overflow: auto;
}

.jv-overlay-stage {
  background: var(--chrome-panel-soft);
  width: 100%;
  position: relative;
}

.jv-overlay-img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.jv-overlay-blank {
  background: repeating-linear-gradient(0deg, transparent 0 10%, var(--chrome-divider) 10% calc(10% + 1px));
  position: absolute;
  inset: 0;
}

.jv-overlay-svg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.jv-overlay-dot {
  fill: var(--data-danger-solid);
  mix-blend-mode: multiply;
}

.jv-pie {
  align-items: center;
  gap: var(--jv-space);
  flex-wrap: wrap;
  display: flex;
}

.jv-pie-svg {
  flex: none;
  width: 11rem;
  height: auto;
  display: block;
}

.jv-pie-slice {
  stroke: var(--chrome-panel);
  stroke-width: 1.5px;
}

.jv-pie-center {
  fill: var(--chrome-fg);
  font-size: var(--text-body);
  font-variant-numeric: tabular-nums;
}

.jv-pie-legend {
  flex-flow: column;
  flex: 12rem;
  gap: .25rem;
  min-width: 12rem;
}

.jv-pie-legend li {
  grid-template-columns: max-content 1fr max-content;
  gap: .5rem;
  display: grid;
}

.jv-pie-legend .jv-chart-legend-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jv-pie-swatch {
  border-radius: .1875rem;
  align-self: center;
  width: .625rem;
  height: .625rem;
}

.jv-pie-swatch[data-empty] {
  border: 1px dashed var(--chrome-border);
  background: none;
}

.jv-gantt-label {
  fill: var(--chrome-fg);
  font-size: var(--text-micro);
}

.jv-gantt-bar, .jv-gantt-marker {
  stroke: none;
}

.jv-gantt-origin-badge {
  fill: var(--chrome-muted);
}

.jv-gantt-today {
  stroke: var(--chrome-border);
  stroke-width: 1px;
  stroke-dasharray: 3 3;
}

.jv-gantt-edit {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .375rem;
  display: flex;
}

.jv-gantt-edit .jv-field {
  min-width: 7.5rem;
}

.jv-gantt-edit input, .jv-gantt-edit select {
  font-size: var(--text-body-sm);
}

.jv-org-scroll {
  padding: .5rem;
  overflow-x: auto;
}

.jv-org-top {
  justify-content: center;
  gap: 2rem;
  min-width: max-content;
  display: flex;
}

.jv-org-node {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.jv-org-level {
  align-items: center;
  display: flex;
}

.jv-org-box {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  min-width: 9.5rem;
  box-shadow: var(--jv-shadow-1);
  flex-direction: column;
  gap: .125rem;
  padding: .75rem 1rem;
  display: flex;
}

.jv-org-box[data-root="true"] {
  border-color: var(--chrome-primary);
  background: color-mix(in srgb, var(--chrome-primary) 10%, var(--chrome-panel));
  border-width: 2px;
}

.jv-org-box[data-staff="true"] {
  border-style: dashed;
}

.jv-org-name {
  color: var(--chrome-fg);
  font-weight: 700;
  font-size: var(--text-body);
}

.jv-org-member {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
}

.jv-org-member[data-head="true"] {
  font-weight: 600;
}

.jv-org-head-tag {
  font-size: var(--text-body-xs, .6875rem);
  color: var(--chrome-muted);
  border: 1px solid var(--chrome-border);
  border-radius: 999px;
  margin-left: .25rem;
  padding: 0 .3125rem;
  font-weight: 500;
}

.jv-org-empty {
  color: var(--chrome-muted);
  align-items: baseline;
  gap: .375rem;
  display: flex;
}

.jv-org-dash {
  font-weight: 700;
}

.jv-org-empty-label {
  font-size: var(--text-body-sm);
}

.jv-org-staff-row {
  align-items: center;
  margin-left: 2rem;
  display: flex;
}

.jv-org-staff-connector {
  border-top: 1px dashed var(--chrome-border);
  width: 2rem;
  height: 0;
  display: inline-block;
}

.jv-org-staff-boxes {
  gap: 1rem;
  display: flex;
}

.jv-org-children {
  justify-content: center;
  padding-top: 1.75rem;
  display: flex;
  position: relative;
}

.jv-org-children:before {
  content: "";
  border-left: 1px solid var(--chrome-border);
  width: 0;
  height: 1.75rem;
  position: absolute;
  top: 0;
  left: 50%;
}

.jv-org-child {
  flex-direction: column;
  align-items: center;
  padding: 1.75rem .75rem 0;
  display: flex;
  position: relative;
}

.jv-org-child:before, .jv-org-child:after {
  content: "";
  border-top: 1px solid var(--chrome-border);
  width: 50%;
  height: 1.75rem;
  position: absolute;
  top: 0;
}

.jv-org-child:before {
  right: 50%;
}

.jv-org-child:after {
  border-left: 1px solid var(--chrome-border);
  left: 50%;
}

.jv-org-child:first-child:before, .jv-org-child:last-child:after, .jv-org-child:only-child:before, .jv-org-child:only-child:after {
  border-top-color: #0000;
}

.jv-org-child .jv-org-box {
  min-width: 8.5rem;
}

.jv-org-export-error {
  color: var(--data-danger-text);
  font-size: var(--text-caption);
}

.jv-kanban-notice {
  margin: 0 0 var(--jv-space);
  font-size: var(--text-body-sm);
  color: var(--data-danger-text);
}

.jv-kanban-cols {
  gap: calc(var(--jv-space) * 2);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.jv-kanban-col {
  border: 1px solid var(--chrome-divider);
  border-radius: var(--jv-radius);
  background: var(--chrome-surface);
  min-height: 8rem;
}

.jv-kanban-col[data-over="true"] {
  border-color: var(--chrome-primary);
}

.jv-kanban-col-head {
  padding: var(--jv-space) calc(var(--jv-space) * 2);
  border-bottom: 1px solid var(--chrome-divider);
  align-items: center;
  gap: .375rem;
  display: flex;
}

.jv-kanban-dot {
  background: var(--chrome-muted);
  border-radius: 999px;
  flex: none;
  width: .5rem;
  height: .5rem;
}

.jv-kanban-col-head[data-col="doing"] .jv-kanban-dot {
  background: var(--data-info-solid);
}

.jv-kanban-col-head[data-col="done"] .jv-kanban-dot {
  background: var(--data-success-solid);
}

.jv-kanban-col-count {
  margin-inline-start: auto;
}

.jv-kanban-col-title {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  font-weight: 600;
}

.jv-kanban-col-count {
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
}

.jv-kanban-col-body {
  gap: var(--jv-space);
  padding: var(--jv-space);
  flex-direction: column;
  display: flex;
}

.jv-kanban-empty {
  padding: var(--jv-space);
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
  text-align: center;
  margin: 0;
}

.jv-kanban-card {
  border: 1px solid var(--chrome-divider);
  border-radius: var(--jv-radius);
  background: var(--chrome-bg);
  padding: calc(var(--jv-space) * 1.25);
  cursor: grab;
  box-shadow: var(--jv-shadow-1);
}

.jv-kanban-card:hover {
  border-color: var(--chrome-border);
}

.jv-kanban-card[draggable="true"]:active {
  opacity: .7;
}

.jv-kanban-card:active {
  cursor: grabbing;
}

.jv-kanban-thumb {
  object-fit: contain;
  background: var(--chrome-panel-soft);
  border-radius: var(--jv-radius);
  width: 100%;
  height: 7.5rem;
  margin-bottom: var(--jv-space);
  display: block;
}

.jv-kanban-card[data-openable="true"] {
  cursor: pointer;
}

.jv-kanban-card[data-openable="true"]:active {
  cursor: grabbing;
}

.jv-kanban-card-title {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body-sm);
  color: var(--chrome-fg);
  margin: 0;
  font-weight: 600;
}

.jv-kanban-card-title a {
  color: inherit;
}

.jv-kanban-card-meta {
  font-size: var(--text-micro);
  line-height: var(--leading-micro);
  color: var(--chrome-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .375rem;
  margin: .25rem 0 0;
  display: flex;
}

.jv-kanban-cat {
  border: 1px solid var(--chrome-divider);
  color: var(--chrome-fg);
  border-radius: 999px;
  padding: 0 .375rem;
}

.jv-kanban-card-actions {
  justify-content: space-between;
  align-items: center;
  gap: var(--jv-space);
  margin-top: var(--jv-space);
  display: flex;
}

.jv-kanban-move {
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.jv-kanban-move:focus-within {
  clip-path: none;
  width: auto;
  height: auto;
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  align-items: center;
  gap: .25rem;
  display: inline-flex;
  position: static;
}

.jv-kanban-card-actions {
  position: relative;
}

.jv-kanban-receive {
  border: 1px solid var(--chrome-divider);
  border-radius: var(--jv-radius);
  background: var(--chrome-surface);
  color: var(--chrome-fg);
  font: inherit;
  font-size: var(--text-body-sm);
  cursor: pointer;
  padding: .125rem .5rem;
}

.jv-kv {
  gap: var(--jv-space);
  margin: 0 0 calc(var(--jv-space) * 2);
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  display: grid;
}

.jv-kv > div {
  flex-direction: column;
  gap: .125rem;
  display: flex;
}

.jv-kv dt {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
}

.jv-kv dd {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  margin: 0;
}

.jv-post-body {
  white-space: pre-wrap;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--chrome-fg);
  margin: 0;
}

.jv-post-form {
  gap: var(--jv-space);
  flex-direction: column;
  max-width: 44rem;
  display: flex;
}

.jv-post-form .jv-btn {
  align-self: flex-start;
}

.jv-post-actions {
  gap: var(--jv-space);
  flex-wrap: wrap;
  display: flex;
}

.jv-comment-form {
  align-items: flex-end;
  gap: var(--jv-space);
  margin-top: calc(var(--jv-space) * 2);
  display: flex;
}

.jv-comment-form .jv-field {
  flex: 1;
}

.jv-drop {
  border: 1px dashed var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel-soft);
  padding: calc(var(--jv-space) * 2);
  text-align: center;
  cursor: pointer;
}

.jv-drop[data-over="true"] {
  border-color: var(--chrome-primary);
  background: var(--chrome-wash);
}

.jv-drop:focus-visible {
  outline: 2px solid var(--chrome-ring);
  outline-offset: 2px;
}

.jv-drop-hint {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body-sm);
  color: var(--chrome-muted);
  margin: 0;
}

.jv-drop-input {
  display: none;
}

.jv-chips {
  margin: var(--jv-space) 0 0;
  gap: var(--jv-space);
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
  display: flex;
}

.jv-chip {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  font-size: var(--text-body-sm);
  align-items: center;
  gap: .375rem;
  padding: .25rem .5rem;
  display: inline-flex;
}

.jv-chip-thumb {
  object-fit: cover;
  border-radius: var(--jv-radius-sm);
  width: 1.75rem;
  height: 1.75rem;
}

.jv-chip-name {
  color: var(--chrome-fg);
}

.jv-chip-size {
  color: var(--chrome-muted);
  font-size: var(--text-micro);
}

.jv-chip-x {
  color: var(--chrome-muted);
  cursor: pointer;
  font: inherit;
  border-radius: var(--jv-radius-sm);
  background: none;
  border: 0;
  padding: 0 .125rem;
}

.jv-chip-x:hover {
  color: var(--data-danger-text);
}

.jv-dt {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.jv-dt-tools {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-dt-tools-right {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-inline-start: auto;
  display: flex;
}

.jv-dt-search {
  max-width: 20rem;
}

.jv-dt-cols {
  position: relative;
}

.jv-dt-cols-panel {
  z-index: 30;
  inset-inline-end: 0;
  background: var(--chrome-panel);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  min-width: 12rem;
  box-shadow: var(--jv-shadow-2);
  flex-direction: column;
  gap: .25rem;
  padding: .5rem .75rem;
  display: flex;
  position: absolute;
  top: calc(100% + .25rem);
}

.jv-dt-cols-item {
  font-size: var(--text-body-sm);
  white-space: nowrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-dt-check {
  text-align: center;
  width: 2.5rem;
}

.jv-dt-sort {
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: .125rem;
  padding: 0;
  display: inline-flex;
}

.jv-dt-sort:hover {
  text-decoration: underline;
}

.jv-table tbody tr[data-clickable="true"] {
  cursor: pointer;
}

.jv-dt-pager {
  justify-content: flex-end;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.jv-bulkbar {
  z-index: 20;
  background: var(--chrome-panel);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius);
  box-shadow: var(--jv-shadow-1);
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: .5rem;
  padding: .625rem .875rem;
  display: flex;
  position: sticky;
  bottom: 0;
}

.jv-bulkbar[data-busy] {
  opacity: .6;
  pointer-events: none;
}

.jv-bulkbar-count {
  font-size: var(--text-body);
}

.jv-bulkbar-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-bulkbar-field {
  align-items: center;
  gap: .375rem;
  display: inline-flex;
}

.jv-bulkbar-field .jv-control {
  width: 12rem;
}

.jv-thumb-open {
  cursor: zoom-in;
  background: none;
  border: 0;
  padding: 0;
  display: block;
}

.jv-thumb-open:focus-visible {
  outline: 2px solid var(--chrome-fg);
  outline-offset: 2px;
}

.jv-dropzone {
  border: 1px dashed var(--chrome-border);
  border-radius: var(--jv-radius);
  background: var(--chrome-panel);
  text-align: center;
  padding: 1.25rem;
}

.jv-dropzone[data-over] {
  border-color: var(--chrome-accent, var(--chrome-fg));
  background: var(--chrome-row-hover);
}

.jv-dropzone[data-disabled] {
  opacity: .55;
}

.jv-dropzone-input {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  position: absolute;
}

.jv-dropzone-body {
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.jv-dropzone-label {
  font-size: var(--text-body);
}

.jv-lightbox {
  background: var(--chrome-panel);
  border-radius: var(--jv-radius);
  border: 0;
  max-width: 92vw;
  max-height: 92vh;
  padding: 0;
}

.jv-lightbox::backdrop {
  background: var(--chrome-overlay);
}

.jv-lightbox-head {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .5rem .75rem;
  display: flex;
}

.jv-lightbox-body {
  align-items: center;
  gap: .5rem;
  padding: 0 .5rem .5rem;
  display: flex;
}

.jv-lightbox-media {
  object-fit: contain;
  max-width: 80vw;
  max-height: 74vh;
  display: block;
}

.jv-lightbox-nav {
  cursor: pointer;
  color: var(--chrome-muted);
  background: none;
  border: 0;
  padding: 0 .25rem;
  font-size: 2rem;
  line-height: 1;
}

.jv-lightbox-nav:disabled {
  opacity: .3;
  cursor: default;
}

.jv-lightbox-caption {
  font-size: var(--text-body-sm);
  color: var(--chrome-muted);
  padding: 0 .75rem .75rem;
}

.jv-gedit-notice {
  margin: 0 0 var(--jv-space);
  font-size: var(--text-body-sm);
  color: var(--data-danger-text);
}

.jv-gedit-help {
  margin: 0 0 var(--jv-space);
  font-size: var(--text-caption);
  color: var(--chrome-muted);
}

.jv-gedit-rows {
  flex-direction: column;
  gap: .25rem;
  display: flex;
  overflow-x: auto;
}

.jv-gedit-row {
  align-items: center;
  gap: var(--jv-space);
  display: flex;
}

.jv-gedit-label {
  width: 12rem;
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 0 0 12rem;
  overflow: hidden;
}

.jv-gedit-track {
  background: var(--chrome-panel-soft);
  border-radius: var(--jv-radius-sm);
  touch-action: none;
  height: 1.5rem;
  position: relative;
}

.jv-gedit-today {
  background: var(--chrome-border);
  width: 1px;
  position: absolute;
  inset-block: 0;
}

.jv-gedit-bar {
  border-radius: var(--jv-radius-sm);
  background: var(--data-chart-1);
  color: var(--chrome-primary-foreground);
  font-size: var(--text-micro);
  cursor: grab;
  touch-action: none;
  align-items: center;
  padding-inline: .375rem;
  display: flex;
  position: absolute;
  inset-block: .1875rem;
  overflow: hidden;
}

.jv-gedit-bar:active {
  cursor: grabbing;
}

.jv-gedit-bar:focus-visible {
  outline: 2px solid var(--chrome-ring);
  outline-offset: 1px;
}

.jv-gedit-bar-readonly {
  cursor: default;
  outline: 1px dashed var(--chrome-border);
  outline-offset: -1px;
}

.jv-gedit-bar-readonly:active {
  cursor: default;
}

.jv-gedit-segments {
  border-radius: inherit;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.jv-gedit-segment {
  position: absolute;
  inset-block: 0;
}

.jv-gedit-range {
  z-index: 1;
  white-space: nowrap;
  position: relative;
}

.jv-gedit-handle {
  z-index: 1;
  cursor: ew-resize;
  background: var(--chrome-overlay);
  width: .5rem;
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
}

.jv-deflist {
  gap: var(--jv-space);
  margin: 0;
  display: grid;
}

.jv-deflist dt {
  color: var(--chrome-fg);
  font-weight: 600;
}

.jv-deflist dd {
  border-left: 2px solid var(--chrome-border);
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  color: var(--chrome-muted);
  margin: .125rem 0 0;
  padding-left: .75rem;
}

.jv-chipinput {
  position: relative;
}

.jv-chipinput-chips {
  min-height: var(--jv-ctl-h, 2.25rem);
  background: var(--chrome-input-bg);
  color: var(--chrome-fg);
  border: 1px solid var(--chrome-input-border);
  border-radius: var(--jv-radius);
  flex-wrap: wrap;
  align-items: center;
  gap: .375rem;
  margin: 0;
  padding: .375rem .5rem;
  list-style: none;
  display: flex;
}

.jv-chipinput:focus-within .jv-chipinput-chips {
  border-color: var(--chrome-input-border-focus);
}

.jv-chipinput[data-disabled="true"] .jv-chipinput-chips {
  background: var(--chrome-disabled-bg);
}

.jv-chipinput-input-wrap {
  flex: 8rem;
  min-width: 8rem;
  list-style: none;
}

.jv-chipinput-input {
  width: 100%;
  font: inherit;
  font-size: var(--jv-font, .875rem);
  color: var(--chrome-fg);
  background: none;
  border: 0;
  padding: .125rem 0;
}

.jv-chipinput-input::placeholder {
  color: var(--chrome-placeholder);
}

.jv-chipinput-input:disabled {
  color: var(--chrome-disabled-fg);
  cursor: not-allowed;
}

.jv-chipinput-tag {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius-pill);
  padding: 0 .375rem;
  line-height: 1.4;
}

.jv-gantt-filters {
  flex-direction: column;
  gap: .5rem;
  margin-bottom: .75rem;
  display: flex;
}

.jv-gantt-filters .jv-field {
  max-width: 16rem;
}

.jv-gantt-filter-people {
  border: 0;
  flex-wrap: wrap;
  gap: .25rem 1rem;
  margin: 0;
  padding: 0;
  display: flex;
}

.jv-gantt-filter-people legend {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  padding: 0;
}

.jv-gantt-filter-person {
  white-space: nowrap;
  align-items: center;
  gap: .375rem;
  display: inline-flex;
}

/* [project]/apps/hub/app/globals.css [app-client] (css) */
html, body {
  background: var(--chrome-bg);
  color: var(--chrome-fg);
  font-family: var(--font-sans);
  margin: 0;
}

.hub-list {
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hub-more {
  margin: .75rem 0 0;
}

.hub-dl {
  grid-template-columns: minmax(7rem, max-content) 1fr;
  gap: .375rem 1rem;
  margin: 0;
  font-size: .875rem;
  display: grid;
}

.hub-dl dt {
  color: var(--chrome-muted);
}

.hub-dl dd {
  color: var(--chrome-fg);
  margin: 0;
}

.hub-who {
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
  display: inline-flex;
}

.hub-who-name {
  color: var(--chrome-muted);
}

.login-page {
  background: var(--chrome-bg);
  place-items: center;
  min-height: 100dvh;
  padding: 1.5rem;
  display: grid;
}

.login-panel {
  z-index: 1;
  justify-content: center;
  width: 100%;
  display: flex;
  position: relative;
}

@media (min-width: 760px) {
  .login-panel {
    justify-content: flex-end;
    width: min(92vw, 64rem);
    margin: 0 auto;
    padding-right: 6vw;
  }
}

.login-brand {
  text-align: center;
}

.login-title {
  justify-content: center;
  margin: 0;
  display: flex;
}

.login-sub {
  color: var(--chrome-muted);
  margin: .25rem 0 0;
  font-size: .8125rem;
}

.login-alert {
  margin-bottom: 1rem;
}

.login-form {
  flex-direction: column;
  gap: .875rem;
  display: flex;
}

.login-form .jv-btn {
  width: 100%;
  margin-top: .25rem;
}

.login-foot {
  text-align: center;
  color: var(--chrome-muted);
  margin: 0;
  font-size: .75rem;
  line-height: 1.6;
}

.jv-state[data-state="not-connected"] {
  border: 1px dashed var(--chrome-border);
  border-radius: 6px;
}

.jv-state[data-state="not-connected"] .jv-state-title {
  color: var(--data-info-text);
}

.jv-state[data-state="owned-elsewhere"] {
  border: 1px solid var(--chrome-border);
  background: var(--chrome-panel-soft);
  border-radius: 6px;
}

.jv-state[data-state="owned-elsewhere"] .jv-state-title {
  color: var(--chrome-fg);
}

.jv-state[data-state="owned-elsewhere"] code {
  background: var(--chrome-panel-strong);
  border-radius: 4px;
  padding: .125rem .375rem;
  font-size: .75rem;
}

.hub-needs {
  flex-wrap: wrap;
  justify-content: center;
  gap: .375rem;
  margin: .25rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-needs code {
  background: var(--chrome-panel-soft);
  color: var(--chrome-muted);
  border-radius: 4px;
  padding: .125rem .375rem;
  font-size: .75rem;
}

.hub-lede {
  color: var(--chrome-muted);
  margin: 0 0 .75rem;
  font-size: .8125rem;
}

.hub-filters {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.hub-filters .jv-field {
  min-width: 11rem;
}

.hub-actions {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.hub-delete {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.hub-delete-scope {
  border: 1px solid var(--chrome-border);
  border-radius: .375rem;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: .5rem .75rem;
  display: flex;
}

.hub-delete-scope legend {
  color: var(--chrome-muted);
  padding: 0 .25rem;
  font-size: .75rem;
}

.hub-delete-choice {
  align-items: center;
  gap: .25rem;
  font-size: .8125rem;
  display: inline-flex;
}

.hub-delete-choice input:disabled + span {
  color: var(--chrome-muted);
}

.hub-cols {
  flex-wrap: wrap;
  gap: .375rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-cols li {
  border: 1px solid var(--chrome-border);
  color: var(--chrome-muted);
  border-radius: 999px;
  padding: .125rem .5rem;
  font-size: .75rem;
}

.hub-stats {
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: 0 0 .75rem;
  display: flex;
}

.hub-stat-label {
  color: var(--chrome-muted);
  font-size: .75rem;
  display: block;
}

.hub-stat-value {
  font-size: 1.25rem;
  font-weight: 600;
  font-family: var(--font-mono);
  font-variant-numeric: var(--font-numeric);
}

.hub-home {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.hub-2col {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.5rem;
  display: grid;
}

.hub-table-board .jv-table th:nth-child(2) {
  width: 21%;
}

.hub-table-board .jv-table th:nth-child(3) {
  width: 29%;
}

.hub-table-calendar .jv-table th:first-child {
  width: 30%;
}

.hub-table-calendar .jv-table th:nth-child(3) {
  width: 22%;
}

.hub-table-wiki .jv-table th:nth-child(2) {
  width: 10rem;
}

.hub-table-wiki .jv-table th:nth-child(3) {
  width: 8.75rem;
}

.hub-week-strip {
  grid-template-columns: repeat(7, 1fr);
  gap: .25rem;
  margin: 0 0 .75rem;
  display: grid;
}

.hub-week-day {
  border-radius: 6px;
  flex-direction: column;
  align-items: center;
  gap: .125rem;
  padding: .375rem .25rem;
  display: flex;
}

.hub-week-day[data-today="true"] {
  background: var(--chrome-panel-soft);
}

.hub-week-day[data-today="true"] .hub-week-label, .hub-week-day[data-today="true"] .hub-week-date {
  color: var(--chrome-primary);
}

.hub-week-label {
  color: var(--chrome-muted);
  font-size: .75rem;
}

.hub-week-date {
  font-size: .8125rem;
  font-weight: 600;
  font-family: var(--font-mono);
  color: var(--chrome-fg);
}

.hub-week-count {
  min-height: 1rem;
  color: var(--chrome-muted);
  font-size: .6875rem;
}

.hub-week-count[data-has="true"] {
  color: var(--chrome-primary);
  font-weight: 600;
}

.hub-month-grid {
  grid-template-columns: repeat(7, 1fr);
  gap: .25rem;
  margin: 0 0 .75rem;
  display: grid;
}

.hub-month-head {
  color: var(--chrome-muted);
  text-align: center;
  padding: .25rem 0;
  font-size: .75rem;
}

.hub-month-cell {
  border: 1px solid var(--chrome-border);
  border-radius: 6px;
  flex-direction: column;
  gap: .125rem;
  min-height: 3.25rem;
  padding: .25rem .375rem;
  display: flex;
}

.hub-month-cell[data-in-month="false"] {
  opacity: .45;
}

.hub-month-cell[data-today="true"] {
  background: var(--chrome-panel-soft);
  border-color: var(--chrome-primary);
}

.hub-month-day {
  font-size: .8125rem;
  font-weight: 600;
  font-family: var(--font-mono);
  color: var(--chrome-fg);
}

.hub-month-count {
  color: var(--chrome-muted);
  font-size: .6875rem;
}

.hub-month-count[data-has="true"] {
  color: var(--chrome-primary);
  font-weight: 600;
}

.hub-month-cell {
  min-height: 5.5rem;
}

.hub-month-open {
  cursor: pointer;
  color: inherit;
  background: none;
  border: 0;
  justify-content: flex-start;
  padding: 0;
  display: flex;
}

.hub-month-open:disabled {
  cursor: default;
}

.hub-month-cell[data-can-write="true"] {
  cursor: pointer;
}

.hub-month-cell[data-can-write="true"]:hover {
  border-color: var(--chrome-primary);
}

.hub-month-chip {
  text-align: left;
  cursor: pointer;
  background: var(--chrome-panel-soft);
  width: 100%;
  color: var(--chrome-fg);
  border: 0;
  border-radius: 4px;
  align-items: baseline;
  gap: .25rem;
  padding: .0625rem .25rem;
  font-size: .6875rem;
  display: flex;
}

.hub-month-chip:hover {
  background: var(--chrome-primary);
  color: var(--chrome-primary-foreground);
}

.hub-month-chip[data-all-day="true"] {
  border-left: 3px solid var(--chrome-primary);
}

.hub-chip-time {
  font-family: var(--font-mono);
  color: var(--chrome-muted);
}

.hub-month-chip:hover .hub-chip-time {
  color: inherit;
}

.hub-chip-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.hub-month-more {
  cursor: pointer;
  color: var(--chrome-primary);
  background: none;
  border: 0;
  align-self: flex-start;
  padding: 0 .25rem;
  font-size: .6875rem;
}

.hub-day-list {
  flex-direction: column;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-weekgrid-scroll {
  margin: 0 0 .75rem;
  overflow-x: auto;
}

.hub-weekgrid {
  grid-template-columns: 3.5rem repeat(7, minmax(7rem, 1fr));
  column-gap: .25rem;
  min-width: 52rem;
  display: grid;
}

.hub-weekgrid-head {
  border-radius: 6px;
  flex-direction: column;
  align-items: center;
  gap: .125rem;
  padding: .25rem 0;
  display: flex;
}

.hub-weekgrid-head[data-today="true"] {
  background: var(--chrome-panel-soft);
}

.hub-weekgrid-head[data-today="true"] .hub-weekgrid-head-label, .hub-weekgrid-head[data-today="true"] .hub-weekgrid-head-date {
  color: var(--chrome-primary);
}

.hub-weekgrid-head-label {
  color: var(--chrome-muted);
  font-size: .75rem;
}

.hub-weekgrid-head-date {
  font-size: .8125rem;
  font-weight: 600;
  font-family: var(--font-mono);
  color: var(--chrome-fg);
}

.hub-weekgrid-axis-label {
  color: var(--chrome-muted);
  text-align: right;
  padding: .25rem .25rem 0 0;
  font-size: .6875rem;
}

.hub-weekgrid-allday {
  flex-direction: column;
  gap: .125rem;
  min-height: 1.5rem;
  padding: .125rem;
  display: flex;
}

.hub-weekgrid-axis, .hub-weekgrid-col {
  height: 41.25rem;
  position: relative;
}

.hub-weekgrid-axis {
  border-right: 1px solid var(--chrome-border);
}

.hub-weekgrid-hour {
  color: var(--chrome-muted);
  text-align: right;
  font-size: .6875rem;
  position: absolute;
  left: 0;
  right: .375rem;
  transform: translateY(-50%);
}

.hub-weekgrid-col {
  border-left: 1px solid var(--chrome-border);
  cursor: pointer;
}

.hub-weekgrid-hourline {
  border-top: 1px solid var(--chrome-border);
  opacity: .5;
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
}

.hub-weekgrid-now {
  border-top: 2px solid var(--chrome-danger);
  z-index: 1;
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
}

.hub-weekgrid-chip {
  text-align: left;
  cursor: pointer;
  background: var(--chrome-panel-soft);
  color: var(--chrome-fg);
  box-sizing: border-box;
  border: 0;
  border-radius: 4px;
  flex-direction: column;
  gap: 0;
  padding: .0625rem .25rem;
  font-size: .6875rem;
  display: flex;
  position: absolute;
  overflow: hidden;
}

.hub-weekgrid-chip:hover {
  background: var(--chrome-primary);
  color: var(--chrome-primary-foreground);
}

.hub-weekgrid-chip .hub-chip-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.hub-weekgrid-overflow {
  cursor: pointer;
  color: var(--chrome-warning);
  text-align: left;
  background: none;
  border: 0;
  padding: 0;
  font-size: .6875rem;
  font-weight: 600;
  position: absolute;
  bottom: .125rem;
  left: .25rem;
  right: .25rem;
}

.hub-detail {
  grid-template-columns: 5rem 1fr;
  gap: .375rem .75rem;
  margin: 0;
  display: grid;
}

.hub-detail dt {
  color: var(--chrome-muted);
  font-size: .75rem;
}

.hub-detail dd {
  color: var(--chrome-fg);
  margin: 0;
  font-size: .8125rem;
}

.hub-post-form {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.hub-post-form .jv-btn {
  align-self: flex-start;
}

.hub-post-body textarea {
  field-sizing: content;
  resize: vertical;
  width: 100%;
  min-height: 18rem;
  line-height: var(--leading-body);
}

.hub-post-meta {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.hub-post-meta .jv-field {
  flex: 9rem;
  min-width: 8rem;
}

.hub-post-meta .jv-control {
  width: 100%;
}

.hub-due-field {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.hub-due-quick {
  gap: .25rem;
  display: flex;
}

.hub-post-meta-row {
  flex-wrap: wrap;
  gap: .25rem 1.25rem;
  margin: 0 0 .75rem;
  display: flex;
}

.hub-post-meta-row > div {
  align-items: baseline;
  gap: .375rem;
  display: flex;
}

.hub-post-meta-row dt {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  margin: 0;
}

.hub-post-meta-row dd {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  margin: 0;
}

.hub-post-layout {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1.5rem;
  display: grid;
}

@media (min-width: 960px) {
  .hub-post-layout {
    grid-template-columns: 1fr 19rem;
  }

  .hub-post-aside {
    position: sticky;
    top: 1.5rem;
  }
}

.hub-post-main {
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
  display: flex;
}

.hub-post-aside {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.hub-sidebar-row + .hub-sidebar-row {
  border-top: 1px solid var(--chrome-border);
  margin-top: .625rem;
  padding-top: .625rem;
}

.hub-sidebar-label {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  margin: 0 0 .25rem;
}

.hub-sidebar-value {
  font-size: var(--text-body-sm);
  color: var(--chrome-fg);
  margin: 0;
}

.hub-sidebar-actions {
  flex-direction: column;
  align-items: flex-start;
  gap: .375rem;
  display: flex;
}

.hub-sidebar-actions .jv-btn {
  align-self: stretch;
}

.hub-card-media {
  margin: 0 0 .75rem;
}

.hub-card-media img {
  object-fit: contain;
  background: var(--chrome-panel-soft);
  border-radius: var(--jv-radius);
  width: 100%;
  max-height: 22rem;
  display: block;
}

.hub-card-media figcaption {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  margin-top: .25rem;
}

.hub-body-image {
  margin: .5rem 0 .75rem;
}

.hub-body-image img {
  object-fit: contain;
  background: var(--chrome-panel-soft);
  border-radius: var(--jv-radius);
  max-width: 100%;
  max-height: 28rem;
  display: block;
}

.hub-body-image figcaption {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  margin-top: .25rem;
}

.hub-card-media .jv-thumb-open, .hub-body-image .jv-thumb-open {
  width: 100%;
}

.hub-card-attach {
  flex-wrap: wrap;
  gap: .75rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-card-attach li {
  flex-direction: column;
  gap: .25rem;
  max-width: 12rem;
  display: flex;
}

.hub-card-attach img {
  object-fit: contain;
  background: var(--chrome-panel-soft);
  border-radius: var(--jv-radius);
  width: 100%;
  max-height: 8rem;
  display: block;
}

.hub-card-attach-name {
  font-size: var(--text-micro);
  color: var(--chrome-muted);
  overflow-wrap: anywhere;
}

.hub-attach-thumb.jv-thumb {
  width: 6rem;
  height: 4rem;
}

.hub-attach-thumb.jv-thumb img {
  object-fit: contain;
}

.hub-cal-tab {
  align-items: center;
  gap: .375rem;
  display: inline-flex;
}

.hub-candidates {
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-candidates li {
  border-bottom: 1px solid var(--chrome-divider);
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .125rem .75rem;
  padding: .375rem 0;
  display: grid;
}

.hub-cand-title {
  color: var(--chrome-fg);
  font-size: .8125rem;
}

.hub-cand-meta {
  color: var(--chrome-muted);
  grid-column: 1;
  font-size: .6875rem;
}

.hub-candidates li > .jv-btn {
  grid-area: 1 / 2 / span 2;
}

.hub-cand-actions {
  grid-area: 1 / 2 / span 2;
  align-items: center;
  gap: .375rem;
  display: flex;
}

.hub-cand-actions form {
  display: contents;
}

.hub-rsvp {
  border-top: 1px solid var(--chrome-divider);
  margin-top: .75rem;
  padding-top: .5rem;
}

.hub-rsvp-head {
  color: var(--chrome-muted);
  margin: 0 0 .375rem;
  font-size: .75rem;
  font-weight: 600;
}

.hub-attendees {
  flex-direction: column;
  gap: .125rem;
  margin: .375rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-attendees li {
  color: var(--chrome-fg);
  justify-content: space-between;
  gap: .75rem;
  font-size: .75rem;
  display: flex;
}

.hub-minutes-form {
  flex-direction: column;
  gap: .375rem;
  margin-top: .5rem;
  display: flex;
}

.hub-minutes-form textarea {
  font: inherit;
  border: 1px solid var(--chrome-input-border);
  background: var(--chrome-input-bg);
  color: var(--chrome-fg);
  border-radius: 4px;
  padding: .375rem;
}

.hub-greeting {
  font-size: var(--text-section);
  line-height: var(--leading-section);
  color: var(--chrome-muted);
  margin: 0;
}

.hub-greeting strong {
  color: var(--chrome-fg);
  font-weight: 700;
}

.hub-greeting-date {
  font-size: var(--text-body-sm);
  margin-inline-start: .5rem;
}

.hub-home .jv-stat-value {
  font-size: var(--text-title);
  line-height: var(--leading-title);
  font-variant-numeric: var(--font-numeric);
}

.jv-root .jv-table caption {
  caption-side: bottom;
  text-align: left;
  padding: calc(var(--jv-space) * 1.25) calc(var(--jv-space) * 1.5);
  border-top: 1px solid var(--chrome-divider);
}

.hub-filters .jv-field {
  flex: 11rem;
}

.hub-filters .jv-field:has(textarea) {
  flex-basis: 100%;
}

.hub-filters .jv-control {
  box-sizing: border-box;
  width: 100%;
}

.jv-org-level {
  position: relative;
}

.jv-org-level > .jv-org-staff-row {
  margin-left: 0;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}

.hub-disclosure-summary {
  cursor: pointer;
  border: 1px solid var(--chrome-divider);
  border-radius: var(--jv-radius);
  width: max-content;
  color: var(--chrome-fg);
  padding: .4rem .9rem;
  font-size: .875rem;
  font-weight: 500;
  list-style: none;
  display: list-item;
}

.hub-disclosure-summary::-webkit-details-marker {
  display: none;
}

.hub-disclosure-summary:hover {
  border-color: var(--chrome-primary);
}

.hub-disclosure-summary:focus-visible {
  outline: 2px solid var(--chrome-primary);
  outline-offset: 2px;
}

.hub-disclosure-open {
  display: none;
}

.hub-disclosure[open] > .hub-disclosure-summary {
  margin-bottom: .75rem;
}

.hub-disclosure[open] > .hub-disclosure-summary .hub-disclosure-closed {
  display: none;
}

.hub-disclosure[open] > .hub-disclosure-summary .hub-disclosure-open {
  display: inline;
}

.hub-line-section-title {
  color: var(--chrome-fg);
  margin: 1rem 0 .5rem;
  font-size: .875rem;
  font-weight: 600;
}

.hub-lines {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: .75rem;
  margin: 0 0 .75rem;
  display: grid;
}

.hub-line-group {
  border: 1px solid var(--chrome-border);
  border-radius: var(--jv-radius, 6px);
  flex-direction: column;
  gap: .5rem;
  padding: .75rem;
  display: flex;
}

.hub-line-group-title {
  color: var(--chrome-fg);
  margin: 0;
  font-size: .8125rem;
  font-weight: 600;
}

.hub-line-list {
  flex-direction: column;
  gap: .375rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-line-row {
  background: var(--chrome-panel-soft);
  border-radius: 4px;
  flex-wrap: wrap;
  align-items: center;
  gap: .375rem;
  padding: .25rem .375rem;
  font-size: .8125rem;
  display: flex;
}

.hub-line-row[data-unavailable="true"] {
  border: 1px dashed var(--chrome-border);
}

.hub-line-order {
  font-family: var(--font-mono);
  font-variant-numeric: var(--font-numeric);
  color: var(--chrome-muted);
  min-width: 1.25rem;
}

.hub-line-name {
  flex: auto;
}

.hub-line-row-actions {
  flex: none;
  gap: .25rem;
  display: flex;
}

.hub-line-add {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.hub-line-add .jv-control {
  min-width: 10rem;
}

.hub-templates {
  flex-direction: column;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.hub-templates li {
  border: 1px solid var(--chrome-border);
  border-radius: 6px;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: .125rem .75rem;
  padding: .5rem .625rem;
  display: grid;
}

.hub-templates .hub-cand-meta {
  grid-column: 1 / -1;
}

.hub-templates .hub-cand-actions {
  align-items: center;
  gap: .375rem;
  display: flex;
}

.hub-templates .hub-cand-actions form {
  display: contents;
}

/*# sourceMappingURL=_669b01b7._.css.map*/