/*
 * bondhub 디자인 토큰.
 *
 * 값의 원본은 이 파일 하나다. 부품(src/design-system/components)은 Tailwind 클래스가 아니라
 * 이 변수를 직접 읽는다. Tailwind는 점진적으로 걷어낼 수 있게 두고, 남아 있는 동안에는
 * Tailwind 설정이 이 변수를 빌려 쓰는 쪽으로만 연결한다.
 *
 * 이름은 값(blue-500)이 아니라 역할(accent)로 짓는다. 브랜드 색을 바꿀 때 이름을
 * 바꾸지 않고 값만 바꾸면 모든 부품이 같이 따라오게 하려는 것이다.
 *
 * 수치는 QHD(브라우저 폭 2000px 이상) 기준이다. 사용자의 대부분(prod 세션의 64%, 2026-10)은
 * 폭 1920·높이 900 안팎이라, 2000px 미만에서 글자·높이·여백을 한 단계 줄이고(compact),
 * 1600px 미만에서 양옆 열을 한 번 더 줄인다. 단순 배율로 줄이지 않는 이유는 글자가 11px 아래로
 * 내려가지 않게 단계마다 따로 정하려는 것이다.
 */
:root {
  /* 바탕 */
  --bh-canvas: #f2f4f6;
  --bh-surface: #ffffff;
  --bh-line: #e5e8eb;

  /* 글자. 숫자가 클수록 덜 중요하다 */
  --bh-fg: #191f28;
  --bh-fg-2: #4e5968;
  --bh-fg-3: #8b95a1;
  --bh-fg-4: #b0b8c1;

  /* 미선택 칩·입력칸 바탕 */
  --bh-fill: #f2f4f6;
  --bh-fill-hover: #e5e8eb;

  /* 표 머리글 바탕. 머리글과 본문이 한눈에 갈려야 긴 표에서 열 이름을 찾기 쉽다 */
  --bh-table-head: #f9fafb;

  --bh-accent: #3182f6;
  --bh-accent-soft: #e8f3ff;
  --bh-accent-strong: #1b64da;

  --bh-danger: #f04452;
  --bh-danger-soft: #fdecee;
  --bh-danger-strong: #d22030;

  /*
   * 숫자 강조 색. 값이 오르거나 내린 것, 기준보다 높거나 낮은 것처럼 방향이 있는 숫자에 쓴다.
   * 어떤 방향에 어떤 색을 쓸지는 화면이 정한다. 디자인 시스템은 색만 제공한다.
   */
  --bh-data-red: #ef4444;
  --bh-data-blue: #3b82f6;
  --bh-data-neutral: #4b5563;

  /*
   * 범주형 색. 순서·크기의 뜻 없이 "종류가 다르다"만 보여 줄 때 쓴다(만기 구간, 직무, 종류 등).
   * 바탕은 연하고 글자는 진해서 태그로 써도 읽힌다. 어떤 종류에 몇 번을 쓸지는 화면이 정한다.
   */
  --bh-cat-1-bg: #e2e8f0;
  --bh-cat-1-fg: #1e293b;
  --bh-cat-2-bg: #dbeafe;
  --bh-cat-2-fg: #1e40af;
  --bh-cat-3-bg: #e0e7ff;
  --bh-cat-3-fg: #3730a3;
  --bh-cat-4-bg: #f3e8ff;
  --bh-cat-4-fg: #6b21a8;
  --bh-cat-5-bg: #d1fae5;
  --bh-cat-5-fg: #065f46;
  --bh-cat-6-bg: #fef3c7;
  --bh-cat-6-fg: #92400e;
  --bh-cat-7-bg: #ffe4e6;
  --bh-cat-7-fg: #9f1239;

  /*
   * 어두운 화면 팔레트. 로그인·텔레그램처럼 앱 밖에서 먼저 만나는 화면만 쓴다.
   * 밝은 화면의 글자·선 단계와 명도가 맞지 않아 따로 둔다. 값은 tailwind.config.js 의 night 와 같다.
   * 어두운 바닥 위에서 danger 문구는 대비가 모자라 오류 글자색을 밝게 따로 잡았다.
   */
  --bh-night-bg: #141b24;
  --bh-night-field: #1e2733;
  --bh-night-line: #2b3644;
  --bh-night-line-strong: #3a4757;
  --bh-night-fg: #ffffff;
  --bh-night-muted: #8c99a9;
  --bh-night-faint: #4f5d6e;
  --bh-night-error-text: #ff8a93;
  --bh-night-button-hover: #e8ebef;

  /* 툴팁. 본문 위에 떠야 하니 바탕과 반대로 어둡게 둔다 */
  --bh-tooltip-bg: #191f28;
  --bh-tooltip-fg: #ffffff;
  /* 어두운 토스트 위의 아이콘. 밝은 바탕용 색은 어두운 바탕에서 대비가 모자라 따로 둔다 */
  --bh-on-dark-success: #4ade80;
  --bh-on-dark-danger: #ff8a93;

  /*
   * 글자. 화면 제목(page) 하나를 빼면 5단계다. 11px 이하는 쓰지 않는다.
   * page는 화면마다 한 번만 쓰는 제목이라 본문 단계와 따로 둔다.
   */
  --bh-text-page: 700 22px/30px var(--bh-font);
  --bh-text-title: 700 16px/24px var(--bh-font);
  --bh-text-section: 700 15px/22px var(--bh-font);
  --bh-text-body: 400 14px/20px var(--bh-font);
  --bh-text-small: 400 13px/18px var(--bh-font);
  --bh-text-caption: 400 12px/16px var(--bh-font);

  --bh-font:
    Pretendard, -apple-system, BlinkMacSystemFont, system-ui,
    'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;

  --bh-radius-tag: 6px;
  --bh-radius-chip: 8px;
  --bh-radius-input: 10px;
  --bh-radius-card: 16px;

  /* 부품 높이. 칩과 버튼을 같은 줄에 놓으면 높이가 맞아야 한다 */
  --bh-height-sm: 28px;
  --bh-height-md: 36px;
  --bh-height-lg: 40px;
  /* 표 한 줄. 이보다 낮으면 숫자가 다닥다닥 붙어 보인다(이전 화면의 py-3 + 14px 와 같은 높이) */
  --bh-row-height: 44px;
  /* 촘촘한 표. 실시간 시세판처럼 한 화면에 많은 줄을 봐야 하는 곳에만 쓴다 */
  --bh-row-height-compact: 32px;

  /*
   * 화면 뼈대. 왼쪽 조건 레일·오른쪽 보조 열의 폭과 화면 가장자리 여백, 열 사이 간격.
   * 가운데 표가 가장 넓어야 하는 화면들이라 좁아질수록 양옆부터 줄인다.
   */
  --bh-layout-rail: 400px;
  --bh-layout-side: 400px;
  --bh-layout-pad: 24px;
  --bh-layout-gap: 16px;
  /* 카드 안쪽 여백 */
  --bh-panel-pad: 20px;

  --bh-shadow-raised: 0 1px 3px rgba(0, 0, 0, 0.08);
  /* 화면 위에 떠 있는 것(메뉴·토스트·창). 높이 뜰수록 그림자가 넓다 */
  --bh-shadow-popover: 0 4px 16px rgba(0, 0, 0, 0.12);
  --bh-shadow-dialog: 0 16px 48px rgba(0, 0, 0, 0.18);
  /* 창·시트 뒤를 덮는 막 */
  --bh-overlay: rgba(0, 0, 0, 0.4);
  --bh-focus-ring: inset 0 0 0 1.5px var(--bh-accent);
  --bh-error-ring: inset 0 0 0 1.5px var(--bh-danger);

  /*
   * 겹치는 순서. 나중에 뜬 것이 위에 와야 한다: 메뉴 < 툴팁 < 시트 < 창 < 토스트.
   * 토스트가 맨 위인 이유는 창을 닫은 결과("저장했습니다")를 창 위에서도 보여 줘야 해서다.
   */
  --bh-z-menu: 40;
  --bh-z-tooltip: 50;
  --bh-z-drawer: 60;
  --bh-z-dialog: 70;
  --bh-z-toast: 80;
}

/* compact: 1920×1080 모니터(브라우저 폭 1912~1920). 한 화면에 표를 더 많이 보이게 한 단계 줄인다 */
@media (max-width: 1999px) {
  :root {
    --bh-text-page: 700 20px/28px var(--bh-font);
    --bh-text-title: 700 15px/22px var(--bh-font);
    --bh-text-section: 700 14px/20px var(--bh-font);
    --bh-text-body: 400 13px/18px var(--bh-font);
    --bh-text-small: 400 12px/16px var(--bh-font);
    --bh-text-caption: 400 12px/16px var(--bh-font);

    --bh-height-sm: 26px;
    --bh-height-md: 32px;
    --bh-height-lg: 36px;
    --bh-row-height: 36px;
    --bh-row-height-compact: 30px;

    --bh-layout-rail: 340px;
    --bh-layout-side: 340px;
    --bh-layout-pad: 16px;
    --bh-layout-gap: 12px;
    --bh-panel-pad: 16px;
  }
}

/* 배율 125%로 쓰는 1536×864 같은 화면. 양옆 열을 한 번 더 줄인다 */
@media (max-width: 1599px) {
  :root {
    --bh-layout-rail: 300px;
    --bh-layout-side: 300px;
  }
}

/* 숫자 열. 자릿수가 세로로 맞아야 값을 눈으로 비교할 수 있다 */
.bh-num {
  font-variant-numeric: tabular-nums;
}


.bh-button[data-v-0c099b72] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  font: var(--bh-text-body);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 0.15s,
    color 0.15s;
}
.bh-button--md[data-v-0c099b72] {
  height: var(--bh-height-md);
  padding: 0 16px;
}
.bh-button--sm[data-v-0c099b72] {
  height: var(--bh-height-sm);
  padding: 0 12px;
  font: var(--bh-text-small);
  font-weight: 600;
}
.bh-button--primary[data-v-0c099b72] {
  background: var(--bh-accent);
  color: #fff;
}
.bh-button--primary[data-v-0c099b72]:hover:not(:disabled) {
  background: var(--bh-accent-strong);
}
.bh-button--danger[data-v-0c099b72] {
  background: var(--bh-danger);
  color: #fff;
}
.bh-button--danger[data-v-0c099b72]:hover:not(:disabled) {
  background: var(--bh-danger-strong);
}
.bh-button--secondary[data-v-0c099b72] {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}
.bh-button--secondary[data-v-0c099b72]:hover:not(:disabled) {
  background: var(--bh-fill-hover);
}
.bh-button--ghost[data-v-0c099b72] {
  background: transparent;
  color: var(--bh-accent);
  padding: 0 8px;
}
.bh-button--ghost[data-v-0c099b72]:hover:not(:disabled) {
  background: var(--bh-accent-soft);
}
.bh-button[data-v-0c099b72]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bh-button[data-v-0c099b72]:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}


.bh-checkbox[data-v-64e78a78] {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* 진짜 input은 보이지 않게 두되 지우지 않는다. 키보드·스크린리더가 그대로 쓴다 */
.bh-checkbox__input[data-v-64e78a78] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.bh-checkbox__box[data-v-64e78a78] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-surface);
  box-shadow: inset 0 0 0 1.5px var(--bh-fg-4);
  color: #fff;
  font-size: 11px;
  transition:
    background-color 0.15s,
    box-shadow 0.15s;
}
.bh-checkbox__input:checked + .bh-checkbox__box[data-v-64e78a78],
.bh-checkbox__input:indeterminate + .bh-checkbox__box[data-v-64e78a78] {
  background: var(--bh-accent);
  box-shadow: none;
}
.bh-checkbox__input:focus-visible + .bh-checkbox__box[data-v-64e78a78] {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}
.bh-checkbox__label[data-v-64e78a78] {
  color: var(--bh-fg);
  font: var(--bh-text-body);
}
.bh-checkbox--disabled[data-v-64e78a78] {
  opacity: 0.4;
  cursor: not-allowed;
}


.bh-chip[data-v-60a7cf8f] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: var(--bh-height-md);
  padding: 0 12px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 0.15s,
    color 0.15s;
}
.bh-chip[data-v-60a7cf8f]:hover:not(:disabled):not(.bh-chip--selected) {
  background: var(--bh-fill-hover);
}
.bh-chip--sm[data-v-60a7cf8f] {
  height: 24px;
  padding: 0 8px;
  border-radius: var(--bh-radius-tag);
  font: var(--bh-text-caption);
  font-weight: 600;
}

/* 선택은 색으로만 구분한다. 굵기까지 바꾸면 칩이 많은 레일에서 피로하고 글자 폭이 달라져 칩이 흔들린다 */
.bh-chip--selected[data-v-60a7cf8f] {
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
}
.bh-chip--block[data-v-60a7cf8f] {
  width: 100%;
  min-width: 0;
}
.bh-chip[data-v-60a7cf8f]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bh-chip[data-v-60a7cf8f]:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}


.bh-dialog[data-v-a4f3acfa] {
  position: fixed;
  inset: 0;
  z-index: var(--bh-z-dialog);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--bh-overlay);
}
.bh-dialog__panel[data-v-a4f3acfa] {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: calc(100vh - 48px);
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-dialog);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  outline: 0;
}
.bh-dialog__panel--sm[data-v-a4f3acfa] {
  max-width: 400px;
}
.bh-dialog__panel--md[data-v-a4f3acfa] {
  max-width: 560px;
}
.bh-dialog__panel--lg[data-v-a4f3acfa] {
  max-width: 800px;
}
.bh-dialog__header[data-v-a4f3acfa] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 20px 0;
}
.bh-dialog__title[data-v-a4f3acfa] {
  margin: 0;
  font: var(--bh-text-title);
}
.bh-dialog__close[data-v-a4f3acfa] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: auto;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-3);
  cursor: pointer;
}
.bh-dialog__close[data-v-a4f3acfa]:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}
.bh-dialog__body[data-v-a4f3acfa] {
  overflow-y: auto;
  padding: 16px 20px 20px;
  color: var(--bh-fg-2);
}
.bh-dialog__footer[data-v-a4f3acfa] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 20px 20px;
}
.bh-dialog-enter-active[data-v-a4f3acfa],
.bh-dialog-leave-active[data-v-a4f3acfa] {
  transition: opacity 0.15s;
}
.bh-dialog-enter-active .bh-dialog__panel[data-v-a4f3acfa],
.bh-dialog-leave-active .bh-dialog__panel[data-v-a4f3acfa] {
  transition: transform 0.15s;
}
.bh-dialog-enter-from[data-v-a4f3acfa],
.bh-dialog-leave-to[data-v-a4f3acfa] {
  opacity: 0;
}
.bh-dialog-enter-from .bh-dialog__panel[data-v-a4f3acfa],
.bh-dialog-leave-to .bh-dialog__panel[data-v-a4f3acfa] {
  transform: translateY(8px);
}


.bh-confirm__message[data-v-492c66be] {
  margin: 0;
  white-space: pre-line;
}


.bh-date-nav[data-v-71cc4856] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.bh-date-nav__step[data-v-71cc4856] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font-size: 12px;
  cursor: pointer;
}
.bh-date-nav__step[data-v-71cc4856]:hover:not(:disabled) {
  background: var(--bh-fill-hover);
}
.bh-date-nav__step[data-v-71cc4856]:disabled {
  color: var(--bh-fg-4);
  cursor: not-allowed;
}
.bh-date-nav__label[data-v-71cc4856] {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.bh-date-nav__date[data-v-71cc4856] {
  font: var(--bh-text-title);
  color: var(--bh-fg);
  white-space: nowrap;
}

/* 좁은 레일(1800 미만 264px)에서는 날짜를 지키고 보조 문구부터 줄인다 */
.bh-date-nav__caption[data-v-71cc4856] {
  overflow: hidden;
  font: var(--bh-text-small);
  color: var(--bh-fg-3);
  white-space: nowrap;
  text-overflow: ellipsis;
}


.bh-drawer[data-v-02f6be33] {
  position: fixed;
  inset: 0;
  z-index: var(--bh-z-drawer);
  display: flex;
  background: var(--bh-overlay);
}
.bh-drawer--right[data-v-02f6be33] {
  justify-content: flex-end;
}
.bh-drawer--left[data-v-02f6be33] {
  justify-content: flex-start;
}
.bh-drawer__panel[data-v-02f6be33] {
  display: flex;
  flex-direction: column;
  max-width: 100vw;
  height: 100%;
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-dialog);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  outline: 0;
}
.bh-drawer__header[data-v-02f6be33] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid var(--bh-line);
}
.bh-drawer__title[data-v-02f6be33] {
  margin: 0;
  font: var(--bh-text-title);
}
.bh-drawer__close[data-v-02f6be33] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-3);
  cursor: pointer;
}
.bh-drawer__close[data-v-02f6be33]:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}
.bh-drawer__body[data-v-02f6be33] {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  color: var(--bh-fg-2);
}
.bh-drawer__footer[data-v-02f6be33] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 20px;
  border-top: 1px solid var(--bh-line);
}
.bh-drawer-enter-active[data-v-02f6be33],
.bh-drawer-leave-active[data-v-02f6be33] {
  transition: opacity 0.2s;
}
.bh-drawer-enter-active .bh-drawer__panel[data-v-02f6be33],
.bh-drawer-leave-active .bh-drawer__panel[data-v-02f6be33] {
  transition: transform 0.2s;
}
.bh-drawer-enter-from[data-v-02f6be33],
.bh-drawer-leave-to[data-v-02f6be33] {
  opacity: 0;
}
.bh-drawer--right.bh-drawer-enter-from .bh-drawer__panel[data-v-02f6be33],
.bh-drawer--right.bh-drawer-leave-to .bh-drawer__panel[data-v-02f6be33] {
  transform: translateX(100%);
}
.bh-drawer--left.bh-drawer-enter-from .bh-drawer__panel[data-v-02f6be33],
.bh-drawer--left.bh-drawer-leave-to .bh-drawer__panel[data-v-02f6be33] {
  transform: translateX(-100%);
}


.bh-empty[data-v-4ed8c7a0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.bh-empty--md[data-v-4ed8c7a0] {
  gap: 6px;
  padding: 40px 20px;
}
.bh-empty--sm[data-v-4ed8c7a0] {
  gap: 4px;
  padding: 20px 12px;
}
.bh-empty__icon[data-v-4ed8c7a0] {
  margin-bottom: 6px;
  color: var(--bh-fg-4);
  font-size: 32px;
}
.bh-empty--sm .bh-empty__icon[data-v-4ed8c7a0] {
  margin-bottom: 2px;
  font-size: 20px;
}
.bh-empty__title[data-v-4ed8c7a0] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
  font-weight: 600;
}
.bh-empty--sm .bh-empty__title[data-v-4ed8c7a0] {
  font: var(--bh-text-small);
  font-weight: 600;
}
.bh-empty__description[data-v-4ed8c7a0] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.bh-empty__action[data-v-4ed8c7a0] {
  margin-top: 10px;
}


.bh-field[data-v-7e27e266] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bh-field__label[data-v-7e27e266] {
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.bh-field__required[data-v-7e27e266] {
  margin-left: 2px;
  color: var(--bh-danger);
}
.bh-field__hint[data-v-7e27e266],
.bh-field__error[data-v-7e27e266] {
  margin: 0;
  font: var(--bh-text-caption);
}
.bh-field__hint[data-v-7e27e266] {
  color: var(--bh-fg-3);
}
.bh-field__error[data-v-7e27e266] {
  color: var(--bh-danger);
}


.bh-input[data-v-3b685af9] {
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-fill);
  color: var(--bh-fg);
  cursor: text;
  transition:
    background-color 0.15s,
    box-shadow 0.15s;
}
.bh-input--md[data-v-3b685af9] {
  height: var(--bh-height-lg);
  padding: 0 12px;
}
.bh-input--sm[data-v-3b685af9] {
  height: var(--bh-height-sm);
  padding: 0 8px;
  border-radius: var(--bh-radius-chip);
}

/* 테두리 대신 바탕색으로 칸을 보이게 하고, 포커스일 때만 선을 그린다 */
.bh-input[data-v-3b685af9]:focus-within {
  background: var(--bh-surface);
  box-shadow: var(--bh-focus-ring);
}
.bh-input--invalid[data-v-3b685af9],
.bh-input--invalid[data-v-3b685af9]:focus-within {
  box-shadow: var(--bh-error-ring);
}
.bh-input__field[data-v-3b685af9] {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: var(--bh-text-body);
}
.bh-input--sm .bh-input__field[data-v-3b685af9] {
  font: var(--bh-text-small);
}
.bh-input__field[data-v-3b685af9]::-moz-placeholder {
  color: var(--bh-fg-3);
}
.bh-input__field[data-v-3b685af9]::placeholder {
  color: var(--bh-fg-3);
}
.bh-input__affix[data-v-3b685af9] {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.bh-input__clear[data-v-3b685af9] {
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg-4);
  cursor: pointer;
}
.bh-input__clear[data-v-3b685af9]:hover {
  color: var(--bh-fg-3);
}
.bh-input--disabled[data-v-3b685af9] {
  opacity: 0.5;
  cursor: not-allowed;
}


.bh-menu[data-v-dbf52a3c] {
  position: relative;
  display: inline-flex;
}
.bh-menu__list[data-v-dbf52a3c] {
  position: fixed;
  z-index: var(--bh-z-menu);
  min-width: 140px;
  margin: 0;
  padding: 4px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
  list-style: none;
}
.bh-menu__item[data-v-dbf52a3c] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}
.bh-menu__item[data-v-dbf52a3c]:hover:not(:disabled),
.bh-menu__item[data-v-dbf52a3c]:focus-visible {
  outline: 0;
  background: var(--bh-fill);
}
.bh-menu__item--danger[data-v-dbf52a3c] {
  color: var(--bh-danger);
}
.bh-menu__item[data-v-dbf52a3c]:disabled {
  color: var(--bh-fg-4);
  cursor: not-allowed;
}
.bh-menu__icon[data-v-dbf52a3c] {
  width: 16px;
  color: var(--bh-fg-3);
  font-size: 13px;
  text-align: center;
}
.bh-menu__item--danger .bh-menu__icon[data-v-dbf52a3c] {
  color: inherit;
}
.bh-menu-enter-active[data-v-dbf52a3c],
.bh-menu-leave-active[data-v-dbf52a3c] {
  transition:
    opacity 0.12s,
    transform 0.12s;
}
.bh-menu-enter-from[data-v-dbf52a3c],
.bh-menu-leave-to[data-v-dbf52a3c] {
  opacity: 0;
  transform: translateY(-4px);
}


.bh-page-header[data-v-05fff427] {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.bh-page-header__title[data-v-05fff427] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-page);
}
.bh-page-header__description[data-v-05fff427] {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.bh-page-header__actions[data-v-05fff427] {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
}


.bh-panel[data-v-4b8b6558] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--bh-panel-pad);
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
}
.bh-panel--flush[data-v-4b8b6558] {
  padding: 0;
  overflow: hidden;
}
.bh-panel__header[data-v-4b8b6558] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.bh-panel--flush .bh-panel__header[data-v-4b8b6558] {
  margin: 0;
  padding: 16px 20px 12px;
}
.bh-panel__title[data-v-4b8b6558] {
  margin: 0;
  font: var(--bh-text-title);
  color: var(--bh-fg);
}


.bh-section-header[data-v-8907b8e4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.bh-section-header__title[data-v-8907b8e4] {
  margin: 0;
  font: var(--bh-text-section);
  color: var(--bh-fg);
}
.bh-section-header__actions[data-v-8907b8e4] {
  display: flex;
  align-items: center;
  gap: 4px;
}


.bh-segmented[data-v-430423ae] {
  display: grid;
  gap: 2px;
  padding: 3px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-fill);
}
.bh-segmented__item[data-v-430423ae] {
  height: 34px;
  min-width: 0;
  padding: 0 8px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 0.15s,
    color 0.15s;
}
.bh-segmented__item[data-v-430423ae]:hover:not(:disabled):not(.bh-segmented__item--selected) {
  color: var(--bh-fg-2);
}
.bh-segmented__item--selected[data-v-430423ae] {
  background: var(--bh-surface);
  color: var(--bh-fg);
  font-weight: 600;
  box-shadow: var(--bh-shadow-raised);
}
.bh-segmented__item[data-v-430423ae]:disabled {
  cursor: not-allowed;
}
.bh-segmented__item[data-v-430423ae]:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: -2px;
}


.bh-select[data-v-b7c20d68] {
  position: relative;
  display: inline-flex;
  min-width: 120px;
}
.bh-select__field[data-v-b7c20d68] {
  width: 100%;
  padding: 0 36px 0 12px;
  border: 0;
  border-radius: var(--bh-radius-input);
  outline: 0;
  background: var(--bh-fill);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition:
    background-color 0.15s,
    box-shadow 0.15s;
}
.bh-select--md .bh-select__field[data-v-b7c20d68] {
  height: var(--bh-height-lg);
}
.bh-select--sm .bh-select__field[data-v-b7c20d68] {
  height: var(--bh-height-sm);
  padding: 0 28px 0 8px;
  border-radius: var(--bh-radius-chip);
  font: var(--bh-text-small);
}
.bh-select__field[data-v-b7c20d68]:hover {
  background: var(--bh-fill-hover);
}
.bh-select__field[data-v-b7c20d68]:focus {
  background: var(--bh-surface);
  box-shadow: var(--bh-focus-ring);
}
.bh-select--invalid .bh-select__field[data-v-b7c20d68] {
  box-shadow: var(--bh-error-ring);
}
.bh-select__chevron[data-v-b7c20d68] {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--bh-fg-3);
  font-size: 11px;
  transform: translateY(-50%);
  pointer-events: none;
}
.bh-select--sm .bh-select__chevron[data-v-b7c20d68] {
  right: 8px;
}
.bh-select--disabled[data-v-b7c20d68] {
  opacity: 0.5;
}
.bh-select--disabled .bh-select__field[data-v-b7c20d68] {
  cursor: not-allowed;
}


.bh-skeleton-lines[data-v-8d1c4b46] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bh-skeleton[data-v-8d1c4b46] {
  display: block;
  border-radius: var(--bh-radius-tag);
  background: linear-gradient(
    90deg,
    var(--bh-fill) 0%,
    var(--bh-fill-hover) 50%,
    var(--bh-fill) 100%
  );
  background-size: 200% 100%;
  animation: bh-shimmer-8d1c4b46 1.4s ease-in-out infinite;
}
.bh-skeleton--circle[data-v-8d1c4b46] {
  border-radius: 50%;
}
@keyframes bh-shimmer-8d1c4b46 {
from {
    background-position: 100% 0;
}
to {
    background-position: -100% 0;
}
}
@media (prefers-reduced-motion: reduce) {
.bh-skeleton[data-v-8d1c4b46] {
    animation: none;
}
}


.bh-spinner[data-v-2b35865a] {
  display: inline-block;
  flex-shrink: 0;
  border: 2px solid var(--bh-line);
  border-top-color: var(--bh-accent);
  border-radius: 50%;
  animation: bh-spin-2b35865a 0.7s linear infinite;
}
.bh-spinner--sm[data-v-2b35865a] {
  width: 16px;
  height: 16px;
}
.bh-spinner--md[data-v-2b35865a] {
  width: 24px;
  height: 24px;
}
.bh-spinner--lg[data-v-2b35865a] {
  width: 36px;
  height: 36px;
  border-width: 3px;
}
@keyframes bh-spin-2b35865a {
to {
    transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: reduce) {
.bh-spinner[data-v-2b35865a] {
    animation-duration: 2s;
}
}


.bh-switch[data-v-7ceae411] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.bh-switch__track[data-v-7ceae411] {
  position: relative;
  width: 40px;
  height: 24px;
  border-radius: 12px;
  background: var(--bh-fg-4);
  transition: background-color 0.15s;
}
.bh-switch__thumb[data-v-7ceae411] {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-raised);
  transition: transform 0.15s;
}
.bh-switch--on .bh-switch__track[data-v-7ceae411] {
  background: var(--bh-accent);
}
.bh-switch--on .bh-switch__thumb[data-v-7ceae411] {
  transform: translateX(16px);
}
.bh-switch__label[data-v-7ceae411] {
  font: var(--bh-text-body);
  color: var(--bh-fg);
}
.bh-switch[data-v-7ceae411]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bh-switch:focus-visible .bh-switch__track[data-v-7ceae411] {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}


.bh-table-wrap[data-v-474b6a10] {
  overflow-x: auto;
}
.bh-table[data-v-474b6a10] {
  width: 100%;
  border-collapse: collapse;
}
.bh-table th[data-v-474b6a10] {
  background: var(--bh-table-head);
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  white-space: nowrap;
}
.bh-table td[data-v-474b6a10] {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}
.bh-table tbody tr:last-child td[data-v-474b6a10] {
  border-bottom: 0;
}
.bh-table tbody tr:hover td[data-v-474b6a10] {
  background: var(--bh-canvas);
}
.bh-table__cell--left[data-v-474b6a10] {
  text-align: left;
}
.bh-table__cell--center[data-v-474b6a10] {
  text-align: center;
}
.bh-table__cell--right[data-v-474b6a10] {
  text-align: right;
}
.bh-table td.bh-table__empty[data-v-474b6a10] {
  color: var(--bh-fg-3);
  text-align: center;
}


.bh-tag[data-v-7ed919cb] {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 6px;
  border-radius: var(--bh-radius-tag);
  font: var(--bh-text-caption);
  font-weight: 600;
  white-space: nowrap;
}
.bh-tag--neutral[data-v-7ed919cb] {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}
.bh-tag--accent[data-v-7ed919cb] {
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
}
.bh-tag--cat-1[data-v-7ed919cb] {
  background: var(--bh-cat-1-bg);
  color: var(--bh-cat-1-fg);
}
.bh-tag--cat-2[data-v-7ed919cb] {
  background: var(--bh-cat-2-bg);
  color: var(--bh-cat-2-fg);
}
.bh-tag--cat-3[data-v-7ed919cb] {
  background: var(--bh-cat-3-bg);
  color: var(--bh-cat-3-fg);
}
.bh-tag--cat-4[data-v-7ed919cb] {
  background: var(--bh-cat-4-bg);
  color: var(--bh-cat-4-fg);
}
.bh-tag--cat-5[data-v-7ed919cb] {
  background: var(--bh-cat-5-bg);
  color: var(--bh-cat-5-fg);
}
.bh-tag--cat-6[data-v-7ed919cb] {
  background: var(--bh-cat-6-bg);
  color: var(--bh-cat-6-fg);
}
.bh-tag--cat-7[data-v-7ed919cb] {
  background: var(--bh-cat-7-bg);
  color: var(--bh-cat-7-fg);
}
.bh-tag--danger[data-v-7ed919cb] {
  background: var(--bh-danger-soft);
  color: var(--bh-danger);
}


.bh-textarea[data-v-7210323b] {
  display: flex;
  flex-direction: column;
  border-radius: var(--bh-radius-input);
  background: var(--bh-fill);
  transition:
    background-color 0.15s,
    box-shadow 0.15s;
}
.bh-textarea[data-v-7210323b]:focus-within {
  background: var(--bh-surface);
  box-shadow: var(--bh-focus-ring);
}
.bh-textarea--invalid[data-v-7210323b],
.bh-textarea--invalid[data-v-7210323b]:focus-within {
  box-shadow: var(--bh-error-ring);
}
.bh-textarea__field[data-v-7210323b] {
  min-height: 80px;
  padding: 10px 12px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  resize: vertical;
}
.bh-textarea__field[data-v-7210323b]::-moz-placeholder {
  color: var(--bh-fg-3);
}
.bh-textarea__field[data-v-7210323b]::placeholder {
  color: var(--bh-fg-3);
}
.bh-textarea__count[data-v-7210323b] {
  align-self: flex-end;
  padding: 0 12px 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.bh-textarea--disabled[data-v-7210323b] {
  opacity: 0.5;
}


.bh-toast-host[data-v-251b3e93] {
  position: fixed;
  bottom: 32px;
  left: 50%;
  z-index: var(--bh-z-toast);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transform: translateX(-50%);
  pointer-events: none;
}
.bh-toast[data-v-251b3e93] {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 480px;
  padding: 12px 12px 12px 16px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-tooltip-bg);
  box-shadow: var(--bh-shadow-popover);
  color: var(--bh-tooltip-fg);
  font: var(--bh-text-body);
  pointer-events: auto;
}
.bh-toast__icon--success[data-v-251b3e93] {
  color: var(--bh-on-dark-success);
}
.bh-toast__icon--danger[data-v-251b3e93] {
  color: var(--bh-on-dark-danger);
}
.bh-toast__message[data-v-251b3e93] {
  flex: 1;
  min-width: 0;
}
.bh-toast__close[data-v-251b3e93] {
  display: inline-flex;
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--bh-fg-3);
  cursor: pointer;
}
.bh-toast__close[data-v-251b3e93]:hover {
  color: var(--bh-tooltip-fg);
}
.bh-toast-enter-active[data-v-251b3e93],
.bh-toast-leave-active[data-v-251b3e93] {
  transition:
    opacity 0.2s,
    transform 0.2s;
}
.bh-toast-enter-from[data-v-251b3e93],
.bh-toast-leave-to[data-v-251b3e93] {
  opacity: 0;
  transform: translateY(8px);
}


.bh-tooltip[data-v-c09f090e] {
  position: relative;
  display: inline-flex;
}
.bh-tooltip__bubble[data-v-c09f090e] {
  position: absolute;
  z-index: var(--bh-z-tooltip);
  width: -moz-max-content;
  width: max-content;
  padding: 8px 10px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-tooltip-bg);
  color: var(--bh-tooltip-fg);
  font: var(--bh-text-caption);
  white-space: normal;
  pointer-events: none;
}
.bh-tooltip__bubble--top[data-v-c09f090e] {
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
}
.bh-tooltip__bubble--bottom[data-v-c09f090e] {
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
}
.bh-tooltip__bubble--left[data-v-c09f090e] {
  top: 50%;
  right: calc(100% + 6px);
  transform: translateY(-50%);
}
.bh-tooltip__bubble--right[data-v-c09f090e] {
  top: 50%;
  left: calc(100% + 6px);
  transform: translateY(-50%);
}


/* 브라우저 자동완성이 입력칸을 밝은 배경과 검은 글자로 덮어 어두운 화면에서 튄다.
   배경 전환을 사실상 멈추고 글자색을 되돌린다. */
input[data-v-07b375ee]:-webkit-autofill {
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  -webkit-transition: background-color 600000s 0s;
  transition: background-color 600000s 0s;
}


.tg-auth[data-v-79ed33ed] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 24px 16px;
  background: var(--bh-night-bg);
}
.tg-auth__inner[data-v-79ed33ed] {
  width: 100%;
  max-width: 400px;
}
.tg-auth__brand[data-v-79ed33ed] {
  margin-bottom: 24px;
  text-align: center;
}
.tg-auth__logo[data-v-79ed33ed] {
  position: relative;
  display: inline-block;
  margin-bottom: 12px;
}
.tg-auth__logo-img[data-v-79ed33ed] {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: var(--bh-radius-card);
  /* square.png는 투명 바탕의 흰 로고라, 바닥과 구분되게 한 단계 밝은 판을 깐다 */
  background: var(--bh-night-field);
  box-shadow: inset 0 0 0 1px var(--bh-night-line);
}

/* 텔레그램 브랜드 색. 이 화면이 텔레그램과 연결된다는 표시라 토큰 대신 브랜드 값을 그대로 쓴다 */
.tg-auth__badge[data-v-79ed33ed] {
  position: absolute;
  right: -4px;
  bottom: -4px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 2px solid var(--bh-night-bg);
  border-radius: 50%;
  background: #229ed9;
  color: var(--bh-night-fg);
  font-size: 13px;
}
.tg-auth__title[data-v-79ed33ed] {
  margin: 0;
  color: var(--bh-night-fg);
  font: var(--bh-text-page);
}
.tg-auth__subtitle[data-v-79ed33ed] {
  margin: 4px 0 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-small);
}

/* BhPanel은 밝은 바탕용이라 어두운 화면에서는 선만 남긴다. 입력칸이 field 바탕이라 카드까지 칠하면 칸이 묻힌다 */
.tg-auth .tg-auth__card[data-v-79ed33ed] {
  padding: 24px;
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--bh-night-line);
}
.tg-auth__lead[data-v-79ed33ed] {
  margin: 0 0 20px;
  color: var(--bh-night-muted);
  font: var(--bh-text-small);
  text-align: center;
}
.tg-auth__form[data-v-79ed33ed] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 아이폰은 16px보다 작은 입력칸에 초점이 가면 화면을 확대한다. 텔레그램 앱 안에서 열리는 화면이라 막는다 */
.tg-auth[data-v-79ed33ed] input.bh-input__field {
  font-size: 16px;
}

/* 밝은 바탕용 입력 부품을 로그인 화면과 같은 어두운 칸으로 덮는다 */
.tg-auth[data-v-79ed33ed] .bh-field__label {
  color: var(--bh-night-fg);
}
.tg-auth[data-v-79ed33ed] .bh-input {
  background: var(--bh-night-field);
  box-shadow: inset 0 0 0 1px var(--bh-night-line);
  color: var(--bh-night-fg);
}
.tg-auth[data-v-79ed33ed] .bh-input:focus-within {
  box-shadow: inset 0 0 0 1.5px var(--bh-accent);
}
.tg-auth[data-v-79ed33ed] input.bh-input__field::-moz-placeholder {
  color: var(--bh-night-muted);
}
.tg-auth[data-v-79ed33ed] .bh-input__affix,
.tg-auth[data-v-79ed33ed] input.bh-input__field::placeholder {
  color: var(--bh-night-muted);
}

/* 로그인 화면과 같이 어두운 바닥 위의 주 버튼은 흰 버튼으로 둔다 */
.tg-auth .tg-auth__submit[data-v-79ed33ed] {
  width: 100%;
  height: var(--bh-height-lg);
  margin-top: 4px;
  background: var(--bh-night-fg);
  color: var(--bh-night-bg);
}
.tg-auth .tg-auth__submit[data-v-79ed33ed]:hover:not(:disabled) {
  background: var(--bh-night-button-hover);
}
.tg-auth .tg-auth__submit[data-v-79ed33ed]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.tg-auth__error[data-v-79ed33ed] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 16px 0 0;
  padding: 8px 12px;
  border-radius: var(--bh-radius-input);
  box-shadow: inset 0 0 0 1px var(--bh-danger);
  color: var(--bh-night-error-text);
  font: var(--bh-text-small);
  text-align: center;
  animation: tg-shake-79ed33ed 0.5s ease-in-out;
}
.tg-auth__result[data-v-79ed33ed] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.tg-auth__result-icon[data-v-79ed33ed] {
  margin-bottom: 4px;
  font-size: 36px;
}
.tg-auth__result-icon--danger[data-v-79ed33ed] {
  color: var(--bh-danger);
}
.tg-auth__result-icon--success[data-v-79ed33ed] {
  color: var(--bh-accent);
}
.tg-auth__result-title[data-v-79ed33ed] {
  margin: 0;
  color: var(--bh-night-fg);
  font: var(--bh-text-title);
}
.tg-auth__result-title--danger[data-v-79ed33ed] {
  color: var(--bh-night-error-text);
}
.tg-auth__result-text[data-v-79ed33ed] {
  margin: 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-small);
}
.tg-auth__copyright[data-v-79ed33ed] {
  margin: 24px 0 0;
  color: var(--bh-night-faint);
  font: var(--bh-text-caption);
  text-align: center;
}
.tg-fade-in[data-v-79ed33ed] {
  animation: tg-fade-in-79ed33ed 0.6s ease-out both;
}
@keyframes tg-fade-in-79ed33ed {
from {
    opacity: 0;
    transform: translateY(16px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes tg-shake-79ed33ed {
0%,
  100% {
    transform: translateX(0);
}
25% {
    transform: translateX(-5px);
}
75% {
    transform: translateX(5px);
}
}


.tf-page[data-v-4dffa152] {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 560px;
  min-height: 100vh;
  margin: 0 auto;
  background: var(--bh-night-bg);
}

/* 화면 폭이 넓을 때 가운데 칼럼 바깥도 같은 바탕이 되게 한다 */
.tf-page[data-v-4dffa152]::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  background: var(--bh-night-bg);
}

/* 결과 화면 */
.tf-result[data-v-4dffa152] {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  text-align: center;
}
.tf-result__icon[data-v-4dffa152] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 20px;
  border-radius: 50%;
  font-size: 24px;
}
.tf-result__icon--danger[data-v-4dffa152] {
  background: color-mix(in srgb, var(--bh-danger) 20%, transparent);
  color: var(--bh-danger);
}
.tf-result__icon--success[data-v-4dffa152] {
  width: 80px;
  height: 80px;
  margin-bottom: 24px;
  background: var(--bh-accent);
  color: var(--bh-night-fg);
  box-shadow: var(--bh-shadow-popover);
}
.tf-result__title[data-v-4dffa152] {
  margin: 0 0 8px;
  color: var(--bh-night-fg);
  font: var(--bh-text-title);
  font-size: 20px;
  line-height: 28px;
}
.tf-result__title--lg[data-v-4dffa152] {
  font: var(--bh-text-page);
}
.tf-result__text[data-v-4dffa152] {
  margin: 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-body);
}
.tf-result__text--spaced[data-v-4dffa152] {
  margin-bottom: 32px;
}

/* 머리글: 뒤로 + 진행 막대 */
.tf-header[data-v-4dffa152] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 48px 16px 16px;
}
.tf-header__back[data-v-4dffa152] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--bh-night-field);
  color: var(--bh-night-fg);
  font-size: 14px;
  cursor: pointer;
}
.tf-header__back[data-v-4dffa152]:hover {
  background: var(--bh-night-line);
}
.tf-header__spacer[data-v-4dffa152] {
  flex-shrink: 0;
  width: 36px;
}
.tf-progress[data-v-4dffa152] {
  display: flex;
  flex: 1;
  gap: 6px;
}
.tf-progress__bar[data-v-4dffa152] {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: var(--bh-night-line);
  transition: background-color 0.5s;
}
.tf-progress__bar--done[data-v-4dffa152] {
  background: var(--bh-accent);
}

/* 단계 본문 */
.tf-body[data-v-4dffa152] {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
}
.tf-body__viewport[data-v-4dffa152] {
  position: relative;
  flex: 1;
  overflow: hidden;
}
.tf-step[data-v-4dffa152] {
  position: absolute;
  inset: 0;
  padding: 8px 20px 16px;
  overflow-y: auto;
}
.tf-step__head[data-v-4dffa152] {
  margin-bottom: 24px;
}
.tf-step__eyebrow[data-v-4dffa152] {
  margin: 0 0 8px;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
  font-weight: 600;
}
.tf-step__title[data-v-4dffa152] {
  margin: 0;
  color: var(--bh-night-fg);
  font: var(--bh-text-page);
  font-size: 24px;
  line-height: 32px;
}
.tf-step__desc[data-v-4dffa152] {
  margin: 8px 0 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-body);
}
.tf-stack[data-v-4dffa152] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* STEP 0: 유형 */
.tf-type[data-v-4dffa152] {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 16px 20px;
  border: 0;
  border-radius: var(--bh-radius-card);
  background: var(--bh-night-field);
  color: var(--bh-night-fg);
  text-align: left;
  cursor: pointer;
  transition: transform 0.15s;
}
.tf-type[data-v-4dffa152]:active {
  transform: scale(0.97);
}
.tf-type--selected[data-v-4dffa152] {
  background: color-mix(in srgb, var(--bh-accent) 16%, transparent);
  box-shadow: var(--bh-focus-ring);
}
.tf-type__icon[data-v-4dffa152] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-night-line);
  font-size: 20px;
}
.tf-type--selected .tf-type__icon[data-v-4dffa152] {
  background: var(--bh-accent);
}
.tf-type__name[data-v-4dffa152] {
  flex: 1;
  min-width: 0;
  font: var(--bh-text-section);
}
.tf-type__chevron[data-v-4dffa152] {
  flex-shrink: 0;
  color: var(--bh-night-faint);
  font-size: 13px;
}

/* STEP 1: 발행사 */
.tf-presets[data-v-4dffa152] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.tf-search[data-v-4dffa152] {
  margin-bottom: 12px;
}

/* 아이폰은 16px보다 작은 입력칸에 초점이 가면 화면을 확대한다. 텔레그램 앱 안에서 열리는 화면이라 막는다 */
.tf-page[data-v-4dffa152] input.bh-input__field {
  font-size: 16px;
}

/* 밝은 바탕용 부품(칩·검색칸·세그먼트·스위치)을 어두운 화면 색으로 덮는다 */
.tf-page[data-v-4dffa152] .bh-chip {
  background: var(--bh-night-field);
  color: var(--bh-night-muted);
}
.tf-page[data-v-4dffa152] .bh-chip:hover:not(:disabled):not(.bh-chip--selected) {
  background: var(--bh-night-line);
}
.tf-page[data-v-4dffa152] .bh-chip--selected {
  background: var(--bh-accent);
  color: var(--bh-night-fg);
}
.tf-page[data-v-4dffa152] .bh-input {
  background: var(--bh-night-field);
  box-shadow: inset 0 0 0 1px var(--bh-night-line);
  color: var(--bh-night-fg);
}
.tf-page[data-v-4dffa152] .bh-input:focus-within {
  box-shadow: inset 0 0 0 1.5px var(--bh-accent);
}
.tf-page[data-v-4dffa152] input.bh-input__field::-moz-placeholder {
  color: var(--bh-night-muted);
}
.tf-page[data-v-4dffa152] .bh-input__affix,
.tf-page[data-v-4dffa152] input.bh-input__field::placeholder {
  color: var(--bh-night-muted);
}
.tf-page[data-v-4dffa152] .bh-segmented {
  background: var(--bh-night-field);
}
.tf-page[data-v-4dffa152] .bh-segmented__item {
  color: var(--bh-night-muted);
}
.tf-page[data-v-4dffa152] .bh-segmented__item--selected {
  background: var(--bh-night-fg);
  color: var(--bh-night-bg);
}
.tf-page[data-v-4dffa152] .bh-switch__track {
  background: var(--bh-night-line-strong);
}
.tf-page[data-v-4dffa152] .bh-switch--on .bh-switch__track {
  background: var(--bh-accent);
}
.tf-page[data-v-4dffa152] .bh-spinner {
  border-color: var(--bh-night-line);
  border-top-color: var(--bh-accent);
}
.tf-loading[data-v-4dffa152] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 64px 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-body);
}
.tf-loading p[data-v-4dffa152] {
  margin: 0;
}
.tf-issuers[data-v-4dffa152] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 8px;
}
.tf-issuer[data-v-4dffa152] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  border-radius: var(--bh-radius-input);
  background: var(--bh-night-field);
  color: var(--bh-night-fg);
  text-align: left;
  cursor: pointer;
  transition: transform 0.1s;
}
.tf-issuer[data-v-4dffa152]:active {
  transform: scale(0.98);
}
.tf-issuer--selected[data-v-4dffa152] {
  background: color-mix(in srgb, var(--bh-accent) 16%, transparent);
  color: var(--bh-night-fg);
}
.tf-issuer__check[data-v-4dffa152] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 2px solid var(--bh-night-line-strong);
  border-radius: 50%;
  color: var(--bh-night-fg);
  font-size: 9px;
}
.tf-issuer--selected .tf-issuer__check[data-v-4dffa152] {
  border-color: var(--bh-accent);
  background: var(--bh-accent);
}
.tf-issuer__name[data-v-4dffa152] {
  flex: 1;
  font: var(--bh-text-body);
  font-weight: 500;
}
.tf-issuers__empty[data-v-4dffa152] {
  margin: 0;
  padding: 40px 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-body);
  text-align: center;
}

/* STEP 2~4: 카드와 입력 */
.tf-segmented[data-v-4dffa152] {
  margin-bottom: 20px;
}
.tf-add[data-v-4dffa152] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 20px;
  border: 1px dashed var(--bh-night-line-strong);
  border-radius: var(--bh-radius-card);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: transform 0.15s;
}
.tf-add[data-v-4dffa152]:active {
  transform: scale(0.98);
}
.tf-add__icon[data-v-4dffa152] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bh-night-field);
  color: var(--bh-night-muted);
  font-size: 12px;
}
.tf-add__title[data-v-4dffa152] {
  display: block;
  color: var(--bh-night-fg);
  font: var(--bh-text-body);
  font-weight: 500;
}
.tf-add__hint[data-v-4dffa152] {
  display: block;
  margin-top: 2px;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
}
.tf-card[data-v-4dffa152] {
  padding: 20px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-night-field);
}
.tf-card--row[data-v-4dffa152] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tf-card__head[data-v-4dffa152] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.tf-card__head--spaced[data-v-4dffa152] {
  margin-bottom: 16px;
}
.tf-card__label[data-v-4dffa152] {
  margin: 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.tf-card__label--spaced[data-v-4dffa152] {
  margin-bottom: 12px;
}
.tf-card__title[data-v-4dffa152] {
  margin: 0;
  color: var(--bh-night-fg);
  font: var(--bh-text-body);
  font-weight: 600;
}
.tf-card__hint[data-v-4dffa152] {
  margin: 2px 0 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
}
.tf-card__count[data-v-4dffa152] {
  color: var(--bh-night-faint);
  font: var(--bh-text-caption);
  font-variant-numeric: tabular-nums;
}
.tf-card__count--warn[data-v-4dffa152] {
  color: var(--bh-danger);
}
.tf-text-button[data-v-4dffa152] {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
  cursor: pointer;
}
.tf-text-button[data-v-4dffa152]:hover {
  color: var(--bh-night-fg);
}
.tf-digits[data-v-4dffa152] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-night-bg);
}
.tf-digits__unit[data-v-4dffa152] {
  color: var(--bh-night-muted);
  font: var(--bh-text-body);
}
.tf-digits__input[data-v-4dffa152],
.tf-range__input[data-v-4dffa152],
.tf-name[data-v-4dffa152] {
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--bh-night-fg);
  font-family: var(--bh-font);
  font-weight: 700;
  /* 아이폰 확대 방지(16px 이상) */
  font-size: 16px;
  touch-action: manipulation;
}
.tf-digits__input[data-v-4dffa152] {
  width: 40px;
  padding: 0;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.tf-digits__input--lg[data-v-4dffa152] {
  width: 48px;
  font-size: 20px;
}
.tf-digits__input--year[data-v-4dffa152] {
  width: 56px;
}
.tf-digits__input[data-v-4dffa152]::-moz-placeholder, .tf-range__input[data-v-4dffa152]::-moz-placeholder, .tf-name[data-v-4dffa152]::-moz-placeholder {
  color: var(--bh-night-faint);
}
.tf-digits__input[data-v-4dffa152]::placeholder,
.tf-range__input[data-v-4dffa152]::placeholder,
.tf-name[data-v-4dffa152]::placeholder {
  color: var(--bh-night-faint);
}
.tf-range[data-v-4dffa152] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tf-range__input[data-v-4dffa152] {
  flex: 1;
  min-width: 0;
  height: var(--bh-height-lg);
  padding: 0 12px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-night-bg);
  font-weight: 400;
  text-align: center;
}
.tf-range__input[data-v-4dffa152]:focus,
.tf-digits[data-v-4dffa152]:focus-within {
  box-shadow: var(--bh-focus-ring);
}
.tf-range__sep[data-v-4dffa152] {
  flex-shrink: 0;
  color: var(--bh-night-faint);
}
.tf-name[data-v-4dffa152] {
  width: 100%;
  padding: 0 0 8px;
  border-bottom: 2px solid var(--bh-night-line);
  font-size: 18px;
  font-weight: 600;
  transition: border-color 0.15s;
}
.tf-name--filled[data-v-4dffa152] {
  border-bottom-color: var(--bh-accent);
}

/* 요약 */
.tf-summary[data-v-4dffa152] {
  display: flex;
  flex-direction: column;
  margin: 0 0 20px;
  padding: 4px 16px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-night-field);
}
.tf-summary--result[data-v-4dffa152] {
  width: 100%;
  max-width: 320px;
  margin: 0;
  text-align: left;
}
.tf-summary > div + div[data-v-4dffa152] {
  border-top: 1px solid var(--bh-night-line);
}
.tf-summary__row[data-v-4dffa152] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
}
.tf-summary__block .tf-summary__row[data-v-4dffa152] {
  padding-bottom: 10px;
}
.tf-summary dt[data-v-4dffa152] {
  flex-shrink: 0;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
}
.tf-summary dd[data-v-4dffa152] {
  margin: 0;
  color: var(--bh-night-fg);
  font: var(--bh-text-body);
  font-weight: 600;
  text-align: right;
}
.tf-summary__toggle[data-v-4dffa152] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.tf-summary__toggle i[data-v-4dffa152] {
  color: var(--bh-night-faint);
  font-size: 11px;
}
.tf-summary__names[data-v-4dffa152] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0 0 10px;
  list-style: none;
  color: var(--bh-night-fg);
  font: var(--bh-text-caption);
  text-align: right;
}
.tf-summary dd.tf-summary__on[data-v-4dffa152] {
  color: var(--bh-accent);
}

/* 하단 버튼 */
.tf-footer[data-v-4dffa152] {
  position: relative;
  z-index: 2;
  padding: 12px 20px 32px;
  background: linear-gradient(to top, var(--bh-night-bg) 60%, transparent);
}
.tf-footer__meta[data-v-4dffa152] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--bh-night-muted);
  font: var(--bh-text-caption);
}

/* 엄지로 누르는 버튼이라 데스크톱 기본 높이보다 크게 둔다. 어두운 바닥 위 주 버튼은 로그인 화면처럼 흰색이다 */
.tf-footer .tf-footer__cta[data-v-4dffa152] {
  width: 100%;
  height: 52px;
  border-radius: var(--bh-radius-card);
  font: var(--bh-text-section);
  background: var(--bh-night-fg);
  color: var(--bh-night-bg);
}
.tf-footer .tf-footer__cta[data-v-4dffa152]:hover:not(:disabled) {
  background: var(--bh-night-button-hover);
}
.tf-footer .tf-footer__cta[data-v-4dffa152]:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* 단계 전환 */
/* Forward: new from right, old to left */
.slide-forward-enter-active[data-v-4dffa152] {
  transition:
    transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    opacity 0.28s;
}
.slide-forward-leave-active[data-v-4dffa152] {
  transition:
    transform 0.22s cubic-bezier(0.55, 0, 1, 0.45),
    opacity 0.22s;
}
.slide-forward-enter-from[data-v-4dffa152] {
  transform: translateX(100%);
}
.slide-forward-leave-to[data-v-4dffa152] {
  transform: translateX(-25%);
  opacity: 0;
}

/* Backward: new from left, old to right */
.slide-backward-enter-active[data-v-4dffa152] {
  transition:
    transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    opacity 0.28s;
}
.slide-backward-leave-active[data-v-4dffa152] {
  transition:
    transform 0.22s cubic-bezier(0.55, 0, 1, 0.45),
    opacity 0.22s;
}
.slide-backward-enter-from[data-v-4dffa152] {
  transform: translateX(-100%);
}
.slide-backward-leave-to[data-v-4dffa152] {
  transform: translateX(25%);
  opacity: 0;
}
@keyframes tf-fade-in-4dffa152 {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes tf-scale-in-4dffa152 {
from {
    opacity: 0;
    transform: scale(0.5);
}
60% {
    transform: scale(1.1);
}
to {
    opacity: 1;
    transform: scale(1);
}
}
.tf-fade-in[data-v-4dffa152] {
  animation: tf-fade-in-4dffa152 0.5s ease-out forwards;
}
.tf-scale-in[data-v-4dffa152] {
  animation: tf-scale-in-4dffa152 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}


.not-found[data-v-108af9d6] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 0 16px;
  background: var(--bh-canvas);
}
.not-found__card[data-v-108af9d6] {
  width: 100%;
  max-width: 448px;
}


.bond-type-condition[data-v-43fdf8b2] {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.bond-type-condition__types[data-v-43fdf8b2] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.bond-type-condition__groups[data-v-43fdf8b2] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.bond-type-condition__grades[data-v-43fdf8b2] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.bond-type-condition__notice[data-v-43fdf8b2] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: var(--bh-height-md);
  margin-bottom: 16px;
  padding: 0 4px 0 12px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
  font: var(--bh-text-small);
}
.bond-type-condition__notice-text[data-v-43fdf8b2] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 등급 칩 5열은 좁아서 좌우 여백을 줄인다 */
.bond-type-condition__grades[data-v-43fdf8b2] .bh-chip {
  padding: 0 4px;
}

/* 그룹에 묶인 발행사 수. 고르면 몇 곳이 걸리는지 미리 보여 준다 */
.bond-type-condition__count[data-v-43fdf8b2] {
  font: var(--bh-text-caption);
  opacity: 0.65;
}


.maturity-condition[data-v-21b1cdc7] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.maturity-condition__presets[data-v-21b1cdc7] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

/* "1.5년~2년"처럼 긴 이름이 3열 칸에 들어가도록 좌우 여백을 줄인다 */
.maturity-condition__presets[data-v-21b1cdc7] .bh-chip {
  padding: 0 4px;
}
.maturity-condition__slider[data-v-21b1cdc7] {
  padding: 0 4px;
}
.maturity-condition__track[data-v-21b1cdc7] {
  position: relative;
  height: 20px;
}
.maturity-condition__track-bg[data-v-21b1cdc7],
.maturity-condition__track-fill[data-v-21b1cdc7] {
  position: absolute;
  top: 50%;
  height: 6px;
  border-radius: 3px;
  transform: translateY(-50%);
  pointer-events: none;
}
.maturity-condition__track-bg[data-v-21b1cdc7] {
  width: 100%;
  background: var(--bh-line);
}
.maturity-condition__track-fill[data-v-21b1cdc7] {
  background: var(--bh-accent);
}
.maturity-condition__labels[data-v-21b1cdc7] {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
.maturity-condition__labels-end[data-v-21b1cdc7] {
  text-align: right;
}
.maturity-condition__label-title[data-v-21b1cdc7] {
  margin: 0 0 2px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.maturity-condition__label-value[data-v-21b1cdc7] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.dual-range[data-v-21b1cdc7] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  pointer-events: none;
}
.dual-range[data-v-21b1cdc7]::-webkit-slider-thumb {
  width: 18px;
  height: 18px;
  border: 2px solid var(--bh-surface);
  border-radius: 50%;
  background: var(--bh-accent);
  box-shadow: var(--bh-shadow-raised);
  cursor: pointer;
  pointer-events: all;
  -webkit-appearance: none;
}
.dual-range[data-v-21b1cdc7]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: none;
  border-radius: 50%;
  background: var(--bh-accent);
  box-shadow: var(--bh-shadow-raised);
  cursor: pointer;
  pointer-events: all;
}
.dual-range[data-v-21b1cdc7]:focus-visible::-webkit-slider-thumb {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}

/* 벤더 접두 선택자를 한 규칙에 묶으면 모르는 쪽 브라우저가 규칙 전체를 버린다 */
.dual-range[data-v-21b1cdc7]::-webkit-slider-runnable-track {
  background: transparent;
}
.dual-range[data-v-21b1cdc7]::-moz-range-track {
  background: transparent;
}


.tx-table[data-v-4a5ecf00] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.tx-table th[data-v-4a5ecf00] {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.tx-table td[data-v-4a5ecf00] {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}
.tx-table th[data-v-4a5ecf00]:first-child,
.tx-table td[data-v-4a5ecf00]:first-child {
  padding-left: 20px;
}
.tx-table th[data-v-4a5ecf00]:last-child,
.tx-table td[data-v-4a5ecf00]:last-child {
  padding-right: 20px;
}
.tx-table tbody tr:hover td[data-v-4a5ecf00] {
  background: var(--bh-canvas);
}
.tx-table .tx-num[data-v-4a5ecf00] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.tx-muted[data-v-4a5ecf00] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.tx-name[data-v-4a5ecf00] {
  overflow: hidden;
  color: var(--bh-fg-2);
  text-overflow: ellipsis;
}
.tx-table__empty td[data-v-4a5ecf00] {
  height: 80px;
  color: var(--bh-fg-3);
  text-align: center;
}
.tx-spread[data-v-4a5ecf00] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.tx-dot[data-v-4a5ecf00] {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.tx-dot--red[data-v-4a5ecf00] {
  background: var(--bh-data-red);
}
.tx-dot--blue[data-v-4a5ecf00] {
  background: var(--bh-data-blue);
}
.tx-dot--neutral[data-v-4a5ecf00] {
  background: var(--bh-data-neutral);
}


.favorite-meta[data-v-6a12c0fc] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 회색 점선은 목록 사이에서 묻혀 강조색으로 그린다. 채운 버튼보다는 가볍게 둔다 */
.favorite-save[data-v-6a12c0fc] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 40px;
  border: 1px dashed var(--bh-accent);
  border-radius: var(--bh-radius-input);
  background: transparent;
  color: var(--bh-accent-strong);
  font: var(--bh-text-small);
  cursor: pointer;
}
.favorite-list-wrap + .favorite-save[data-v-6a12c0fc] {
  margin-top: 4px;
}
.favorite-save i[data-v-6a12c0fc] {
  font-size: 11px;
}
.favorite-save[data-v-6a12c0fc]:hover:not(:disabled) {
  background: var(--bh-accent-soft);
}
.favorite-save[data-v-6a12c0fc]:disabled {
  border-color: var(--bh-line);
  color: var(--bh-fg-4);
  cursor: not-allowed;
}
.favorite-save[data-v-6a12c0fc]:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}
.favorite-list-wrap[data-v-6a12c0fc] {
  position: relative;
}

/* 한 줄 52px + 간격 4px. 3줄까지 보이고 그 뒤는 스크롤한다(utils/favoriteListOverflow) */
.favorite-list[data-v-6a12c0fc] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: calc(52px * 3 + 4px * 2);
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}
.favorite-list__fade[data-v-6a12c0fc] {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 28px;
  background: linear-gradient(transparent, var(--bh-surface));
  pointer-events: none;
}

/* 톱니 자리(오른쪽 44px)를 비켜 둔다. 마우스를 올리면 톱니가 그 자리에 나온다 */
.favorite-list__more[data-v-6a12c0fc] {
  position: absolute;
  right: 44px;
  bottom: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  pointer-events: none;
}
.favorite-list__more i[data-v-6a12c0fc] {
  font-size: 9px;
}
.favorite-item[data-v-6a12c0fc] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
  height: 52px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-fill);
}
.favorite-item[data-v-6a12c0fc]:hover {
  background: var(--bh-fill-hover);
}
.favorite-item--on[data-v-6a12c0fc],
.favorite-item--on[data-v-6a12c0fc]:hover {
  background: var(--bh-accent-soft);
}
.favorite-item__apply[data-v-6a12c0fc] {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  height: 100%;
  padding: 0 4px 0 12px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.favorite-item__name[data-v-6a12c0fc],
.favorite-item__sub[data-v-6a12c0fc] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.favorite-item__name[data-v-6a12c0fc] {
  color: var(--bh-fg);
  font: var(--bh-text-body);
}
.favorite-item--on .favorite-item__name[data-v-6a12c0fc] {
  color: var(--bh-accent-strong);
}
.favorite-item__sub[data-v-6a12c0fc] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 톱니는 마우스를 올린 즐겨찾기에만 보인다. 늘 보이면 이름보다 눈에 먼저 띈다 */
.favorite-item__menu[data-v-6a12c0fc] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 12px;
  opacity: 0;
  cursor: pointer;
}
.favorite-item:hover .favorite-item__menu[data-v-6a12c0fc],
.favorite-item__menu[data-v-6a12c0fc]:focus-visible {
  opacity: 1;
}
.favorite-item__menu[data-v-6a12c0fc]:hover {
  color: var(--bh-fg-2);
}


.detail-filters[data-v-571f3236] {
  border-top: 1px solid var(--bh-line);
}
.detail-filters__toggle[data-v-571f3236] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 14px 0 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg-2);
  cursor: pointer;
}
.detail-filters__toggle[data-v-571f3236]:hover {
  color: var(--bh-fg);
}
.detail-filters__title[data-v-571f3236] {
  font: var(--bh-text-section);
}
.detail-filters__count[data-v-571f3236] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--bh-accent);
  color: var(--bh-surface);
  font: var(--bh-text-caption);
  font-weight: 600;
}
.detail-filters__chevron[data-v-571f3236] {
  margin-left: auto;
  color: var(--bh-fg-3);
  font-size: 12px;
  transition: transform 0.2s;
}
.detail-filters__chevron--open[data-v-571f3236] {
  transform: rotate(180deg);
}
.detail-filters__body[data-v-571f3236] {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 16px;
}


.rate-row[data-v-41596c4e] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rate-row__label[data-v-41596c4e] {
  flex-shrink: 0;
  width: 64px;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}
.rate-row__input[data-v-41596c4e] {
  width: 72px;
}
.rate-row__sep[data-v-41596c4e],
.rate-row__unit[data-v-41596c4e] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}


/* 레이아웃의 텔레그램 봇 안내 창과 같은 모양 */
.tg-link[data-v-053682d0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
  text-align: center;
}
.tg-link__logo[data-v-053682d0] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 12px;
  border-radius: var(--bh-radius-card);
  background: linear-gradient(135deg, #229ed9, #1a7fb8);
  color: #fff;
  font-size: 30px;
}
.tg-link__title[data-v-053682d0] {
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.tg-link__desc[data-v-053682d0] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.tg-link__desc b[data-v-053682d0] {
  color: var(--bh-fg-2);
  font-weight: 600;
}

/* 다시 보지 않기는 왼쪽 끝으로 떼어 둔다. 나중에·연결하기와 무게가 다르다 */
.tg-link__never[data-v-053682d0] {
  margin-right: auto;
}
.tg-link__go[data-v-053682d0] {
  background: #229ed9;
}


.interest-form[data-v-0df68893] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.interest-form__notify[data-v-0df68893] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.interest-form__notify-desc[data-v-0df68893] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.interest-form__types[data-v-0df68893] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.interest-form__placeholder[data-v-0df68893] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 80px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-canvas);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.interest-form__error[data-v-0df68893] {
  margin: 0 0 8px;
  color: var(--bh-danger);
  font: var(--bh-text-small);
}
.interest-form__range + .interest-form__error[data-v-0df68893] {
  margin: 8px 0 0;
}
.interest-form__segmented[data-v-0df68893] {
  margin-bottom: 12px;
}
.interest-form__range[data-v-0df68893] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.interest-form__months[data-v-0df68893] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}
.interest-form__months--off[data-v-0df68893] {
  opacity: 0.4;
}
.interest-form__num[data-v-0df68893] {
  width: 52px;
}
.interest-form__date[data-v-0df68893] {
  width: 160px;
}
.interest-form__sep[data-v-0df68893] {
  color: var(--bh-fg-3);
}
.interest-form__rates[data-v-0df68893] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.issuer-picker[data-v-0df68893] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.issuer-picker__col[data-v-0df68893] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.issuer-picker__head[data-v-0df68893] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--bh-height-sm);
  margin-bottom: 6px;
}
.issuer-picker__label[data-v-0df68893] {
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.issuer-picker__label .bh-num[data-v-0df68893] {
  color: var(--bh-fg-3);
  font-weight: 400;
}
.issuer-picker__search[data-v-0df68893] {
  margin-bottom: 6px;
}
.issuer-picker__list[data-v-0df68893] {
  height: 200px;
  padding: 4px;
  overflow-y: auto;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
}

/* 오른쪽은 검색칸이 없어 그만큼 목록을 늘려 아래 끝을 맞춘다 */
.issuer-picker__list--tall[data-v-0df68893] {
  height: calc(200px + var(--bh-height-sm) + 6px);
}
.issuer-picker__row[data-v-0df68893] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 32px;
  padding: 0 8px;
  border-radius: var(--bh-radius-chip);
}
.issuer-picker__row[data-v-0df68893]:hover {
  background: var(--bh-fill);
}
.issuer-picker__check[data-v-0df68893] {
  width: 100%;
  min-width: 0;
}
.issuer-picker__check[data-v-0df68893] .bh-checkbox__label {
  display: flex;
  flex: 1;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.issuer-picker__name[data-v-0df68893] {
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-small);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.issuer-picker__grade[data-v-0df68893] {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.issuer-picker__remove[data-v-0df68893] {
  display: inline-flex;
  flex-shrink: 0;
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--bh-fg-4);
  cursor: pointer;
}
.issuer-picker__remove[data-v-0df68893]:hover {
  color: var(--bh-danger);
}
.issuer-picker__empty[data-v-0df68893] {
  margin: 0;
  padding: 24px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  text-align: center;
}


.tx-page[data-v-364c885d] {
  display: flex;
  gap: var(--bh-layout-gap);
  height: 100%;
  background: var(--bh-canvas);
}
.tx-rail[data-v-364c885d] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 12px;
  width: var(--bh-layout-rail);
  padding: var(--bh-layout-pad) 0 var(--bh-layout-pad) var(--bh-layout-pad);
  overflow-y: auto;
}
.tx-rail__filters[data-v-364c885d] {
  flex-shrink: 0;
  gap: 28px;
}
.tx-rail__rule[data-v-364c885d] {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--bh-line);
}
.tx-rail__detail[data-v-364c885d] {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.tx-side[data-v-364c885d] {
  display: none;
  flex-shrink: 0;
  flex-direction: column;
  gap: var(--bh-layout-gap);
  width: var(--bh-layout-side);
  padding: var(--bh-layout-pad) var(--bh-layout-pad) var(--bh-layout-pad) 0;
  overflow-y: auto;
}
@media (min-width: 1280px) {
.tx-side[data-v-364c885d] {
    display: flex;
}
}
.tx-side__panel[data-v-364c885d] {
  flex-shrink: 0;
}
.tx-side__chart[data-v-364c885d] {
  height: 320px;
}
.tx-side__empty[data-v-364c885d] {
  height: 100%;
}

/* 크레딧 날짜 카드(위아래 8px + 32px)와 같은 48px. 두 화면 레일의 위쪽 선이 맞는다 */
.tx-period[data-v-364c885d] {
  flex-shrink: 0;
  padding: 4px 12px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
}
.tx-period__options[data-v-364c885d] {
  width: 100%;
}
.tx-main[data-v-364c885d] {
  flex: 1;
  min-width: 0;
  padding: var(--bh-layout-pad) 0;
}

/* 우측 그래프가 접히는 좁은 화면에서는 표가 오른쪽 끝까지 가므로 여백을 준다 */
@media (max-width: 1279px) {
.tx-main[data-v-364c885d] {
    padding-right: var(--bh-layout-pad);
}
}
.tx-main__panel[data-v-364c885d] {
  height: 100%;
}
.tx-main__empty[data-v-364c885d] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/* 우측 그래프가 없는 유형 선택 전에는 표 자리가 오른쪽 끝까지 가므로 여백을 준다 */
.tx-main--wide[data-v-364c885d] {
  padding-right: var(--bh-layout-pad);
}

/* 유형을 고르라는 안내는 오류·결과가 아니라 시작점이라 굵게 강조하지 않는다(크레딧 호가와 같다) */
.tx-main__empty[data-v-364c885d] .bh-empty__title {
  font-weight: 400;
}
.tx-main__head[data-v-364c885d] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.tx-main__title[data-v-364c885d] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.tx-main__actions[data-v-364c885d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tx-rail__clear[data-v-364c885d] {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg-4);
  cursor: pointer;
}
.tx-main__body[data-v-364c885d] {
  flex: 1;
  min-height: 0;
  overflow: auto;
}
.tx-main__state[data-v-364c885d] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 0;
  color: var(--bh-fg-3);
}
.tx-main__spin[data-v-364c885d] {
  animation: tx-spin-364c885d 1s linear infinite;
}
@keyframes tx-spin-364c885d {
to {
    transform: rotate(360deg);
}
}


/* 회색 바닥 위에 바로 두면 회색 입력칸·버튼이 바닥색에 묻힌다. 흰 상자에 담는다 */
.setting-date[data-v-332c0456] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 6px 6px 14px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
}
.setting-date__label[data-v-332c0456] {
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
  white-space: nowrap;
}
.setting-date__input[data-v-332c0456] {
  width: 160px;
}

/*
 * 국고채·통안채 목록의 칸(만기 구간)과 종목 카드.
 * 두 목록이 같은 생김새를 써야 해서 화면 쪽 공용 CSS로 둔다.
 */
.bond-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* 국고채 칸은 카드를 끌어다 놓는 자리라 비어 있어도 높이를 잡아 둔다 */
.bond-column--droppable {
  min-height: 500px;
  border: 2px dashed transparent;
  border-radius: var(--bh-radius-input);
}

.bond-column--drag-over {
  border-color: var(--bh-accent);
  background: var(--bh-accent-soft);
}

.bond-column__head {
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
}

.bond-column__head--center {
  text-align: center;
}

.bond-column__head--issue {
  border-color: var(--bh-danger);
}

.bond-column__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}

.bond-column__head--center .bond-column__title-row {
  justify-content: center;
  gap: 6px;
}

.bond-column__title {
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 600;
}

.bond-column__issue {
  color: var(--bh-danger);
  font-size: 12px;
}

.bond-column__count {
  margin-top: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

.bond-column__cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bond-column__cards--short {
  min-height: 200px;
}

.bond-column__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 40px 0;
  border: 2px dashed var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-canvas);
  color: var(--bh-fg-4);
  font: var(--bh-text-small);
}

.bond-column__empty i {
  font-size: 20px;
  opacity: 0.5;
}

.bond-column__empty--drag-over {
  border-color: var(--bh-accent);
  background: var(--bh-accent-soft);
  color: var(--bh-accent);
}

.bond-card {
  position: relative;
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
  cursor: grab;
  transition:
    box-shadow 0.2s,
    opacity 0.2s,
    transform 0.2s;
}

.bond-card:hover {
  box-shadow: var(--bh-shadow-popover);
}

.bond-card:active {
  cursor: grabbing;
}

/* 지표물(맨 앞자리)은 테두리를 강조색으로 둔다 */
.bond-card--top {
  border-color: var(--bh-accent);
}

.bond-card--dragged {
  opacity: 0.5;
  transform: scale(0.95);
}

.bond-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.bond-card__info {
  flex: 1;
  min-width: 0;
}

.bond-card__series-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.bond-card__series {
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 600;
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}

.bond-card__badge {
  flex-shrink: 0;
  padding: 1px 6px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 600;
}

.bond-card__badge--top {
  background: var(--bh-accent);
  color: var(--bh-surface);
}

.bond-card__name {
  margin-top: 2px;
  overflow: hidden;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bond-card__code {
  margin-top: 2px;
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}

.bond-card__edit {
  flex-shrink: 0;
  padding: 4px;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 12px;
  cursor: pointer;
}

.bond-card__edit:hover {
  color: var(--bh-accent);
}

.bond-card__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--bh-line);
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
}

.bond-card__meta-row {
  display: flex;
  justify-content: space-between;
}

.bond-card__meta-row dd {
  margin: 0;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.bond-card__yield {
  margin-top: 8px;
  color: var(--bh-fg);
  font: var(--bh-text-section);
  text-align: center;
  font-variant-numeric: tabular-nums;
}


.bond-chip[data-v-c02d5456] {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-tag);
  background: var(--bh-surface);
}
.bond-chip__series[data-v-c02d5456] {
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 600;
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}
.bond-chip__name[data-v-c02d5456] {
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
}
.bond-chip__date[data-v-c02d5456] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-variant-numeric: tabular-nums;
}
.bond-chip--highlight[data-v-c02d5456] {
  border-color: var(--bh-accent);
  background: var(--bh-accent-soft);
}
.bond-chip--highlight .bond-chip__series[data-v-c02d5456] {
  color: var(--bh-accent-strong);
}
.bond-chip--muted[data-v-c02d5456] {
  background: var(--bh-fill);
  text-decoration: line-through;
  text-decoration-color: var(--bh-fg-4);
}
.bond-chip--muted .bond-chip__series[data-v-c02d5456],
.bond-chip--muted .bond-chip__name[data-v-c02d5456],
.bond-chip--muted .bond-chip__date[data-v-c02d5456] {
  color: var(--bh-fg-4);
}
.bond-chip-missing[data-v-c02d5456] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--bh-danger);
  font: var(--bh-text-caption);
  font-weight: 600;
}


/* 손볼 곳이 있으면 테두리·머리말을 경고색으로 바꿔 접힌 채로도 눈에 띄게 한다 */
.board[data-v-6daba21a] {
  overflow: hidden;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
}
.board--issue[data-v-6daba21a] {
  border-color: var(--bh-danger);
}
.board__head[data-v-6daba21a] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
}
.board--issue .board__head[data-v-6daba21a] {
  background: var(--bh-danger-soft);
}
.board__summary[data-v-6daba21a] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.board__status-icon[data-v-6daba21a] {
  margin-top: 3px;
  color: var(--bh-accent);
  font-size: 16px;
}
.board--issue .board__status-icon[data-v-6daba21a] {
  color: var(--bh-danger);
}
.board__summary-text[data-v-6daba21a] {
  min-width: 0;
}
.board__headline[data-v-6daba21a] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 600;
}
.board__subline[data-v-6daba21a] {
  margin: 4px 0 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
}
.board__head-actions[data-v-6daba21a] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}
.board__hint[data-v-6daba21a] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.board__result[data-v-6daba21a] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  padding: 10px 20px;
  border-top: 1px solid var(--bh-line);
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
  font: var(--bh-text-caption);
}
.board__result-title[data-v-6daba21a] {
  font-weight: 600;
}
.board__mono[data-v-6daba21a] {
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}
.board__body[data-v-6daba21a] {
  border-top: 1px solid var(--bh-line);
}
.board__slot[data-v-6daba21a] {
  padding: 12px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.board__slot--changed[data-v-6daba21a] {
  background: var(--bh-accent-soft);
}
.board__slot-row[data-v-6daba21a] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.board__slot-name[data-v-6daba21a] {
  flex-shrink: 0;
  width: 80px;
  padding-top: 4px;
}
.board__slot-title[data-v-6daba21a] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 600;
}
.board__slot-dup[data-v-6daba21a] {
  margin: 2px 0 0;
  color: var(--bh-danger);
  font: var(--bh-text-caption);
}
.board__slot-bonds[data-v-6daba21a] {
  flex: 1;
  min-width: 0;
}
.board__slot-chips[data-v-6daba21a] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.board__arrow[data-v-6daba21a] {
  color: var(--bh-fg-4);
  font-size: 12px;
}
.board__slot-message[data-v-6daba21a] {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.board__slot-actions[data-v-6daba21a] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}
.board__picker[data-v-6daba21a] {
  margin: 12px 0 0 96px;
  overflow: hidden;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
}
.board__picker-empty[data-v-6daba21a] {
  margin: 0;
  padding: 10px 12px;
  color: var(--bh-danger);
  font: var(--bh-text-caption);
}
.board__candidate[data-v-6daba21a] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 8px 12px;
  border: 0;
  border-bottom: 1px solid var(--bh-line);
  background: transparent;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  text-align: left;
  cursor: pointer;
}
.board__candidate[data-v-6daba21a]:last-child {
  border-bottom: 0;
}
.board__candidate[data-v-6daba21a]:hover {
  background: var(--bh-canvas);
}
.board__candidate--picked[data-v-6daba21a] {
  background: var(--bh-accent-soft);
}
.board__candidate-check[data-v-6daba21a] {
  width: 12px;
  color: transparent;
  font-size: 10px;
}
.board__candidate--picked .board__candidate-check[data-v-6daba21a] {
  color: var(--bh-accent);
}
.board__candidate-series[data-v-6daba21a] {
  flex-shrink: 0;
  width: 64px;
  color: var(--bh-fg);
  font-weight: 600;
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}
.board__candidate-name[data-v-6daba21a] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.board__candidate-date[data-v-6daba21a] {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font-variant-numeric: tabular-nums;
}
.board__bar[data-v-6daba21a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
}
.board__bar[data-v-6daba21a]:last-child {
  border-bottom: 0;
}
.board__bar-note[data-v-6daba21a] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
}
.board__bar-note i[data-v-6daba21a] {
  margin-right: 4px;
  color: var(--bh-fg-4);
}
.board__bar-note--blocked[data-v-6daba21a] {
  color: var(--bh-danger);
}
.board__bar-actions[data-v-6daba21a] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}


.master-form[data-v-5b49d924] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.master-form__row[data-v-5b49d924] {
  display: flex;
  gap: 8px;
}
.master-form__grow[data-v-5b49d924] {
  flex: 1;
}
.master-form__mono[data-v-5b49d924] {
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}
.master-form__grid[data-v-5b49d924] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.master-form__hint[data-v-5b49d924] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.master-form__hint-strong[data-v-5b49d924] {
  color: var(--bh-fg-2);
  font-weight: 600;
}
.master-form__hint-warn[data-v-5b49d924] {
  color: var(--bh-danger);
}
.master-form__hint-accent[data-v-5b49d924] {
  color: var(--bh-accent-strong);
}
.master-form__link[data-v-5b49d924] {
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.master-form__note[data-v-5b49d924] {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.master-form__note i[data-v-5b49d924] {
  margin-right: 4px;
  color: var(--bh-fg-4);
}
.master-form__note b[data-v-5b49d924] {
  color: var(--bh-fg-2);
}


.master-grid[data-v-c2cc8632] {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 16px;
}

/*
 * 채권 관리 화면의 하위 탭들이 같이 쓰는 모양.
 *
 * 국고채·통안채·크레딧 탭이 같은 머리말, 파일 업로드 상자, 표, 처리 중 막을 각자 그리고 있었다.
 * 탭마다 scoped 스타일로 들고 있으면 한쪽만 고쳐져 금방 어긋나므로 여기 한 곳에 둔다.
 * 다른 화면과 겹치지 않게 모든 클래스에 bs- 를 붙인다.
 */

/* 탭 한 장의 머리말: 제목 + 한 줄 설명, 오른쪽에 버튼 */
.bs-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.bs-head__title {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}

.bs-head__desc {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

.bs-head__actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}

.bs-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/*
 * 업로드 상자. 회색 바탕에 두면 회색(secondary) 버튼이 바탕에 묻혀서, 흰 바탕에 테두리로 묶는다.
 */
.bs-upload {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
}

.bs-upload__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.bs-upload__title {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}

.bs-upload__desc {
  margin: 2px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

.bs-upload__date {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-variant-numeric: tabular-nums;
}

.bs-upload__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

/* 업로드 상자 안의 흰 칸(유통시장 매수/매도처럼 파일이 둘 이상인 경우) */
.bs-upload__item {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
}

.bs-upload__item-title {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}

/* 업로드 버튼과 외부(INFOMAX) 버튼 사이 칸막이 */
.bs-divider {
  width: 1px;
  height: 24px;
  margin: 0 4px;
  background: var(--bh-line);
}

.bs-file-input {
  display: none;
}

/* 고른 파일 이름 */
.bs-file {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  height: var(--bh-height-md);
  padding: 0 12px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-table-head);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}

.bs-file__icon {
  color: var(--bh-fg-3);
}

.bs-file__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bs-icon-button {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: auto;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 12px;
  cursor: pointer;
}

.bs-icon-button:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}

.bs-icon-button--danger:hover {
  background: var(--bh-danger-soft);
  color: var(--bh-danger);
}

/* 불러오는 중 / 비었음 자리 */
.bs-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}

/*
 * 오래 걸리는 쓰기 동작 중 화면을 막는 창. 다른 버튼을 또 누르지 못하게 한다.
 * 등록 창에서 저장할 때도 뜨므로 창(dialog)보다 한 칸 위, 토스트보다는 아래에 둔다.
 */
.bs-overlay {
  position: fixed;
  inset: 0;
  z-index: calc(var(--bh-z-dialog) + 1);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bh-overlay);
}

.bs-overlay__box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 28px 32px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-dialog);
}

.bs-overlay__text {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 600;
}

.bs-overlay__sub {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

/* 표. BhTable과 같은 토큰·치수로 맞춘다 */
.bs-table-wrap {
  overflow-x: auto;
}

.bs-table {
  width: 100%;
  border-collapse: collapse;
}

.bs-table > thead > tr > th {
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

.bs-table > tbody > tr > td {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}

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

.bs-table > thead > tr > th:first-child,
.bs-table > tbody > tr > td:first-child {
  padding-left: 20px;
}

.bs-table > thead > tr > th:last-child,
.bs-table > tbody > tr > td:last-child {
  padding-right: 20px;
}

.bs-table > tbody > tr:hover > td {
  background: var(--bh-canvas);
}

.bs-table .bs-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.bs-table .bs-center {
  text-align: center;
}

.bs-table .bs-muted {
  color: var(--bh-fg-3);
}

.bs-mono {
  font-family: 'SF Mono', Monaco, Consolas, monospace;
  font-size: 13px;
}

/* 회색 동그라미 안의 순번(주관사 1·2·3 같은 순서 표시) */
.bs-seq {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.bs-seq--accent {
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
}

/* 칩 줄(크레딧 유형 고르기) */
.bs-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bs-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}


.price-title[data-v-4b6c631a] {
  margin: 0;
  padding: 16px 20px 12px;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.price-group__head[data-v-4b6c631a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-top: 1px solid var(--bh-line);
}
.price-group__title[data-v-4b6c631a] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}

/* 값이 짧은 표라 칸을 고정 폭으로 두고 남는 폭은 오른쪽 빈 칸에 준다 */
.price-table[data-v-4b6c631a] {
  table-layout: fixed;
}
.price-table__code[data-v-4b6c631a] {
  width: 160px;
}
.price-table__name[data-v-4b6c631a] {
  width: 240px;
}
.price-table__date[data-v-4b6c631a] {
  width: 120px;
}
.price-table__term[data-v-4b6c631a] {
  width: 120px;
}
.price-table__yield[data-v-4b6c631a] {
  width: 300px;
}
.price-table__state[data-v-4b6c631a] {
  width: 100px;
}
.price-edit[data-v-4b6c631a],
.price-value[data-v-4b6c631a] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.price-edit__input[data-v-4b6c631a] {
  width: 120px;
}
.price-value__num[data-v-4b6c631a] {
  font-weight: 600;
}
.price-value .bs-icon-button[data-v-4b6c631a] {
  margin-left: 0;
}

/*
 * 채권 관리 화면의 하위 탭들이 같이 쓰는 모양.
 *
 * 국고채·통안채·크레딧 탭이 같은 머리말, 파일 업로드 상자, 표, 처리 중 막을 각자 그리고 있었다.
 * 탭마다 scoped 스타일로 들고 있으면 한쪽만 고쳐져 금방 어긋나므로 여기 한 곳에 둔다.
 * 다른 화면과 겹치지 않게 모든 클래스에 bs- 를 붙인다.
 */

/* 탭 한 장의 머리말: 제목 + 한 줄 설명, 오른쪽에 버튼 */
.bs-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.bs-head__title {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}

.bs-head__desc {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

.bs-head__actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}

.bs-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/*
 * 업로드 상자. 회색 바탕에 두면 회색(secondary) 버튼이 바탕에 묻혀서, 흰 바탕에 테두리로 묶는다.
 */
.bs-upload {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
}

.bs-upload__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.bs-upload__title {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}

.bs-upload__desc {
  margin: 2px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

.bs-upload__date {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-variant-numeric: tabular-nums;
}

.bs-upload__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

/* 업로드 상자 안의 흰 칸(유통시장 매수/매도처럼 파일이 둘 이상인 경우) */
.bs-upload__item {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
}

.bs-upload__item-title {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}

/* 업로드 버튼과 외부(INFOMAX) 버튼 사이 칸막이 */
.bs-divider {
  width: 1px;
  height: 24px;
  margin: 0 4px;
  background: var(--bh-line);
}

.bs-file-input {
  display: none;
}

/* 고른 파일 이름 */
.bs-file {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  height: var(--bh-height-md);
  padding: 0 12px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-table-head);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}

.bs-file__icon {
  color: var(--bh-fg-3);
}

.bs-file__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bs-icon-button {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: auto;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 12px;
  cursor: pointer;
}

.bs-icon-button:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}

.bs-icon-button--danger:hover {
  background: var(--bh-danger-soft);
  color: var(--bh-danger);
}

/* 불러오는 중 / 비었음 자리 */
.bs-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}

/*
 * 오래 걸리는 쓰기 동작 중 화면을 막는 창. 다른 버튼을 또 누르지 못하게 한다.
 * 등록 창에서 저장할 때도 뜨므로 창(dialog)보다 한 칸 위, 토스트보다는 아래에 둔다.
 */
.bs-overlay {
  position: fixed;
  inset: 0;
  z-index: calc(var(--bh-z-dialog) + 1);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bh-overlay);
}

.bs-overlay__box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 28px 32px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-dialog);
}

.bs-overlay__text {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 600;
}

.bs-overlay__sub {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

/* 표. BhTable과 같은 토큰·치수로 맞춘다 */
.bs-table-wrap {
  overflow-x: auto;
}

.bs-table {
  width: 100%;
  border-collapse: collapse;
}

.bs-table > thead > tr > th {
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

.bs-table > tbody > tr > td {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}

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

.bs-table > thead > tr > th:first-child,
.bs-table > tbody > tr > td:first-child {
  padding-left: 20px;
}

.bs-table > thead > tr > th:last-child,
.bs-table > tbody > tr > td:last-child {
  padding-right: 20px;
}

.bs-table > tbody > tr:hover > td {
  background: var(--bh-canvas);
}

.bs-table .bs-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.bs-table .bs-center {
  text-align: center;
}

.bs-table .bs-muted {
  color: var(--bh-fg-3);
}

.bs-mono {
  font-family: 'SF Mono', Monaco, Consolas, monospace;
  font-size: 13px;
}

/* 회색 동그라미 안의 순번(주관사 1·2·3 같은 순서 표시) */
.bs-seq {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.bs-seq--accent {
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
}

/* 칩 줄(크레딧 유형 고르기) */
.bs-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bs-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}


.master-grid[data-v-44594023] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}


.price-title[data-v-d5533c74] {
  margin: 0;
  padding: 16px 20px 12px;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.price-group__head[data-v-d5533c74] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-top: 1px solid var(--bh-line);
}
.price-group__title[data-v-d5533c74] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}

/* 값이 짧은 표라 칸을 고정 폭으로 두고 남는 폭은 오른쪽 빈 칸에 준다 */
.price-table[data-v-d5533c74] {
  table-layout: fixed;
}
.price-table__code[data-v-d5533c74] {
  width: 160px;
}
.price-table__name[data-v-d5533c74] {
  width: 240px;
}
.price-table__date[data-v-d5533c74] {
  width: 120px;
}
.price-table__term[data-v-d5533c74] {
  width: 120px;
}
.price-table__yield[data-v-d5533c74] {
  width: 300px;
}
.price-table__state[data-v-d5533c74] {
  width: 100px;
}
.price-edit[data-v-d5533c74],
.price-value[data-v-d5533c74] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.price-edit__input[data-v-d5533c74] {
  width: 120px;
}
.price-value__num[data-v-d5533c74] {
  font-weight: 600;
}
.price-value .bs-icon-button[data-v-d5533c74] {
  margin-left: 0;
}


.supply-market[data-v-972c563c] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.supply-market__files[data-v-972c563c] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.keyword-grid[data-v-972c563c] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.keyword-column[data-v-972c563c] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.keyword-column__head[data-v-972c563c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.keyword-column__title[data-v-972c563c] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.keyword-column__desc[data-v-972c563c] {
  margin: 2px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.keyword-list[data-v-972c563c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.keyword-item[data-v-972c563c] {
  display: flex;
  align-items: center;
  gap: 12px;
  height: var(--bh-row-height);
  padding: 0 16px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-fill);
}
.keyword-item[data-v-972c563c]:hover {
  background: var(--bh-fill-hover);
}
.keyword-item__number[data-v-972c563c] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
  font: var(--bh-text-caption);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.keyword-item__text[data-v-972c563c] {
  flex: 1;
  min-width: 0;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 500;
}

/* 수정·삭제는 줄에 마우스를 올렸을 때만 보인다. 목록을 훑을 때 버튼이 눈을 가리지 않게 한다 */
.keyword-item__actions[data-v-972c563c] {
  display: flex;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.15s;
}
.keyword-item:hover .keyword-item__actions[data-v-972c563c],
.keyword-item:focus-within .keyword-item__actions[data-v-972c563c] {
  opacity: 1;
}
.keyword-item__button[data-v-972c563c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-accent-soft);
  color: var(--bh-accent);
  font-size: 12px;
  cursor: pointer;
}
.keyword-item__button--danger[data-v-972c563c] {
  background: var(--bh-danger-soft);
  color: var(--bh-danger);
}


.issuance-count[data-v-9530d8ce] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
  font-variant-numeric: tabular-nums;
}
.issuance-filter[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.issuance-stats[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.issuance-stats__line[data-v-9530d8ce] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
}
.issuance-stats__line b[data-v-9530d8ce] {
  font-weight: 600;
}
.issuance-stats__icon[data-v-9530d8ce] {
  color: var(--bh-accent);
}
.issuance-stats__icon--warn[data-v-9530d8ce],
.issuance-stats__warn[data-v-9530d8ce] {
  color: var(--bh-danger);
}
.issuance-stats__accent[data-v-9530d8ce] {
  color: var(--bh-accent);
}

/* 주관사·인수회사는 여러 줄이라 행 높이를 고정하지 않고 위아래 여백으로 둔다 */
.issuance-table > tbody > tr > td[data-v-9530d8ce] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.issuance-table__name[data-v-9530d8ce] {
  max-width: 320px;
  white-space: normal;
}
.issuance-table__people[data-v-9530d8ce] {
  white-space: normal;
}
.copy-link[data-v-9530d8ce] {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.copy-link[data-v-9530d8ce]:hover {
  color: var(--bh-accent);
  text-decoration: underline;
}
.people[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.people__item[data-v-9530d8ce] {
  display: flex;
  align-items: center;
  gap: 8px;
  font: var(--bh-text-caption);
}
.people__name[data-v-9530d8ce] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.status-toggle[data-v-9530d8ce] {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.status-toggle[data-v-9530d8ce]:hover:not(:disabled) {
  opacity: 0.8;
}
.status-toggle[data-v-9530d8ce]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.status-toggle__spin[data-v-9530d8ce] {
  margin-left: 4px;
}
.edit-form[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.edit-form__bond[data-v-9530d8ce] {
  padding: 16px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
}
.edit-form__bond-title[data-v-9530d8ce] {
  margin: 0 0 12px;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.edit-form__bond-grid[data-v-9530d8ce],
.infomax-summary__grid[data-v-9530d8ce] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  margin: 0;
  font: var(--bh-text-body);
}
.edit-form__bond-grid div[data-v-9530d8ce],
.infomax-summary__grid div[data-v-9530d8ce] {
  display: flex;
  gap: 8px;
}
.edit-form__bond-grid dt[data-v-9530d8ce],
.infomax-summary__grid dt[data-v-9530d8ce] {
  color: var(--bh-fg-3);
}
.edit-form__bond-grid dd[data-v-9530d8ce],
.infomax-summary__grid dd[data-v-9530d8ce] {
  margin: 0;
  color: var(--bh-fg);
  font-weight: 500;
}
.edit-form__split[data-v-9530d8ce] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
.edit-form__col[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.edit-form__pair[data-v-9530d8ce] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.edit-form__block[data-v-9530d8ce] {
  width: 100%;
}
.edit-form__merge[data-v-9530d8ce] {
  padding-top: 16px;
  border-top: 1px solid var(--bh-line);
}
.edit-form__guide[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  text-align: center;
}
.edit-form__guide i[data-v-9530d8ce] {
  font-size: 24px;
}
.edit-form__guide p[data-v-9530d8ce] {
  margin: 0;
}
.edit-list[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.edit-list__head[data-v-9530d8ce] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.edit-list__label[data-v-9530d8ce] {
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.edit-list__rows[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 140px;
}
.edit-list__row[data-v-9530d8ce] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.edit-list__row .bs-icon-button[data-v-9530d8ce] {
  margin-left: 0;
}
.edit-list__input[data-v-9530d8ce] {
  flex: 1;
}
.info-box[data-v-9530d8ce] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 140px;
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
}
.info-box__value[data-v-9530d8ce] {
  flex: 1;
  min-width: 0;
  padding: 8px 12px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-fill);
  color: var(--bh-fg);
  font: var(--bh-text-small);
}
.info-box__empty[data-v-9530d8ce] {
  margin: 0;
  padding: 8px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  text-align: center;
}
.infomax-summary[data-v-9530d8ce] {
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-accent-soft);
}
.infomax-summary__title[data-v-9530d8ce] {
  margin: 0 0 12px;
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 600;
}


.issuer-count[data-v-a6124af6] {
  margin: 0 0 16px;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
  font-variant-numeric: tabular-nums;
}
.issuer-grid[data-v-a6124af6] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 1279px) {
.issuer-grid[data-v-a6124af6] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.issuer-card[data-v-a6124af6] {
  overflow: hidden;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
}
.issuer-card__head[data-v-a6124af6] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
}
.issuer-card__info[data-v-a6124af6] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}
.issuer-card__name[data-v-a6124af6] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.issuer-card__meta[data-v-a6124af6] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.issuer-card__actions[data-v-a6124af6] {
  display: flex;
  gap: 4px;
}
.issuer-card__actions .bs-icon-button[data-v-a6124af6] {
  margin-left: 0;
}
.issuer-card__aliases[data-v-a6124af6] {
  padding: 16px;
  border-top: 1px solid var(--bh-line);
  background: var(--bh-canvas);
}
.issuer-card__aliases-title[data-v-a6124af6] {
  margin: 0 0 12px;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.issuer-card__empty[data-v-a6124af6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.issuer-card__empty p[data-v-a6124af6] {
  margin: 0;
}
.alias-list[data-v-a6124af6] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.alias-list--scroll[data-v-a6124af6] {
  max-height: 128px;
  overflow-y: auto;
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
}
.alias-list__item[data-v-a6124af6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-tag);
  background: var(--bh-surface);
}
.alias-list__name[data-v-a6124af6] {
  min-width: 0;
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 500;
}
.issuer-form[data-v-a6124af6] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.issuer-form__aliases[data-v-a6124af6] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.issuer-form__label[data-v-a6124af6] {
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.issuer-form__empty[data-v-a6124af6],
.issuer-form__readonly[data-v-a6124af6] {
  margin: 0;
  padding: 12px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-fill);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.issuer-form__readonly[data-v-a6124af6] {
  color: var(--bh-fg);
  font-weight: 500;
}


.platform-grid[data-v-58413efe] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
.platform[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.platform__head[data-v-58413efe] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--bh-line);
}
.platform__title[data-v-58413efe] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.platform__count[data-v-58413efe] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.platform__empty[data-v-58413efe] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 48px 16px;
  border: 1px dashed var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-canvas);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.platform__groups[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.group-card[data-v-58413efe] {
  overflow: hidden;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
}
.group-card__head[data-v-58413efe] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 16px;
}
.group-card__info[data-v-58413efe] {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}
.group-card__name[data-v-58413efe] {
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-section);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.group-card__actions[data-v-58413efe] {
  display: flex;
  flex-shrink: 0;
  gap: 4px;
}
.group-card__actions .bs-icon-button[data-v-58413efe] {
  margin-left: 0;
}
.group-issuers[data-v-58413efe] {
  border-top: 1px solid var(--bh-line);
  background: var(--bh-canvas);
}
.group-issuers__summary[data-v-58413efe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 16px;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  list-style: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.group-issuers__summary[data-v-58413efe]::-webkit-details-marker {
  display: none;
}
.group-issuers__summary[data-v-58413efe]:hover {
  background: var(--bh-fill);
}
.group-issuers__label[data-v-58413efe] {
  font-weight: 600;
}
.group-issuers__count[data-v-58413efe] {
  color: var(--bh-fg-3);
  font-weight: 400;
}
.group-issuers__chevron[data-v-58413efe] {
  flex-shrink: 0;
  color: var(--bh-fg-4);
  font-size: 12px;
  transition: transform 0.2s;
}
.group-issuers[open] .group-issuers__chevron[data-v-58413efe] {
  transform: rotate(180deg);
}
.group-issuers__body[data-v-58413efe] {
  padding: 0 16px 16px;
}
.group-issuers__empty[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 16px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.group-issuers__list[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 224px;
  margin: 0;
  padding: 0 4px 0 0;
  overflow-y: auto;
  list-style: none;
}
.group-issuers__item[data-v-58413efe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-tag);
  background: var(--bh-surface);
}
.group-issuers__name[data-v-58413efe] {
  min-width: 0;
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.group-form[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.group-form__issuers[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.group-form__label[data-v-58413efe] {
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.group-form__empty[data-v-58413efe] {
  margin: 0;
  padding: 16px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-fill);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.issuer-picker[data-v-58413efe] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 192px;
  padding: 8px;
  overflow-y: auto;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
}
.issuer-picker__item[data-v-58413efe] {
  padding: 6px 8px;
  border-radius: var(--bh-radius-tag);
}
.issuer-picker__item[data-v-58413efe]:hover {
  background: var(--bh-canvas);
}
.issuer-picker__name[data-v-58413efe] {
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 500;
}
.issuer-picker__grade[data-v-58413efe] {
  margin-left: 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}


.bond-setting[data-v-57bd37bc] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  overflow-y: auto;
  padding: 24px;
  background: var(--bh-canvas);
}
.bond-setting__nav[data-v-57bd37bc] {
  gap: 16px;
}
.bond-setting__types[data-v-57bd37bc] {
  max-width: 480px;
}
.bond-setting__menus[data-v-57bd37bc] {
  display: flex;
  gap: 4px;
  margin: 0 -20px -20px;
  padding: 0 20px;
  border-top: 1px solid var(--bh-line);
}
.bond-setting__menu[data-v-57bd37bc] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  font-weight: 500;
  cursor: pointer;
}
.bond-setting__menu[data-v-57bd37bc]:hover {
  color: var(--bh-fg-2);
}
.bond-setting__menu--active[data-v-57bd37bc] {
  border-bottom-color: var(--bh-accent);
  color: var(--bh-accent);
  font-weight: 600;
}
.bond-setting__menu[data-v-57bd37bc]:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: -2px;
}
.bond-setting__content[data-v-57bd37bc] {
  min-height: 600px;
}

/* 페이드 트랜지션 */
.fade-enter-active[data-v-57bd37bc],
.fade-leave-active[data-v-57bd37bc] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-57bd37bc],
.fade-leave-to[data-v-57bd37bc] {
  opacity: 0;
}


.user-detail[data-v-59ac8c64] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.user-detail__identity[data-v-59ac8c64] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.user-detail__avatar[data-v-59ac8c64] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bh-accent-soft);
  color: var(--bh-accent);
  font-size: 12px;
}
.user-detail__sub[data-v-59ac8c64] {
  margin: 0;
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-detail__state[data-v-59ac8c64] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 64px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.user-detail__state--error[data-v-59ac8c64] {
  color: var(--bh-danger);
}
.user-detail__section[data-v-59ac8c64] {
  margin: 0 0 12px;
  color: var(--bh-fg-2);
  font: var(--bh-text-section);
}
.user-detail__section-caption[data-v-59ac8c64] {
  margin-left: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-detail__info[data-v-59ac8c64] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-table-head);
}
.user-detail__info dt[data-v-59ac8c64] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-detail__info dd[data-v-59ac8c64] {
  margin: 2px 0 0;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 500;
}
.user-detail__code[data-v-59ac8c64] {
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}
.user-detail__metrics[data-v-59ac8c64] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.user-detail__metric[data-v-59ac8c64] {
  padding: 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
}
.user-detail__metric-label[data-v-59ac8c64],
.user-detail__metric-hint[data-v-59ac8c64] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-detail__metric-value[data-v-59ac8c64] {
  margin: 4px 0 2px;
  font: var(--bh-text-page);
}
.user-detail__metric-unit[data-v-59ac8c64] {
  margin-left: 2px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-detail__tone--default[data-v-59ac8c64] {
  color: var(--bh-fg);
}
.user-detail__tone--good[data-v-59ac8c64] {
  color: var(--bh-accent);
}
.user-detail__tone--muted[data-v-59ac8c64] {
  color: var(--bh-fg-4);
}
.user-detail__tone--danger[data-v-59ac8c64] {
  color: var(--bh-danger);
}
.user-detail__weeks[data-v-59ac8c64] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
}
.user-detail__week[data-v-59ac8c64] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.user-detail__week-label[data-v-59ac8c64] {
  flex-shrink: 0;
  width: 56px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-align: right;
}
.user-detail__days[data-v-59ac8c64] {
  display: flex;
  gap: 6px;
}
.user-detail__day[data-v-59ac8c64] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--bh-radius-tag);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.user-detail__day--on[data-v-59ac8c64] {
  background: var(--bh-accent);
  color: var(--bh-surface);
}
.user-detail__day--off[data-v-59ac8c64] {
  background: var(--bh-fill-hover);
  color: var(--bh-fg-3);
}
.user-detail__day--future[data-v-59ac8c64] {
  background: var(--bh-fill);
  color: var(--bh-fg-4);
}
.user-detail__weeks-note[data-v-59ac8c64] {
  margin: 4px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-detail__footer[data-v-59ac8c64] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.user-detail__footer-actions[data-v-59ac8c64] {
  display: flex;
  gap: 8px;
}


.inst-dist__title[data-v-097fcdfa] {
  margin: 0 0 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 600;
}
.inst-dist__body[data-v-097fcdfa] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.inst-dist__pie[data-v-097fcdfa] {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
}
.inst-dist__list[data-v-097fcdfa] {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px 16px;
  min-width: 0;
  max-width: 672px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.inst-dist__item[data-v-097fcdfa] {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 0 2px;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s;
}
.inst-dist__item[data-v-097fcdfa]:hover:not(:disabled) {
  background: var(--bh-fill);
}
.inst-dist__item[data-v-097fcdfa]:disabled {
  cursor: default;
}
.inst-dist__dot[data-v-097fcdfa] {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.inst-dist__label[data-v-097fcdfa] {
  overflow: hidden;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inst-dist__count[data-v-097fcdfa] {
  flex-shrink: 0;
  margin-left: auto;
  color: var(--bh-fg);
  font: var(--bh-text-caption);
  font-weight: 600;
}
.inst-dist__item--empty .inst-dist__label[data-v-097fcdfa],
.inst-dist__item--empty .inst-dist__count[data-v-097fcdfa] {
  color: var(--bh-fg-4);
}


.user-page[data-v-d1793222] {
  height: 100%;
  overflow-y: auto;
  padding: 24px;
  background: var(--bh-canvas);
}

/* 블록 흐름이라 헤더 아래 여백(20px)과 겹치면 큰 쪽 하나만 남는다 */
.user-page[data-v-d1793222] > * + * {
  margin-top: 16px;
}

/* 요약 수치 */
.user-stats[data-v-d1793222] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.user-stats__counts[data-v-d1793222] {
  display: flex;
  align-items: center;
  margin: 0;
}
.user-stats__count[data-v-d1793222] {
  padding: 0 16px;
  border-left: 1px solid var(--bh-line);
}
.user-stats__count[data-v-d1793222]:first-child {
  padding-left: 0;
  border-left: 0;
}
.user-stats__count dt[data-v-d1793222] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-stats__count dd[data-v-d1793222] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.user-stats__count dd.user-stats__total[data-v-d1793222] {
  font: var(--bh-text-page);
}
.user-bot-rate[data-v-d1793222] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: var(--bh-height-md);
  padding: 0 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
  cursor: pointer;
  transition:
    background-color 0.15s,
    border-color 0.15s;
}
.user-bot-rate[data-v-d1793222]:hover {
  border-color: var(--bh-accent-soft);
  background: var(--bh-accent-soft);
}
.user-bot-rate__label[data-v-d1793222],
.user-bot-rate__ratio[data-v-d1793222] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-bot-rate__value[data-v-d1793222] {
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 700;
}
.user-bot-rate:hover .user-bot-rate__value[data-v-d1793222],
.user-bot-rate:hover .user-bot-rate__chevron[data-v-d1793222] {
  color: var(--bh-accent);
}
.user-bot-rate__unit[data-v-d1793222] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-bot-rate__chevron[data-v-d1793222] {
  color: var(--bh-fg-4);
  font-size: 10px;
}

/* 직무·기관 분포 */
.user-dist[data-v-d1793222] {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  gap: 16px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--bh-line);
}
.user-dist__title[data-v-d1793222] {
  margin: 0 0 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 600;
}
.user-dist__body[data-v-d1793222] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.user-dist__pie[data-v-d1793222] {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
}
.user-dist__legend[data-v-d1793222] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  list-style: none;
}
.user-dist__legend li[data-v-d1793222] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.user-dist__legend strong[data-v-d1793222] {
  color: var(--bh-fg);
  font-weight: 600;
}
.user-dist__institution[data-v-d1793222] {
  padding-left: 16px;
  border-left: 1px solid var(--bh-line);
}
.user-dist__note[data-v-d1793222] {
  margin: 8px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-dot[data-v-d1793222] {
  display: inline-block;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.user-dot--tag[data-v-d1793222] {
  margin-right: 4px;
}

/* 추이 차트 */
.user-chart__head[data-v-d1793222] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.user-chart__title[data-v-d1793222] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.user-chart__caption[data-v-d1793222] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.user-chart__icon[data-v-d1793222] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bh-fill);
  color: var(--bh-fg-3);
  font-size: 12px;
}

/* 필터 */
.user-filters[data-v-d1793222] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.user-filters__row[data-v-d1793222] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.user-filters__search[data-v-d1793222] {
  flex: 1;
  min-width: 220px;
}
.user-filters__select[data-v-d1793222] {
  width: 144px;
}
.user-filters__select--wide[data-v-d1793222] {
  width: 160px;
}
.user-filters__clear[data-v-d1793222] {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg-3);
  cursor: pointer;
}
.user-filters__summary[data-v-d1793222] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--bh-height-sm);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.user-filters__summary strong[data-v-d1793222] {
  color: var(--bh-fg);
  font-weight: 600;
}
.user-state[data-v-d1793222] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 240px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

/* 사용자 표 */
.user-table[data-v-d1793222] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.user-table th[data-v-d1793222] {
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.user-table td[data-v-d1793222] {
  height: var(--bh-row-height);
  padding: 8px 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}
.user-table th[data-v-d1793222]:first-child,
.user-table td[data-v-d1793222]:first-child {
  padding-left: 20px;
}
.user-table th[data-v-d1793222]:last-child,
.user-table td[data-v-d1793222]:last-child {
  padding-right: 20px;
}
.user-table .user-table__num[data-v-d1793222] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.user-table__row[data-v-d1793222] {
  cursor: pointer;
}
.user-table__row:hover td[data-v-d1793222] {
  background: var(--bh-canvas);
}
.user-table td.user-table__desc[data-v-d1793222] {
  overflow: hidden;
  color: var(--bh-fg-2);
  text-overflow: ellipsis;
}
.user-cell[data-v-d1793222] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.user-cell__text[data-v-d1793222] {
  flex: 1;
  min-width: 0;
}
.user-cell__name[data-v-d1793222] {
  margin: 0;
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-cell__id[data-v-d1793222] {
  margin: 0;
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-avatar[data-v-d1793222] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bh-accent-soft);
  color: var(--bh-accent);
  font-size: 13px;
}
.user-avatar--sm[data-v-d1793222] {
  width: 32px;
  height: 32px;
  font-size: 12px;
}
.user-institution[data-v-d1793222] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--bh-fg-2);
}
.user-institution--unknown[data-v-d1793222] {
  color: var(--bh-fg-3);
}
.user-tag-icon[data-v-d1793222] {
  margin-right: 4px;
  font-size: 10px;
}
.user-actions[data-v-d1793222] {
  display: flex;
  gap: 8px;
}

/* 페이지 이동 */
.user-pagination[data-v-d1793222] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  border-top: 1px solid var(--bh-line);
}
.user-pagination__nav[data-v-d1793222] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.user-pagination__nav[data-v-d1793222] .bh-button {
  min-width: var(--bh-height-sm);
  padding: 0 8px;
}
.user-pagination__caption[data-v-d1793222] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 창 안의 폼 */
.user-form[data-v-d1793222] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.user-form__pair[data-v-d1793222] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.user-form__note[data-v-d1793222] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 봇 연동 사용자 목록 */
.user-bot-list[data-v-d1793222] {
  margin: 0;
  padding: 0;
  list-style: none;
}
.user-bot-list__item[data-v-d1793222] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--bh-line);
}
.user-bot-list__item[data-v-d1793222]:last-child {
  border-bottom: 0;
}


.ask-detail[data-v-60827bef] {
  overflow: hidden;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
}
.ask-detail__facts[data-v-60827bef] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 12px 16px;
  font: var(--bh-text-small);
}
.ask-detail__facts--sub[data-v-60827bef] {
  border-top: 1px solid var(--bh-line);
}
.ask-detail__facts div[data-v-60827bef] {
  display: flex;
  gap: 8px;
  min-width: 0;
}
.ask-detail__facts dt[data-v-60827bef] {
  flex-shrink: 0;
  color: var(--bh-fg-3);
}
.ask-detail__facts dd[data-v-60827bef] {
  margin: 0;
  overflow: hidden;
  color: var(--bh-fg);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ask-detail__table[data-v-60827bef] {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--bh-line);
}
.ask-detail__table th[data-v-60827bef] {
  background: var(--bh-table-head);
  height: 32px;
  padding: 0 16px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
}
.ask-detail__table td[data-v-60827bef] {
  height: 32px;
  padding: 0 16px;
  border-bottom: 1px solid var(--bh-line);
  font: var(--bh-text-small);
}
.ask-detail__table tbody tr:last-child td[data-v-60827bef] {
  border-bottom: 0;
}
.ask-detail__table .ask-detail__num[data-v-60827bef] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ask-detail__muted[data-v-60827bef] {
  color: var(--bh-fg-3);
}
.ask-detail__spread[data-v-60827bef] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ask-detail__dot[data-v-60827bef] {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.ask-detail__dot--red[data-v-60827bef] {
  background: var(--bh-data-red);
}
.ask-detail__dot--blue[data-v-60827bef] {
  background: var(--bh-data-blue);
}


.label-selector__backdrop[data-v-a45fbcee] {
  position: fixed;
  inset: 0;
  z-index: var(--bh-z-menu);
}
.label-selector[data-v-a45fbcee] {
  position: fixed;
  z-index: var(--bh-z-menu);
  min-width: 160px;
  margin: 0;
  padding: 4px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
  list-style: none;
  animation: label-selector-in-a45fbcee 0.12s ease-out;
}
.label-selector__item[data-v-a45fbcee] {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 10px;
  border-radius: var(--bh-radius-chip);
  cursor: pointer;
}
.label-selector__item[data-v-a45fbcee]:hover {
  background: var(--bh-fill);
}
.label-selector__check[data-v-a45fbcee] {
  width: 14px;
  color: transparent;
  font-size: 12px;
}
.label-selector__check--on[data-v-a45fbcee] {
  color: var(--bh-accent);
}
.label-selector__dot[data-v-a45fbcee] {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.label-selector__name[data-v-a45fbcee] {
  flex: 1;
  color: var(--bh-fg);
  font: var(--bh-text-body);
}
.label-selector__empty[data-v-a45fbcee] {
  padding: 8px 10px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  text-align: center;
}
@keyframes label-selector-in-a45fbcee {
from {
    opacity: 0;
    transform: translateY(-4px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}


@keyframes toss-row-flash-dd5fae8c {
0% {
    background-color: rgba(49, 130, 246, 0.1);
}
100% {
    background-color: transparent;
}
}
.highlight-new[data-v-dd5fae8c] {
  animation: toss-row-flash-dd5fae8c 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.highlight-event-click[data-v-dd5fae8c] {
  animation: toss-row-flash-dd5fae8c 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.sold-out__scroll[data-v-dd5fae8c] {
  overflow-x: auto;
}
.sold-out__row[data-v-dd5fae8c] {
  cursor: pointer;
}

/*
 * 매도 중 / 체결 호가 표가 같이 쓰는 모양.
 *
 * 두 표는 행 구조(펼침, 라벨, 행 강조)가 달라 디자인 시스템의 BhTable로 바로 바꿀 수 없다.
 * 대신 BhTable과 같은 토큰·치수로 맞춘 클래스를 여기 한 곳에 둔다. 두 표가 각자
 * scoped 스타일을 들고 있으면 한쪽만 고쳐져 금방 어긋난다.
 */
.ask-section__head {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-surface);
}

.ask-section__title {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}

.ask-section__count {
  margin-left: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  font-variant-numeric: tabular-nums;
}

.ask-section__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ask-table {
  width: 100%;
  border-collapse: collapse;
}

.ask-table > thead > tr > th {
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

.ask-table > tbody > tr > td {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}

.ask-table > thead > tr > th:first-child,
.ask-table > tbody > tr > td:first-child {
  padding-left: 20px;
}

.ask-table > thead > tr > th:last-child,
.ask-table > tbody > tr > td:last-child {
  padding-right: 20px;
}

/* 원문 채팅은 길어도 잘라내지 않고 줄을 넘긴다. 호가 내용 전체가 판단 근거다 */
.ask-table > tbody > tr > td:first-child {
  padding-top: 12px;
  padding-bottom: 12px;
  white-space: normal;
}

/* compact(1920×1080 모니터): 원문 칸 위아래 여백을 줄여 한 화면에 줄을 더 보인다 */
@media (max-width: 1999px) {
  .ask-table > tbody > tr > td:first-child {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .ask-table > thead > tr > th:first-child,
  .ask-table > tbody > tr > td:first-child {
    padding-left: 16px;
  }

  .ask-table > thead > tr > th:last-child,
  .ask-table > tbody > tr > td:last-child {
    padding-right: 16px;
  }
}

.ask-table > tbody > tr:hover > td {
  background: var(--bh-canvas);
}

/* 숫자 열은 오른쪽 정렬 + 고정폭 숫자. 금리를 위아래로 훑어 비교하는 표다 */
.ask-table .ask-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.ask-table .ask-muted {
  color: var(--bh-fg-3);
}

.ask-table > tbody > .ask-table__empty > td {
  height: 80px;
  color: var(--bh-fg-3);
  text-align: center;
}

.ask-content {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.ask-content__text {
  color: var(--bh-fg-2);
}

/* 원문 채팅 옆의 code / quoter 단추. 내용보다 눈에 띄면 안 된다 */
.ask-chip-button {
  flex-shrink: 0;
  height: 20px;
  padding: 0 6px;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-fill);
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
  cursor: pointer;
}

.ask-chip-button:hover {
  color: var(--bh-fg-2);
}

.ask-labels {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
}

.ask-label-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  cursor: pointer;
}

.ask-label-more {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  cursor: pointer;
}

.ask-label-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 10px;
  cursor: pointer;
}

.ask-label-add:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}

/* 경고 느낌표. 모양은 지금 화면 그대로, 색은 같은 계열의 토큰으로 맞춘다 */
.ask-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 16px;
  padding: 0 8px;
  border-radius: 8px;
  font: var(--bh-text-caption);
  font-weight: 500;
  cursor: default;
}

.ask-mark--info {
  background: var(--bh-accent-soft);
  color: var(--bh-data-blue);
}

.ask-mark--warn {
  background: var(--bh-danger-soft);
  color: var(--bh-data-red);
}

/* 값 오른쪽에 느낌표 자리(.ask-mark-slot)를 비워 둔 열은 머리글도 같은 폭만큼 안쪽으로 당겨 끝을 맞춘다 */
.ask-table > thead > tr > th.ask-th--mark {
  padding-right: 44px; /* 셀 여백 12 + 값·자리 간격 4 + 느낌표 자리 28 */
}

.ask-mark-slot {
  display: inline-flex;
  justify-content: flex-end;
  width: 28px;
}

.ask-dot-cell {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.ask-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.ask-dot--red {
  background: var(--bh-data-red);
}

.ask-dot--blue {
  background: var(--bh-data-blue);
}

.ask-table > tbody > .ask-row--expanded > td {
  background: var(--bh-accent-soft);
}

.ask-table > tbody > tr > .ask-detail-cell {
  height: auto;
  padding: 12px 20px;
  background: var(--bh-canvas);
}

.ask-chevron {
  flex-shrink: 0;
  color: var(--bh-fg-4);
  font-size: 11px;
  transition: transform 0.15s;
}

.ask-chevron--open {
  transform: rotate(180deg);
}


.sender-list[data-v-030cee6a] {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sender-list__item[data-v-030cee6a] {
  padding: 12px;
  border-bottom: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  cursor: pointer;
}
.sender-list__item[data-v-030cee6a]:last-child {
  border-bottom: 0;
}
.sender-list__item[data-v-030cee6a]:hover {
  background: var(--bh-fill);
}
.sender-list__head[data-v-030cee6a] {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}
.sender-list__name[data-v-030cee6a] {
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.sender-list__address[data-v-030cee6a] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.sender-list__copied[data-v-030cee6a] {
  color: var(--bh-accent);
  font: var(--bh-text-caption);
}
.sender-list__chats[data-v-030cee6a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0 0 0 10px;
  border-left: 2px solid var(--bh-line);
  list-style: none;
}
.sender-list__chat[data-v-030cee6a] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font: var(--bh-text-small);
}
.sender-list__time[data-v-030cee6a] {
  flex-shrink: 0;
  color: var(--bh-fg-4);
}
.sender-list__content[data-v-030cee6a] {
  color: var(--bh-fg-2);
  word-break: break-all;
}


@keyframes toss-row-flash-7e762c06 {
0% {
    background-color: rgba(49, 130, 246, 0.1);
}
100% {
    background-color: transparent;
}
}
.highlight-new[data-v-7e762c06] {
  animation: toss-row-flash-7e762c06 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.highlight-event-click[data-v-7e762c06] {
  animation: toss-row-flash-7e762c06 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes toss-traded-settle-7e762c06 {
0% {
    background-color: rgba(16, 185, 129, 0.18);
}
100% {
    background-color: rgba(16, 185, 129, 0.07);
}
}
.highlight-trading[data-v-7e762c06] {
  animation: toss-traded-settle-7e762c06 0.5s ease-out forwards;
  background-color: rgba(16, 185, 129, 0.07);
}
.ask-row-enter-active[data-v-7e762c06] {
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}
.ask-row-enter-from[data-v-7e762c06] {
  opacity: 0;
  transform: translateY(-4px);
}
.ask-row-leave-active[data-v-7e762c06] {
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.ask-row-leave-to[data-v-7e762c06] {
  opacity: 0;
}
.ask-spread--expensive[data-v-7e762c06] {
  color: var(--bh-data-red);
}
.ask-spread--cheap[data-v-7e762c06] {
  color: var(--bh-data-blue);
}
.ask-spread--flat[data-v-7e762c06] {
  color: var(--bh-data-neutral);
}
.issuance[data-v-7e762c06] {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 4px 8px;
  margin: 0;
}
.issuance dt[data-v-7e762c06] {
  font-weight: 700;
  opacity: 0.7;
}
.issuance dd[data-v-7e762c06] {
  margin: 0;
}
.issuance__rule[data-v-7e762c06] {
  grid-column: 1 / -1;
  width: 100%;
  margin: 4px 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}


.label-manager[data-v-396874c5] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.label-manager__item[data-v-396874c5] {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 40px;
  padding: 0 8px;
  border-radius: var(--bh-radius-chip);
}
.label-manager__item[data-v-396874c5]:hover {
  background: var(--bh-fill);
}
.label-manager__dot[data-v-396874c5] {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.label-manager__name[data-v-396874c5] {
  flex: 1;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  text-align: left;
  cursor: pointer;
}
.label-manager__input[data-v-396874c5] {
  flex: 1;
}
.label-manager__edit[data-v-396874c5] {
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 12px;
  opacity: 0;
  cursor: pointer;
}
.label-manager__item:hover .label-manager__edit[data-v-396874c5],
.label-manager__edit[data-v-396874c5]:focus-visible {
  opacity: 1;
}
.label-manager__empty[data-v-396874c5] {
  padding: 24px 0;
  color: var(--bh-fg-3);
  text-align: center;
}
.label-manager__hint[data-v-396874c5] {
  margin: 12px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}


.ask-result[data-v-307ecc54] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ask-result__head[data-v-307ecc54] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.ask-result__title[data-v-307ecc54] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.ask-result__actions[data-v-307ecc54] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ask-result__time[data-v-307ecc54] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.ask-result__body[data-v-307ecc54] {
  flex: 1;
  overflow: auto;
}
.ask-result__state[data-v-307ecc54] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--bh-fg-3);
}
.ask-result__spin[data-v-307ecc54] {
  animation: ask-result-spin-307ecc54 1s linear infinite;
}
@keyframes ask-result-spin-307ecc54 {
to {
    transform: rotate(360deg);
}
}
.label-filter[data-v-307ecc54] {
  display: flex;
  align-items: center;
  gap: 6px;
  height: var(--bh-height-sm);
  padding: 0 8px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-fill);
}
.label-filter__dot[data-v-307ecc54] {
  width: 14px;
  height: 14px;
  padding: 0;
  border: 2.5px solid;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.1s;
}
.label-filter__dot[data-v-307ecc54]:hover {
  transform: scale(1.1);
}
.label-filter__divider[data-v-307ecc54] {
  width: 1px;
  height: 14px;
  background: var(--bh-fg-4);
}
.label-filter__manage[data-v-307ecc54] {
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: var(--bh-fg-3);
  font-size: 12px;
  cursor: pointer;
}
.label-filter__manage[data-v-307ecc54]:hover {
  color: var(--bh-fg-2);
}


.event-feed[data-v-db7c1960] {
  height: 100%;
  overflow-y: auto;
}

/* 빈 상태는 패널 본문 가운데에 둔다(체결강도·국고채 패널과 같음) */
.event-feed__empty[data-v-db7c1960] {
  height: 100%;
}
.event-feed__list[data-v-db7c1960] {
  margin: 0;
  padding: 0;
  list-style: none;
}
.event-feed__row[data-v-db7c1960] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 6px;
  border-bottom: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-tag);
  cursor: pointer;
}
.event-feed__row[data-v-db7c1960]:last-child {
  border-bottom: 0;
}
.event-feed__row[data-v-db7c1960]:hover {
  background: var(--bh-canvas);
}

/* 줄마다 붙는 태그라 기본 태그보다 낮게 둔다 */
.event-feed__row[data-v-db7c1960] .bh-tag {
  flex-shrink: 0;
  height: 18px;
  margin-top: 1px;
  padding: 0 5px;
}
.event-feed__main[data-v-db7c1960] {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.event-feed__line[data-v-db7c1960] {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font: var(--bh-text-small);
}
.event-feed__name[data-v-db7c1960] {
  overflow: hidden;
  color: var(--bh-fg);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.event-feed__spread[data-v-db7c1960] {
  flex-shrink: 0;
}
.event-feed__spread--expensive[data-v-db7c1960] {
  color: var(--bh-data-red);
}
.event-feed__spread--cheap[data-v-db7c1960] {
  color: var(--bh-data-blue);
}
.event-feed__spread--flat[data-v-db7c1960] {
  color: var(--bh-data-neutral);
}
.event-feed__time[data-v-db7c1960] {
  flex-shrink: 0;
  margin-left: auto;
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
}
.event-feed__maturity[data-v-db7c1960] {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 근거 줄. 종목·스프레드보다 한 단계 작고 흐리게 */
.event-feed__meta[data-v-db7c1960] {
  display: flex;
  gap: 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
@keyframes event-row-flash-db7c1960 {
0% {
    background-color: var(--bh-accent-soft);
}
100% {
    background-color: transparent;
}
}

/* 줄마다 붙는 태그라 기본 태그보다 낮게 둔다 */
.event-feed__row[data-v-db7c1960] .bh-tag {
  flex-shrink: 0;
  height: 18px;
  padding: 0 5px;
}
.highlight-new[data-v-db7c1960] {
  animation: event-row-flash-db7c1960 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.event-row-enter-active[data-v-db7c1960] {
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}
.event-row-enter-from[data-v-db7c1960] {
  opacity: 0;
  transform: translateY(-4px);
}


.date-selector[data-v-c7b2ea38] {
  padding: 8px 12px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
}
.date-selector--compact[data-v-c7b2ea38] {
  padding: 0;
  background: transparent;
}


.panel-slide-enter-active[data-v-150b9784],
.panel-slide-leave-active[data-v-150b9784] {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.panel-slide-enter-from[data-v-150b9784],
.panel-slide-leave-to[data-v-150b9784] {
  opacity: 0;
  transform: translateY(8px);
}


.mb-root[data-v-79c1227a] {
  /*
   * 브리핑은 디자인 시스템보다 먼저 만들어져 자체 변수를 썼다. 이름은 그대로 두고
   * 값만 디자인 시스템 토큰에 연결한다. 토큰에 없는 단계는 가장 가까운 토큰을 쓴다.
   */
  --accent: var(--bh-accent);
  --accent-soft: var(--bh-accent-soft);
  --surface: var(--bh-surface);
  --surface-sunken: var(--bh-table-head);
  --surface-hover: var(--bh-canvas);
  --border: var(--bh-line);
  --border-strong: var(--bh-fill-hover);
  --text-strong: var(--bh-fg);
  --text: var(--bh-fg-2);
  --text-weak: var(--bh-fg-3);
  --text-faint: var(--bh-fg-3);
  --dir-up: var(--bh-data-red);
  --dir-down: var(--bh-data-blue);
  --font-num: ui-rounded, -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  --shadow-card: var(--bh-shadow-raised);
}

/* ── 진입 바 ─────────────────────────────────────────────────────── */
.briefbar[data-v-79c1227a] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 48px;
  padding: 0 16px 0 20px;
  border: none;
  border-radius: 8px;
  /* 그라데이션은 읽었어도 둔다. 안 읽음은 왼쪽 강조선(::before)으로만 구분한다 */
  background: linear-gradient(90deg, var(--accent-soft) 0%, var(--surface) 55%);
  box-shadow: var(--shadow-card);
  text-align: left;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: background 200ms, box-shadow 200ms, transform 120ms;
}
.briefbar[data-v-79c1227a]:hover { background: linear-gradient(90deg, var(--accent-soft) 0%, var(--surface-hover) 55%);
}
.briefbar[data-v-79c1227a]:active { transform: scale(0.996);
}
.briefbar[data-unread='true'][data-v-79c1227a]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--accent);
}
.briefbar__badge[data-v-79c1227a] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  flex-shrink: 0;
}
.briefbar__spark[data-v-79c1227a] { font-size: 12px; line-height: 1;
}
.briefbar__sep[data-v-79c1227a] { width: 1px; height: 12px; background: var(--border-strong); flex-shrink: 0;
}
.briefbar__headline-wrap[data-v-79c1227a] {
  min-width: 0;
  flex: 1;
  overflow: hidden;
}
.briefbar__headline[data-v-79c1227a] {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-strong);
  letter-spacing: -0.02em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 10초마다 다음 헤드라인으로 넘어갈 때 위로 밀어 올리며 교체한다. */
.mb-headline-enter-active[data-v-79c1227a],
.mb-headline-leave-active[data-v-79c1227a] {
  transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.mb-headline-enter-from[data-v-79c1227a] { opacity: 0; transform: translateY(7px);
}
.mb-headline-leave-to[data-v-79c1227a] { opacity: 0; transform: translateY(-7px);
}
.briefbar__headline[data-v-79c1227a] strong { font-weight: 800; color: var(--accent);
}
.briefbar__meta[data-v-79c1227a] {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
}
.briefbar__dots[data-v-79c1227a] { display: inline-flex; gap: 3px;
}
.briefbar__dots i[data-v-79c1227a] { width: 5px; height: 5px; border-radius: 50%; background: var(--border-strong);
}
.briefbar__dots i[data-on='true'][data-v-79c1227a] { background: var(--accent);
}
.briefbar__more[data-v-79c1227a] { font-size: 12px; font-weight: 700; color: var(--text-faint);
}
.briefbar__chev[data-v-79c1227a] { color: var(--text-faint); display: grid; place-items: center;
}
.briefbar__chev svg[data-v-79c1227a] { width: 15px; height: 15px;
}

/* ── 시트 ────────────────────────────────────────────────────────── */
.mb-sheet[data-v-79c1227a] { position: fixed; inset: 0; z-index: 1000; pointer-events: none;
}
.mb-sheet[data-open='true'][data-v-79c1227a] { pointer-events: auto;
}
.mb-sheet__scrim[data-v-79c1227a] {
  position: absolute;
  inset: 0;
  background: rgba(25, 31, 40, 0.1);
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.22, 1, 0.36, 1);
}
.mb-sheet[data-open='true'] .mb-sheet__scrim[data-v-79c1227a] { opacity: 1;
}
.mb-sheet__panel[data-v-79c1227a] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(640px, 92vw);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-dialog);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);

  /* 시트는 body 로 teleport 되어 .mb-root 의 변수를 못 받는다. 같은 연결을 한 번 더 둔다 */
  --accent: var(--bh-accent);
  --accent-soft: var(--bh-accent-soft);
  --surface: var(--bh-surface);
  --surface-sunken: var(--bh-table-head);
  --border: var(--bh-line);
  --border-strong: var(--bh-fill-hover);
  --text-strong: var(--bh-fg);
  --text: var(--bh-fg-2);
  --text-weak: var(--bh-fg-3);
  --text-faint: var(--bh-fg-3);
  --dir-up: var(--bh-data-red);
  --dir-down: var(--bh-data-blue);
  --font-num: ui-rounded, -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
}
.mb-sheet[data-open='true'] .mb-sheet__panel[data-v-79c1227a] { transform: none;
}
.mb-sheet__head[data-v-79c1227a] { flex-shrink: 0; display: flex; align-items: flex-start; gap: 12px; padding: 18px 24px 12px;
}
.mb-sheet__eyebrow[data-v-79c1227a] { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: var(--accent);
}
.mb-sheet__title[data-v-79c1227a] { font-size: 18px; font-weight: 800; color: var(--text-strong); letter-spacing: -0.03em;
}
.mb-sheet__date[data-v-79c1227a] { font-size: 12px; color: var(--text-faint); margin-top: 3px;
}
.mb-sheet__actions[data-v-79c1227a] { margin-left: auto; flex-shrink: 0; display: flex; align-items: center; gap: 4px;
}
.mb-origin[data-v-79c1227a] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
.mb-origin[data-v-79c1227a]:hover:not(:disabled) { background: var(--surface-sunken); border-color: var(--border-strong);
}
.mb-origin[data-v-79c1227a]:disabled { cursor: default; color: var(--text-faint);
}
.mb-origin[data-state='error'][data-v-79c1227a] { border-color: var(--dir-up); color: var(--dir-up);
}
.mb-origin svg[data-v-79c1227a] { width: 14px; height: 14px;
}
.mb-iconbtn[data-v-79c1227a] {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  color: var(--text-faint);
  border-radius: 8px;
  cursor: pointer;
}
.mb-iconbtn[data-v-79c1227a]:hover { background: var(--surface-sunken); color: var(--text);
}
.mb-iconbtn svg[data-v-79c1227a] { width: 18px; height: 18px;
}
.mb-sheet__tabs[data-v-79c1227a] { flex-shrink: 0; display: flex; gap: 5px; padding: 4px 24px 12px; overflow-x: auto; scrollbar-width: none;
}
.mb-sheet__tabs[data-v-79c1227a]::-webkit-scrollbar { display: none;
}
.mb-chip[data-v-79c1227a] {
  flex-shrink: 0;
  height: 30px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-weak);
  white-space: nowrap;
  cursor: pointer;
  transition: color 120ms, background 120ms, border-color 120ms;
}
.mb-chip[data-v-79c1227a]:hover { color: var(--text-strong); border-color: var(--border-strong);
}
.mb-chip[aria-pressed='true'][data-v-79c1227a] { background: var(--accent); border-color: var(--accent); color: var(--bh-surface);
}
.mb-sheet__body[data-v-79c1227a] { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 24px 24px;
}
.mb-sheet__foot[data-v-79c1227a] { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 24px 16px; border-top: 1px solid var(--border);
}
.mb-step[data-v-79c1227a] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 34px;
  padding: 0 12px;
  border: none;
  background: transparent;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-weak);
  cursor: pointer;
}
.mb-step[data-v-79c1227a]:hover:not(:disabled) { background: var(--surface-sunken); color: var(--text-strong);
}
.mb-step[data-v-79c1227a]:disabled { opacity: 0.3; cursor: default;
}
.mb-step svg[data-v-79c1227a] { width: 14px; height: 14px;
}
.mb-pos[data-v-79c1227a] { font-size: 12px; font-weight: 700; color: var(--text-faint); font-family: var(--font-num);
}

/* ── 시트 본문 (v-html 로 그려지므로 non-scoped 규칙이 필요하다) ── */
.mb-sheet__body[data-v-79c1227a] .bs__headline { font-size: 20px; font-weight: 800; line-height: 1.4; color: var(--text-strong); letter-spacing: -0.035em; margin-bottom: 20px;
}
.mb-sheet__body[data-v-79c1227a] .bs__headline strong { color: var(--accent); font-weight: 800;
}
.mb-sheet__body[data-v-79c1227a] .bs__check + .bs__check { margin-top: 16px;
}
.mb-sheet__body[data-v-79c1227a] .bs__check-label { display: flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 700; color: var(--text-weak); margin-bottom: 4px;
}
.mb-sheet__body[data-v-79c1227a] .bs__check-label i { color: var(--accent); font-style: normal; font-weight: 800;
}
.mb-sheet__body[data-v-79c1227a] .bs__check-text { font-size: 16px; line-height: 1.7; color: var(--text); letter-spacing: -0.015em;
}
.mb-sheet__body[data-v-79c1227a] .bs__check-text strong { font-weight: 700; color: var(--text-strong);
}
.mb-sheet__body[data-v-79c1227a] .bs__tables { margin-top: 24px; display: flex; flex-direction: column; gap: 24px;
}
.mb-sheet__body[data-v-79c1227a] .bs__footnote { margin-top: 20px; padding: 12px; border-radius: 8px; background: var(--surface-sunken); font-size: 12px; color: var(--text-faint); line-height: 1.6;
}
.mb-sheet__body[data-v-79c1227a] .bs__footnote b { color: var(--text-weak);
}
.mb-sheet__body[data-v-79c1227a] .bs__footnote span[data-dir='up'] { color: var(--dir-up); font-weight: 700;
}
.mb-sheet__body[data-v-79c1227a] .bs__footnote span[data-dir='down'] { color: var(--dir-down); font-weight: 700;
}
.mb-sheet__body[data-v-79c1227a] .bt__title { font-size: 12px; font-weight: 700; color: var(--text-faint); margin-bottom: 8px;
}
.mb-sheet__body[data-v-79c1227a] .bt__scroll { overflow-x: auto;
}
.mb-sheet__body[data-v-79c1227a] .bt { width: 100%; border-collapse: collapse; font-size: 14px;
}
.mb-sheet__body[data-v-79c1227a] .bt__th { font-size: 12px; font-weight: 600; color: var(--text-faint); padding: 7px 10px 8px; border-bottom: 1px solid var(--border); white-space: nowrap;
}
.mb-sheet__body[data-v-79c1227a] .bt__th--label { text-align: left; width: 1%;
}
.mb-sheet__body[data-v-79c1227a] .bt__th--num { text-align: right; width: 1%;
}
.mb-sheet__body[data-v-79c1227a] .bt__th--prose { text-align: left;
}
.mb-sheet__body[data-v-79c1227a] .bt__th--group { text-align: center; border-bottom: 1px solid var(--border); color: var(--text-weak); font-weight: 700;
}
.mb-sheet__body[data-v-79c1227a] .bt__td { padding: 10px 10px; border-bottom: 1px solid var(--border); vertical-align: top; color: var(--text);
}
.mb-sheet__body[data-v-79c1227a] .bt tbody tr:last-child .bt__td { border-bottom: 0;
}
.mb-sheet__body[data-v-79c1227a] .bt__td--label { text-align: left; white-space: nowrap; width: 1%; color: var(--text-weak); font-weight: 600;
}
.mb-sheet__body[data-v-79c1227a] .bt__td--num { text-align: right; white-space: nowrap; width: 1%;
}
.mb-sheet__body[data-v-79c1227a] .bt__td--prose { text-align: left; line-height: 1.6;
}
.mb-sheet__body[data-v-79c1227a] .bt__num { font-family: var(--font-num); font-variant-numeric: tabular-nums; font-weight: 600; color: var(--text-strong); display: inline-flex; align-items: center; gap: 3px; justify-content: flex-end;
}
.mb-sheet__body[data-v-79c1227a] .bt__num[data-dir='up'] { color: var(--dir-up);
}
.mb-sheet__body[data-v-79c1227a] .bt__num[data-dir='down'] { color: var(--dir-down);
}
.mb-sheet__body[data-v-79c1227a] .bt__arrow { font-style: normal; font-size: 8px; line-height: 1; opacity: 0.9;
}
.mb-sheet__body[data-v-79c1227a] .tl { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0;
}
.mb-sheet__body[data-v-79c1227a] .tl__item { display: flex; gap: 12px;
}
.mb-sheet__body[data-v-79c1227a] .tl__rail { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; padding-top: 5px;
}
.mb-sheet__body[data-v-79c1227a] .tl__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border-strong); flex-shrink: 0;
}
.mb-sheet__body[data-v-79c1227a] .tl__item[data-today='true'] .tl__dot { background: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft);
}
.mb-sheet__body[data-v-79c1227a] .tl__line { flex: 1; width: 1px; background: var(--border); margin: 4px 0; min-height: 10px;
}
.mb-sheet__body[data-v-79c1227a] .tl__body { display: flex; flex-direction: column; gap: 2px; padding-bottom: 16px; min-width: 0;
}
.mb-sheet__body[data-v-79c1227a] .tl__when { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--text-faint); font-family: var(--font-num);
}
.mb-sheet__body[data-v-79c1227a] .tl__badge { font-style: normal; font-size: 12px; font-weight: 800; color: var(--accent); background: var(--accent-soft); padding: 1px 6px; border-radius: 999px;
}
.mb-sheet__body[data-v-79c1227a] .tl__what { font-size: 14px; line-height: 1.55; color: var(--text);
}


.search-box[data-v-615642b8] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-box__clear[data-v-615642b8] {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg-4);
  cursor: pointer;
}
.search-box__clear[data-v-615642b8]:hover {
  color: var(--bh-fg-3);
}

/* 레일 아래 조건을 덮고 떠야 한다. 입력창 바로 밑에 붙인다 */
.search-box__dropdown[data-v-615642b8] {
  position: absolute;
  top: calc(var(--bh-height-lg) + 4px);
  right: 0;
  left: 0;
  z-index: var(--bh-z-menu);
  max-height: 440px;
  margin: 0;
  padding: 8px 0;
  overflow-y: auto;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
  list-style: none;
}
.search-box__section[data-v-615642b8] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.search-box__option[data-v-615642b8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: var(--bh-height-lg);
  padding: 6px 16px;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  cursor: pointer;
}
.search-box__option--active[data-v-615642b8] {
  background: var(--bh-fill);
}
.search-box__bond[data-v-615642b8] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.search-box__name[data-v-615642b8] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-box__match[data-v-615642b8] {
  color: var(--bh-accent);
  font-weight: 600;
}
.search-box__meta[data-v-615642b8] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-variant-numeric: tabular-nums;
}
.search-box__empty[data-v-615642b8] {
  padding: 12px 16px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.search-box__chips[data-v-615642b8] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.search-chip[data-v-615642b8] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  height: var(--bh-height-sm);
  padding: 0 4px 0 8px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
  font: var(--bh-text-small);
}
.search-chip__kind[data-v-615642b8] {
  flex-shrink: 0;
  color: var(--bh-accent);
  font: var(--bh-text-caption);
}
.search-chip__label[data-v-615642b8] {
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-chip__remove[data-v-615642b8] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  color: var(--bh-accent);
  cursor: pointer;
}
.search-chip__remove[data-v-615642b8]:hover {
  background: var(--bh-fill-hover);
}


.filter-expand-wrapper[data-v-9ef9abd4] {
  overflow: hidden;
}
.filter-expand-enter-active[data-v-9ef9abd4],
.filter-expand-leave-active[data-v-9ef9abd4] {
  transition: max-height 0.35s ease, opacity 0.25s ease;
  overflow: hidden;
}
.filter-expand-enter-from[data-v-9ef9abd4],
.filter-expand-leave-to[data-v-9ef9abd4] {
  max-height: 0;
  opacity: 0;
}
.filter-expand-enter-to[data-v-9ef9abd4],
.filter-expand-leave-from[data-v-9ef9abd4] {
  max-height: 900px;
  opacity: 1;
}
.credit-page[data-v-9ef9abd4] {
  display: flex;
  gap: var(--bh-layout-gap);
  height: 100%;
  background: var(--bh-canvas);
}
.credit-main[data-v-9ef9abd4] {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: var(--bh-layout-pad) 0;
}

/* 우측 패널이 없는 유형 선택 전에만 오른쪽 여백을 준다. 상세에서는 패널과의 간격이 이미 있다 */
.credit-main--wide[data-v-9ef9abd4] {
  padding-right: var(--bh-layout-pad);
}
.credit-main__body[data-v-9ef9abd4] {
  flex: 1;
  min-height: 0;
}
.credit-main__result[data-v-9ef9abd4] {
  height: 100%;
}
.credit-main__empty[data-v-9ef9abd4] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/* 유형을 고르라는 안내는 오류·결과가 아니라 시작점이라 굵게 강조하지 않는다(거래내역과 같다) */
.credit-main__empty[data-v-9ef9abd4] .bh-empty__title {
  font-weight: 400;
}
.credit-side[data-v-9ef9abd4] {
  display: none;
  flex-direction: column;
  flex-shrink: 0;
  gap: var(--bh-layout-gap);
  width: var(--bh-layout-side);
  padding: var(--bh-layout-pad) var(--bh-layout-pad) var(--bh-layout-pad) 0;
  overflow-y: auto;
}
@media (min-width: 1280px) {
.credit-side[data-v-9ef9abd4] {
    display: flex;
}
}
.credit-side__panel[data-v-9ef9abd4] {
  flex-shrink: 0;
  height: 280px;
}

/* 이벤트는 한 줄 약 56px. 5줄은 보여야 흐름이 읽힌다 */
.credit-side__panel--events[data-v-9ef9abd4] {
  height: 340px;
}

/* 국고채 추이는 만기 탭까지 들어가 그래프 칸이 좁다. 세로로 조금 더 줘야 추이가 읽힌다 */
.credit-side__panel--tall[data-v-9ef9abd4] {
  height: 320px;
}

/* 패널 높이 합이 화면 높이(1920×1080 모니터에서 본문 약 890px)를 넘지 않게 줄인다 */
@media (max-width: 1999px) {
.credit-side__panel[data-v-9ef9abd4] {
    height: 240px;
}
.credit-side__panel--events[data-v-9ef9abd4] {
    height: 300px;
}
.credit-side__panel--tall[data-v-9ef9abd4] {
    height: 290px;
}
}
.credit-side__fill[data-v-9ef9abd4] {
  flex: 1;
  min-height: 0;
}

/* 세 패널의 빈 상태는 본문 가운데에 둔다 */
.credit-side__empty[data-v-9ef9abd4] {
  height: 100%;
}
.credit-side__chart[data-v-9ef9abd4] {
  width: 100%;
  height: 100%;
}
.credit-side__ktb-types[data-v-9ef9abd4] {
  margin-bottom: 12px;
}
.credit-side__loading[data-v-9ef9abd4] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 100%;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.credit-rail[data-v-9ef9abd4] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 12px;
  /* 폭은 화면 폭 단계(tokens.css)를 따른다. 조회 조건은 줄어들 수 있는 요소라 좁아지면 먼저 줄인다 */
  width: var(--bh-layout-rail);
  padding: var(--bh-layout-pad) 0 var(--bh-layout-pad) var(--bh-layout-pad);
  overflow-y: auto;
}
.credit-rail__date[data-v-9ef9abd4] {
  flex-shrink: 0;
}
.credit-rail__filters[data-v-9ef9abd4] {
  flex-shrink: 0;
  gap: 28px;
}
.credit-rail__rule[data-v-9ef9abd4] {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--bh-line);
}

/* 한 줄 52px + 간격 4px. 3줄까지 보이고 그 뒤는 스크롤한다 */

/* 톱니는 마우스를 올린 즐겨찾기에만 보인다. 늘 보이면 이름보다 눈에 먼저 띈다 */
.filter-expand-wrapper[data-v-9ef9abd4] {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.rate-rows[data-v-9ef9abd4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


.band__plot[data-v-149d9b0e] {
  position: relative;
  height: 92px;
  margin-top: 6px;
  cursor: crosshair;
}
.band svg[data-v-149d9b0e] {
  display: block;
  width: 100%;
  height: 92px;
}
.band__area[data-v-149d9b0e] {
  fill: var(--bh-accent-soft);
}
.band__solo[data-v-149d9b0e] {
  stroke: var(--bh-accent-soft);
  stroke-width: 8;
  stroke-linecap: round;
}
.band__avg[data-v-149d9b0e] {
  fill: none;
  stroke: var(--bh-accent);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.band__now[data-v-149d9b0e] {
  fill: var(--bh-surface);
  stroke: var(--bh-accent);
  stroke-width: 2;
}
.band__y[data-v-149d9b0e] {
  position: absolute;
  left: 0;
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
}
.band__y--top[data-v-149d9b0e] {
  top: 0;
}
.band__y--bottom[data-v-149d9b0e] {
  bottom: 0;
}
.band__empty[data-v-149d9b0e] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
}
.band__guide[data-v-149d9b0e] {
  stroke: var(--bh-fg-4);
  stroke-dasharray: 2 3;
  vector-effect: non-scaling-stroke;
}
.band__tip[data-v-149d9b0e] {
  position: absolute;
  top: -4px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 104px;
  margin-left: 10px;
  padding: 8px 10px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-tooltip-bg);
  color: var(--bh-tooltip-fg);
  font: var(--bh-text-caption);
  pointer-events: none;
}

/* 오른쪽 끝 두 날은 툴팁을 왼쪽으로 띄워 카드 밖으로 넘치지 않게 */
.band__tip--left[data-v-149d9b0e] {
  margin-left: 0;
  transform: translateX(calc(-100% - 10px));
}
.band__tip > span[data-v-149d9b0e] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  opacity: 0.85;
}
.band__tip-rows[data-v-149d9b0e] {
  display: grid;
  white-space: nowrap;
  grid-template-columns: auto auto auto;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 2px;
  align-items: baseline;
}
.band__tip-rows b[data-v-149d9b0e] {
  text-align: right;
}
.band__tip-label[data-v-149d9b0e] {
  opacity: 0.85;
}

/* 어두운 말풍선이라 색 대신 옅은 글자로만 금리와 구분한다 */
.band__tip-bp[data-v-149d9b0e] {
  text-align: right;
  opacity: 0.7;
}
.band__axis[data-v-149d9b0e] {
  display: flex;
  justify-content: space-around;
  margin-top: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}


/* 텔레그램 브랜드 색은 남의 것이라 토큰에 넣지 않고 이 카드의 종과 연결 안내에만 쓴다 */
.fav-card[data-v-6a59431c] {
  --telegram: #229ed9;

  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  text-align: left;
  scroll-snap-align: start;
  cursor: pointer;
}
.fav-card[data-v-6a59431c]:hover {
  border-color: var(--bh-fg-4);
}
.fav-card__head[data-v-6a59431c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font: var(--bh-text-section);
}
.fav-card__title[data-v-6a59431c] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

/* 손잡이는 마우스를 올렸을 때만 보인다 */
.fav-card__grip[data-v-6a59431c] {
  margin-left: -6px;
  color: var(--bh-fg-4);
  font-size: 12px;
  opacity: 0;
  cursor: grab;
}
.fav-card:hover .fav-card__grip[data-v-6a59431c] {
  opacity: 1;
}
.fav-card__alert[data-v-6a59431c] {
  position: relative;
}
.fav-card__bell[data-v-6a59431c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-right: -6px;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 12px;
  cursor: pointer;
}
button.fav-card__bell[data-v-6a59431c]:hover {
  background: var(--bh-fill);
}

/* 연결 전 사용자가 종을 눌렀을 때 뜨는 작은 안내. 홈 우하단 알림과 같은 연결 버튼 */
.fav-card__connect[data-v-6a59431c] {
  position: absolute;
  top: calc(100% + 6px);
  right: -6px;
  z-index: var(--bh-z-menu);
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 240px;
  padding: 12px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  cursor: default;
}
.fav-card__connect-go[data-v-6a59431c] {
  height: var(--bh-height-md);
  border: 0;
  border-radius: var(--bh-radius-input);
  background: var(--telegram);
  color: var(--bh-surface);
  font: var(--bh-text-small);
  font-weight: 700;
  cursor: pointer;
}
.fav-card__bell--on[data-v-6a59431c] {
  color: var(--telegram);
}
.fav-card__summary[data-v-6a59431c] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.fav-card--example[data-v-6a59431c] {
  position: relative;
  opacity: 0.55;
  filter: grayscale(0.3);
  pointer-events: none;
}
.fav-card__ribbon[data-v-6a59431c] {
  position: absolute;
  top: 12px;
  right: 40px;
  padding: 1px 8px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-fg-3);
  color: var(--bh-surface);
  font: var(--bh-text-caption);
  font-weight: 600;
}

/* 오늘 숫자 */
.today[data-v-6a59431c] {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 12px 0 14px;
  padding: 8px 10px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-canvas);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}
.today__label[data-v-6a59431c] {
  padding: 1px 6px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-fg);
  color: var(--bh-surface);
  font: var(--bh-text-caption);
  font-weight: 600;
}
.today__item b[data-v-6a59431c] {
  margin-left: 2px;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}

/* 5일 체결금리 밴드 */
.band-error[data-v-6a59431c] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 118px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.band-head[data-v-6a59431c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
}
.band-legend[data-v-6a59431c] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--bh-fg-3);
}
.band-legend__area[data-v-6a59431c],
.band-legend__line[data-v-6a59431c] {
  display: inline-block;
  width: 10px;
  margin-left: 6px;
}
.band-legend__area[data-v-6a59431c] {
  height: 8px;
  border-radius: 2px;
  background: var(--bh-accent-soft);
}
.band-legend__line[data-v-6a59431c] {
  height: 2px;
  background: var(--bh-accent);
}

/* 실시간으로 숫자가 바뀐 칸을 잠깐 빛낸다(usePulse). 유형 카드·즐겨찾기 카드·국고 타일이 같이 쓴다 */
@keyframes home-pulse {
  0% {
    background-color: var(--bh-accent-soft);
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--bh-accent) 35%, transparent);
  }

  100% {
    box-shadow: 0 0 0 8px transparent;
  }
}

.home-pulse {
  animation: home-pulse 1.2s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .home-pulse {
    animation: none;
  }
}


/* 섹션: 크게, 위 선으로 구분 */
.sec[data-v-44edbdb4] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--bh-line);
}
.sec__head[data-v-44edbdb4] {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.sec__title[data-v-44edbdb4] {
  margin: 0;
  font: var(--bh-text-page);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.sec__date[data-v-44edbdb4] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.sec__error[data-v-44edbdb4] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.sub-head[data-v-44edbdb4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.sub-head h3[data-v-44edbdb4] {
  margin: 0;
  font: var(--bh-text-section);
}
.sub-head__title[data-v-44edbdb4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sub-head__help[data-v-44edbdb4] {
  display: inline-flex;
  color: var(--bh-fg-4);
  font-size: 13px;
  cursor: default;
}

/* 전체 호가 보러가기 */
.go-cards[data-v-44edbdb4] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.go-card[data-v-44edbdb4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s;
}
.go-card[data-v-44edbdb4]:hover {
  border-color: var(--bh-accent);
}
.go-card__text[data-v-44edbdb4] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.go-card__text b[data-v-44edbdb4] {
  font: var(--bh-text-section);
}
.go-card__text span[data-v-44edbdb4] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.go-card__chevron[data-v-44edbdb4] {
  color: var(--bh-fg-4);
  transition:
    color 0.15s,
    transform 0.15s;
}
.go-card:hover .go-card__chevron[data-v-44edbdb4] {
  color: var(--bh-accent);
  transform: translateX(2px);
}

/* 즐겨찾기: 3장씩 보이고 가로로 넘긴다 */
.scroll-nav[data-v-44edbdb4] {
  display: flex;
  gap: 4px;
}
.scroll-nav button[data-v-44edbdb4] {
  width: 28px;
  height: 28px;
  border: 1px solid var(--bh-line);
  border-radius: 50%;
  background: var(--bh-surface);
  color: var(--bh-fg-3);
  cursor: pointer;
}
.scroll-nav button[data-v-44edbdb4]:hover {
  color: var(--bh-fg);
}
.fav-scroller[data-v-44edbdb4] {
  display: grid;
  grid-auto-columns: calc((100% - 24px) / 3);
  grid-auto-flow: column;
  gap: 12px;
  padding-bottom: 6px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.fav-card--dragging[data-v-44edbdb4] {
  border-style: dashed;
  border-color: var(--bh-accent);
  opacity: 0.5;
}
.add-card[data-v-44edbdb4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 18px;
  border: 1px dashed var(--bh-line);
  border-radius: var(--bh-radius-card);
  background: transparent;
  color: var(--bh-fg-2);
  scroll-snap-align: start;
  cursor: pointer;
}
.add-card[data-v-44edbdb4]:hover {
  border-color: var(--bh-accent);
  color: var(--bh-accent);
}

/* 비어 있을 때: 배경은 두지 않는다. 옅은 accent 점선과 플러스 원만으로 시작점을 알린다 */
.add-card--first[data-v-44edbdb4] {
  border-color: color-mix(in srgb, var(--bh-accent) 50%, var(--bh-line));
}
.add-card--first[data-v-44edbdb4]:hover {
  border-color: var(--bh-accent);
}
.add-card__plus[data-v-44edbdb4] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bh-fill);
}
.add-card--first .add-card__plus[data-v-44edbdb4] {
  background: var(--bh-accent);
  color: var(--bh-surface);
}


.sec[data-v-23b6687c] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--bh-line);
}
.sec__head[data-v-23b6687c] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.sec__title[data-v-23b6687c] {
  margin: 0;
  font: var(--bh-text-page);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.sec__help[data-v-23b6687c] {
  display: inline-flex;
  color: var(--bh-fg-4);
  font-size: 14px;
  cursor: default;
}
.sec__more[data-v-23b6687c] {
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  white-space: nowrap;
  cursor: pointer;
}
.sec__more[data-v-23b6687c]:hover {
  color: var(--bh-accent);
}
.sec__error[data-v-23b6687c] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.quote-tiles[data-v-23b6687c] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.quote-tile[data-v-23b6687c] {
  cursor: pointer;
}
.quote-tile__head[data-v-23b6687c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.quote-tile__head b[data-v-23b6687c] {
  font: var(--bh-text-section);
}
.quote-tile__muted[data-v-23b6687c] {
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quote-tile__ev[data-v-23b6687c] {
  flex-shrink: 0;
  margin-left: auto;
}

/* 가운데 선을 사이에 두고 매도는 오른쪽, 매수는 왼쪽으로 붙여 마주 보게 한다 */
.quote-tile__pair[data-v-23b6687c] {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.quote-tile__side[data-v-23b6687c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 2px 4px 2px 20px;
}
.quote-tile__side--ask[data-v-23b6687c] {
  align-items: flex-end;
  padding: 2px 20px 2px 4px;
  border-right: 1px solid var(--bh-line);
}
.quote-tile__label[data-v-23b6687c] {
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.quote-tile__value[data-v-23b6687c] {
  font: var(--bh-text-page);
}

/* 민평보다 금리가 낮으면(가격이 비쌈) 빨강, 높으면(쌈) 파랑. 판정은 서버 direction.
   가격까지 칠하면 타일이 온통 빨개져 민평 대비 줄에만 쓴다 */
.quote-tile__spread--expensive[data-v-23b6687c] {
  color: var(--bh-data-red);
}
.quote-tile__spread--cheap[data-v-23b6687c] {
  color: var(--bh-data-blue);
}
.quote-tile__spread[data-v-23b6687c] {
  font: var(--bh-text-caption);
  font-weight: 600;
}
.quote-tile__time[data-v-23b6687c] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}


/* 텔레그램은 남의 브랜드라 토큰에 넣지 않고 이 알림에만 둔다 */
.tg-toast[data-v-05811596] {
  --telegram: #229ed9;
  --telegram-deep: #1a7fb8;

  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: var(--bh-z-toast);
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 380px;
  padding: 20px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
}
.tg-toast__close[data-v-05811596] {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--bh-fg-4);
  cursor: pointer;
}
.tg-toast__head[data-v-05811596] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tg-toast__head > span[data-v-05811596]:last-child {
  display: flex;
  flex-direction: column;
}
.tg-toast__head b[data-v-05811596] {
  font: var(--bh-text-section);
}
.tg-toast__muted[data-v-05811596] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.tg-icon[data-v-05811596] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--telegram) 12%, transparent);
  color: var(--telegram);
  font-size: 20px;
}
.tg-toast__actions[data-v-05811596] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}
.tg-button[data-v-05811596] {
  width: 100%;
  height: var(--bh-height-md);
  padding: 0 14px;
  border: 1px solid var(--telegram);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
  color: var(--telegram-deep);
  font: var(--bh-text-small);
  font-weight: 700;
  cursor: pointer;
}
.tg-button[data-v-05811596]:hover {
  background: var(--telegram);
  color: var(--bh-surface);
}

/* 텔레그램 대화창(다크 테마) 흉내. 남의 브랜드 색이라 이 알림에만 둔다 */
.tg-chat[data-v-05811596] {
  --tg-chat-bg: #0e1621;
  --tg-chat-bar: #17212b;
  --tg-bubble: #182533;
  --tg-text: #f5f5f5;
  --tg-muted: #6d7f8f;

  overflow: hidden;
  border-radius: var(--bh-radius-input);
  background: var(--tg-chat-bg);
}
.tg-chat__bar[data-v-05811596] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--tg-chat-bar);
}

/* 실제 봇 프로필처럼 흰 원 안에 로고 */
.tg-chat__avatar[data-v-05811596] {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  padding: 3px;
  border-radius: 50%;
  background: var(--bh-surface);
  -o-object-fit: contain;
     object-fit: contain;
}
.tg-chat__name[data-v-05811596] {
  display: flex;
  flex-direction: column;
  color: var(--tg-text);
  font: var(--bh-text-small);
  line-height: 1.2;
}
.tg-chat__name span[data-v-05811596] {
  color: var(--tg-muted);
  font: var(--bh-text-caption);
}

/* 높이를 고정하고 아래부터 쌓아, 새 말풍선이 들어오면 이전 것이 위로 밀린다 */
.tg-chat__body[data-v-05811596] {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  height: 196px;
  padding: 10px;
  overflow: hidden;
}
.tg-bubble[data-v-05811596] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1px;
  max-width: 92%;
  padding: 7px 10px 18px;
  border-radius: 12px 12px 12px 4px;
  background: var(--tg-bubble);
  color: var(--tg-text);
  font: var(--bh-text-caption);
}
.tg-bubble__title[data-v-05811596] {
  font-weight: 700;
}
.tg-bubble__line[data-v-05811596] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tg-bubble__line--sub[data-v-05811596] {
  opacity: 0.85;
}
.tg-bubble__time[data-v-05811596] {
  position: absolute;
  right: 10px;
  bottom: 4px;
  color: var(--tg-muted);
  font-size: 10px;
}
.push-enter-active[data-v-05811596],
.push-leave-active[data-v-05811596],
.push-move[data-v-05811596] {
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}
.push-enter-from[data-v-05811596] {
  opacity: 0;
  transform: translateY(16px);
}
.push-leave-to[data-v-05811596] {
  opacity: 0;
  transform: translateY(-16px);
}
.push-leave-active[data-v-05811596] {
  position: absolute;
  top: 10px;
  right: 10px;
  left: 10px;
}


.home[data-v-ef93b06a] {
  min-height: 100%;
  background: var(--bh-canvas);
  color: var(--bh-fg);
}

/* 가운데 1120, 좌우 여백, 세로 스크롤은 레이아웃(app-main)이 맡는다 */
.home__page[data-v-ef93b06a] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1168px;
  margin: 0 auto;
  padding: 32px 24px 96px;
}
.toast-enter-active[data-v-ef93b06a] {
  transition:
    opacity 0.3s,
    transform 0.3s;
}
.toast-enter-from[data-v-ef93b06a] {
  opacity: 0;
  transform: translateY(12px);
}


.app-shell[data-v-11a46d16] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  background: var(--bh-canvas);
}
.app-header[data-v-11a46d16] {
  z-index: 40;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  height: 64px;
  padding: 0 16px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-surface);
}
.app-header__brand[data-v-11a46d16] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.app-header__brand--single[data-v-11a46d16] {
  justify-content: center;
  width: 160px;
}
.app-logo[data-v-11a46d16] {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.app-logo img[data-v-11a46d16] {
  width: auto;
  height: 40px;
  transition: transform 0.4s;
}
.app-logo:hover img[data-v-11a46d16] {
  transform: scale(1.05);
}
.app-logo--inactive[data-v-11a46d16] {
  opacity: 0.4;
  transition: opacity 0.2s;
}
.app-logo--inactive[data-v-11a46d16]:hover {
  opacity: 0.6;
}
.app-header__mode[data-v-11a46d16] {
  display: inline-flex;
  padding: 6px;
  border: 0;
  border-radius: var(--bh-radius-tag);
  background: transparent;
  cursor: pointer;
}
.app-header__mode[data-v-11a46d16]:hover {
  background: var(--bh-fill);
}
.app-header__mode img[data-v-11a46d16] {
  width: 16px;
  height: 16px;
  transition: transform 0.3s;
}
.app-header__mode:hover img[data-v-11a46d16] {
  transform: rotate(180deg);
}

/* 메뉴는 헤더 높이를 꽉 채운다. 고른 메뉴 밑줄을 헤더 아래 선에 겹쳐 그리기 위해서다 */
.app-nav[data-v-11a46d16] {
  display: flex;
  flex: 1;
  align-self: stretch;
  align-items: stretch;
  justify-content: center;
}
.app-nav__group[data-v-11a46d16] {
  display: flex;
  align-items: stretch;
  gap: 32px;
}
.app-nav__item[data-v-11a46d16] {
  position: relative;
  display: flex;
  align-items: stretch;
}
.app-nav__link[data-v-11a46d16] {
  position: relative;
  display: inline-flex;
  align-items: center;
  /* 창이 좁아도 메뉴 이름이 한 글자씩 꺾이지 않게 한다 */
  white-space: nowrap;
  padding: 12px 16px;
  border: 0;
  background: transparent;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s;
}
.app-nav__item:hover .app-nav__link[data-v-11a46d16],
.app-nav__link[data-v-11a46d16]:hover {
  color: var(--bh-fg);
}

/* 고른 메뉴는 글자색을 바꾸지 않고 진한 글자 + 아래 막대로 보인다 */
.app-nav__link--active[data-v-11a46d16] {
  color: var(--bh-fg);
  font-weight: 600;
}
.app-nav__link--active[data-v-11a46d16]::after {
  position: absolute;
  right: 16px;
  bottom: -1px;
  left: 16px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--bh-fg);
  content: '';
}

/* 메뉴에 마우스를 올리면 하위 화면이 펼쳐진다 */
.app-nav__dropdown[data-v-11a46d16] {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: var(--bh-z-menu);
  display: flex;
  flex-direction: column;
  min-width: 128px;
  margin-top: 4px;
  padding: 4px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%);
  transition:
    opacity 0.2s,
    visibility 0.2s;
}
.app-nav__item:hover .app-nav__dropdown[data-v-11a46d16] {
  opacity: 1;
  visibility: visible;
}
.app-nav__sublink[data-v-11a46d16] {
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: var(--bh-radius-chip);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  text-decoration: none;
}
.app-nav__sublink[data-v-11a46d16]:hover {
  background: var(--bh-fill);
  color: var(--bh-accent);
}
.app-header__divider[data-v-11a46d16] {
  width: 1px;
  height: 24px;
  background: var(--bh-line);
}
.app-header__user[data-v-11a46d16] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}
.app-header__chevron[data-v-11a46d16] {
  font-size: 10px;
  transition: transform 0.15s;
}
.app-header__chevron--open[data-v-11a46d16] {
  transform: rotate(180deg);
}
.app-header__greeting[data-v-11a46d16] {
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
}
.app-header__greeting b[data-v-11a46d16] {
  color: var(--bh-fg);
  font-weight: 600;
}
.app-header__logout[data-v-11a46d16] {
  padding: 8px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-3);
  cursor: pointer;
}
.app-header__logout[data-v-11a46d16]:hover {
  background: var(--bh-fill);
  color: var(--bh-fg);
}
.app-main[data-v-11a46d16] {
  flex: 1;
  overflow: auto;
}
.telegram-popup__hero[data-v-11a46d16] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 8px 0;
  border: 0;
  background: transparent;
  text-align: center;
  cursor: pointer;
}
.telegram-popup__logo[data-v-11a46d16] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 12px;
  border-radius: var(--bh-radius-card);
  background: linear-gradient(135deg, #229ed9, #1a7fb8);
  color: #fff;
  font-size: 30px;
}
.telegram-popup__title[data-v-11a46d16] {
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.telegram-popup__desc[data-v-11a46d16] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.telegram-popup__go[data-v-11a46d16] {
  background: #229ed9;
}
.fade-enter-active[data-v-11a46d16],
.fade-leave-active[data-v-11a46d16] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-11a46d16],
.fade-leave-to[data-v-11a46d16] {
  opacity: 0;
}
.fade-slide-enter-active[data-v-11a46d16],
.fade-slide-leave-active[data-v-11a46d16] {
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}
.fade-slide-enter-from[data-v-11a46d16] {
  opacity: 0;
  transform: translateY(-10px);
}
.fade-slide-leave-to[data-v-11a46d16] {
  opacity: 0;
  transform: translateY(10px);
}

/*
 * 국고채 / 통안채 유형 선택이 같이 쓰는 모양.
 *
 * 유형 칩 오른쪽에 종목을 골라 담는 펼침 단추가 붙은 "나뉜 칩"은 디자인 시스템에 없다.
 * BhChip과 같은 토큰·치수로 맞춘 클래스를 여기 한 곳에 둔다. 두 컴포넌트가 각자
 * scoped 스타일을 들고 있으면 한쪽만 고쳐져 금방 어긋난다.
 */
.type-picker__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.type-picker__cell {
  position: relative;
  min-width: 0;
}

.type-picker__cell--full {
  margin-top: 6px;
}

.type-picker__split {
  display: flex;
  gap: 1px;
}

.type-picker__main,
.type-picker__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--bh-height-md);
  border: 0;
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 0.15s,
    color 0.15s;
}

.type-picker__main {
  flex: 1;
  min-width: 0;
  padding: 0 12px;
  border-radius: var(--bh-radius-chip) 0 0 var(--bh-radius-chip);
}

.type-picker__toggle {
  width: 28px;
  flex-shrink: 0;
  border-radius: 0 var(--bh-radius-chip) var(--bh-radius-chip) 0;
  color: var(--bh-fg-3);
  font-size: 11px;
}

.type-picker__main:hover:not(.type-picker--selected),
.type-picker__toggle:hover:not(.type-picker--selected) {
  background: var(--bh-fill-hover);
}

/* 선택은 색으로만 구분한다(BhChip 과 같음) */
.type-picker--selected {
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
}

.type-picker__main:focus-visible,
.type-picker__toggle:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}

.type-picker__chevron {
  transition: transform 0.15s;
}

.type-picker__chevron--open {
  transform: rotate(180deg);
}

/* 펼친 종목 목록. 모양은 BhMenu 목록과 맞춘다 */
.type-picker__menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: var(--bh-z-menu);
  width: 100%;
  min-width: 140px;
  padding: 4px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
}

.type-picker__menu-all {
  padding: 6px 8px;
  border-bottom: 1px solid var(--bh-line);
}

.type-picker__menu-list {
  max-height: 192px;
  padding-top: 4px;
  overflow-y: auto;
}

.type-picker__menu-item {
  padding: 6px 8px;
  border-radius: var(--bh-radius-chip);
}

.type-picker__menu-item:hover {
  background: var(--bh-fill);
}

.type-picker__menu-empty {
  padding: 6px 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  text-align: center;
}


.bond-list[data-v-7eac0bf1] {
  height: 100%;
  overflow-y: auto;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  scrollbar-width: none;
}
.bond-list[data-v-7eac0bf1]::-webkit-scrollbar {
  display: none;
}
.bond-list__state[data-v-7eac0bf1] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}

/*
 * 목록 폭이 화면의 35%뿐이라 칸을 고정 폭으로 두면 숫자 칸이 모자란다.
 * 종목명만 고정하고 나머지 숫자 칸은 남는 폭을 똑같이 나눈다.
 */
.bond-table[data-v-7eac0bf1] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

/* 가장 긴 이름은 통안채 기타의 "26.11.09 통" 태그(약 80px). 양옆 여백을 더해 이보다 좁히지 않는다 */
.bond-table__name-col[data-v-7eac0bf1] {
  width: 108px;
}

/* 머리글이 두 줄로 접혀도 높이가 같아야 바스켓 머리글이 그 아래(top: 36px)에 정확히 붙는다 */
.bond-table thead th[data-v-7eac0bf1] {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 36px;
  padding: 0 8px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  line-height: 16px;
  text-align: center;
  vertical-align: middle;
}

/* 수십 종목을 훑어 비교하는 목록이지만 32px 로 좁히니 줄을 따라 읽기 어려웠다.
   예전 높이(38px 안팎)로 되돌리고 값은 칸 가운데에 둔다 */
.bond-table td[data-v-7eac0bf1] {
  height: 38px;
  padding: 0 8px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  text-align: center;
  white-space: nowrap;
}

/* 종목명만 왼쪽에 붙인다 */
.bond-table thead th[data-v-7eac0bf1]:first-child,
.bond-table td[data-v-7eac0bf1]:first-child {
  text-align: left;
  padding-left: 16px;
}
.bond-table thead th[data-v-7eac0bf1]:last-child,
.bond-table td[data-v-7eac0bf1]:last-child {
  padding-right: 16px;
}
.bond-table .bond-num[data-v-7eac0bf1] {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.bond-sortable[data-v-7eac0bf1] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.bond-sortable[data-v-7eac0bf1]:hover {
  color: var(--bh-fg-2);
}
.bond-sort[data-v-7eac0bf1] {
  margin-left: 2px;
  font-size: 10px;
}
.bond-arrow--ask[data-v-7eac0bf1] {
  color: var(--bh-data-red);
}
.bond-arrow--bid[data-v-7eac0bf1] {
  color: var(--bh-data-blue);
}

/* 민평은 매도·매수를 가르는 기준이라 칸을 따로 구분한다 */
.bond-table .bond-eval[data-v-7eac0bf1] {
  border-right: 1px solid var(--bh-line);
  border-left: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  font-weight: 600;
}
.bond-group th[data-v-7eac0bf1] {
  position: sticky;
  top: 36px;
  z-index: 2;
  height: 36px;
  padding: 0 16px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
  font: var(--bh-text-small);
  font-weight: 600;
  text-align: left;
}
.bond-divider td[data-v-7eac0bf1] {
  height: 8px;
  padding: 0;
  background: var(--bh-canvas);
}
.bond-row[data-v-7eac0bf1] {
  cursor: pointer;
}
.bond-row:hover td[data-v-7eac0bf1] {
  background: var(--bh-canvas);
}
.bond-row:hover td.bond-eval[data-v-7eac0bf1] {
  background: var(--bh-fill);
}
.bond-table__name[data-v-7eac0bf1] {
  overflow: hidden;
}
.bond-table__name-inner[data-v-7eac0bf1] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--bh-fg-2);
  font-weight: 500;
}
.bond-c-muted[data-v-7eac0bf1] {
  color: var(--bh-fg-4);
}
.bond-c-red[data-v-7eac0bf1] {
  color: var(--bh-data-red);
}
.bond-c-blue[data-v-7eac0bf1] {
  color: var(--bh-data-blue);
}
.bond-c-neutral[data-v-7eac0bf1] {
  color: var(--bh-data-neutral);
}

/* 세트(*)·신규(N) 표시 자리. 표시가 없는 줄도 같은 폭을 비워 둬야 금리 자릿수가 세로로 맞는다 */
/* 폭을 차지하지 않게 둔다. 칸 가운데 정렬에서 표시가 있는 값만 왼쪽으로 밀리지 않게 한다 */
.bond-mark[data-v-7eac0bf1] {
  position: relative;
  display: inline-block;
  width: 0;
  height: 1em;
  vertical-align: top;
}
.bond-mark__set[data-v-7eac0bf1] {
  position: absolute;
  top: -2px;
  left: 1px;
  color: var(--bh-fg);
  font-weight: 700;
}
.bond-mark__new[data-v-7eac0bf1] {
  position: absolute;
  top: -6px;
  left: 4px;
  padding: 1px 3px;
  border-radius: 3px;
  background: var(--bh-danger);
  color: var(--bh-surface);
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  animation: badge-in-7eac0bf1 0.3s ease-out;
}
@keyframes badge-in-7eac0bf1 {
from {
    opacity: 0;
    transform: scale(0.5);
}
to {
    opacity: 1;
    transform: scale(1);
}
}

/* stale 전환 트랜지션 */
.bond-time[data-v-7eac0bf1] {
  position: relative;
  transition-property: opacity, color;
  transition-duration: 800ms;
  transition-timing-function: ease-in-out;
}
.bond-stale[data-v-7eac0bf1] {
  opacity: 0.75;
}

/* 호가 경과 시간 즉시 툴팁. 칸마다 BhTooltip을 씌우면 수백 줄에서 부품이 너무 많아져 CSS로 띄운다 */
.bond-time[data-time][data-v-7eac0bf1]:not([data-time='']):hover::after {
  content: attr(data-time);
  position: absolute;
  bottom: 100%;
  left: 50%;
  z-index: var(--bh-z-tooltip);
  padding: 3px 8px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-tooltip-bg);
  color: var(--bh-tooltip-fg);
  font: var(--bh-text-caption);
  white-space: nowrap;
  transform: translateX(-50%);
  pointer-events: none;
}

/* 세트 금리의 두 금리 툴팁 */
.bond-set[data-v-7eac0bf1] {
  position: relative;
}
.bond-set[data-tooltip][data-v-7eac0bf1]:not([data-tooltip='']):hover::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 24px);
  left: 50%;
  z-index: var(--bh-z-tooltip);
  padding: 6px 10px;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
  color: var(--bh-fg);
  font: var(--bh-text-caption);
  white-space: nowrap;
  transform: translateX(-50%);
  pointer-events: none;
}

/* SSE 업데이트 애니메이션 */
.sse-update td[data-v-7eac0bf1] {
  animation: pulse-update-7eac0bf1 0.8s ease-in-out;
}
@keyframes pulse-update-7eac0bf1 {
0% {
    background-color: transparent;
}
50% {
    background-color: var(--bh-accent-soft);
}
100% {
    background-color: transparent;
}
}


.bond-detail[data-v-30a08dad] {
  flex-shrink: 0;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.bond-detail__head[data-v-30a08dad] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.bond-detail__title[data-v-30a08dad] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.bond-detail__full-name[data-v-30a08dad] {
  margin-left: 6px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.bond-detail__code[data-v-30a08dad] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  height: var(--bh-height-sm);
  padding: 0 10px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  cursor: pointer;
  transition:
    color 0.15s,
    border-color 0.15s;
}
.bond-detail__code[data-v-30a08dad]:hover {
  border-color: var(--bh-accent);
  color: var(--bh-accent);
}
.bond-detail__summary[data-v-30a08dad] {
  display: flex;
  align-items: center;
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-canvas);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}
.bond-detail__fact[data-v-30a08dad] {
  display: flex;
  gap: 4px;
  padding: 0 16px;
}
.bond-detail__fact[data-v-30a08dad]:first-child {
  padding-left: 0;
}
.bond-detail__fact + .bond-detail__fact[data-v-30a08dad] {
  border-left: 1px solid var(--bh-line);
}
.bond-detail__fact dt[data-v-30a08dad] {
  color: var(--bh-fg-3);
}
.bond-detail__fact dd[data-v-30a08dad] {
  margin: 0;
}
.bond-detail__quotes[data-v-30a08dad] {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.bond-detail__quote[data-v-30a08dad] {
  padding: 4px 12px 4px 24px;
  text-align: left;
}

/* 가운데 선을 사이에 두고 매도는 오른쪽, 매수는 왼쪽으로 붙여 두 값을 마주 보게 한다 */
.bond-detail__quote--ask[data-v-30a08dad] {
  padding: 4px 24px 4px 12px;
  border-right: 1px solid var(--bh-line);
  text-align: right;
}
.bond-detail__quote-label[data-v-30a08dad] {
  margin-bottom: 4px;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.bond-detail__quote-value[data-v-30a08dad] {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--bh-fg);
  font: var(--bh-text-page);
  font-variant-numeric: tabular-nums;
}
.bond-detail__quote-time[data-v-30a08dad] {
  margin-top: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-variant-numeric: tabular-nums;
}

/* 숫자 롤링 애니메이션 */
.rolling-number[data-v-30a08dad] {
  position: relative;
  display: inline-block;
  overflow: hidden;
  transition: transform 0.3s ease-in-out;
}
.animate-roll[data-v-30a08dad] {
  animation: roll-numbers-30a08dad 0.6s ease-in-out;
}
@keyframes roll-numbers-30a08dad {
0% {
    transform: translateY(0);
}
25% {
    transform: translateY(-10px);
}
75% {
    transform: translateY(10px);
}
100% {
    transform: translateY(0);
}
}


.chat-list[data-v-7127eadb] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.chat-list__head[data-v-7127eadb] {
  flex-shrink: 0;
  padding: 14px 20px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.chat-list__alert[data-v-7127eadb] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 20px;
  border: 0;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
  font: var(--bh-text-small);
  text-align: left;
  cursor: pointer;
}
.chat-list__alert[data-v-7127eadb]:hover {
  color: var(--bh-accent);
}
.chat-list__scroll[data-v-7127eadb] {
  flex: 1;
  overflow-y: auto;
}

/* 시간은 초까지, 가격·스프레드는 숫자 몇 자리. 남는 폭은 모두 원문(내용)에 준다 */
.chat-col--time[data-v-7127eadb] {
  width: 100px;
}
.chat-col--price[data-v-7127eadb] {
  width: 150px;
}
.chat-col--spread[data-v-7127eadb] {
  width: 80px;
}

/* 맥북 15인치 기본(폭 약 1470)처럼 좁은 화면에서는 숫자 칸을 더 줄이고 양끝 여백도 줄인다 */
@media (max-width: 1599px) {
.chat-col--time[data-v-7127eadb] {
    width: 92px;
}
.chat-col--price[data-v-7127eadb] {
    width: 132px;
}
.chat-col--spread[data-v-7127eadb] {
    width: 72px;
}
}
.chat-table[data-v-7127eadb] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.chat-table th[data-v-7127eadb] {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.chat-table td[data-v-7127eadb] {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}
.chat-table th[data-v-7127eadb]:first-child,
.chat-table td[data-v-7127eadb]:first-child {
  padding-left: 20px;
}
.chat-table th[data-v-7127eadb]:last-child,
.chat-table td[data-v-7127eadb]:last-child {
  padding-right: 20px;
}
.chat-table tbody tr:hover td[data-v-7127eadb] {
  background: var(--bh-canvas);
}
.chat-table .chat-num[data-v-7127eadb] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.chat-time[data-v-7127eadb] {
  color: var(--bh-fg-3);
}
.chat-table__empty td[data-v-7127eadb] {
  height: 80px;
  color: var(--bh-fg-3);
  text-align: center;
}
.chat-content[data-v-7127eadb] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.chat-content__text[data-v-7127eadb] {
  overflow: hidden;
  color: var(--bh-fg-2);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 매도 2 : 가운데 1 : 매수 2. 값이 한쪽만 있어도 가운데 선이 같은 자리에 오게 칸을 나눈다 */
.chat-price[data-v-7127eadb] {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr;
  align-items: center;
}
.chat-table th .chat-price[data-v-7127eadb] {
  text-align: center;
}
.chat-price__mid[data-v-7127eadb] {
  display: flex;
  justify-content: center;
}
.chat-price__ask[data-v-7127eadb] {
  padding-right: 8px;
  text-align: right;
  font-weight: 500;
}
.chat-price__bid[data-v-7127eadb] {
  padding-left: 8px;
  text-align: left;
  font-weight: 500;
}
.chat-price__divider[data-v-7127eadb] {
  width: 1px;
  height: 20px;
  background: var(--bh-line);
}
.chat-spread--red[data-v-7127eadb] {
  color: var(--bh-data-red);
}
.chat-spread--blue[data-v-7127eadb] {
  color: var(--bh-data-blue);
}

/* 이모지 표시 문제 해결을 위한 스타일 */
.emoji-display[data-v-7127eadb] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-family:
    'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-size: 16px;
  line-height: 1;
}

/* 좁은 화면에서는 표 양끝 여백을 줄여 원문 폭을 조금 더 확보한다 */
@media (max-width: 1599px) {
.chat-table th[data-v-7127eadb]:first-child,
  .chat-table td[data-v-7127eadb]:first-child {
    padding-left: 16px;
}
.chat-table th[data-v-7127eadb]:last-child,
  .chat-table td[data-v-7127eadb]:last-child {
    padding-right: 16px;
}
}


.nb-page[data-v-126890bd] {
  display: flex;
  gap: var(--bh-layout-gap);
  height: 100%;
  background: var(--bh-canvas);
}

/* ===== 조건 레일 ===== */
.nb-rail[data-v-126890bd] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 12px;
  width: var(--bh-layout-rail);
  padding: var(--bh-layout-pad) 0 var(--bh-layout-pad) var(--bh-layout-pad);
  overflow-y: auto;
}
.nb-rail__date[data-v-126890bd] {
  flex-shrink: 0;
}
.nb-rail__filters[data-v-126890bd] {
  gap: 24px;
}
.nb-rail__meta[data-v-126890bd] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 크레딧 즐겨찾기 추가 칸(CreditFavoritesSection)과 같은 모양 */
.nb-basket-add[data-v-126890bd] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 40px;
  border: 1px dashed var(--bh-accent);
  border-radius: var(--bh-radius-input);
  background: transparent;
  color: var(--bh-accent-strong);
  font: var(--bh-text-small);
  cursor: pointer;
}
.nb-basket-list + .nb-basket-add[data-v-126890bd] {
  margin-top: 6px;
}
.nb-basket-add i[data-v-126890bd] {
  font-size: 11px;
}
.nb-basket-add[data-v-126890bd]:hover:not(:disabled) {
  background: var(--bh-accent-soft);
}
.nb-basket-add[data-v-126890bd]:disabled {
  border-color: var(--bh-line);
  color: var(--bh-fg-4);
  cursor: not-allowed;
}
.nb-basket-add[data-v-126890bd]:focus-visible {
  outline: 2px solid var(--bh-accent);
  outline-offset: 2px;
}
.nb-basket-list[data-v-126890bd] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nb-basket[data-v-126890bd] {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 10px 8px 10px 12px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  cursor: pointer;
  transition:
    background-color 0.15s,
    border-color 0.15s;
}
.nb-basket[data-v-126890bd]:hover {
  background: var(--bh-canvas);
}
.nb-basket--selected[data-v-126890bd],
.nb-basket--selected[data-v-126890bd]:hover {
  border-color: var(--bh-accent);
  background: var(--bh-accent-soft);
}
.nb-basket__body[data-v-126890bd] {
  flex: 1;
  min-width: 0;
}
.nb-basket__name[data-v-126890bd] {
  margin: 0;
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nb-basket__count[data-v-126890bd] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 목록 줄 안의 작은 아이콘 단추(수정·삭제·추가·빼기) */
.nb-icon-button[data-v-126890bd] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-4);
  font-size: 13px;
  cursor: pointer;
}
.nb-icon-button[data-v-126890bd]:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}
.nb-icon-button--danger[data-v-126890bd]:hover {
  background: var(--bh-danger-soft);
  color: var(--bh-danger);
}
.nb-icon-button--accent[data-v-126890bd] {
  color: var(--bh-accent);
}
.nb-icon-button--accent[data-v-126890bd]:hover {
  background: var(--bh-accent-soft);
  color: var(--bh-accent-strong);
}

/* ===== 채권 목록 ===== */
.nb-list[data-v-126890bd] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 12px;
  /* 시세표는 8칸을 한 줄 머리글로 읽혀야 한다. 화면 폭 35%로는 1920 모니터에서 머리글이 두 줄로 꺾였다.
     넓게 주면 오른쪽 호가 목록의 원문이 잘려 머리글이 한 줄로 들어오는 만큼만 준다 */
  width: clamp(700px, 44%, 960px);
  min-height: 0;
  padding: var(--bh-layout-pad) 0;
}
.nb-list__toolbar[data-v-126890bd] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.nb-list__body[data-v-126890bd] {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
}
.nb-list__section[data-v-126890bd] {
  flex: 1;
  min-height: 0;
}
.nb-stale[data-v-126890bd] {
  position: relative;
}
.nb-stale__chevron[data-v-126890bd] {
  font-size: 10px;
  opacity: 0.6;
}

/* 모양은 BhMenu 목록과 맞춘다 */
.nb-stale__menu[data-v-126890bd] {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: var(--bh-z-menu);
  min-width: 140px;
  padding: 4px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-surface);
  box-shadow: var(--bh-shadow-popover);
}
.nb-stale__item[data-v-126890bd] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  text-align: left;
  cursor: pointer;
}
.nb-stale__item[data-v-126890bd]:hover {
  background: var(--bh-fill);
}
.nb-stale__item--selected[data-v-126890bd] {
  color: var(--bh-accent-strong);
  font-weight: 600;
}
.nb-stale__divider[data-v-126890bd] {
  height: 1px;
  margin: 4px 0;
  background: var(--bh-line);
}

/* ===== 상세 + 호가 목록 ===== */
.nb-side[data-v-126890bd] {
  flex: 1;
  min-width: 0;
  padding: var(--bh-layout-pad) var(--bh-layout-pad) var(--bh-layout-pad) 0;
}
.nb-side__panel[data-v-126890bd] {
  height: 100%;
}
.nb-side__search[data-v-126890bd] {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.nb-side__search-input[data-v-126890bd] {
  flex: 1;
}
.nb-side__empty[data-v-126890bd] {
  flex-shrink: 0;
  border-bottom: 1px solid var(--bh-line);
}
.nb-side__chat[data-v-126890bd] {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}
.nb-side__loading[data-v-126890bd] {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bh-surface);
  opacity: 0.8;
}

/* ===== 바스켓 생성/수정 창 ===== */
.nb-basket-form__hint[data-v-126890bd] {
  margin: 0 0 16px;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.nb-basket-form__name[data-v-126890bd] {
  margin-bottom: 16px;
}
.nb-basket-form__panes[data-v-126890bd] {
  display: flex;
  height: 440px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  overflow: hidden;
}
.nb-basket-form__count[data-v-126890bd] {
  margin-right: auto;
  align-self: center;
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.nb-pane[data-v-126890bd] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.nb-pane--source[data-v-126890bd] {
  border-right: 1px solid var(--bh-line);
}
.nb-pane__tabs[data-v-126890bd] {
  display: flex;
  flex-shrink: 0;
  border-bottom: 1px solid var(--bh-line);
}
.nb-pane__tab[data-v-126890bd] {
  flex: 1;
  height: var(--bh-height-lg);
  border: 0;
  border-bottom: 2px solid transparent;
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 600;
  cursor: pointer;
}
.nb-pane__tab[data-v-126890bd]:hover {
  color: var(--bh-fg-2);
}
.nb-pane__tab--active[data-v-126890bd] {
  border-bottom-color: var(--bh-accent);
  background: var(--bh-surface);
  color: var(--bh-accent-strong);
}
.nb-pane__search[data-v-126890bd] {
  flex-shrink: 0;
  padding: 8px 12px;
  border-bottom: 1px solid var(--bh-line);
}
.nb-pane__head[data-v-126890bd] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  height: var(--bh-height-lg);
  padding: 0 16px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.nb-pane__scroll[data-v-126890bd] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.nb-pane__empty[data-v-126890bd] {
  height: 100%;
}
.nb-source-row[data-v-126890bd] {
  display: flex;
  align-items: center;
  gap: 8px;
  height: var(--bh-row-height);
  padding: 0 8px 0 12px;
  border-bottom: 1px solid var(--bh-line);
  cursor: move;
}
.nb-source-row[data-v-126890bd]:hover {
  background: var(--bh-accent-soft);
}
.nb-source-row--picked[data-v-126890bd] {
  background: var(--bh-fill);
  opacity: 0.5;
}
.nb-source-row__name[data-v-126890bd] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nb-source-row__meta[data-v-126890bd] {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}

/* 추가 단추가 빠진 줄도 코드·만기 자리가 밀리지 않게 같은 폭을 비워 둔다 */
.nb-source-row__slot[data-v-126890bd] {
  flex-shrink: 0;
  width: 28px;
}
.nb-picked-row[data-v-126890bd] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 8px 10px 16px;
  border-bottom: 1px solid var(--bh-line);
}
.nb-picked-row[data-v-126890bd]:hover {
  background: var(--bh-canvas);
}
.nb-picked-row__body[data-v-126890bd] {
  flex: 1;
  min-width: 0;
}
.nb-picked-row__title[data-v-126890bd] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nb-picked-row__name[data-v-126890bd] {
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 600;
}
.nb-picked-row__code[data-v-126890bd] {
  margin-top: 2px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.nb-picked-row__index[data-v-126890bd] {
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
}


.scheduler-page[data-v-39747fa5] {
  height: 100%;
  overflow-y: auto;
  padding: 24px;
  background: var(--bh-canvas);
}
.scheduler-page__loading[data-v-39747fa5] {
  display: flex;
  justify-content: center;
  padding: 48px 0;
}
.scheduler-list[data-v-39747fa5] {
  margin: 0;
  padding: 0;
  list-style: none;
}
.scheduler-list__item[data-v-39747fa5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.scheduler-list__item[data-v-39747fa5]:last-child {
  border-bottom: 0;
}
.scheduler-list__info[data-v-39747fa5] {
  min-width: 0;
}
.scheduler-list__title-row[data-v-39747fa5] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.scheduler-list__title[data-v-39747fa5] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-section);
}
.scheduler-list__meta[data-v-39747fa5] {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
}
.scheduler-list__meta dt[data-v-39747fa5] {
  color: var(--bh-fg-3);
}
.scheduler-list__meta dd[data-v-39747fa5] {
  margin: 0;
}
.scheduler-list__cron[data-v-39747fa5] {
  padding: 2px 6px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-family: 'SF Mono', Monaco, Consolas, monospace;
}
.scheduler-list__control[data-v-39747fa5] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
}


.sector-grid[data-v-265aae73] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.sector-groups[data-v-265aae73] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}


.institution-grid[data-v-4d6e61a6] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

/* 5열이면 칸이 좁아 "운용(공모)" 같은 이름이 잘린다. 좌우 여백을 줄인다 */
.institution-grid[data-v-4d6e61a6] .bh-chip {
  padding: 0 4px;
  font: var(--bh-text-small);
  font-weight: 500;
}


.direction-grid[data-v-1a32427c] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}


.market-grid[data-v-a849a034] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}


.supply-caption[data-v-4380cd9b] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.supply-table-wrap[data-v-4380cd9b] {
  overflow-x: auto;
}
.supply-table[data-v-4380cd9b] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.supply-table th[data-v-4380cd9b] {
  background: var(--bh-table-head);
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: center;
  white-space: nowrap;
}
.supply-table td[data-v-4380cd9b] {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  font: var(--bh-text-body);
  white-space: nowrap;
}
.supply-table tbody tr:last-child td[data-v-4380cd9b] {
  border-bottom: 0;
}

/* 가로로 스크롤해도 어느 행인지 보이게 첫 열을 붙여 둔다 */
.supply-table th.supply-table__row-head[data-v-4380cd9b] {
  background: var(--bh-table-head);
}
.supply-table .supply-table__row-head[data-v-4380cd9b] {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--bh-surface);
  color: var(--bh-fg);
  font-weight: 500;
  text-align: left;
}
.supply-table__cell[data-v-4380cd9b] {
  position: relative;
  text-align: center;
  cursor: pointer;
}
.supply-table__cell[data-v-4380cd9b]:hover {
  background: var(--bh-canvas);
}
.supply-table__cell--empty[data-v-4380cd9b] {
  color: var(--bh-fg-4);
}
.supply-table__cell--value[data-v-4380cd9b] {
  color: var(--bh-fg-2);
  font-weight: 500;
}
.supply-table__cell--up[data-v-4380cd9b] {
  color: var(--bh-data-red);
  font-weight: 500;
}
.supply-table__cell--down[data-v-4380cd9b] {
  color: var(--bh-data-blue);
  font-weight: 500;
}
.supply-table__cell--selected[data-v-4380cd9b],
.supply-table__cell--selected[data-v-4380cd9b]:hover {
  background: var(--bh-accent-soft);
  box-shadow: inset 0 0 0 2px var(--bh-accent);
}

/* 셀 값은 문자열로 만들어 넣는다. v-html 안쪽이라 :deep으로 색을 준다 */
.supply-table[data-v-4380cd9b] .supply-up {
  color: var(--bh-data-red);
}
.supply-table[data-v-4380cd9b] .supply-down {
  color: var(--bh-data-blue);
}


.detail-caption[data-v-0e7bce1e] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.detail-table-wrap[data-v-0e7bce1e] {
  overflow-x: auto;
}
.detail-table[data-v-0e7bce1e] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.detail-table th[data-v-0e7bce1e] {
  background: var(--bh-table-head);
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.detail-table td[data-v-0e7bce1e] {
  padding: 10px 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  vertical-align: middle;
}
.detail-table tbody tr:last-child td[data-v-0e7bce1e] {
  border-bottom: 0;
}
.detail-table tbody tr:hover td[data-v-0e7bce1e] {
  background: var(--bh-canvas);
}
.detail-table .detail-table__center[data-v-0e7bce1e] {
  text-align: center;
}
.detail-table .detail-table__right[data-v-0e7bce1e] {
  text-align: right;
}
.detail-table__name[data-v-0e7bce1e] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-table__stack[data-v-0e7bce1e] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.detail-table__stack--center[data-v-0e7bce1e] {
  align-items: center;
}
.detail-table__picked[data-v-0e7bce1e] {
  font-weight: 700;
}
.detail-table__none[data-v-0e7bce1e] {
  color: var(--bh-fg-4);
}


.market-flow[data-v-3c9476bf] {
  display: flex;
  gap: var(--bh-layout-gap);
  height: 100%;
  background: var(--bh-canvas);
}
.market-flow__rail[data-v-3c9476bf] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 12px;
  width: var(--bh-layout-rail);
  padding: var(--bh-layout-pad) 0 var(--bh-layout-pad) var(--bh-layout-pad);
  overflow-y: auto;
}
.market-flow__date[data-v-3c9476bf] {
  flex-shrink: 0;
}
.market-flow__filters[data-v-3c9476bf] {
  gap: 24px;
}
.market-flow__main[data-v-3c9476bf] {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding: var(--bh-layout-pad) var(--bh-layout-pad) var(--bh-layout-pad) 0;
  overflow-y: auto;
}

/* 본문은 세로 flex 라 기본값(shrink)이면 상세가 길 때 수급 현황 표가 눌려 안에서 스크롤된다 */
.market-flow__panel[data-v-3c9476bf] {
  flex-shrink: 0;
}
.market-flow__state[data-v-3c9476bf] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 100%;
}
.market-flow__state-text[data-v-3c9476bf] {
  margin: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}


.llm-page[data-v-1a2b462c] {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
  background: var(--bh-canvas);
}
.llm-body[data-v-1a2b462c] {
  display: flex;
  flex: 1;
  gap: 16px;
  min-height: 0;
}
.llm-filters[data-v-1a2b462c] {
  flex-shrink: 0;
  gap: 20px;
  width: 256px;
  overflow-y: auto;
}
.llm-filters[data-v-1a2b462c] .bh-panel__header {
  margin-bottom: 0;
}
.llm-filters__label[data-v-1a2b462c] {
  margin: 0 0 8px;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.llm-filters__chips[data-v-1a2b462c] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.llm-main[data-v-1a2b462c] {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.llm-stats[data-v-1a2b462c] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.llm-stat__label[data-v-1a2b462c] {
  margin: 0 0 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.llm-stat__value[data-v-1a2b462c] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-page);
}
.llm-stat__value--accent[data-v-1a2b462c] {
  color: var(--bh-accent);
}
.llm-stat__value--danger[data-v-1a2b462c] {
  color: var(--bh-danger);
}
.llm-logs[data-v-1a2b462c] {
  flex: 1;
  min-height: 0;
}
.llm-logs__head[data-v-1a2b462c] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--bh-line);
}
.llm-logs__title-row[data-v-1a2b462c] {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.llm-logs__title[data-v-1a2b462c] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.llm-logs__count[data-v-1a2b462c],
.llm-logs__loading[data-v-1a2b462c] {
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
}
.llm-logs__loading[data-v-1a2b462c] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.llm-logs__body[data-v-1a2b462c] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.llm-logs__state[data-v-1a2b462c] {
  padding: 32px;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  text-align: center;
}
.llm-table[data-v-1a2b462c] {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.llm-table th[data-v-1a2b462c] {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-small);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.llm-table td[data-v-1a2b462c] {
  height: var(--bh-row-height);
  padding: 0 12px;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg);
  font: var(--bh-text-body);
  white-space: nowrap;
}
.llm-table th[data-v-1a2b462c]:first-child,
.llm-table td[data-v-1a2b462c]:first-child {
  padding-left: 20px;
}
.llm-table th[data-v-1a2b462c]:last-child,
.llm-table td[data-v-1a2b462c]:last-child {
  padding-right: 20px;
}
.llm-table tbody tr[data-v-1a2b462c] {
  cursor: pointer;
}
.llm-table tbody tr:hover td[data-v-1a2b462c] {
  background: var(--bh-canvas);
}
.llm-table .llm-table__num[data-v-1a2b462c] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.llm-table td.llm-table__muted[data-v-1a2b462c] {
  color: var(--bh-fg-2);
}
.llm-table__ellipsis[data-v-1a2b462c] {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 상세 창 */
.llm-detail[data-v-1a2b462c] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.llm-detail__section[data-v-1a2b462c] {
  margin: 0 0 8px;
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  font-weight: 600;
}
.llm-detail__info[data-v-1a2b462c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 16px;
  border-radius: var(--bh-radius-input);
  background: var(--bh-fill);
}
.llm-detail__info > div[data-v-1a2b462c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font: var(--bh-text-small);
}
.llm-detail__info dt[data-v-1a2b462c] {
  color: var(--bh-fg-2);
}
.llm-detail__info dd[data-v-1a2b462c] {
  margin: 0;
  color: var(--bh-fg);
}
.llm-detail__code[data-v-1a2b462c] {
  max-height: 384px;
  margin: 0;
  padding: 16px;
  overflow-y: auto;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-input);
  background: var(--bh-fill);
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-family: 'SF Mono', Monaco, Consolas, monospace;
  white-space: pre-wrap;
}
.llm-detail__code--short[data-v-1a2b462c] {
  max-height: 240px;
}
.llm-detail__code--error[data-v-1a2b462c] {
  max-height: none;
  border-color: var(--bh-danger-soft);
  background: var(--bh-danger-soft);
  color: var(--bh-danger-strong);
}

/* 스크롤바 스타일링 */
pre[data-v-1a2b462c]::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
pre[data-v-1a2b462c]::-webkit-scrollbar-track {
  background: var(--bh-fill);
  border-radius: 4px;
}
pre[data-v-1a2b462c]::-webkit-scrollbar-thumb {
  background: var(--bh-fg-4);
  border-radius: 4px;
}
pre[data-v-1a2b462c]::-webkit-scrollbar-thumb:hover {
  background: var(--bh-fg-3);
}


.ybts-sidebar .sidebar-header[data-v-408f1fae] {
  transition: opacity 0.2s ease-out;
}
.overflow-y-auto[data-v-408f1fae]::-webkit-scrollbar {
  width: 6px;
}
.overflow-y-auto[data-v-408f1fae]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.sidebar-scrollbar-hide[data-v-408f1fae]::-webkit-scrollbar {
  display: none;
}
.sidebar-scrollbar-hide[data-v-408f1fae] {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.overflow-y-auto[data-v-408f1fae]::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}
.overflow-y-auto[data-v-408f1fae]::-webkit-scrollbar-thumb:hover {
  background: #555;
}


.line-clamp-2[data-v-907928ec] {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.overflow-y-auto[data-v-907928ec]::-webkit-scrollbar {
  width: 6px;
}
.overflow-y-auto[data-v-907928ec]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.overflow-y-auto[data-v-907928ec]::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}
.overflow-y-auto[data-v-907928ec]::-webkit-scrollbar-thumb:hover {
  background: #555;
}


.modal-enter-active[data-v-47258fd4],
.modal-leave-active[data-v-47258fd4] {
  transition: opacity 0.3s ease;
}
.modal-enter-from[data-v-47258fd4],
.modal-leave-to[data-v-47258fd4] {
  opacity: 0;
}
.modal-enter-active .modal-content[data-v-47258fd4],
.modal-leave-active .modal-content[data-v-47258fd4] {
  transition: transform 0.3s ease;
}
.modal-enter-from .modal-content[data-v-47258fd4],
.modal-leave-to .modal-content[data-v-47258fd4] {
  transform: scale(0.9) translateY(-20px);
}


.overflow-y-auto[data-v-2cadc67e]::-webkit-scrollbar {
  width: 6px;
}
.overflow-y-auto[data-v-2cadc67e]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.overflow-y-auto[data-v-2cadc67e]::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 3px;
}
.overflow-y-auto[data-v-2cadc67e]::-webkit-scrollbar-thumb:hover {
  background: #555;
}


.brief-cal[data-v-3b4a04df] {
  padding: 16px;
}
.brief-cal__head[data-v-3b4a04df] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.brief-cal__title[data-v-3b4a04df] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-small);
  font-weight: 600;
}
.brief-cal__step[data-v-3b4a04df] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--bh-height-sm);
  height: var(--bh-height-sm);
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-3);
  cursor: pointer;
  transition:
    background-color 0.15s,
    color 0.15s;
}
.brief-cal__step[data-v-3b4a04df]:hover {
  background: var(--bh-fill);
  color: var(--bh-fg-2);
}
.brief-cal__weekdays[data-v-3b4a04df] {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: 6px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
  text-align: center;
}
.brief-cal__weekdays > div[data-v-3b4a04df] {
  padding: 4px 0;
}
.brief-cal__days[data-v-3b4a04df] {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  row-gap: 4px;
}
.brief-cal__day[data-v-3b4a04df] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 0;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  cursor: pointer;
  transition: background-color 0.15s;
}
.brief-cal__day[data-v-3b4a04df]:hover {
  background: var(--bh-fill);
}
.brief-cal__day--outside[data-v-3b4a04df] {
  visibility: hidden;
}
.brief-cal__day--selected[data-v-3b4a04df],
.brief-cal__day--selected[data-v-3b4a04df]:hover {
  background: var(--bh-accent);
  color: var(--bh-surface);
  font-weight: 600;
}
.brief-cal__marker[data-v-3b4a04df] {
  position: absolute;
  bottom: 4px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bh-accent);
}
.brief-cal__day--selected .brief-cal__marker[data-v-3b4a04df] {
  background: var(--bh-surface);
}
.brief-cal__marker--hidden[data-v-3b4a04df],
.brief-cal__day--selected .brief-cal__marker--hidden[data-v-3b4a04df] {
  background: var(--bh-fg-4);
}
.brief-cal__marker--static[data-v-3b4a04df] {
  position: static;
}
.brief-cal__legend[data-v-3b4a04df] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.brief-cal__legend-item[data-v-3b4a04df] {
  display: flex;
  align-items: center;
  gap: 4px;
}


.week-cal[data-v-42700890] {
  flex: none;
  width: 200px;
  padding: 12px;
  border-radius: var(--bh-radius-card);
  background: var(--bh-fill);
}
.week-cal__title[data-v-42700890] {
  margin-bottom: 8px;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 600;
  text-align: center;
}
.week-cal__weekdays[data-v-42700890] {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-align: center;
}
.week-cal__days[data-v-42700890] {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  row-gap: 4px;
}
.week-cal__day[data-v-42700890] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 2px solid transparent;
  border-radius: var(--bh-radius-chip);
  background: transparent;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  cursor: default;
  transition: background-color 0.15s;
}
.week-cal__day--outside[data-v-42700890] {
  visibility: hidden;
}
.week-cal__day--event[data-v-42700890] {
  cursor: pointer;
}
.week-cal__day--event[data-v-42700890]:hover {
  background: var(--bh-fill-hover);
}
.week-cal__day--today[data-v-42700890] {
  border-color: var(--bh-accent);
  color: var(--bh-fg);
  font-weight: 600;
}
.week-cal__day--selected[data-v-42700890],
.week-cal__day--selected[data-v-42700890]:hover {
  background: var(--bh-accent);
  color: var(--bh-surface);
  font-weight: 600;
}
.week-cal__marker[data-v-42700890] {
  position: absolute;
  bottom: 2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--bh-accent);
}
.week-cal__day--selected .week-cal__marker[data-v-42700890] {
  background: var(--bh-surface);
}


.brief-page[data-v-d007e024] {
  height: 100%;
  overflow-y: auto;
  padding: 24px;
  background: var(--bh-canvas);
}
.brief-layout[data-v-d007e024] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.brief-layout__rail[data-v-d007e024] {
  flex: none;
  width: 288px;
}
.brief-layout__main[data-v-d007e024] {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

/* 상태 바 */
.brief-status[data-v-d007e024] {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
}
.brief-status__left[data-v-d007e024],
.brief-status__right[data-v-d007e024] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brief-status__right[data-v-d007e024] {
  gap: 10px;
}
.brief-status__date[data-v-d007e024] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.brief-status__visibility[data-v-d007e024] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.brief-status__visibility--on[data-v-d007e024] {
  color: var(--bh-fg-2);
}

/* 관리 도구 */
.brief-tools[data-v-d007e024] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.brief-tools__step[data-v-d007e024] {
  min-width: 0;
  padding: 16px;
}
.brief-tools__step + .brief-tools__step[data-v-d007e024] {
  border-left: 1px solid var(--bh-line);
}
.brief-tools__label[data-v-d007e024] {
  margin-bottom: 10px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.brief-tools__row[data-v-d007e024] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.brief-tools__row[data-v-d007e024] >  .bh-button {
  flex: none;
}
.brief-tools__instruction[data-v-d007e024] {
  margin-top: 10px;
}
.brief-tools__note[data-v-d007e024] {
  margin-top: 6px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.brief-tools__empty[data-v-d007e024] {
  padding: 6px 0;
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
}
.brief-file[data-v-d007e024] {
  display: flex;
  flex: 1;
  align-items: center;
  min-width: 0;
  height: var(--bh-height-sm);
  padding: 0 10px;
  overflow: hidden;
  border-radius: var(--bh-radius-chip);
  background: var(--bh-fill);
  color: var(--bh-fg-2);
  font: var(--bh-text-small);
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.brief-file[data-v-d007e024]:hover {
  background: var(--bh-fill-hover);
}
.brief-file__input[data-v-d007e024] {
  display: none;
}
.brief-sources[data-v-d007e024] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 10px;
}
.brief-source[data-v-d007e024] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: var(--bh-height-sm);
  padding: 0 8px;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
  background: var(--bh-surface);
  font: var(--bh-text-caption);
  cursor: pointer;
  transition: background-color 0.15s;
}
.brief-source[data-v-d007e024]:hover {
  background: var(--bh-canvas);
}
.brief-source__name[data-v-d007e024] {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--bh-fg-2);
}
.brief-source__icon[data-v-d007e024] {
  flex: none;
}
.brief-source__text[data-v-d007e024] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brief-source__open[data-v-d007e024] {
  flex: none;
  color: var(--bh-accent);
  font-weight: 600;
}
.brief-source:hover .brief-source__open[data-v-d007e024] {
  text-decoration: underline;
}

/* 편집 · 미리보기 */
.brief-work[data-v-d007e024] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}
.brief-work__label[data-v-d007e024] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 0 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.brief-work__glyph[data-v-d007e024] {
  font: var(--bh-text-small);
}
.brief-work__hint[data-v-d007e024] {
  color: var(--bh-fg-4);
  font-weight: 400;
}
.brief-work__cards[data-v-d007e024] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.brief-work__save[data-v-d007e024] {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
.brief-work__preview[data-v-d007e024] {
  position: sticky;
  top: 16px;
}
.brief-edit[data-v-d007e024] {
  padding: 16px;
}
.brief-edit__title[data-v-d007e024] {
  margin-bottom: 8px;
  color: var(--bh-accent);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.brief-edit__headline[data-v-d007e024] {
  margin-bottom: 8px;
}
.brief-edit__check[data-v-d007e024] {
  margin-bottom: 8px;
}
.brief-edit__check-label[data-v-d007e024] {
  margin-bottom: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.brief-edit__table[data-v-d007e024] {
  margin-top: 12px;
}
.brief-edit__table-title[data-v-d007e024] {
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 4px;
}
.brief-grid-wrap[data-v-d007e024] {
  overflow-x: auto;
  border: 1px solid var(--bh-line);
  border-radius: var(--bh-radius-chip);
}
.brief-grid[data-v-d007e024] {
  min-width: 100%;
  border-collapse: collapse;
}
.brief-grid th[data-v-d007e024] {
  height: 32px;
  padding: 0 8px;
  border-bottom: 1px solid var(--bh-line);
  background: var(--bh-table-head);
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.brief-grid td[data-v-d007e024] {
  padding: 2px 4px;
  border-bottom: 1px solid var(--bh-line);
}
.brief-grid tbody tr:last-child td[data-v-d007e024] {
  border-bottom: 0;
}
.brief-grid__input[data-v-d007e024] {
  width: 100%;
  min-width: 64px;
  height: var(--bh-height-sm);
  padding: 0 4px;
  border: 0;
  border-radius: var(--bh-radius-tag);
  outline: 0;
  background: transparent;
  color: var(--bh-fg);
  font: var(--bh-text-caption);
}
.brief-grid__input[data-v-d007e024]:focus {
  box-shadow: var(--bh-focus-ring);
}
.brief-grid__input[data-v-d007e024]:disabled {
  color: var(--bh-fg-4);
}
.brief-previews[data-v-d007e024] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.brief-preview[data-v-d007e024] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  border-radius: var(--bh-radius-card);
  background: var(--bh-surface);
  text-align: left;
  cursor: pointer;
  transition: box-shadow 0.15s;
}
.brief-preview[data-v-d007e024]:hover {
  box-shadow: var(--bh-shadow-popover);
}
.brief-preview__text[data-v-d007e024] {
  min-width: 0;
}
.brief-preview__title[data-v-d007e024] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  color: var(--bh-accent);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.brief-preview__headline[data-v-d007e024] {
  display: -webkit-box;
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-body);
  font-weight: 700;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.brief-preview__chevron[data-v-d007e024] {
  flex: none;
  color: var(--bh-fg-4);
  transition: color 0.15s;
}
.brief-preview:hover .brief-preview__chevron[data-v-d007e024] {
  color: var(--bh-fg-3);
}

/* 카드 상세 창 */
.brief-card__headline[data-v-d007e024] {
  margin-bottom: 16px;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.brief-card__check[data-v-d007e024] {
  margin-bottom: 16px;
}
.brief-card__check-label[data-v-d007e024] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.brief-card__check-mark[data-v-d007e024] {
  color: var(--bh-accent);
}
.brief-card__check-text[data-v-d007e024] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
  line-height: 22px;
}
.brief-card__schedule[data-v-d007e024] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.brief-card__tables[data-v-d007e024] {
  flex: 1;
  min-width: 0;
}
.brief-card__table[data-v-d007e024] {
  margin-top: 20px;
}
.brief-card__table-title[data-v-d007e024] {
  margin-bottom: 6px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.brief-card__calendar[data-v-d007e024] {
  margin-top: 20px;
}
.brief-card__nav[data-v-d007e024] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.brief-card__counter[data-v-d007e024] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.brief-view-wrap[data-v-d007e024] {
  overflow-x: auto;
}
.brief-view[data-v-d007e024] {
  width: 100%;
  border-collapse: collapse;
}
.brief-view th[data-v-d007e024] {
  height: 36px;
  padding: 0 16px 0 0;
  border-bottom: 1px solid var(--bh-line);
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}
.brief-view th.brief-view__group[data-v-d007e024] {
  height: 28px;
  text-align: center;
}
.brief-view td[data-v-d007e024] {
  padding: 10px 16px 10px 0;
  border-bottom: 1px solid var(--bh-fill);
  font: var(--bh-text-small);
  vertical-align: top;
}
.brief-view th[data-v-d007e024]:last-child,
.brief-view td[data-v-d007e024]:last-child {
  padding-right: 0;
}
.brief-view__row--flash td[data-v-d007e024] {
  background: var(--bh-accent-soft);
}

/* 짧은 라벨·숫자 열은 폭을 최소로 묶고 남는 폭은 서술형 열이 가져간다 */
.brief-view .brief-col--label[data-v-d007e024],
.brief-view .brief-col--numeric[data-v-d007e024] {
  width: 1%;
  white-space: nowrap;
}
.brief-view .brief-col--numeric[data-v-d007e024] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.brief-tone--strong[data-v-d007e024] {
  color: var(--bh-fg);
}
.brief-tone--soft[data-v-d007e024] {
  color: var(--bh-fg-2);
}

/* 복합 셀의 수치는 v-html로 그려져 scoped 속성이 붙지 않아 :deep으로 닿게 한다 */
.brief-tone--up[data-v-d007e024],
.brief-view[data-v-d007e024] .brief-tone--up {
  color: var(--bh-data-red);
}
.brief-tone--down[data-v-d007e024],
.brief-view[data-v-d007e024] .brief-tone--down {
  color: var(--bh-data-blue);
}
.brief-tone--muted[data-v-d007e024],
.brief-view[data-v-d007e024] .brief-tone--muted {
  color: var(--bh-fg-4);
}


.section-head[data-v-686119ad] {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 4px 0 10px;
}
.section-head__title[data-v-686119ad] {
  margin: 0;
  color: var(--bh-fg);
  font: var(--bh-text-title);
}
.section-head__caption[data-v-686119ad] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.section-head__live[data-v-686119ad] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: var(--bh-text-caption);
}
.section-head__live-dot[data-v-686119ad] {
  font-size: 6px;
}


.hourly__head[data-v-11d6d55b] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 6px;
}
.hourly__title[data-v-11d6d55b] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-section);
}
.hourly__caption[data-v-11d6d55b] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.hourly__summary[data-v-11d6d55b] {
  min-height: 20px;
  margin: 0 0 12px;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.hourly__plot[data-v-11d6d55b] {
  position: relative;
}
.hourly__svg[data-v-11d6d55b] {
  display: block;
  width: 100%;
}
.hourly__grid[data-v-11d6d55b] {
  stroke: var(--bh-fill);
  stroke-width: 1;
}
.hourly__baseline[data-v-11d6d55b] {
  stroke: var(--bh-line);
  stroke-width: 1;
}

/* SVG 글자는 viewBox 배율로 같이 줄어들어 토큰 글자 크기를 그대로 쓰지 않는다 */
.hourly__tick[data-v-11d6d55b] {
  fill: var(--bh-fg-3);
  font-size: 10px;
}
.hourly__tooltip[data-v-11d6d55b] {
  position: absolute;
  padding: 4px 8px;
  border-radius: var(--bh-radius-tag);
  background: var(--bh-tooltip-bg);
  color: var(--bh-tooltip-fg);
  font: var(--bh-text-caption);
  white-space: nowrap;
  pointer-events: none;
}


.stat-tile[data-v-c3d03da6] {
  padding: 12px 16px;
}
.stat-tile__label[data-v-c3d03da6] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.stat-tile__hint[data-v-c3d03da6] {
  color: var(--bh-fg-4);
  font-size: 11px;
}
.stat-tile__value-row[data-v-c3d03da6] {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 4px;
}
.stat-tile__value[data-v-c3d03da6] {
  color: var(--bh-fg);
  font: var(--bh-text-page);
}

/* 화면 제목 단계보다 큰 글자는 토큰에 없다. 이 화면의 대표 숫자 하나에만 쓴다 */
.stat-tile__value--emphasis[data-v-c3d03da6] {
  font-size: 30px;
  line-height: 36px;
}
.stat-tile__unit[data-v-c3d03da6] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.stat-tile__sub[data-v-c3d03da6] {
  margin-top: 2px;
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}


.funnel__head[data-v-7efd8ab7] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 4px;
}
.funnel__title[data-v-7efd8ab7] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-section);
}
.funnel__caption[data-v-7efd8ab7] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.funnel__summary[data-v-7efd8ab7] {
  min-height: 20px;
  margin: 0 0 16px;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.funnel__steps[data-v-7efd8ab7] {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.funnel__step[data-v-7efd8ab7] {
  flex: 1;
  min-width: 0;
}
.funnel__label-row[data-v-7efd8ab7] {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.funnel__label[data-v-7efd8ab7] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.funnel__rate[data-v-7efd8ab7] {
  padding: 0 4px;
  font: var(--bh-text-caption);
}
.funnel__value-row[data-v-7efd8ab7] {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 4px;
}
.funnel__value[data-v-7efd8ab7] {
  color: var(--bh-fg);
  font: var(--bh-text-page);
}
.funnel__unit[data-v-7efd8ab7] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.funnel__hint[data-v-7efd8ab7] {
  margin-top: 2px;
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.funnel__track[data-v-7efd8ab7] {
  height: 6px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 3px;
  background: var(--bh-fill);
}
.funnel__bar[data-v-7efd8ab7] {
  height: 100%;
  border-radius: 3px;
  transition: width 0.5s;
}


.timeline__head[data-v-adb0d35e] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}
.timeline__title[data-v-adb0d35e] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-section);
}
.timeline__summary[data-v-adb0d35e] {
  margin: 4px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.timeline__legend[data-v-adb0d35e] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.timeline__legend-item[data-v-adb0d35e] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.timeline__legend-swatch[data-v-adb0d35e] {
  width: 10px;
  border-radius: 1px;
}
.timeline__scroll[data-v-adb0d35e] {
  overflow-x: auto;
}
.timeline__inner[data-v-adb0d35e] {
  min-width: 760px;
}
.timeline__axis[data-v-adb0d35e] {
  display: flex;
  align-items: flex-end;
  margin-bottom: 4px;
}
.timeline__axis-who[data-v-adb0d35e] {
  flex-shrink: 0;
  width: 168px;
}
.timeline__axis-track[data-v-adb0d35e] {
  position: relative;
  flex: 1;
  height: 16px;
}
.timeline__axis-tick[data-v-adb0d35e] {
  position: absolute;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  transform: translateX(-50%);
}
.timeline__axis-counts[data-v-adb0d35e] {
  flex-shrink: 0;
  width: 84px;
}
.timeline__row[data-v-adb0d35e] {
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--bh-radius-tag);
  cursor: pointer;
  transition: background-color 0.15s;
}
.timeline__row[data-v-adb0d35e]:nth-child(odd) {
  background: var(--bh-table-head);
}
.timeline__who[data-v-adb0d35e] {
  display: flex;
  flex-shrink: 0;
  align-items: baseline;
  gap: 6px;
  width: 160px;
  min-width: 0;
  padding-left: 4px;
}
.timeline__name[data-v-adb0d35e] {
  overflow: hidden;
  color: var(--bh-fg);
  font: var(--bh-text-caption);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.timeline__row:hover .timeline__name[data-v-adb0d35e] {
  color: var(--bh-accent);
}
.timeline__institution[data-v-adb0d35e] {
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.timeline__track[data-v-adb0d35e] {
  position: relative;
  flex: 1;
  height: 28px;
  transition: background-color 0.15s;
}
.timeline__row:hover .timeline__track[data-v-adb0d35e] {
  background: var(--bh-accent-soft);
}
.timeline__grid[data-v-adb0d35e] {
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid var(--bh-fill);
}
.timeline__floor[data-v-adb0d35e] {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid var(--bh-line);
}
.timeline__slot[data-v-adb0d35e] {
  position: absolute;
  bottom: 0;
  border-radius: 1px 1px 0 0;
}
.timeline__counts[data-v-adb0d35e] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  width: 84px;
  padding-right: 4px;
}
.timeline__count[data-v-adb0d35e] {
  width: 24px;
  font: var(--bh-text-caption);
  text-align: right;
}
.timeline__note[data-v-adb0d35e] {
  margin: 8px 0 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.timeline__empty[data-v-adb0d35e] {
  margin: 0;
  padding: 32px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  text-align: center;
}


.adoption__head[data-v-366e651c] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 6px;
}
.adoption__title[data-v-366e651c] {
  margin: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-section);
}
.adoption__caption[data-v-366e651c] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.adoption__summary[data-v-366e651c] {
  min-height: 20px;
  margin: 0 0 12px;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.adoption__group + .adoption__group[data-v-366e651c] {
  margin-top: 14px;
}
.adoption__group-head[data-v-366e651c] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.adoption__swatch[data-v-366e651c] {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.adoption__group-name[data-v-366e651c] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  font-weight: 500;
}
.adoption__row[data-v-366e651c] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
}
.adoption__name[data-v-366e651c] {
  flex-shrink: 0;
  width: 112px;
  overflow: hidden;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.adoption__track[data-v-366e651c] {
  flex: 1;
  height: 10px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--bh-fill);
}
.adoption__bar[data-v-366e651c] {
  height: 100%;
  border-radius: 2px;
}
.adoption__users[data-v-366e651c] {
  width: 36px;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  text-align: right;
}
.adoption__rate[data-v-366e651c] {
  width: 40px;
  font: var(--bh-text-caption);
  text-align: right;
}
.adoption__row--unused .adoption__name[data-v-366e651c],
.adoption__row--unused .adoption__users[data-v-366e651c] {
  color: var(--bh-fg-4);
}


.journey__meta[data-v-1d93005b] {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bh-line);
}
.journey__meta-row[data-v-1d93005b] {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.journey__date[data-v-1d93005b] {
  color: var(--bh-fg-4);
}
.journey__desc[data-v-1d93005b] {
  margin-top: 2px;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
}
.journey__totals[data-v-1d93005b] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.journey__totals b[data-v-1d93005b] {
  color: var(--bh-fg);
}
.journey__total[data-v-1d93005b] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.journey__swatch[data-v-1d93005b] {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.journey__state[data-v-1d93005b] {
  margin: 0;
  padding: 40px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  text-align: center;
}
.journey__session + .journey__session[data-v-1d93005b] {
  margin-top: 24px;
}
.journey__session-head[data-v-1d93005b] {
  position: sticky;
  top: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
  padding: 4px 0;
  background: var(--bh-surface);
}
.journey__session-title[data-v-1d93005b] {
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  font-weight: 700;
}
.journey__session-time[data-v-1d93005b],
.journey__session-caption[data-v-1d93005b] {
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.journey__steps[data-v-1d93005b] {
  position: relative;
  margin: 0 0 0 6px;
  padding: 0;
  border-left: 1px solid var(--bh-line);
  list-style: none;
}
.journey__step[data-v-1d93005b] {
  position: relative;
  padding: 4px 0 4px 16px;
}
.journey__step-dot[data-v-1d93005b] {
  position: absolute;
  top: 11px;
  left: -5px;
  width: 10px;
  height: 10px;
  border: 2px solid var(--bh-surface);
  border-radius: 50%;
}
.journey__step-row[data-v-1d93005b] {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.journey__step-at[data-v-1d93005b] {
  flex-shrink: 0;
  width: 56px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.journey__step-name[data-v-1d93005b] {
  flex-shrink: 0;
  width: 96px;
  color: var(--bh-fg-2);
  font: var(--bh-text-body);
}
.journey__step-name--use[data-v-1d93005b] {
  color: var(--bh-fg);
  font-weight: 700;
}
.journey__step-desc[data-v-1d93005b] {
  overflow: hidden;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.journey__step-extra[data-v-1d93005b] {
  flex-shrink: 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.journey__step-gap[data-v-1d93005b] {
  flex-shrink: 0;
  margin-left: auto;
  padding-left: 8px;
  color: var(--bh-fg-4);
  font: var(--bh-text-caption);
}
.journey__step-label[data-v-1d93005b] {
  padding-left: 104px;
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}


.activity-page[data-v-3bf07b5b] {
  height: 100%;
  overflow-y: auto;
  padding: 24px;
  background: var(--bh-canvas);
}
.activity-date[data-v-3bf07b5b] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.activity-date__input[data-v-3bf07b5b] {
  width: 148px;
}
.activity-section[data-v-3bf07b5b] {
  margin-bottom: 32px;
}
.activity-grid[data-v-3bf07b5b] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 1279px) {
.activity-grid[data-v-3bf07b5b] {
    grid-template-columns: minmax(0, 1fr);
}
}
.activity-stack[data-v-3bf07b5b] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.activity-tiles[data-v-3bf07b5b] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* 지금 활동 중 */
.live__title[data-v-3bf07b5b] {
  margin: 0 0 6px;
  color: var(--bh-fg-2);
  font: var(--bh-text-section);
}
.live__summary[data-v-3bf07b5b] {
  min-height: 20px;
  margin: 0 0 12px;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.live__overview[data-v-3bf07b5b] {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 12px;
}
.live__count[data-v-3bf07b5b] {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

/* 화면에서 가장 먼저 읽혀야 하는 숫자라 토큰 단계보다 크게 둔다 */
.live__count-value[data-v-3bf07b5b] {
  color: var(--bh-fg);
  font: var(--bh-text-page);
  font-size: 36px;
  line-height: 40px;
}
.live__count-unit[data-v-3bf07b5b] {
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
}
.live__mix[data-v-3bf07b5b] {
  flex: 1;
  padding-bottom: 4px;
}
.live__mix-bar[data-v-3bf07b5b] {
  display: flex;
  height: 8px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--bh-fill);
}
.live__mix-slice[data-v-3bf07b5b] {
  height: 100%;
}
.live__mix-legend[data-v-3bf07b5b] {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  margin-top: 6px;
}
.live__mix-item[data-v-3bf07b5b] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
}
.live__mix-swatch[data-v-3bf07b5b] {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.live__list[data-v-3bf07b5b] {
  max-height: 208px;
  margin: 0 -4px;
  padding: 8px 4px 0;
  overflow-y: auto;
  border-top: 1px solid var(--bh-line);
}
.live__user[data-v-3bf07b5b] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 4px;
  border-bottom: 1px solid var(--bh-fill);
  border-radius: var(--bh-radius-tag);
  font: var(--bh-text-body);
  cursor: pointer;
}
.live__user[data-v-3bf07b5b]:last-child {
  border-bottom: 0;
}
.live__user[data-v-3bf07b5b]:hover {
  background: var(--bh-canvas);
}
.live__user[data-v-3bf07b5b] >  .bh-tag {
  flex-shrink: 0;
}
.live__user-name[data-v-3bf07b5b] {
  flex-shrink: 0;
  color: var(--bh-fg);
  font-weight: 500;
}
.live__user-desc[data-v-3bf07b5b] {
  flex: 1;
  overflow: hidden;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live__user-action[data-v-3bf07b5b] {
  flex-shrink: 0;
  color: var(--bh-fg-2);
  font: var(--bh-text-caption);
}
.live__user-surface[data-v-3bf07b5b] {
  color: var(--bh-fg-3);
}
.live__user-ago[data-v-3bf07b5b] {
  flex-shrink: 0;
  width: 56px;
  color: var(--bh-fg-3);
  font: var(--bh-text-caption);
  text-align: right;
}
.live__empty[data-v-3bf07b5b] {
  margin: 0;
  padding: 24px 0;
  color: var(--bh-fg-3);
  font: var(--bh-text-body);
  text-align: center;
}


.sheet-enter-active[data-v-366c8854],
.sheet-leave-active[data-v-366c8854] {
  transition: opacity 0.2s ease;
}
.sheet-enter-from[data-v-366c8854],
.sheet-leave-to[data-v-366c8854] {
  opacity: 0;
}


.sheet-enter-active[data-v-35bcbb23],
.sheet-leave-active[data-v-35bcbb23] {
  transition: opacity 0.2s ease;
}
.sheet-enter-from[data-v-35bcbb23],
.sheet-leave-to[data-v-35bcbb23] {
  opacity: 0;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  html {
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      system-ui,
      Roboto,
      'Helvetica Neue',
      'Segoe UI',
      'Apple SD Gothic Neo',
      'Noto Sans KR',
      'Malgun Gothic',
      sans-serif;
    height: 100%;
    overflow: hidden;
  }
  
  body {
    height: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
  }
  
  #app {
    height: 100vh;
    overflow: hidden;
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
  /* ── 패널 · 조회 조건 ────────────────────────────────────────────
     카드를 잘게 쪼개면 카드마다 `바깥 간격 + 안쪽 패딩` 이 이중으로 붙는다.
     좌측 레일은 그렇게 3장이 쌓여 있었고, 그 이중 여백만 60~90px 였다.
     한 장으로 합치고 섹션은 선이 아니라 여백으로 나눈다.
     선은 정말 성격이 다른 것 사이에만 하나 둔다.
  ------------------------------------------------------------------ */

  /* 한 장짜리 조회 조건 카드. 섹션 간격은 20px 하나로 고정. */

  /* 섹션 사이 구분선. 여백만으로 부족한 자리에만. */

  /* 조회 조건 칩. 드롭다운과 달리 열지 않아도 안에 뭐가 있는지 보인다. */

  /* 버튼 컴포넌트 */
  .btn-base {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
  .btn-base:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 2px;
}
  .btn-base:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

  /* 탭형 토글 버튼 (차트 타입, 채권 유형 등) */

  /* 필터형 토글 버튼 (저쿠폰, ESG 등) */

  /* 인라인 셀렉트 (좁은 공간용, 전체 너비 아님) */

  /* 입력 필드 컴포넌트 */
  .input-base {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
  .input-base::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity));
}
  .input-base::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity));
}
  .input-base {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}
  .input-base:focus {
  border-color: transparent;
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity));
}
  .input-base:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

  /* 카드 컴포넌트 */

  /* 모달 컴포넌트 */
  .modal-overlay {
  position: fixed;
  inset: 0px;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  --tw-bg-opacity: 0.5;
}

  .modal-content {
  margin-left: 1rem;
  margin-right: 1rem;
  width: 100%;
  max-width: 28rem;
  overflow: hidden;
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 10px 10px -5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .modal-header {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

  .modal-body {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

  .modal-footer {
  display: flex;
  justify-content: flex-end;
}

  .modal-footer > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

  .modal-footer {
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

  /* 배지 컴포넌트 */

  /* 드롭다운 컴포넌트 */

  /* 테이블 컴포넌트 */

  /* 로딩 컴포넌트 */

  .loading-spinner {
  height: 2rem;
  width: 2rem;
}

  @keyframes spin {

  to {
    transform: rotate(360deg);
  }
}

  .loading-spinner {
  animation: spin 1s linear infinite;
  border-radius: 9999px;
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity));
}

  /* 페이지 레이아웃 */
  /**
   * 화면 맨 위 영역.
   *
   * 홈 화면에 추가해서 standalone 으로 띄우면 브라우저 주소창이 사라지고
   * 그 자리를 상태바·노치가 차지한다. viewport-fit=cover 를 켜 두었으므로
   * 안전영역만큼 직접 비워 주지 않으면 제목이 노치에 가린다.
   */
  .m-safe-top {
    padding-top: env(safe-area-inset-top);
  }

  .m-safe-bottom {
    padding-bottom: env(safe-area-inset-bottom);
  }

  /**
   * 본문 가로 여백. 20px.
   *
   * 폰에서 16px 은 카드가 화면 끝에 붙은 느낌이 들고, 24px 은 390px 화면에서
   * 내용 폭을 342px 까지 깎는다. 한 값으로 고정해 화면마다 들쭉날쭉한 걸 막는다.
   */
  .m-gutter {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

  /* ── 타이포 ───────────────────────────────────────────────
     폰에서 읽히는 최소선을 기준으로 다섯 단으로만 쓴다. 단이 많아지면
     화면마다 조금씩 다른 크기가 섞이고, 그게 "정리 안 된 느낌" 의 대부분이다.

       m-title    22px  화면 제목
       m-section  13px  구역 이름
       m-item     15px  목록 한 줄의 주어
       m-value    17px  판단에 쓰는 숫자
       m-meta     12px  곁들이는 값

     13px 아래로는 내려가지 않는다. 데스크톱에서 11~12px 로 쓰던 보조 텍스트를
     그대로 가져오면 폰에서는 읽히지 않는다. */
  .m-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

  .m-section {
  font-size: 13px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

  .m-item {
  font-size: 15px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

  .m-value {
  font-size: 17px;
  font-weight: 700;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

  .m-meta {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

  /* ── 요소 ─────────────────────────────────────────────── */

  .m-card {
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  /** 누르는 카드. 44px 이상이어야 엄지로 정확히 닿는다. */
  .m-row {
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: left;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
  .m-row:active {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

  /* Font Awesome 클래스(`fas fa-…`)는 CDN 에서 오므로 @apply 로 못 섞는다.
     템플릿에서 `class="fas fa-chevron-right m-chevron"` 처럼 같이 쓴다. */
  .m-chevron {
  flex-shrink: 0;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}

  /** 화면 아래 고정 버튼. 엄지가 닿는 높이에 둔다. */
  .m-primary-btn {
  width: 100%;
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(49 130 246 / var(--tw-bg-opacity));
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
  .m-primary-btn:active {
  --tw-bg-opacity: 1;
  background-color: rgb(34 114 235 / var(--tw-bg-opacity));
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-right-2\.5 {
  right: -0.625rem;
}
.bottom-16 {
  bottom: 4rem;
}
.bottom-8 {
  bottom: 2rem;
}
.left-0 {
  left: 0px;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.right-0 {
  right: 0px;
}
.right-2 {
  right: 0.5rem;
}
.right-4 {
  right: 1rem;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-4 {
  top: 1rem;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.z-\[200\] {
  z-index: 200;
}
.m-0 {
  margin: 0px;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}
.-ml-2 {
  margin-left: -0.5rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-0 {
  height: 0px;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-60 {
  height: 15rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[54px\] {
  height: 54px;
}
.h-\[calc\(100vh-64px\)\] {
  height: calc(100vh - 64px);
}
.h-dvh {
  height: 100dvh;
}
.h-full {
  height: 100%;
}
.h-screen {
  height: 100vh;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[85\%\] {
  max-height: 85%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[240px\] {
  min-height: 240px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-dvh {
  min-height: 100dvh;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\/5 {
  width: 40%;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/5 {
  width: 60%;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[5\.5rem\] {
  width: 5.5rem;
}
.w-\[54px\] {
  width: 54px;
}
.w-\[62px\] {
  width: 62px;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[1rem\] {
  min-width: 1rem;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[2rem\] {
  min-width: 2rem;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-full {
  min-width: 100%;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-\[18px\] {
  max-width: 18px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[0\.15\] {
  flex: 0.15;
}
.flex-\[0\.85\] {
  flex: 0.85;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.border-collapse {
  border-collapse: collapse;
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.\!justify-start {
  justify-content: flex-start !important;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-y-4 {
  row-gap: 1rem;
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity));
}
.self-start {
  align-self: flex-start;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-card {
  border-radius: 0.75rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-t {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.\!border-2 {
  border-width: 2px !important;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.\!border-dashed {
  border-style: dashed !important;
}
.border-dashed {
  border-style: dashed;
}
.\!border-blue-400 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(96 165 250 / var(--tw-border-opacity)) !important;
}
.\!border-blue-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(59 130 246 / var(--tw-border-opacity)) !important;
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity));
}
.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity));
}
.border-danger-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity));
}
.border-primary-600 {
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity));
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-l-brand {
  --tw-border-opacity: 1;
  border-left-color: rgb(102 119 136 / var(--tw-border-opacity));
}
.bg-\[\#229ED9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(34 158 217 / var(--tw-bg-opacity));
}
.bg-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(49 130 246 / var(--tw-bg-opacity));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity));
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity));
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity));
}
.bg-blue-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity));
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity));
}
.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity));
}
.bg-brand {
  --tw-bg-opacity: 1;
  background-color: rgb(102 119 136 / var(--tw-bg-opacity));
}
.bg-canvas {
  --tw-bg-opacity: 1;
  background-color: rgb(242 244 246 / var(--tw-bg-opacity));
}
.bg-cheap {
  --tw-bg-opacity: 1;
  background-color: rgb(49 130 246 / var(--tw-bg-opacity));
}
.bg-cheap\/40 {
  background-color: rgb(49 130 246 / 0.4);
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity));
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity));
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity));
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}
.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity));
}
.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity));
}
.bg-green-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity));
}
.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity));
}
.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}
.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity));
}
.bg-night {
  --tw-bg-opacity: 1;
  background-color: rgb(20 27 36 / var(--tw-bg-opacity));
}
.bg-night-field {
  --tw-bg-opacity: 1;
  background-color: rgb(30 39 51 / var(--tw-bg-opacity));
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity));
}
.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity));
}
.bg-primary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity));
}
.bg-primary-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity));
}
.bg-primary-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity));
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity));
}
.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity));
}
.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity));
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
}
.bg-rich {
  --tw-bg-opacity: 1;
  background-color: rgb(240 68 82 / var(--tw-bg-opacity));
}
.bg-rich\/40 {
  background-color: rgb(240 68 82 / 0.4);
}
.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity));
}
.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity));
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity));
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.from-blue-300 {
  --tw-gradient-from: #93c5fd var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 197 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400 {
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500 {
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-300 {
  --tw-gradient-from: #6ee7b7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(110 231 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400 {
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-400 {
  --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-700 {
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-700\/95 {
  --tw-gradient-from: rgb(55 65 81 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-300 {
  --tw-gradient-from: #fdba74 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 186 116 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-400 {
  --tw-gradient-from: #fb923c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500 {
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-300 {
  --tw-gradient-from: #fca5a5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-400 {
  --tw-gradient-from: #f87171 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 113 113 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500 {
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-300 {
  --tw-gradient-from: #fde047 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 224 71 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400 {
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500 {
  --tw-gradient-from: #eab308 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-gray-800 {
  --tw-gradient-to: rgb(31 41 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-blue-400 {
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}
.to-blue-500 {
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-emerald-400 {
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-500 {
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}
.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-gray-500 {
  --tw-gradient-to: #6b7280 var(--tw-gradient-to-position);
}
.to-gray-800\/90 {
  --tw-gradient-to: rgb(31 41 55 / 0.9) var(--tw-gradient-to-position);
}
.to-gray-900 {
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}
.to-orange-400 {
  --tw-gradient-to: #fb923c var(--tw-gradient-to-position);
}
.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-600 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-red-400 {
  --tw-gradient-to: #f87171 var(--tw-gradient-to-position);
}
.to-red-500 {
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}
.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-yellow-400 {
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}
.to-yellow-500 {
  --tw-gradient-to: #eab308 var(--tw-gradient-to-position);
}
.to-yellow-600 {
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-16 {
  padding-right: 4rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-\[24px\] {
  font-size: 24px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[-0\.01em\] {
  letter-spacing: -0.01em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.text-accent {
  --tw-text-opacity: 1;
  color: rgb(49 130 246 / var(--tw-text-opacity));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity));
}
.text-brand {
  --tw-text-opacity: 1;
  color: rgb(102 119 136 / var(--tw-text-opacity));
}
.text-cheap {
  --tw-text-opacity: 1;
  color: rgb(49 130 246 / var(--tw-text-opacity));
}
.text-danger-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}
.text-danger-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}
.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity));
}
.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity));
}
.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity));
}
.text-night {
  --tw-text-opacity: 1;
  color: rgb(20 27 36 / var(--tw-text-opacity));
}
.text-night-error-text {
  --tw-text-opacity: 1;
  color: rgb(255 138 147 / var(--tw-text-opacity));
}
.text-night-faint {
  --tw-text-opacity: 1;
  color: rgb(79 93 110 / var(--tw-text-opacity));
}
.text-night-muted {
  --tw-text-opacity: 1;
  color: rgb(140 153 169 / var(--tw-text-opacity));
}
.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity));
}
.text-pink-700 {
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity));
}
.text-primary-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity));
}
.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity));
}
.text-rich {
  --tw-text-opacity: 1;
  color: rgb(240 68 82 / var(--tw-text-opacity));
}
.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity));
}
.text-success-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity));
}
.underline {
  text-decoration-line: underline;
}
.placeholder-gray-600::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity));
}
.placeholder-gray-600::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity));
}
.placeholder-white\/50::-moz-placeholder {
  color: rgb(255 255 255 / 0.5);
}
.placeholder-white\/50::placeholder {
  color: rgb(255 255 255 / 0.5);
}
.opacity-55 {
  opacity: 0.55;
}
.opacity-80 {
  opacity: 0.8;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.outline-0 {
  outline-width: 0px;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[1\.5px\] {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset {
  --tw-ring-inset: inset;
}
.ring-accent\/40 {
  --tw-ring-color: rgb(49 130 246 / 0.4);
}
.ring-amber-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity));
}
.ring-emerald-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity));
}
.ring-gray-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity));
}
.ring-green-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 252 231 / var(--tw-ring-opacity));
}
.ring-night-error {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(240 68 82 / var(--tw-ring-opacity));
}
.ring-night-line {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(43 54 68 / var(--tw-ring-opacity));
}
.ring-night-line-strong {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(58 71 87 / var(--tw-ring-opacity));
}
.ring-primary-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(224 242 254 / var(--tw-ring-opacity));
}
.ring-purple-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 232 255 / var(--tw-ring-opacity));
}
.ring-red-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity));
}
.ring-rose-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity));
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));
}
.ring-yellow-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 240 138 / var(--tw-ring-opacity));
}
.blur {
  --tw-blur: blur(8px);
  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);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  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);
}
.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);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[box-shadow\2c background-color\] {
  transition-property: box-shadow,background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[filter\:invert\(1\)_brightness\(2\)\] {
  filter: invert(1) brightness(2);
}

:root {
  --color-brand: 102 119 136;
  --color-brand-hover: 90 107 122;
}

/* ── 모바일 (`/m` 트리 전용) ──────────────────────────────── */

.placeholder\:text-gray-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

.placeholder\:text-gray-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

.placeholder\:text-night-muted::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(140 153 169 / var(--tw-text-opacity));
}

.placeholder\:text-night-muted::placeholder {
  --tw-text-opacity: 1;
  color: rgb(140 153 169 / var(--tw-text-opacity));
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:left-\[2px\]::after {
  content: var(--tw-content);
  left: 2px;
}

.after\:top-\[2px\]::after {
  content: var(--tw-content);
  top: 2px;
}

.after\:h-5::after {
  content: var(--tw-content);
  height: 1.25rem;
}

.after\:w-5::after {
  content: var(--tw-content);
  width: 1.25rem;
}

.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:border::after {
  content: var(--tw-content);
  border-width: 1px;
}

.after\:border-gray-300::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.first\:rounded-l-full:first-child {
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.last\:rounded-r-full:last-child {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.last\:border-r-0:last-child {
  border-right-width: 0px;
}

.hover\:border-blue-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity));
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity));
}

.hover\:border-primary-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity));
}

.hover\:border-red-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity));
}

.hover\:bg-\[\#556677\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(85 102 119 / var(--tw-bg-opacity));
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity));
}

.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity));
}

.hover\:bg-emerald-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.hover\:bg-gray-100\/80:hover {
  background-color: rgb(243 244 246 / 0.8);
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.hover\:bg-green-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity));
}

.hover\:bg-night-button-hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(232 235 239 / var(--tw-bg-opacity));
}

.hover\:bg-primary-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity));
}

.hover\:bg-primary-50\/40:hover {
  background-color: rgb(240 249 255 / 0.4);
}

.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}

.hover\:bg-white\/50:hover {
  background-color: rgb(255 255 255 / 0.5);
}

.hover\:text-\[\#556677\]:hover {
  --tw-text-opacity: 1;
  color: rgb(85 102 119 / var(--tw-text-opacity));
}

.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity));
}

.hover\:text-brand:hover {
  --tw-text-opacity: 1;
  color: rgb(102 119 136 / var(--tw-text-opacity));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}

.hover\:text-primary-600:hover {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity));
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:border-blue-300:focus {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity));
}

.focus\:border-blue-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity));
}

.focus\:border-brand:focus {
  --tw-border-opacity: 1;
  border-color: rgb(102 119 136 / var(--tw-border-opacity));
}

.focus\:border-transparent:focus {
  border-color: transparent;
}

.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-\[1\.5px\]:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-accent\/40:focus {
  --tw-ring-color: rgb(49 130 246 / 0.4);
}

.focus\:ring-blue-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity));
}

.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
}

.focus\:ring-brand:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(102 119 136 / var(--tw-ring-opacity));
}

.focus\:ring-danger-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));
}

.focus\:ring-night-accent:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(49 130 246 / var(--tw-ring-opacity));
}

.active\:bg-blue-800:active {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity));
}

.active\:bg-emerald-800:active {
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity));
}

.active\:bg-gray-200:active {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.active\:bg-gray-50:active {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.active\:text-gray-600:active {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

.active\:opacity-60:active {
  opacity: 0.6;
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:bg-blue-300:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(147 197 253 / var(--tw-bg-opacity));
}

.disabled\:bg-gray-600:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity));
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:hover\:bg-white:hover:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.group:hover .group-hover\:border-brand {
  --tw-border-opacity: 1;
  border-color: rgb(102 119 136 / var(--tw-border-opacity));
}

.group:hover .group-hover\:text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}

.group:hover .group-hover\:text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

.peer:checked ~ .peer-checked\:border-brand {
  --tw-border-opacity: 1;
  border-color: rgb(102 119 136 / var(--tw-border-opacity));
}

.peer:checked ~ .peer-checked\:bg-brand {
  --tw-bg-opacity: 1;
  background-color: rgb(102 119 136 / var(--tw-bg-opacity));
}

.peer:checked ~ .peer-checked\:bg-night-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(49 130 246 / var(--tw-bg-opacity));
}

.peer:checked ~ .peer-checked\:ring-0 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:after\:border-white::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}

.peer:focus ~ .peer-focus\:ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.peer:focus ~ .peer-focus\:ring-brand {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(102 119 136 / var(--tw-ring-opacity));
}

.peer:focus ~ .peer-focus\:ring-offset-1 {
  --tw-ring-offset-width: 1px;
}

.peer:focus-visible ~ .peer-focus-visible\:outline {
  outline-style: solid;
}

.peer:focus-visible ~ .peer-focus-visible\:outline-2 {
  outline-width: 2px;
}

.peer:focus-visible ~ .peer-focus-visible\:outline-offset-2 {
  outline-offset: 2px;
}

.peer:focus-visible ~ .peer-focus-visible\:outline-night-accent {
  outline-color: #3182F6;
}

@media (min-width: 640px) {

  .sm\:w-40 {
    width: 10rem;
  }

  .sm\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }
}

@media (min-width: 768px) {

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }
}

