@charset "UTF-8";
/* -------------------------------------------------------------------------- */
/*                                Falcon Button                               */
/* -------------------------------------------------------------------------- */
@media print {
  @page {
    size: A4 portrait;
    margin: 12mm 14mm;
  }
  /* 报价单：撑开应用壳，避免 overflow:hidden 把单据裁成一屏 */
  html,
  body,
  #root,
  #root:has(main),
  main,
  #root:has(main) > main,
  .content,
  .app-main-content,
  .app-main-shell,
  .app-main-scroll-layout,
  .app-main-scroll {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
  }
  html,
  body {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body,
  #quotationPrintRoot,
  #quotationPrintRoot * {
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  /* 深色主题下 body 常为浅字；打印强制白底深字，避免整页「黑底白字」或透底 */
  html,
  body,
  #root,
  main,
  .content,
  .app-main-content {
    color: #2b2d31 !important;
    background: #fff !important;
  }
  #quotationToolbar,
  #quotationCard,
  #navbar,
  .navbar,
  .navbar-vertical,
  .navbar-top,
  .navbar-glass,
  .footer,
  .modal,
  .Toastify,
  .app-main-scroll-nav-spacer,
  .app-main-scroll-end-spacer {
    display: none !important;
  }
  .content,
  .container,
  .container-fluid,
  .card,
  .card-body,
  .card-footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
  }
  [data-simplebar],
  .simplebar-wrapper,
  .simplebar-mask,
  .simplebar-offset,
  .simplebar-content-wrapper,
  .simplebar-content {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    width: auto !important;
  }
  .simplebar-placeholder,
  .simplebar-track,
  .simplebar-scrollbar {
    display: none !important;
  }
  #quotationPrintRoot .table-responsive {
    overflow: visible !important;
  }
  #quotationPrintRoot .text-nowrap {
    white-space: normal !important;
  }
  #quotationPrintRoot .quotation-payment-terms,
  #quotationPrintRoot .quote-payment-terms {
    max-width: none !important;
  }
  #quotationPrintRoot .quote-items-table thead,
  #quotationPrintRoot .quote-header,
  #quotationPrintRoot .quote-footer,
  #quotationPrintRoot .quote-meta-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #quotationPrintRoot a {
    color: inherit !important;
    text-decoration: none !important;
  }
  #quotationPrintRoot a[href]::after {
    content: none !important;
  }
}
/* theme.css 将 primary 按钮色写死为编译期默认值；此处改跟 REACT_APP_THEME_PRIMARY 注入的变量 */
.btn-primary {
  --falcon-btn-color: #fff;
  --falcon-btn-bg: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-border-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-hover-color: #fff;
  --falcon-btn-hover-bg: var(--app-theme-primary-hover, var(--app-theme-primary, #0088c7));
  --falcon-btn-hover-border-color: var(--app-theme-primary-hover, var(--app-theme-primary, #0088c7));
  --falcon-btn-focus-shadow-rgb: var(--app-theme-primary-rgb, var(--falcon-primary-rgb, 0, 155, 226));
  --falcon-btn-active-color: #fff;
  --falcon-btn-active-bg: var(--app-theme-primary-hover, var(--app-theme-primary, #0088c7));
  --falcon-btn-active-border-color: var(--app-theme-primary-hover, var(--app-theme-primary, #0088c7));
  --falcon-btn-disabled-color: #fff;
  --falcon-btn-disabled-bg: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-disabled-border-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
}

.btn-outline-primary {
  --falcon-btn-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-border-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-hover-color: #fff;
  --falcon-btn-hover-bg: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-hover-border-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-focus-shadow-rgb: var(--app-theme-primary-rgb, var(--falcon-primary-rgb, 0, 155, 226));
  --falcon-btn-active-color: #fff;
  --falcon-btn-active-bg: var(--app-theme-primary-hover, var(--app-theme-primary, #009be2));
  --falcon-btn-active-border-color: var(--app-theme-primary-hover, var(--app-theme-primary, #009be2));
  --falcon-btn-disabled-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
  --falcon-btn-disabled-bg: transparent;
  --falcon-btn-disabled-border-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
}

/* theme.css 将物流/财务时间轴节点色写死为编译期 $primary；此处改跟租户主色 */
.recent-activity-timeline-primary.recent-activity-timeline-past::after,
.recent-activity-timeline-primary.recent-activity-timeline-current::after {
  background-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
  border-color: var(--app-theme-primary, var(--falcon-primary, #009be2));
}

.recent-activity-timeline-primary.recent-activity-timeline-current::after {
  box-shadow: 0 0 0 3px rgba(var(--app-theme-primary-rgb, var(--falcon-primary-rgb, 0, 155, 226)), 0.3);
}

/* 未触发节点：浅色加深灰边、深色改白圈，避免跟背景融在一起 */
.recent-activity-timeline:not(.recent-activity-timeline-past):not(.recent-activity-timeline-current)::after {
  border-color: var(--falcon-gray-500, #9da9bb);
}

[data-bs-theme='dark'] .recent-activity-timeline:not(.recent-activity-timeline-past):not(.recent-activity-timeline-current)::after {
  border-color: rgba(255, 255, 255, 0.72);
}

input.transparent-input {
  background-color: transparent !important;
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  border-bottom-color: var(--falcon-primary, #009be2);
  height: 4em;
}
input.transparent-input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}
input.transparent-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}
input.transparent-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}
input.transparent-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}

.user-dropdown-menu.dropdown-menu-end.dropdown-caret::after {
  right: 0.625rem !important;
  left: auto !important;
}

.user-avatar-toggle:hover .user-avatar {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
}
.user-avatar-toggle:active .user-avatar {
  transform: scale(0.98);
}

.user-avatar {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.search-box--with-season .search-input {
  padding-right: 2.75rem;
}

.search-box__season {
  position: absolute;
  right: 0.45rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  height: calc(100% - 0.4rem);
  pointer-events: none;
  user-select: none;
  line-height: 0;
  z-index: 1;
}

.search-box__season-img {
  display: block;
  height: 100%;
  width: auto;
  object-fit: contain;
}

:root {
  --navbar-logo-width: 220px;
}

.navbar-top-logo .navbar-brand-wordmark,
.navbar-top .navbar-top-logo img.navbar-brand-wordmark {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: var(--navbar-logo-width);
  max-height: calc(var(--falcon-top-nav-height, 4.3125rem) - 0.75rem);
  object-fit: contain;
  object-position: left center;
}

.navbar-brand-wrapper {
  min-width: 0;
  flex: 1 1 auto;
}

.navbar-search-wrapper {
  min-width: 0;
  flex: 1 1 auto;
}

@media (min-width: 1200px) {
  .navbar-top .navbar-search-wrapper {
    max-width: 500px;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-top .navbar-search-wrapper {
    max-width: 400px;
  }
}
@media (max-width: 991.98px) {
  .navbar-top .navbar-brand-wrapper {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .navbar-top .navbar-search-wrapper {
    flex: 1 1 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-top: 0.5rem;
    order: 3;
  }
  .navbar-top .navbar-nav-icons {
    flex-direction: row !important;
    width: auto;
    padding: 0;
    gap: 0.5rem !important;
    justify-content: flex-end;
  }
  .navbar-top .navbar-nav-icons > li {
    width: auto;
  }
  .navbar-top .navbar-nav-icons > li .nav-link,
  .navbar-top .navbar-nav-icons > li .dropdown-toggle {
    width: auto;
    justify-content: center !important;
    padding: 0.25rem !important;
  }
  .navbar-top .navbar-collapse {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    width: 100%;
  }
}
@media (max-width: 767.98px), (max-height: 575.98px) and (max-width: 991.98px) {
  :root {
    --falcon-top-nav-height: 2.875rem;
    --app-page-gutter: 0.75rem;
    --navbar-mobile-touch: 2rem;
    --navbar-mobile-logo-height: 2rem;
    --navbar-mobile-avatar: var(--navbar-mobile-touch);
    --navbar-mobile-glyph: 1.25rem;
    --navbar-mobile-brand-gap: 0.25rem;
    --navbar-mobile-actions-gap: 0.5rem;
    --navbar-mobile-toolbar-gap: 0.375rem;
    --navbar-mobile-edge-pull: calc((var(--navbar-mobile-touch) - var(--navbar-mobile-glyph)) / -2);
    --navbar-mobile-avatar-edge-pull: calc((var(--navbar-mobile-touch) - var(--navbar-mobile-avatar)) / -2);
  }
  .navbar-top.navbar-top--mobile-compact {
    min-height: var(--falcon-top-nav-height);
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 max(var(--app-page-gutter, 0.75rem), env(safe-area-inset-right, 0px)) 0 max(var(--app-page-gutter, 0.75rem), env(safe-area-inset-left, 0px));
    box-sizing: border-box;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-inner.container-fluid {
    --falcon-gutter-x: 0 !important;
    --bs-gutter-x: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
    width: 100%;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-inner {
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: var(--navbar-mobile-toolbar-gap);
    height: var(--falcon-top-nav-height);
    min-height: var(--falcon-top-nav-height);
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-brand-group,
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-actions {
    display: flex;
    align-items: center;
    height: var(--navbar-mobile-touch);
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-brand-group {
    gap: var(--navbar-mobile-brand-gap);
    flex-shrink: 0;
    min-width: 0;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-actions {
    gap: var(--navbar-mobile-actions-gap);
    flex-shrink: 0;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-logo {
    margin-left: 0 !important;
    flex-shrink: 0;
    display: inline-flex !important;
    align-items: center !important;
    height: var(--navbar-mobile-touch) !important;
    line-height: 0;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-logo > div {
    display: flex;
    align-items: center;
    height: 100%;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-quicklinks-toggle {
    margin-left: 0;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-menu,
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-notification {
    display: flex;
    align-items: center;
    height: var(--navbar-mobile-touch);
  }
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-icon-btn.btn,
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-menu .dropdown-toggle.navbar-mobile-icon-btn,
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-notification .dropdown-toggle.navbar-mobile-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 0 !important;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-avatar-toggle {
    padding: 0 !important;
    line-height: 0 !important;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-mobile-avatar-toggle .user-avatar--mobile-toolbar {
    width: var(--navbar-mobile-avatar) !important;
    height: var(--navbar-mobile-avatar) !important;
    min-width: var(--navbar-mobile-avatar);
    min-height: var(--navbar-mobile-avatar);
    margin: 0 !important;
    box-shadow: 0 2px 6px rgba(11, 23, 39, 0.18), inset 0 1px 2px rgba(255, 255, 255, 0.28) !important;
  }
  .navbar-top.navbar-top--mobile-compact .navbar-top-logo img,
  .navbar-top.navbar-top--mobile-compact .navbar-top-inner > a.navbar-top-logo img {
    display: block;
    margin: 0;
    width: auto !important;
    height: var(--navbar-mobile-logo-height) !important;
    max-height: var(--navbar-mobile-logo-height);
    object-fit: contain;
    object-position: center center;
  }
  .navbar-mobile-actions {
    flex-shrink: 0;
  }
  .navbar-mobile-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--navbar-mobile-touch);
    height: var(--navbar-mobile-touch);
    min-width: var(--navbar-mobile-touch);
    min-height: var(--navbar-mobile-touch);
    padding: 0 !important;
    border: 0;
    border-radius: 0.625rem;
    color: rgba(255, 255, 255, 0.94) !important;
    text-decoration: none;
    line-height: 1;
    transition: background-color 0.15s ease, color 0.15s ease;
  }
  .navbar-mobile-icon-btn .navbar-mobile-icon-btn__glyph,
  .navbar-mobile-icon-btn svg {
    width: var(--navbar-mobile-glyph);
    height: var(--navbar-mobile-glyph);
    font-size: var(--navbar-mobile-glyph);
  }
  .navbar-mobile-icon-btn:hover, .navbar-mobile-icon-btn:focus {
    background-color: rgba(255, 255, 255, 0.12);
    color: #fff !important;
  }
  .navbar-mobile-icon-btn.is-active {
    background-color: rgba(255, 255, 255, 0.18);
    color: #fff !important;
  }
  .navbar-mobile-menu-toggle::after,
  .navbar-mobile-menu .dropdown-toggle::after,
  .navbar-mobile-notification .dropdown-toggle::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    margin: 0 !important;
    vertical-align: unset;
  }
  .navbar-mobile-notification .notification-indicator::before {
    top: 0.3125rem;
    right: 0.3125rem;
    width: 0.5rem;
    height: 0.5rem;
  }
  .navbar-mobile-menu-badge {
    position: absolute;
    top: 0.3125rem;
    right: 0.3125rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: var(--falcon-danger, #e63757);
    box-shadow: 0 0 0 1.5px var(--falcon-primary, #2c7be5);
  }
  .navbar-mobile-menu-panel {
    min-width: 16rem;
    max-width: calc(100vw - 1rem);
    font-size: 0.875rem;
  }
  .navbar-mobile-menu-panel .dropdown-item {
    color: var(--falcon-gray-900, #0b1727);
  }
  .navbar-mobile-menu-panel .dropdown-item:hover,
  .navbar-mobile-menu-panel .dropdown-item:focus {
    color: var(--falcon-gray-900, #0b1727);
  }
  .navbar-mobile-search-panel {
    position: sticky;
    top: var(--falcon-top-nav-height);
    z-index: 1019;
    background-color: var(--falcon-primary, #2c7be5);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    padding-left: max(var(--app-page-gutter, 0.75rem), env(safe-area-inset-left, 0px));
    padding-right: max(var(--app-page-gutter, 0.75rem), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }
  .navbar-mobile-search-panel .container-fluid {
    --falcon-gutter-x: 0 !important;
    --bs-gutter-x: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100%;
    width: 100%;
  }
  .navbar-mobile-search-panel .search-box {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    font-size: 0.9375rem;
  }
  .navbar-mobile-search-panel .search-box .search-input {
    min-height: 2.375rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .navbar-mobile-search-panel .search-box .search-box-icon {
    font-size: 0.875rem;
  }
}
/* prettier-ignore */
