/*
 * Company Workbench Design System
 * 基于 public/design/company-workbench/assets/styles.css 整理，
 * 作为全公司后台页面的统一视觉规范。
 *
 * 设计规律：
 * 1. 小字号 + 紧凑间距：基础 13px，标签 10-11px，承载更多信息。
 * 2. 白底卡片 + 浅灰边框 + 5px 圆角 + 淡阴影：区块感强但不厚重。
 * 3. 统一状态色：success/warning/danger/info 四色，全部用柔和背景 + 细边框。
 * 4. 清晰层级：Page Head → Summary Strip → Tabs → Toolbar → Content Grid。
 * 5. 表格规矩：表头浅灰、固定列宽、左对齐、hover/selected 高亮。
 */

.company-workbench {
    --cw-bg: #e7ebef;
    --cw-panel: #ffffff;
    --cw-panel-soft: #f5f7f9;
    --cw-panel-strong: #edf1f4;
    --cw-line: #cbd3dc;
    --cw-line-dark: #aeb8c3;
    --cw-ink: #17212b;
    --cw-text: #273441;
    --cw-muted: #667382;
    --cw-primary: #087f9b;
    --cw-primary-dark: #05677e;
    --cw-primary-soft: #e4f2f5;
    --cw-focus: #2563a8;
    --cw-success: #26734d;
    --cw-success-soft: #e7f4ec;
    --cw-warning: #9a650d;
    --cw-warning-soft: #fff4dc;
    --cw-danger: #a33a32;
    --cw-danger-soft: #fbeceb;
    --cw-info: #315f8a;
    --cw-info-soft: #eaf1f8;
    --cw-shadow: 0 1px 2px rgba(23, 33, 43, .08);

    color: var(--cw-text);
    font-family: "Segoe UI", "Yu Gothic UI", "Meiryo", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.45;
}

/* Modal compatibility: design-system panels inside Bootstrap modals need pointer-events
   so that clicks inside the panel are not treated as backdrop clicks. */
.modal-dialog > .panel,
.modal-dialog > form.panel {
    position: relative;
    pointer-events: auto;
    width: 100%;
}

/* Bootstrap modal-content class may override panel styling; re-assert design-system look. */
.modal-dialog > .panel.modal-content,
.modal-dialog > form.panel.modal-content {
    background: var(--cw-panel) !important;
    border: 1px solid var(--cw-line-dark) !important;
    border-radius: 5px !important;
    box-shadow: 0 12px 36px rgba(15, 23, 42, .24) !important;
}

.company-workbench,
.company-workbench * {
    box-sizing: border-box;
}

/* 覆盖 company-app.css 中强制的 14px 字号，让设计系统字号生效 */
.company-app-mode .company-workbench {
    font-size: 13px !important;
}

/* ---------------- 页面头部 ---------------- */
.company-workbench .page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
}

.company-workbench .page-title {
    margin: 0;
    color: var(--cw-ink);
    font-size: 19px;
    line-height: 1.2;
}

.company-workbench .page-subtitle {
    margin: 3px 0 0;
    color: var(--cw-muted);
    font-size: 12px;
}

/* ---------------- 操作按钮组 ---------------- */
.company-workbench .actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.company-workbench .detail-delete-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 29px;
    margin-top: -29px;
}

@media (max-width: 640px) {
    .company-workbench .detail-delete-footer {
        margin-top: 6px;
    }
}

/* ---------------- 摘要条 ---------------- */
.company-workbench .summary-strip {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) repeat(5, minmax(90px, .7fr));
    margin-bottom: 9px;
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .summary-item {
    min-width: 0;
    min-height: 48px;
    padding: 7px 10px;
    border-right: 1px solid var(--cw-line);
}

.company-workbench .summary-item:last-child {
    border-right: 0;
}

.company-workbench .summary-label {
    display: block;
    margin-bottom: 3px;
    color: var(--cw-muted);
    font-size: 12px;
    font-weight: 600;
}

.company-workbench .summary-value {
    display: block;
    overflow: hidden;
    color: var(--cw-ink);
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench .summary-value.primary {
    color: var(--cw-primary-dark);
}

/* ---------------- Tab 栏 ---------------- */
.company-workbench .tabs {
    display: flex;
    align-items: center;
    gap: 1px;
    min-height: 39px;
    margin-bottom: 9px;
    padding: 0 5px;
    overflow: hidden;
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .tab {
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    padding: 0 11px;
    color: var(--cw-muted);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
}

.company-workbench .tab:hover {
    color: var(--cw-ink);
    background: #f8fafb;
}

.company-workbench .tab.is-active {
    color: var(--cw-primary-dark);
    border-bottom-color: var(--cw-primary);
    font-weight: 700;
}

/* ---------------- 工具栏 ---------------- */
.company-workbench .toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 43px;
    margin-bottom: 9px;
    padding: 6px 8px;
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .toolbar-group {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 6px;
    flex-wrap: wrap;
}

/* ---------------- 分段控件 ---------------- */
.company-workbench .segmented {
    display: inline-flex;
    align-items: center;
    padding: 2px;
    background: var(--cw-panel-strong);
    border: 1px solid var(--cw-line-dark);
    border-radius: 4px;
}

.company-workbench .segment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 9px;
    color: var(--cw-muted);
    background: transparent;
    border: 0;
    border-radius: 3px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.company-workbench .segment:hover {
    color: var(--cw-ink);
    background: rgba(255, 255, 255, .5);
}

.company-workbench .segment.is-active {
    color: var(--cw-primary-dark);
    background: #fff;
    box-shadow: 0 1px 2px rgba(23, 33, 43, .12);
    font-weight: 700;
}

/* ---------------- 分页 ---------------- */
.company-workbench .pagination {
    display: flex;
    gap: 3px;
}

.company-workbench .page-number {
    display: inline-grid;
    place-items: center;
    min-width: 25px;
    height: 25px;
    padding: 0 6px;
    color: #34414e;
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 3px;
    text-decoration: none;
    white-space: nowrap;
}

.company-workbench .page-number.is-active {
    color: #fff;
    background: var(--cw-primary);
    border-color: var(--cw-primary-dark);
}

.company-workbench .page-number:disabled,
.company-workbench .page-number[aria-disabled="true"] {
    color: var(--cw-muted);
    background: var(--cw-panel-soft);
    cursor: not-allowed;
}

.company-workbench .pagination .page-item {
    display: inline-flex;
    margin: 0;
    list-style: none;
}

.company-workbench .pagination .page-item .page-link {
    display: inline-grid;
    place-items: center;
    min-width: 25px;
    height: 25px;
    margin: 0;
    padding: 0 6px;
    color: #34414e;
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 3px;
    text-decoration: none;
    font-size: 12px;
    line-height: 1;
}

.company-workbench .pagination .page-item.active .page-link,
.company-workbench .pagination .page-item .page-link.active {
    color: #fff;
    background: var(--cw-primary);
    border-color: var(--cw-primary-dark);
}

.company-workbench .pagination .page-item.disabled .page-link {
    color: var(--cw-muted);
    background: var(--cw-panel-soft);
    cursor: not-allowed;
}

.company-workbench .pagination svg,
.company-workbench .pagination .page-link svg {
    width: 12px;
    height: 12px;
}

.company-workbench .pagination-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
}

.company-workbench .pagination-per-page-summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--cw-muted);
    font-size: 12px;
    white-space: nowrap;
}

.company-workbench .pagination-per-page-summary strong {
    color: var(--cw-ink);
}

.company-workbench .table-footer-summary {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
    font-size: 12px;
}

/* ---------------- 按钮 ---------------- */
.company-workbench .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding: 0 10px;
    color: #263441;
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 4px;
    box-shadow: var(--cw-shadow);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-size: 12px;
}

.company-workbench .btn:hover {
    border-color: #7e8e9d;
    background: #f7f9fa;
}

.company-workbench .btn-primary {
    color: #fff;
    background: var(--cw-primary);
    border-color: var(--cw-primary-dark);
}

.company-workbench .btn-primary:hover {
    background: var(--cw-primary-dark);
}

.company-workbench .btn-xs {
    min-height: 23px;
    padding: 0 7px;
    font-size: 12px;
}

.company-workbench .btn-icon {
    width: 29px;
    min-width: 29px;
    padding: 0;
    font-size: 15px;
}

/* ---------------- 表单控件 ---------------- */
.company-workbench .control,
.company-workbench .select,
.company-workbench .textarea {
    min-height: 29px;
    color: var(--cw-ink);
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 3px;
    outline: none;
    font-size: 12px;
}

.company-workbench .control,
.company-workbench .select {
    padding: 0 8px;
}

.company-workbench .control:focus,
.company-workbench .select:focus,
.company-workbench .textarea:focus {
    border-color: var(--cw-focus);
    box-shadow: 0 0 0 2px rgba(37, 99, 168, .12);
}

.company-workbench .search-control {
    width: min(220px, 18vw);
}

.company-workbench .control-sm {
    width: 104px;
}

.company-workbench .tour-lst-filter-form {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
}

.company-workbench .group-list-search-toolbar .toolbar-group,
.company-workbench .group-list-search-form {
    width: 100%;
}

.company-workbench .group-list-search-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.company-workbench .group-list-search-field {
    display: inline-block;
    flex: 0 0 auto;
    min-width: 0;
}

.company-workbench .group-list-search-field > .control,
.company-workbench .group-list-search-field > .select,
.company-workbench .group-list-search-field > .select2-container {
    width: 100% !important;
}

.company-workbench .group-list-search-date {
    width: 112px;
}

.company-workbench .group-list-search-keyword {
    width: 150px;
}

.company-workbench .group-list-search-agency {
    width: 150px;
}

.company-workbench .group-list-search-staff {
    width: 120px;
}

.company-workbench .group-list-search-branch {
    width: 130px;
}

.company-workbench .group-list-search-status {
    width: 150px;
}

.company-workbench .group-list-search-date-type {
    width: 130px;
}

.company-workbench .group-list-search-separator {
    flex: 0 0 auto;
    color: var(--cw-muted);
}

.company-workbench .group-list-search-submit {
    min-height: 29px;
    white-space: nowrap;
}

/* Group reservation list: keep the dense workbench structure while clarifying each layer. */
.company-workbench.group-reservation-list-workbench .page-head {
    align-items: center;
    min-height: 30px;
    padding: 4px 10px;
    margin-bottom: 6px;
}

.company-workbench.group-reservation-list-workbench .group-list-page-nav {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    min-width: 0;
}

.company-workbench.group-reservation-list-workbench .group-list-page-nav-button {
    display: inline-flex;
    height: 28px;
    padding: 0 12px;
    align-items: center;
    justify-content: center;
    color: #405a6b;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    background: #f8fafb;
    border: 1px solid #a9bac6;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(30, 51, 65, .08);
    cursor: default;
    transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}

.company-workbench.group-reservation-list-workbench a.group-list-page-nav-button {
    cursor: pointer;
}

.company-workbench.group-reservation-list-workbench .group-list-page-nav-button:hover {
    color: #274b5e;
    background: #edf4f7;
    border-color: #7896a7;
}

.company-workbench.group-reservation-list-workbench .group-list-page-nav-button.is-active {
    background: #3f6f86;
    color: #fff;
    border-color: #315e73;
    box-shadow: 0 1px 2px rgba(30, 51, 65, .18), inset 0 -1px 0 rgba(0, 0, 0, .12);
}

.company-workbench.group-reservation-list-workbench .group-list-page-nav-button.is-active:hover {
    color: #fff;
    background: #365f74;
    border-color: #2d5365;
}

.company-workbench.group-reservation-list-workbench .group-list-page-nav-button:focus-visible {
    outline: 2px solid #2c6f8f;
    outline-offset: 2px;
}

.company-workbench.group-reservation-list-workbench .group-request-book-download-button {
    margin-left: auto;
    gap: 5px;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-request-book-download-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.company-workbench.group-reservation-list-workbench .group-list-inline-summary {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    min-width: 0;
    overflow-x: auto;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-item {
    display: inline-flex;
    position: relative;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    min-height: 22px;
    padding: 0 11px;
    border-left: 1px solid #cbd4dc;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-item:first-child {
    border-left: 0;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-item::before {
    width: 4px;
    height: 14px;
    flex: 0 0 4px;
    content: "";
    background: #8795a3;
    border-radius: 1px;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-item.summary-new::before {
    background: #4e78a1;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-item.summary-danger::before {
    background: #c28a2c;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-item.summary-confirmed::before {
    background: #4d8a61;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-label {
    color: #5f6d7b;
    font-size: 11px;
    line-height: 1;
}

.company-workbench.group-reservation-list-workbench .group-list-summary-value {
    color: #17212b;
    font-size: 12px;
    line-height: 1;
}

.company-workbench .group-list-search-toolbar {
    min-height: 46px;
    padding: 7px 8px;
    background: #f3f6f8;
    border-color: #bac5cf;
    box-shadow: 0 1px 2px rgba(23, 33, 43, .07);
}

.company-workbench .group-list-search-form {
    gap: 6px;
}

.company-workbench .group-list-search-field {
    vertical-align: middle;
}

.company-workbench .group-list-search-toolbar .control,
.company-workbench .group-list-search-toolbar .select {
    min-height: 30px;
    background: #fff;
    border-color: #b8c4ce;
}

.company-workbench .group-list-search-toolbar .select2-container .select2-selection--single {
    height: 30px !important;
    min-height: 30px !important;
    background: #fff !important;
    border: 1px solid #b8c4ce !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}

.company-workbench .group-list-search-toolbar .select2-container .select2-selection--single:hover,
.company-workbench .group-list-search-toolbar .control:hover,
.company-workbench .group-list-search-toolbar .select:hover {
    border-color: #8999a8 !important;
}

.company-workbench .group-list-search-toolbar .select2-container--focus .select2-selection--single,
.company-workbench .group-list-search-toolbar .select2-container--open .select2-selection--single {
    border-color: var(--cw-focus) !important;
    box-shadow: 0 0 0 2px rgba(37, 99, 168, .11) !important;
}

.company-workbench .group-list-search-toolbar .select2-selection--single .select2-selection__rendered {
    padding-right: 25px;
    padding-left: 8px;
    color: var(--cw-ink);
    line-height: 28px !important;
}

.company-workbench .group-list-search-toolbar .group-list-clearable-select .select2-selection--single .select2-selection__rendered {
    padding-right: 48px;
}

.company-app-mode .company-workbench .group-list-search-toolbar .select2-container--bootstrap-5.group-list-clearable-select .select2-selection--single .select2-selection__clear {
    position: absolute;
    top: 50%;
    right: 25px;
    z-index: 3;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    color: #667482;
    background: #e7edf2;
    border: 0;
    border-radius: 50%;
    font-size: 14px;
    line-height: 1;
    transform: translateY(-50%);
}

.company-app-mode .company-workbench .group-list-search-toolbar .select2-container--bootstrap-5.group-list-clearable-select .select2-selection--single .select2-selection__clear:hover {
    color: #a52f35;
    background: #f8e2e4;
}

.company-workbench .group-list-search-toolbar .select2-selection--single .select2-selection__arrow {
    height: 28px !important;
}

.company-workbench .group-list-search-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    color: #687786;
}

.company-workbench .group-list-search-submit {
    gap: 5px;
    min-height: 30px;
    box-shadow: 0 1px 2px rgba(5, 103, 126, .18);
}

.company-workbench.group-reservation-list-workbench .group-list-panel {
    overflow: hidden;
    border-color: #aebbc6;
    box-shadow: 0 2px 8px rgba(40, 57, 70, .09);
}

.company-workbench.group-reservation-list-workbench .group-list-panel > .panel-head {
    min-height: 36px;
    padding: 6px 9px;
    flex-wrap: nowrap;
    overflow: hidden;
    background: #f4f7f9;
    border-bottom-color: #b8c2cc;
}

.company-workbench.group-reservation-list-workbench .group-list-panel-head > .panel-title {
    flex: 0 0 auto;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-table th {
    height: 36px;
    padding: 7px 8px;
    color: #223442;
    vertical-align: middle;
    background: #dfe7ee;
    border-top: 1px solid #c2ced8;
    border-right-color: #c6d1da;
    border-bottom-color: #aebcc7;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(1),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(2),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(3),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(5),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(9),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(10),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(11),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(14),
.company-workbench.group-reservation-list-workbench .group-list-table th:nth-child(15) {
    text-align: center !important;
}

.company-workbench.group-reservation-list-workbench .group-list-table td {
    height: 46px;
    padding: 7px 8px;
    color: #283b49;
    line-height: 1.35;
    vertical-align: middle;
    background: #fff;
    border-right-color: #d7e0e7;
    border-bottom-color: #d5dfe6;
}

.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(1),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(2),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(3),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(5),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(9),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(10),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(11),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(14),
.company-workbench.group-reservation-list-workbench .group-list-table td:nth-child(15) {
    text-align: center;
}

.company-workbench.group-reservation-list-workbench .group-list-table .group-list-select-cell {
    width: 44px;
    padding-right: 5px;
    padding-left: 5px;
    text-align: center !important;
}

.company-workbench.group-reservation-list-workbench .group-list-select-checkbox {
    width: 15px;
    height: 15px;
    margin: 0;
    vertical-align: middle;
    accent-color: #36768d;
    cursor: pointer;
}

.company-workbench.group-reservation-list-workbench .group-list-table tbody tr:nth-child(even) td {
    background: #f8fafc;
}

.company-workbench.group-reservation-list-workbench .group-list-table .group-list-data-row td {
    transition: background-color .14s ease, box-shadow .14s ease;
}

.company-workbench.group-reservation-list-workbench .group-list-table .group-list-data-row:hover td {
    background: #edf5f7;
}

.company-workbench.group-reservation-list-workbench .group-list-table .group-list-data-row:hover td:first-child {
    box-shadow: inset 3px 0 0 #3f7f95;
}

.company-workbench.group-reservation-list-workbench .group-list-table a {
    color: #135a7a;
    text-decoration: none;
}

.company-workbench.group-reservation-list-workbench .group-list-table a:hover {
    color: #074965;
    text-decoration: underline;
}

.company-workbench.group-reservation-list-workbench .group-list-agt-toggle {
    display: inline-flex;
    min-height: 25px;
    padding: 3px 7px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #223442;
    font: inherit;
    line-height: 1;
    text-decoration: none;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 4px;
}

.company-workbench.group-reservation-list-workbench .group-list-agt-toggle i {
    color: #718493;
    font-size: 10px;
}

.company-workbench.group-reservation-list-workbench .group-list-agt-toggle:hover {
    color: #174e66;
    text-decoration: none;
    background: #f6f9fb;
    border-color: #a7bbc8;
}

.company-workbench.group-reservation-list-workbench .group-list-agt-toggle.is-active {
    color: #fff;
    background: #3f7187;
    border-color: #315f74;
    box-shadow: 0 1px 2px rgba(30, 62, 78, .2);
}

.company-workbench.group-reservation-list-workbench .group-list-agt-toggle.is-active i {
    color: #fff;
}

.company-workbench.group-reservation-list-workbench .group-list-table .cell-main {
    color: #173e5b;
    line-height: 1.35;
}

.company-workbench.group-reservation-list-workbench .group-list-cell-stack {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.company-workbench.group-reservation-list-workbench .group-list-cell-primary {
    max-width: 100%;
    color: #173e5b;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.company-workbench.group-reservation-list-workbench .group-list-cell-secondary {
    max-width: 100%;
    color: #5d6b78;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.company-workbench.group-reservation-list-workbench .group-list-agency-group-row td {
    height: 34px;
    padding: 6px 11px;
    text-align: left !important;
    background: #edf3f6;
    border-top: 2px solid #88a6b6;
    border-right-color: #c4d2db;
    border-bottom-color: #bacbd5;
}

.company-workbench.group-reservation-list-workbench .group-list-agency-heading {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #294b5d;
    line-height: 1;
}

.company-workbench.group-reservation-list-workbench .group-list-agency-heading > i {
    width: 16px;
    color: #4c7b90;
    font-size: 12px;
    text-align: center;
}

.company-workbench.group-reservation-list-workbench .group-list-agency-name {
    font-size: 13px;
    font-weight: 700;
}

.company-workbench.group-reservation-list-workbench .group-list-agency-count {
    display: inline-flex;
    min-height: 20px;
    padding: 2px 7px;
    align-items: center;
    color: #476070;
    font-size: 11px;
    font-weight: 600;
    background: #fff;
    border: 1px solid #b8c9d3;
    border-radius: 10px;
}

.company-workbench.group-reservation-list-workbench .group-list-search-calendar-days {
    width: 108px;
    flex: 0 0 108px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-panel {
    position: relative;
    overflow: visible;
    border-color: #aebfca;
    box-shadow: 0 2px 7px rgba(42, 62, 76, .1);
}

.company-workbench.group-reservation-list-workbench .group-list-info-panel {
    overflow: hidden;
    background: #f7fafb;
    border-color: #b9c8d1;
    border-radius: 4px;
    box-shadow: 0 2px 7px rgba(42, 62, 76, .1);
}

.company-workbench.group-reservation-list-workbench .group-list-info-scroll {
    overflow-x: auto;
    background: #fff;
    scrollbar-color: #8ea4b2 #edf2f5;
    scrollbar-width: thin;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table {
    width: 100%;
    min-width: 1140px;
    margin: 0;
    color: #263946;
    font-size: 11px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table th,
.company-workbench.group-reservation-list-workbench .group-list-info-table td {
    height: 42px;
    padding: 6px 8px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
    background: #fff;
    border-right: 1px solid #d6e0e6;
    border-bottom: 1px solid #d6e0e6;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table thead th {
    height: 40px;
    color: #1d3949;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    background: #dfe8ed;
    border-bottom-color: #aebfc9;
    box-shadow: inset 0 -1px 0 rgba(77, 105, 121, .08);
}

.company-workbench.group-reservation-list-workbench .group-list-info-table tbody + tbody tr:first-child > * {
    border-top: 2px solid #8fa8b6;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table tbody.group-list-info-group:nth-of-type(even) td {
    background: #fbfcfd;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table tbody tr:hover td {
    background: #eef6f8;
}

.company-workbench.group-reservation-list-workbench .group-list-info-tour-column {
    width: 18%;
    min-width: 300px;
}

.company-workbench.group-reservation-list-workbench .group-list-info-date-column {
    width: 7%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-hotel-column {
    width: 9%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer-column {
    width: 9%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-room-column {
    width: 8%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-bus-arrangement-column {
    width: 7%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-bus-company-column {
    width: 10%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-vehicle-column {
    width: 9%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-guide-column {
    width: 13%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-guide-cell-column {
    width: 14%;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table th.group-list-info-tour-column {
    position: sticky;
    left: 0;
    z-index: 2;
    padding: 9px 11px;
    vertical-align: top;
    background: #f5f9fb;
    border-left: 3px solid #6f91a4;
    box-shadow: 2px 0 0 rgba(123, 145, 158, .18);
}

.company-workbench.group-reservation-list-workbench .group-list-info-table thead th.group-list-info-tour-column {
    z-index: 3;
    padding: 7px 10px;
    vertical-align: middle;
    background: #dfe7ec;
    border-left-color: transparent;
}

.company-workbench.group-reservation-list-workbench .group-list-info-date {
    color: #355467;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    text-align: center !important;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer-cell {
    text-align: center !important;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer {
    margin-right: 3px;
    margin-bottom: 2px;
    display: inline-flex;
    min-width: 40px;
    height: 22px;
    padding: 0 5px;
    align-items: center;
    justify-content: center;
    color: #667984;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(38, 68, 83, .08);
}

.company-workbench.group-reservation-list-workbench .group-list-info-hotel-self-arranged {
    display: inline-flex;
    height: 18px;
    margin-left: 4px;
    padding: 0 6px;
    align-items: center;
    justify-content: center;
    color: #f59e0b;
    border: 1px solid #000;
    border-radius: 2px;
    background: #000;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
}

.company-workbench.group-reservation-list-workbench .group-list-info-hotel-request {
    display: inline-flex;
    width: 20px;
    height: 18px;
    margin-left: 4px;
    padding: 0;
    align-items: center;
    justify-content: center;
    color: #111827;
    border: 1px solid #b45309;
    border-radius: 3px;
    background: #f59e0b;
    font-size: 10px;
    line-height: 1;
    vertical-align: middle;
    cursor: pointer;
}

.company-workbench.group-reservation-list-workbench .group-list-info-hotel-request:hover {
    background: #d97706;
    color: #fff;
}

.company-workbench.group-reservation-list-workbench .group-list-info-hotel-self-arranged.is-hidden,
.company-workbench.group-reservation-list-workbench .group-list-info-hotel-request.is-hidden {
    display: none;
}

#infoHotelConfigModal .info-hotel-config-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

#infoHotelConfigModal .info-hotel-config-row.mb-0 {
    margin-bottom: 0;
}

#infoHotelConfigModal .info-hotel-config-row label {
    flex: 0 0 120px;
    margin: 0;
    color: #374151;
    font-size: 12px;
}

#infoHotelConfigModal .info-hotel-config-row .select,
#infoHotelConfigModal .info-hotel-config-row .control {
    flex: 1 1 auto;
    min-width: 0;
    height: 30px;
    padding: 4px 8px;
    border: 1px solid #b8c6d0;
    border-radius: 3px;
    background: #fff;
    font-size: 13px;
}

.company-workbench.group-reservation-list-workbench .group-list-info-table td[data-info-hotel]:not([data-info-hotel=""]),
.company-workbench.group-reservation-list-workbench .group-list-info-table td[data-info-bus-company]:not([data-info-bus-company=""]),
.company-workbench.group-reservation-list-workbench .group-list-info-table td[data-info-guide]:not([data-info-guide=""]) {
    color: #20475b;
    font-weight: 600;
}

.company-workbench.group-reservation-list-workbench .group-list-info-tour-column .group-list-calendar-tour-summary {
    gap: 7px;
}

.company-workbench.group-reservation-list-workbench .group-list-info-tour-column .group-list-calendar-tour-head {
    min-height: 22px;
    padding-bottom: 5px;
    border-bottom: 1px solid #d8e3e9;
}

.company-workbench.group-reservation-list-workbench .group-list-info-tour-column .group-list-calendar-tour-details {
    gap: 6px;
}

.company-workbench.group-reservation-list-workbench .group-list-info-tour-column .group-list-calendar-tour-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
}

.company-workbench.group-reservation-list-workbench .group-list-info-tour-column .group-list-calendar-action {
    height: 23px;
    border-color: #b5c6d0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 1px 1px rgba(39, 65, 79, .05);
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-un {
    color: #475569;
    background: #e2e8f0;
}

.group-reservation-list-workbench .group-list-info-answer.is-ok {
    color: #166534;
    background: #dcfce7;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-wt {
    color: #92400e;
    background: #fef3c7;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-ng {
    color: #991b1b;
    background: #fee2e2;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-new {
    color: #314156;
    background: #eef2f6;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-change {
    color: #7c4a03;
    background: #fff7d6;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-final {
    color: #1d4ed8;
    background: #dbeafe;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-cxl {
    color: #7a1b1b;
    background: #fee2e2;
}

.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-blk {
    color: #5e2770;
    background: #dfc0eb;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-scroll {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-scroll::-webkit-scrollbar {
    height: 0;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-bottom-scroll {
    position: sticky;
    bottom: 0;
    z-index: 6;
    display: block;
    width: 100%;
    height: 14px;
    margin-top: 1px;
    padding: 3px 0;
    overflow-x: auto;
    overflow-y: hidden;
    background: #f2f5f6;
    border-top: 1px solid #c9d5dc;
    scrollbar-color: #708896 #dfe7eb;
    scrollbar-width: thin;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-bottom-scroll[hidden] {
    display: none;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-bottom-scroll::-webkit-scrollbar {
    height: 9px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-bottom-scroll::-webkit-scrollbar-track {
    background: #edf1f3;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-bottom-scroll::-webkit-scrollbar-thumb {
    background: #708896;
    border: 2px solid #edf1f3;
    border-radius: 5px;
}

.company-workbench.group-reservation-list-workbench [data-calendar-bottom-scroll-track="1"] {
    height: 1px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-table {
    width: max-content;
    min-width: 100%;
    margin: 0;
    color: #20323f;
    font-size: 12px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-table th,
.company-workbench.group-reservation-list-workbench .group-list-calendar-table td {
    height: 78px;
    padding: 0;
    background: #fff;
    border-right: 1px solid #c9d5dc;
    border-bottom: 1px solid #c9d5dc;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-table thead th,
.company-workbench.group-reservation-list-workbench .group-list-calendar-table tfoot th {
    height: 42px;
    color: #1f313e;
    font-weight: 600;
    text-align: center;
    background: #e8edf1;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-table tbody tr:hover td,
.company-workbench.group-reservation-list-workbench .group-list-calendar-table tbody tr:hover th {
    background-color: #f7fafb;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-column {
    position: sticky;
    left: 0;
    z-index: 3;
    width: 300px;
    min-width: 300px;
    max-width: 300px;
    padding: 8px 10px !important;
    text-align: left !important;
    background: #f8fafb !important;
    box-shadow: 2px 0 0 rgba(139, 159, 172, .25);
}

.company-workbench.group-reservation-list-workbench thead .group-list-calendar-tour-column,
.company-workbench.group-reservation-list-workbench tfoot .group-list-calendar-tour-column {
    z-index: 4;
    background: #e1e8ed !important;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-date,
.company-workbench.group-reservation-list-workbench .group-list-calendar-cell {
    width: 110px;
    min-width: 110px;
    max-width: 110px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-date span {
    display: inline;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-date.is-saturday {
    color: #0562ba;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-date.is-sunday {
    color: #d33131;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-cell.is-saturday,
.company-workbench.group-reservation-list-workbench .group-list-calendar-cell.is-sunday {
    background: #fbfcfd;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-cell.is-active {
    background: #d5edf3;
    box-shadow: inset 0 2px 0 #67aabd, inset 0 -2px 0 #67aabd;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-cell.is-active:hover {
    background: #c3e4ec;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-booking {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 76px;
    padding: 5px;
    align-items: flex-start;
    color: #164b61;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-booking:hover {
    color: #0b3c50;
    text-decoration: none;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-day-detail {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-rows: repeat(3, minmax(18px, auto));
    gap: 3px;
    align-content: start;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-badges {
    display: flex;
    align-items: center;
    gap: 2px;
    min-width: 0;
    min-height: 18px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-badges .group-list-calendar-hotel-status {
    flex: 0 0 auto;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-badges .group-list-calendar-hotel-status.is-empty {
    flex: 1 1 auto;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status,
.company-workbench.group-reservation-list-workbench .group-list-calendar-bus-status {
    display: block;
    min-width: 0;
    overflow: hidden;
    font-size: 10px;
    font-weight: 600;
    line-height: 18px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel {
    color: #233946;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status {
    padding: 0 4px;
    border-radius: 2px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-un { color: #475569; background: #e2e8f0; }
.group-list-calendar-hotel-status.is-new { color: #314156; background: #eef2f6; }
.group-list-calendar-hotel-status.is-change { color: #7c4a03; background: #fff7d6; }
.group-list-calendar-hotel-status.is-ok { color: #166534; background: #dcfce7; }

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-wt { color: #92400e; background: #fef3c7; }

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-ng { color: #991b1b; background: #fee2e2; }

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-final { color: #1d4ed8; background: #dbeafe; }

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-cxl { color: #7a1b1b; background: #fee2e2; }

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-blk {
    color: #5e2770;
    background: #dfc0eb;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-bus-status {
    color: #344b59;
    font-weight: 500;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel.is-empty,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-empty,
.company-workbench.group-reservation-list-workbench .group-list-calendar-bus-status.is-empty {
    color: transparent;
    background: #fff4d6;
    border-left: 3px solid #d9a52e;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-summary {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-head,
.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-head {
    flex-wrap: nowrap;
    gap: 5px;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-details {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-sequence {
    display: inline;
    width: auto;
    height: auto;
    flex: 0 0 auto;
    color: #425b6b;
    background: transparent;
    font-size: 12px;
    font-weight: 400;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-brief {
    display: inline-flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    overflow: hidden;
    color: #435765;
    font-size: 11px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-pax {
    flex: 0 0 54px;
    width: 54px;
    height: 22px;
    margin: 0;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-pax .is-calendar-empty {
    background: transparent;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-pax.has-calendar-missing .pax-final::after {
    content: "/";
    color: #111;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-meta {
    gap: 5px;
    overflow: hidden;
    justify-content: flex-end;
    color: #627380;
    font-size: 11px;
    font-weight: 400;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-guide {
    display: inline-flex;
    min-width: 0;
    gap: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-guide > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-agency {
    min-width: 0;
    margin-left: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-name {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 5px;
    color: #173e5b;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-name > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-id {
    display: inline-flex;
    min-width: 22px;
    height: 20px;
    padding: 0 5px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 3px;
    background: #35586f;
    font-size: 11px;
    font-weight: 400;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-name:hover {
    color: #07526f;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-tour-actions {
    display: grid;
    grid-template-columns: repeat(4, 64px);
    gap: 4px;
    justify-content: start;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-action {
    display: inline-flex;
    min-width: 0;
    height: 24px;
    padding: 0 3px;
    align-items: center;
    justify-content: center;
    color: #294252;
    border: 1px solid #aebdc7;
    border-radius: 2px;
    background: #fff;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.company-workbench.group-reservation-list-workbench button.group-list-calendar-action {
    font-family: inherit;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-action:hover {
    color: #fff;
    border-color: #39788d;
    background: #39788d;
    text-decoration: none;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-action.is-primary {
    color: #fff;
    border-color: #07829a;
    background: #078ca5;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-action.is-primary:hover {
    border-color: #056c80;
    background: #05768c;
}

.company-workbench.group-reservation-list-workbench .group-list-calendar-action.is-disabled {
    color: #9aa7af;
    border-color: #d4dce1;
    background: #f3f5f6;
    cursor: not-allowed;
}

.calendar-bus-sheet-dialog {
    max-width: 440px;
}

.calendar-bus-sheet-tour {
    min-height: 20px;
    margin-bottom: 10px;
    color: #244252;
    font-size: 12px;
    font-weight: 700;
}

.calendar-bus-sheet-field {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    color: #3e5260;
    font-size: 12px;
    font-weight: 600;
}

.calendar-bus-sheet-field .select {
    width: 100%;
}

.company-workbench.group-reservation-list-workbench .group-list-table .action-cell .btn {
    min-width: 44px;
    color: #263f52;
    background: #fff;
    border-color: #aebdca;
}

.company-workbench.group-reservation-list-workbench .group-list-table .action-cell .btn:hover {
    color: #fff;
    text-decoration: none;
    background: #36768d;
    border-color: #2a657a;
}

.company-workbench .toolbar-group.is-filter {
    flex-wrap: nowrap;
}

.company-workbench .control-xs {
    width: 64px;
    padding: 0 5px;
    font-size: 12px;
}

.company-workbench .control-md {
    width: 160px;
}

/* ---------------- 内容区两栏布局 ---------------- */
.company-workbench .content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 10px;
    align-items: start;
}

/* ---------------- 面板 ---------------- */
.company-workbench .panel {
    min-width: 0;
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 37px;
    padding: 6px 9px;
    background: var(--cw-panel-soft);
    border-bottom: 1px solid var(--cw-line);
    border-radius: 5px 5px 0 0;
}

.company-workbench .panel-title {
    min-width: 0;
    margin: 0;
    color: var(--cw-ink);
    font-size: 13px;
    font-weight: 700;
}

.company-workbench .panel-meta {
    color: var(--cw-muted);
    font-size: 12px;
    white-space: nowrap;
}

.company-workbench .panel-body {
    padding: 9px;
}

.company-workbench .panel-foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 37px;
    padding: 6px 9px;
    background: var(--cw-panel-soft);
    border-top: 1px solid var(--cw-line);
    border-radius: 0 0 5px 5px;
}

/* ---------------- 右侧边栏 ---------------- */
.company-workbench .right-rail {
    position: sticky;
    top: 12px;
    display: grid;
    gap: 9px;
}

.company-workbench .rail-section {
    padding: 9px;
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .rail-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 0 0 8px;
    color: var(--cw-ink);
    font-size: 12px;
}

.company-workbench .rail-list,
.company-workbench .detail-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.company-workbench .rail-list li,
.company-workbench .detail-list li {
    border-top: 1px solid #e5e9ed;
    padding: 7px 0;
}

.company-workbench .rail-list li:first-child,
.company-workbench .detail-list li:first-child {
    border-top: 0;
}

.company-workbench .rail-list li {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.company-workbench .rail-list span:last-child {
    color: var(--cw-ink);
    font-weight: 700;
    text-align: right;
}

.company-workbench .detail-label {
    display: block;
    color: var(--cw-muted);
    font-size: 12px;
}

.company-workbench .detail-value {
    display: block;
    margin-top: 2px;
    color: var(--cw-ink);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.company-workbench .rail-alert {
    padding: 7px 8px;
    margin-bottom: 6px;
    color: #6f4c0d;
    background: var(--cw-warning-soft);
    border-left: 3px solid #d49a2e;
    border-radius: 2px;
    font-size: 12px;
}

.company-workbench .rail-alert:last-child {
    margin-bottom: 0;
}

/* ---------------- 状态标签 ---------------- */
.company-workbench .status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 1px 6px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.company-workbench .status-success {
    color: var(--cw-success);
    background: var(--cw-success-soft);
    border-color: #b9ddc8;
}

.company-workbench .status-warning {
    color: var(--cw-warning);
    background: var(--cw-warning-soft);
    border-color: #ead29e;
}

.company-workbench .status-danger {
    color: var(--cw-danger);
    background: var(--cw-danger-soft);
    border-color: #e5bab6;
}

.company-workbench .status-info {
    color: var(--cw-info);
    background: var(--cw-info-soft);
    border-color: #c5d6e6;
}

.company-workbench .status-secondary {
    color: var(--cw-muted);
    background: var(--cw-panel-strong);
    border-color: var(--cw-line-dark);
}

/* ---------------- 表格 ---------------- */
.company-workbench .status-group-cxl {
    color: #b42318;
    background: #fde8e7;
    border-color: #efb9b5;
}

.company-workbench .status-group-danger {
    color: #875500;
    background: #fff1c7;
    border-color: #e5c66e;
}

.company-workbench .status-group-new {
    color: #315d83;
    background: #e7f0f7;
    border-color: #b9cedf;
}

.company-workbench .status-group-confirmed {
    color: #216e3a;
    background: #e2f3e7;
    border-color: #acd5b9;
}

.company-workbench .status-group-closed {
    color: #0f6872;
    background: #e0f2f3;
    border-color: #a8d4d7;
}

.company-workbench .status-group-final {
    color: #2f4772;
    background: #e7ebf4;
    border-color: #b8c3d8;
}

.company-workbench .dense-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.company-workbench .dense-table th,
.company-workbench .dense-table td {
    min-width: 0;
    padding: 7px 6px;
    vertical-align: top;
    border-right: 1px solid #e1e6eb;
    border-bottom: 1px solid #dbe1e7;
    overflow-wrap: break-word;
    word-break: normal;
}

.company-workbench .dense-table th:last-child,
.company-workbench .dense-table td:last-child {
    border-right: 1px solid #e1e6eb;
}

.company-workbench .dense-table th {
    position: sticky;
    top: 0;
    z-index: 5;
    color: #34414e;
    background: #e8edf1;
    border-bottom-color: var(--cw-line-dark);
    font-size: 12px;
    text-align: left;
}

.company-workbench .dense-table tbody tr:hover td {
    background: #f8fbfc;
}

.company-workbench .dense-table tbody tr.is-selected td {
    background: #edf7f9;
}

.company-workbench .dense-table td.pax-cell {
    padding: 3px 4px;
    vertical-align: middle;
}

.company-workbench .pax-pair {
    display: grid;
    grid-template-columns: 27px 27px;
    width: max-content;
    height: 25px;
    margin: 0 auto;
}

.company-workbench .pax-part {
    display: flex;
    align-items: center;
    width: 27px;
    height: 25px;
    min-width: 0;
    padding: 0;
    line-height: 1;
    white-space: nowrap;
}

.company-workbench .pax-part.pax-final {
    justify-content: flex-end;
    color: #173f83;
}

.company-workbench .pax-part.pax-basic {
    justify-content: flex-start;
    color: #111111;
}

.company-workbench .pax-pair.has-both .pax-final::after {
    content: "/";
    color: #111111;
}

.company-workbench .pax-pair.has-missing {
    column-gap: 2px;
}

.company-workbench .pax-pair.has-missing .pax-part:not(.is-missing) {
    justify-content: center;
}

.company-workbench .pax-part.is-missing {
    background: #ff626b;
}

.company-workbench .group-final-inline-cell {
    padding: 3px 5px;
    vertical-align: middle;
}

.company-workbench .group-final-inline-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.company-workbench .group-final-inline-input {
    width: 100%;
    min-width: 0;
    height: 28px;
    padding: 0 6px;
    color: var(--cw-ink);
    font: inherit;
    text-align: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 3px;
    outline: 0;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
    appearance: textfield;
}

.company-workbench .group-final-inline-input::-webkit-outer-spin-button,
.company-workbench .group-final-inline-input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.company-workbench .group-final-inline-input:hover {
    background: #fff;
    border-color: #c4d0da;
}

.company-workbench .group-final-inline-input:focus {
    background: #fff;
    border-color: #287a96;
    box-shadow: 0 0 0 2px rgba(40, 122, 150, .13);
}

.company-workbench .group-final-inline-input.is-saving {
    color: var(--cw-muted);
    background: #f4f7f9;
}

.company-workbench .group-final-inline-input.is-saved {
    border-color: #65a77b;
}

.company-workbench .group-final-inline-input.is-error {
    border-color: #cf4f56;
    box-shadow: 0 0 0 2px rgba(207, 79, 86, .12);
}

.company-workbench .group-final-inline-status {
    position: absolute;
    right: 0;
    bottom: calc(100% + 3px);
    z-index: 12;
    display: none;
    min-width: max-content;
    padding: 3px 6px;
    color: #fff;
    font-size: 11px;
    line-height: 1.25;
    background: #397d50;
    border-radius: 3px;
    box-shadow: 0 2px 7px rgba(25, 39, 52, .2);
    pointer-events: none;
}

.company-workbench .group-final-inline-status.is-visible {
    display: block;
}

.company-workbench .group-final-inline-status.is-error {
    background: #b94047;
}

.company-workbench .cell-main {
    display: block;
    color: var(--cw-ink);
    font-weight: 700;
}

.company-workbench .cell-sub {
    display: block;
    margin-top: 2px;
    color: var(--cw-muted);
    font-size: 12px;
    line-height: 1.35;
}

.company-workbench .cell-link {
    color: #076e88;
    font-weight: 700;
    text-decoration: none;
}

.company-workbench .cell-link:hover {
    text-decoration: underline;
}

/* ---------------- Tour LST 表格专用 ---------------- */
.company-workbench.tour-workbench .tour-lst-scroll {
    overflow: auto;
    max-height: none;
}

.company-workbench .tour-group-cell {
    background: #f7f9fa;
    border-left: 3px solid #6c94a3;
}

.company-workbench .tour-lst-tbody.is-blk .tour-group-cell {
    background: #f2f7fb;
    border-left-color: #4a7da6;
}

.company-workbench .tour-group-cell .cell-link {
    font-size: 12px;
}

.company-workbench .tour-group-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    margin-top: 6px;
    padding-top: 6px;
    color: #6c7885;
    border-top: 1px solid #d8e0e6;
    font-size: 12px;
}

.company-workbench .tour-lst-code {
    font-family: Consolas, "SFMono-Regular", monospace;
}

.company-workbench .tour-lst-pax {
    margin-left: auto;
    font-weight: 700;
}

.company-workbench .day-cell {
    text-align: center;
}

.company-workbench .day-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 18px;
    padding: 1px 6px;
    color: #9f2f2f;
    background: #fbecec;
    border: 1px solid #ebc6c6;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.company-workbench .day-label {
    display: block;
    margin-top: 3px;
    color: #2f3d4a;
    font-family: Consolas, "SFMono-Regular", monospace;
    font-size: 12px;
    font-weight: 700;
}

.company-workbench .day-label.is-sunday {
    color: #c92a2a;
}

.company-workbench .day-label.is-saturday {
    color: #1971c2;
}

.company-workbench .day-label.is-holiday {
    color: #c92a2a;
}

.company-workbench .tour-lst-no-days,
.company-workbench .tour-lst-empty,
.company-workbench .empty-state {
    text-align: center;
    color: var(--cw-muted);
    padding: 24px;
    font-size: 12px;
}

.company-workbench .status-cell,
.company-workbench .action-cell {
    text-align: center;
}

.company-workbench .dense-table tbody tr.is-alt td {
    background: #f8fafc;
}

/* ---------------- 日程/餐食 ---------------- */
.company-workbench .schedule-block {
    margin-bottom: 4px;
    padding-bottom: 4px;
    border-bottom: 1px dashed #d6dde4;
}

.company-workbench .schedule-block:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.company-workbench .schedule-time {
    color: var(--cw-primary-dark);
    font-size: 12px;
    font-weight: 700;
}

.company-workbench .meal-line {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 3px;
    font-size: 12px;
    line-height: 1.35;
}

.company-workbench .meal-line:last-child {
    margin-bottom: 0;
}

.company-workbench .meal-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 15px;
    padding: 0 3px;
    color: var(--cw-primary-dark);
    background: var(--cw-primary-soft);
    border: 1px solid var(--cw-primary);
    border-radius: 2px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.company-workbench .meal-line span:not(.meal-code) {
    color: var(--cw-text);
}

.company-workbench .meal-line.is-empty span:not(.meal-code) {
    color: var(--cw-muted);
}

.company-workbench .supplier {
    color: #9c322b;
    font-weight: 700;
}

.company-workbench .btn-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding: 0 8px;
    color: var(--cw-muted);
    background: transparent;
    border: 0;
    text-decoration: none;
    white-space: nowrap;
}

.company-workbench .btn-text:hover {
    color: var(--cw-text);
    text-decoration: none;
    background: #f1f4f6;
}

/* ---------------- 进度条 ---------------- */
.company-workbench .rail-list-bars li {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 8px;
    align-items: center;
}

.company-workbench .rail-list-bars span {
    color: var(--cw-muted);
    font-size: 12px;
}

.company-workbench .progress-bar {
    position: relative;
    height: 14px;
    overflow: hidden;
    background: var(--cw-panel-strong);
    border: 1px solid var(--cw-line);
    border-radius: 3px;
}

.company-workbench .progress-bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: var(--progress, 0%);
    height: 100%;
    background: linear-gradient(180deg, #6abeda 0%, var(--cw-primary) 100%);
    border-radius: 2px;
    transition: width .2s ease;
}

.company-workbench .progress-bar b {
    position: relative;
    z-index: 1;
    display: block;
    padding: 0 5px;
    color: var(--cw-ink);
    font-size: 12px;
    font-weight: 700;
    line-height: 12px;
    text-align: right;
}

/* ---------------- BLK 弹窗 ---------------- */
.company-workbench ~ .blk-modal-overlay,
.blk-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1060;
    align-items: center;
    justify-content: center;
    background: rgba(23, 33, 43, .45);
}

.blk-modal-overlay[data-blk-create-overlay="1"] {
    z-index: 1070;
}

.blk-modal-overlay.is-open {
    display: flex;
}

.company-workbench .route-text {
    color: var(--cw-text);
    font-size: 12px;
    line-height: 1.5;
}

.company-workbench .tour-info-line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 6px;
    margin-bottom: 3px;
    font-size: 12px;
    line-height: 1.45;
}

.company-workbench .tour-info-line:last-child {
    margin-bottom: 0;
}

.company-workbench .tour-line-label {
    flex: 0 0 auto;
    min-width: 38px;
    color: var(--cw-muted);
    font-weight: 600;
    white-space: nowrap;
}

.company-workbench .tour-info-line span:not(.tour-line-label) {
    color: var(--cw-text);
}

/* ---------------- 分页/表格底部 ---------------- */
.company-workbench .table-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 36px !important;
    height: auto !important;
    padding: 5px 8px !important;
    color: var(--cw-muted, #667382) !important;
    background: var(--cw-panel-soft, #f5f7f9) !important;
    border-top: 1px solid var(--cw-line, #cbd3dc) !important;
    border-radius: 0 0 5px 5px !important;
    box-sizing: border-box !important;
}

.company-workbench .save-state {
    color: var(--cw-success);
    font-size: 12px;
    font-weight: 700;
}

/* ---------------- 表单布局 ---------------- */
.company-workbench .form-stack {
    display: grid;
    gap: 9px;
}

.company-workbench .form-band {
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .form-band-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    padding: 5px 8px;
    background: var(--cw-panel-soft);
    border-bottom: 1px solid var(--cw-line);
    border-radius: 5px 5px 0 0;
}

.company-workbench .form-band-title {
    margin: 0;
    color: var(--cw-ink);
    font-size: 12px;
}

.company-workbench .form-band-body {
    padding: 9px;
}

.company-workbench .field-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 8px 9px;
}

.company-workbench .field-grid > .hotel-location-linkage {
    grid-column: span 12;
}

.company-workbench .field {
    grid-column: span 3;
    min-width: 0;
}

.company-workbench .field.span-1 { grid-column: span 1; }
.company-workbench .field.span-2 { grid-column: span 2; }
.company-workbench .field.span-3 { grid-column: span 3; }
.company-workbench .field.span-4 { grid-column: span 4; }
.company-workbench .field.span-5 { grid-column: span 5; }
.company-workbench .field.span-6 { grid-column: span 6; }
.company-workbench .field.span-7 { grid-column: span 7; }
.company-workbench .field.span-8 { grid-column: span 8; }
.company-workbench .field.span-9 { grid-column: span 9; }
.company-workbench .field.span-10 { grid-column: span 10; }
.company-workbench .field.span-11 { grid-column: span 11; }
.company-workbench .field.span-12 { grid-column: span 12; }

.company-workbench .field-label {
    display: block;
    margin-bottom: 3px;
    color: var(--cw-muted);
    font-size: 12px;
    font-weight: 600;
}

.company-workbench .field-label.required::after {
    content: " *";
    color: var(--cw-danger);
}

.company-workbench .field .control,
.company-workbench .field .select,
.company-workbench .field .textarea {
    width: 100%;
}

.company-workbench .field .textarea {
    min-height: 66px;
    padding: 7px 8px;
    resize: vertical;
}

.company-workbench .field-help,
.company-workbench .field-error {
    display: block;
    margin-top: 3px;
    font-size: 12px;
}

.company-workbench .field-help {
    color: var(--cw-muted);
}

.company-workbench .field-error {
    display: none;
    color: var(--cw-danger);
}

.company-workbench .field.is-invalid .control,
.company-workbench .field.is-invalid .select,
.company-workbench .field.is-invalid .textarea {
    background: var(--cw-danger-soft);
    border-color: var(--cw-danger);
}

.company-workbench .field.is-invalid .field-error {
    display: block;
}

.company-workbench .readonly {
    background: #f1f3f5;
    color: #596674;
}

/* ---------------- Toast ---------------- */
.company-workbench .toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 100;
    min-width: 260px;
    max-width: 380px;
    padding: 10px 12px;
    color: #fff;
    background: #24313c;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 5px;
    box-shadow: 0 10px 28px rgba(23, 33, 43, .24);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}

.company-workbench .toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---------------- 原型提示 ---------------- */
.company-workbench .prototype-note {
    padding: 7px 9px;
    color: #526171;
    background: #eef3f6;
    border: 1px dashed #aebac6;
    border-radius: 4px;
    font-size: 12px;
}

/* ---------------- Bootstrap 兼容层：让现有页面无需重写结构即可接入设计系统 ---------------- */
.company-workbench .card {
    background: var(--cw-panel);
    border: 1px solid var(--cw-line-dark);
    border-radius: 5px;
    box-shadow: var(--cw-shadow);
}

.company-workbench .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 37px;
    padding: 6px 9px;
    background: var(--cw-panel-soft);
    border-bottom: 1px solid var(--cw-line);
    border-radius: 5px 5px 0 0;
}

.company-workbench .card-header .card-title,
.company-workbench .card-header h5,
.company-workbench .card-header h6 {
    margin: 0;
    color: var(--cw-ink);
    font-size: 13px;
    font-weight: 700;
}

.company-workbench .card-body {
    padding: 9px;
}

.company-workbench .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 40px;
    padding: 6px 8px;
    color: var(--cw-muted);
    background: var(--cw-panel-soft);
    border-top: 1px solid var(--cw-line);
    border-radius: 0 0 5px 5px;
}

.company-workbench .table {
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    color: var(--cw-text);
    font-size: 12px;
}

.company-workbench .table th,
.company-workbench .table td {
    min-width: 0;
    padding: 7px 6px;
    vertical-align: top;
    border-right: 1px solid #e1e6eb;
    border-bottom: 1px solid #dbe1e7;
    overflow-wrap: anywhere;
}

.company-workbench .table th:last-child,
.company-workbench .table td:last-child {
    border-right: 0;
}

.company-workbench .table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    color: #34414e;
    background: #e8edf1;
    border-bottom-color: var(--cw-line-dark);
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.company-workbench .table tbody tr:hover td {
    background: #f8fbfc;
}

.company-workbench .table tbody tr.is-selected td,
.company-workbench .table tbody tr.selected td {
    background: #edf7f9;
}

.company-workbench .table .text-muted {
    color: var(--cw-muted) !important;
}

.company-workbench .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding: 0 10px;
    color: #263441;
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 4px;
    box-shadow: var(--cw-shadow);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.3;
}

.company-workbench .btn:hover {
    border-color: #7e8e9d;
    background: #f7f9fa;
    color: #263441;
}

.company-workbench .btn-primary {
    color: #fff;
    background: var(--cw-primary);
    border-color: var(--cw-primary-dark);
}

.company-workbench .btn-primary:hover {
    background: var(--cw-primary-dark);
    color: #fff;
}

.company-workbench .btn-outline-primary {
    color: var(--cw-primary-dark);
    background: #fff;
    border-color: var(--cw-primary);
}

.company-workbench .btn-outline-primary:hover {
    color: #fff;
    background: var(--cw-primary);
}

.company-workbench .btn-outline-secondary {
    color: var(--cw-muted);
    background: #fff;
    border-color: var(--cw-line-dark);
}

.company-workbench .btn-outline-secondary:hover {
    color: var(--cw-text);
    background: var(--cw-panel-soft);
}

.company-workbench .btn-outline-danger {
    color: var(--cw-danger);
    background: #fff;
    border-color: #d9a09b;
}

.company-workbench .btn-outline-danger:hover {
    color: #fff;
    background: var(--cw-danger);
    border-color: var(--cw-danger);
}

.company-workbench .btn-sm,
.company-workbench .btn-xs {
    min-height: 23px;
    padding: 0 7px;
    font-size: 12px;
}

.company-workbench .btn-close {
    width: 20px;
    height: 20px;
    min-height: 20px;
    padding: 0;
    background: transparent var(--bs-btn-close-bg) center / 12px auto no-repeat;
    border: 0;
    box-shadow: none;
}

.company-workbench .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 1px 6px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.company-workbench .badge.bg-success {
    color: var(--cw-success);
    background: var(--cw-success-soft) !important;
    border-color: #b9ddc8;
}

.company-workbench .badge.bg-secondary {
    color: var(--cw-muted);
    background: var(--cw-panel-strong) !important;
    border-color: var(--cw-line-dark);
}

.company-workbench .badge.bg-info {
    color: var(--cw-info);
    background: var(--cw-info-soft) !important;
    border-color: #c5d6e6;
}

.company-workbench .badge.bg-warning {
    color: var(--cw-warning);
    background: var(--cw-warning-soft) !important;
    border-color: #ead29e;
}

.company-workbench .badge.bg-danger {
    color: var(--cw-danger);
    background: var(--cw-danger-soft) !important;
    border-color: #e5bab6;
}

.company-workbench .form-control,
.company-workbench .form-select {
    min-height: 29px;
    height: 29px;
    padding: 0 8px;
    color: var(--cw-ink);
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 3px;
    outline: none;
    font-size: 12px;
    line-height: 1.3;
    box-shadow: none;
}

.company-workbench .form-control:focus,
.company-workbench .form-select:focus {
    border-color: var(--cw-focus);
    box-shadow: 0 0 0 2px rgba(37, 99, 168, .12);
    background: #fff;
}

.company-workbench textarea.form-control {
    height: auto;
    min-height: 66px;
    padding: 7px 8px;
}

.company-workbench .input-group-sm > .form-control,
.company-workbench .input-group-sm > .form-select,
.company-workbench .input-group-sm > .input-group-text,
.company-workbench .input-group-sm > .btn {
    min-height: 29px;
    height: 29px;
    padding: 0 8px;
    font-size: 12px;
}

.company-workbench .pagination {
    display: flex;
    gap: 3px;
    margin: 0;
}

.company-workbench .pagination .page-item .page-link {
    display: inline-grid;
    place-items: center;
    min-width: 25px;
    height: 25px;
    margin: 0;
    padding: 0 6px;
    color: #34414e;
    background: #fff;
    border: 1px solid var(--cw-line-dark);
    border-radius: 3px;
    text-decoration: none;
    font-size: 12px;
    line-height: 1;
}

.company-workbench .pagination .page-item.active .page-link,
.company-workbench .pagination .page-item .page-link.active {
    color: #fff;
    background: var(--cw-primary);
    border-color: var(--cw-primary-dark);
}

.company-workbench .pagination .page-item.disabled .page-link {
    color: var(--cw-muted);
    background: var(--cw-panel-soft);
}

.company-workbench .pagination svg,
.company-workbench .pagination .page-link svg {
    width: 12px;
    height: 12px;
}

/* ---------------- 响应式 ---------------- */
@media (max-width: 1320px) {
    .company-workbench .content-grid {
        grid-template-columns: minmax(0, 1fr) 245px;
    }

    .company-workbench .summary-strip {
        grid-template-columns: minmax(190px, 1.2fr) repeat(5, minmax(78px, .65fr));
    }

    .company-workbench .summary-item {
        padding-inline: 7px;
    }

    .company-workbench .tab {
        padding-inline: 8px;
    }
}

/* ---------------- company-app 模式覆盖：对抗 company-app.css 的 body.company-app-mode * { font-size: 14px !important; } ---------------- */
.company-app-mode .company-workbench .page-title { font-size: 19px !important; }
.company-app-mode .company-workbench .page-subtitle { font-size: 12px !important; }
.company-app-mode .company-workbench .summary-label { font-size: 12px !important; }
.company-app-mode .company-workbench .summary-value { font-size: 13px !important; }
.company-app-mode .company-workbench .tab { font-size: 13px !important; }
.company-app-mode .company-workbench .segment { font-size: 12px !important; }
.company-app-mode .company-workbench .page-number,
.company-app-mode .company-workbench .pagination .page-link { font-size: 12px !important; }
.company-app-mode .company-workbench .btn { font-size: 12px !important; }
.company-app-mode .company-workbench .btn-xs,
.company-app-mode .company-workbench .btn-sm { font-size: 12px !important; }
.company-app-mode .company-workbench .control,
.company-app-mode .company-workbench .select,
.company-app-mode .company-workbench .textarea,
.company-app-mode .company-workbench .form-control,
.company-app-mode .company-workbench .form-select { font-size: 12px !important; }
.company-app-mode .company-workbench .control-xs { font-size: 12px !important; }
.company-app-mode .company-workbench .panel-title,
.company-app-mode .company-workbench .card-header .card-title,
.company-app-mode .company-workbench .card-header h5,
.company-app-mode .company-workbench .card-header h6 { font-size: 13px !important; }
.company-app-mode .company-workbench .panel-meta { font-size: 12px !important; }
.company-app-mode .company-workbench .rail-title { font-size: 12px !important; }
.company-app-mode .company-workbench .detail-label { font-size: 12px !important; }
.company-app-mode .company-workbench .detail-value { font-size: 13px !important; }
.company-app-mode .company-workbench .rail-alert { font-size: 12px !important; }
.company-app-mode .company-workbench .rail-list span { font-size: 13px !important; }
.company-app-mode .company-workbench .status,
.company-app-mode .company-workbench .badge { font-size: 12px !important; }
.company-app-mode .company-workbench .dense-table th,
.company-app-mode .company-workbench .table thead th { font-size: 12px !important; text-align: left !important; }
.company-app-mode .company-workbench .dense-table td,
.company-app-mode .company-workbench .table td { font-size: 13px !important; }
.company-app-mode .company-workbench .cell-main { font-size: 13px !important; }
.company-app-mode .company-workbench .cell-sub { font-size: 12px !important; }
.company-app-mode .company-workbench .cell-link { font-size: 12px !important; }
.company-app-mode .company-workbench .tour-group-meta { font-size: 12px !important; }
.company-app-mode .company-workbench .day-number { font-size: 12px !important; }
.company-app-mode .company-workbench .day-label { font-size: 12px !important; }
.company-app-mode .company-workbench .tour-lst-empty,
.company-app-mode .company-workbench .empty-state { font-size: 12px !important; }
.company-app-mode .company-workbench .schedule-time { font-size: 12px !important; }
.company-app-mode .company-workbench .meal-line { font-size: 12px !important; }
.company-app-mode .company-workbench .btn-text { font-size: 12px !important; }
.company-app-mode .company-workbench .progress-bar b { font-size: 12px !important; }
.company-app-mode .company-workbench .route-text { font-size: 12px !important; }
.company-app-mode .company-workbench .tour-info-line { font-size: 12px !important; }
.company-app-mode .company-workbench .tour-line-label { font-size: 12px !important; }
.company-app-mode .company-workbench .form-band-title { font-size: 12px !important; }
.company-app-mode .company-workbench .field-label { font-size: 12px !important; }
.company-app-mode .company-workbench .field-help,
.company-app-mode .company-workbench .field-error { font-size: 12px !important; }
.company-app-mode .company-workbench .prototype-note { font-size: 12px !important; }
.company-app-mode .company-workbench .save-state { font-size: 12px !important; }
.company-app-mode .company-workbench .toast { font-size: 12px !important; }

/* ---------------- 全局布局辅助（不依赖 .company-workbench 包裹） ---------------- */
.cw-alert {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 32px 9px 12px;
    margin-bottom: 0;
    border: 1px solid transparent;
    border-left-width: 4px;
    border-radius: 0;
    font-size: 12px;
    line-height: 1.45;
}

.cw-alert-danger {
    color: var(--cw-danger, #a33a32);
    background: var(--cw-danger-soft, #fbeceb);
    border-color: #e5bab6;
    border-left-color: var(--cw-danger, #a33a32);
}

.cw-alert-success {
    color: var(--cw-success, #26734d);
    background: var(--cw-success-soft, #e7f4ec);
    border-color: #b9ddc8;
    border-left-color: var(--cw-success, #26734d);
}

.cw-alert .btn-close {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    min-height: 20px;
    padding: 0;
    background: transparent var(--bs-btn-close-bg, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23667382'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e")) center / 12px auto no-repeat;
    border: 0;
    box-shadow: none;
    opacity: 0.6;
}

.cw-alert .btn-close:hover {
    opacity: 1;
}

.app-header {
    height: 48px;
    background: #fff;
    border-bottom: 1px solid var(--cw-line-dark, #aeb8c3);
}

.company-app-mode .app-header {
    height: 48px;
    background: #fff;
    border-bottom: 1px solid var(--cw-line-dark, #aeb8c3);
}

.app-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    padding: 0 12px;
}

.app-header-start,
.app-header-end {
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-menu-toggle {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    color: var(--cw-text, #273441);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.user-menu-toggle:hover {
    color: var(--cw-ink, #17212b);
    background: var(--cw-panel-soft, #f5f7f9);
    border-color: var(--cw-line, #cbd3dc);
}

.dropdown-menu .menu-icon {
    width: 18px;
    margin-right: 6px;
    text-align: center;
    color: var(--cw-muted, #667382);
}

.dropdown-menu .logout-item {
    color: var(--cw-danger, #a33a32);
}

.dropdown-menu .logout-item:hover,
.dropdown-menu .logout-item:focus {
    color: #fff;
    background: var(--cw-danger, #a33a32);
}

.dropdown-menu .logout-item:hover .menu-icon,
.dropdown-menu .logout-item:focus .menu-icon {
    color: #fff;
}

/* ---------------- 自定义复选框 ---------------- */
.cw-checkbox {
    width: 14px;
    height: 14px;
    margin: 0 6px 0 0;
    accent-color: var(--cw-primary, #087f9b);
    cursor: pointer;
    vertical-align: middle;
}

.cw-checkbox-label {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    color: var(--cw-ink, #17212b);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.cw-checkbox-label .status {
    margin-left: 6px;
}

/* ============================================
   状态徽章全局统一母版(覆盖各页面局部样式)
   回答: UN/OK/WT/NG  狀態: 新規/変更/Final/CXL/BLK
   ============================================ */
.company-workbench .hotel-current-status,
.company-workbench .hotel-response-badge,
.company-workbench.group-reservation-list-workbench .group-list-info-answer,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status,
.company-workbench .other-reservation-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 22px !important;
    min-height: 22px !important;
    min-width: 40px !important;
    padding: 0 7px !important;
    border: 1px solid transparent !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 2px 2px 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.company-workbench .hotel-current-status.is-empty,
.company-workbench .hotel-response-badge.is-empty,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-empty,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-empty {
    border-color: #cbd5e1 !important;
    border-style: dashed !important;
    background: #f8fafc !important;
    color: transparent !important;
}

/* UN 灰 */
.company-workbench .hotel-current-status.status-un,
.company-workbench .hotel-response-badge.hotel-response-un,
.company-workbench .hotel-response-badge.hotel-state-un,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-un,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-un,
.company-workbench .other-reservation-badge.is-un {
    border-color: #94a3b8 !important;
    background: #e2e8f0 !important;
    color: #475569 !important;
}

/* OK 绿 */
.company-workbench .hotel-current-status.status-ok,
.company-workbench .hotel-response-badge.hotel-response-ok,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-ok,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-ok,
.company-workbench .other-reservation-badge.is-ok {
    border-color: #86c99a !important;
    background: #dcfce7 !important;
    color: #166534 !important;
}

/* WT 黄 */
.company-workbench .hotel-current-status.status-wt,
.company-workbench .hotel-response-badge.hotel-response-wt,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-wt,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-wt,
.company-workbench .other-reservation-badge.is-wt {
    border-color: #e4bd5b !important;
    background: #fef3c7 !important;
    color: #92400e !important;
}

/* NG 红 */
.company-workbench .hotel-current-status.status-ng,
.company-workbench .hotel-response-badge.hotel-response-ng,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-ng,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-ng,
.company-workbench .other-reservation-badge.is-ng,
.company-workbench .other-reservation-badge.is-cancel {
    border-color: #ef9a9a !important;
    background: #fee2e2 !important;
    color: #991b1b !important;
}

/* 新規 灰蓝 */
.company-workbench .hotel-current-status.status-new,
.company-workbench .hotel-response-badge.hotel-state-new,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-new,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-new,
.company-workbench .other-reservation-badge.is-new {
    border-color: #a8b7c7 !important;
    background: #eef2f6 !important;
    color: #314156 !important;
}

/* 変更 浅黄 */
.company-workbench .hotel-current-status.status-change,
.company-workbench .hotel-response-badge.hotel-state-change,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-change,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-change,
.company-workbench .other-reservation-badge.is-change {
    border-color: #e4bd5b !important;
    background: #fff7d6 !important;
    color: #7c4a03 !important;
}

/* Final 蓝 */
.company-workbench .hotel-current-status.status-final,
.company-workbench .hotel-response-badge.hotel-response-final,
.company-workbench .hotel-response-badge.hotel-state-final,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-final,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-final,
.company-workbench .other-reservation-badge.is-final {
    border-color: #8db6eb !important;
    background: #dbeafe !important;
    color: #1d4ed8 !important;
}

/* CXL 浅红(深字区别于NG) */
.company-workbench .hotel-current-status.status-cxl,
.company-workbench .hotel-response-badge.hotel-response-cxl,
.company-workbench .hotel-response-badge.hotel-state-cxl,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-cxl,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-cxl {
    border-color: #ef9a9a !important;
    background: #fee2e2 !important;
    color: #7a1b1b !important;
}

/* BLK 紫 */
.company-workbench .hotel-current-status.status-blk,
.company-workbench .hotel-response-badge.hotel-response-blk,
.company-workbench .hotel-response-badge.hotel-state-blk,
.company-workbench.group-reservation-list-workbench .group-list-info-answer.is-blk,
.company-workbench.group-reservation-list-workbench .group-list-calendar-hotel-status.is-blk {
    border-color: #b8a3c9 !important;
    background: #dfc0eb !important;
    color: #5e2770 !important;
}
