html,body,#root{height:100%;margin:0}:root{--c-text:#3c4655;--c-text-2:#5b6573;--c-text-3:#8a94a3;--c-success:#13894a;--c-warn:#c2410c;--c-danger:#e5484d;--c-info:#1f6fd1;--c-border:#e8eaed;--c-border-light:#eef0f3;--c-border-strong:#d5dae0;--c-line:#e3e6ea;--c-fill:#f7f8fa;--c-bg:#f2f4f7}body{background:var(--c-bg);overflow:hidden}.ant-table-cell,.num{font-variant-numeric:tabular-nums}*{scrollbar-width:thin;scrollbar-color:#d5dae0 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d5dae0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aab2bc}.visit-item:hover{background:#f5f7f9}.year-head:hover{background:#e9edf1!important}.workbench-table .ant-table-tbody>tr>td,.workbench-table .ant-table-tbody>tr:hover>td,.workbench-table .ant-table-tbody>tr>td.ant-table-cell-row-hover{background:#fff}.workbench-table .ant-table-tbody>tr.row-selected>td,.workbench-table .ant-table-tbody>tr.row-selected:hover>td,.workbench-table .ant-table-tbody>tr.row-selected>td.ant-table-cell-row-hover{background:var(--ant-color-primary-bg-hover)}.workbench-table .ant-table-tbody>tr{cursor:pointer}.workbench-table .ant-table-tbody>tr.row-dimmed{opacity:.55}.workbench-table .ant-table-tbody>tr.row-group>td{background:var(--c-fill)!important;padding-top:4px!important;padding-bottom:4px!important}.workbench-table .ant-table-tbody>tr.row-group-empty>td{background:#fff!important;padding:0!important}.search-option .search-actions{visibility:hidden}.ant-select-item-option-active .search-option .search-actions{visibility:visible}.ant-input-number .ant-input-number-handler-wrap{display:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.settings-row:hover{background:var(--ant-color-primary-bg,#0000000a)}.app-menu.ant-menu-dark.ant-menu-inline{padding:4px 0}.app-menu.ant-menu-dark .ant-menu-item,.app-menu.ant-menu-dark .ant-menu-submenu-title{color:#ffffffb8;border-radius:0;width:100%;height:40px;margin:0;line-height:40px;position:relative}.app-menu.ant-menu-dark .ant-menu-item:hover,.app-menu.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background:#ffffff0f}.app-menu.ant-menu-dark .ant-menu-item-selected{color:#fff;background:#ffffff1f;font-weight:600}.app-menu.ant-menu-dark .ant-menu-item-selected:before{content:"";background:#fff;width:2px;position:absolute;top:0;bottom:0;left:0}.app-menu.ant-menu-dark .ant-menu-sub.ant-menu-inline{background:#00000029}.settings-group{background:var(--ant-color-bg-container);border:1px solid var(--c-border);border-radius:4px;overflow:hidden}.settings-group-title{color:var(--c-text-2);background:var(--c-fill);border-bottom:1px solid var(--c-border);padding:8px 16px;font-size:13px;font-weight:600}.settings-group .settings-row{cursor:pointer;align-items:center;gap:12px;height:40px;padding:0 16px;display:flex;position:relative}.settings-group .settings-row+.settings-row{border-top:1px solid var(--c-border-light)}.settings-group .settings-row:hover:before{content:"";background:var(--ant-color-primary);width:2px;position:absolute;top:0;bottom:0;left:0}.workbench-table .ant-table-tbody>tr.row-selected>td:first-child{box-shadow:inset 2px 0 0 var(--ant-color-primary)}.perm-row{white-space:nowrap;border-radius:6px;align-items:center;gap:10px;height:40px;padding:0 8px;display:flex}label.perm-row:hover{background:var(--c-fill)}.perm-name{font-weight:500}.perm-tag{color:var(--c-text-2);background:var(--c-fill);border-radius:4px;padding:0 6px;font-size:12px;line-height:20px}.perm-hint{color:var(--c-text-3);text-overflow:ellipsis;font-size:12px;overflow:hidden}.ant-card,.ant-btn:not(.ant-btn-circle):not(.ant-btn-round){border-radius:4px}.ant-table-thead>tr>th{background:var(--c-fill);color:var(--c-text-2);border-bottom:1px solid var(--c-border);font-size:13px;font-weight:600}.ant-table-tbody>tr>td{border-bottom:1px solid var(--c-border-light)}.ant-table-wrapper .ant-table-tbody>tr.ant-table-expanded-row>td.ant-table-cell{background:var(--ant-color-primary-bg);box-shadow:inset 0 1px 0 var(--c-border), inset 0 -1px 0 var(--c-border);padding:8px 16px 12px 48px}.expand-detail{border:1px solid var(--c-border);border-left:2px solid var(--ant-color-primary);background:#fff;border-radius:4px}.ant-table-wrapper .ant-table-tbody .expand-detail .ant-table-wrapper:only-child .ant-table{margin:0!important}.expand-detail .ant-table-thead>tr>th{color:var(--c-text-3);background:0 0;font-weight:500}.expand-detail .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-input-outlined:not(.ant-input-disabled):not(.ant-input-affix-wrapper-disabled),.ant-input-number-outlined:not(.ant-input-number-disabled),.ant-picker-outlined:not(.ant-picker-disabled),.ant-select-outlined:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background:var(--c-fill);border-color:#0000;border-bottom-color:var(--c-border-strong);box-shadow:none;border-radius:4px 4px 0 0}.ant-input-outlined.ant-input-outlined:focus,.ant-input-affix-wrapper.ant-input-affix-wrapper-focused,.ant-input-number-outlined.ant-input-number-focused,.ant-picker-outlined.ant-picker-focused,.ant-select.ant-select-focused:not(.ant-select-disabled) .ant-select-selector{border-color:#0000;border-bottom:1px solid var(--ant-color-primary);box-shadow:inset 0 -1px 0 var(--ant-color-primary)}.ant-input-outlined.ant-input-status-error,.ant-input-number-status-error,.ant-picker-status-error,.ant-select-status-error:not(.ant-select-disabled) .ant-select-selector{border-bottom-color:var(--c-danger)}.ant-input-affix-wrapper>input.ant-input.ant-input,.ant-input-number-input-wrap>input,.ant-picker-input>input{box-shadow:none;background:0 0;border:0}.ant-modal:not(.ant-modal-confirm) .ant-modal-content{border-radius:4px;padding:0;overflow:hidden}.ant-modal:not(.ant-modal-confirm) .ant-modal-header{background:var(--c-fill);border-bottom:1px solid var(--c-border);margin:0;padding:12px 24px}.ant-modal:not(.ant-modal-confirm) .ant-modal-title{font-size:16px;font-weight:600}.ant-modal:not(.ant-modal-confirm) .ant-modal-body{padding:16px 24px}.ant-modal:not(.ant-modal-confirm) .ant-modal-footer{border-top:1px solid var(--c-border);margin:0;padding:12px 24px}.ant-tag.ant-tag{border-color:#0000;border-radius:4px;padding-inline:6px;font-size:12px;line-height:20px}.ant-tag.ant-tag:not([class*=ant-tag-]):not(.ant-tag-has-color){background:var(--c-border-light);color:var(--c-text-2)}.ant-tabs>.ant-tabs-nav:before{border-bottom:1px solid var(--c-border)}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:600}.ant-empty-image{display:none}.ant-empty{color:var(--c-text-3);margin:16px 0;font-size:13px}.ant-alert{--alert-c:var(--c-info);border:0;border-left:3px solid var(--alert-c);background:color-mix(in srgb, var(--alert-c) 8%, #fff);border-radius:4px}.ant-alert-success{--alert-c:var(--c-success)}.ant-alert-warning{--alert-c:var(--c-warn)}.ant-alert-error{--alert-c:var(--c-danger)}.ant-alert .ant-alert-icon{color:var(--alert-c)}.ant-drawer .ant-drawer-header{background:var(--c-fill);border-bottom:1px solid var(--c-border);padding:12px 24px}.ant-drawer .ant-drawer-title{font-size:16px;font-weight:600}.ant-drawer .ant-drawer-body{padding:16px 24px}.ant-drawer .ant-drawer-footer{border-top:1px solid var(--c-border);padding:12px 24px}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev .ant-pagination-item-link,.ant-pagination .ant-pagination-next .ant-pagination-item-link{border-radius:4px}.ant-pagination .ant-pagination-item-active{background:var(--ant-color-primary-bg);border-color:#0000}.ant-pagination .ant-pagination-item-active a{font-weight:600}.ant-btn.ant-btn:focus-visible,.ant-checkbox-input:focus-visible+.ant-checkbox-inner,.ant-radio-input:focus-visible+.ant-radio-inner,.ant-switch.ant-switch:focus-visible,a:focus-visible{box-shadow:none;outline:2px solid var(--ant-color-primary)!important;outline-offset:1px!important}.ant-table-tbody>tr.ant-table-row:not(.ant-table-row-selected):hover>td{background:var(--c-fill)}.ant-btn:not(.ant-btn-link):not(.ant-btn-text):disabled,.ant-btn:not(.ant-btn-link):not(.ant-btn-text).ant-btn-disabled{background:var(--c-border-light);color:var(--c-text-3);border-color:#0000}.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container,.ant-dropdown .ant-dropdown-menu,.ant-popover .ant-popover-inner{border:1px solid var(--c-border);border-radius:4px;box-shadow:0 2px 8px #00000014}.ant-tooltip .ant-tooltip-inner,.ant-select-dropdown .ant-select-item,.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item{border-radius:4px}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--ant-color-primary-bg);font-weight:600}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-selected):not(.ant-select-item-option-disabled){background:var(--c-fill)}.ant-segmented,.ant-segmented .ant-segmented-item,.ant-segmented .ant-segmented-thumb{border-radius:4px}.ant-input-search .ant-input-wrapper .ant-input-affix-wrapper{border-radius:4px 0 0!important}.ant-input-search .ant-input-wrapper .ant-input-affix-wrapper.ant-input-affix-wrapper-focused{border-bottom:1px solid var(--ant-color-primary)!important;box-shadow:inset 0 -1px 0 var(--ant-color-primary)!important}.ant-input-search .ant-input-search-button:not(.ant-btn-primary){background:var(--c-fill);border-color:#0000;border-bottom-color:var(--c-border-strong);box-shadow:none;border-radius:0 4px 0 0!important}.ant-select-outlined.ant-select-focused:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{border-color:#0000!important;border-bottom:1px solid var(--ant-color-primary)!important;box-shadow:inset 0 -1px 0 var(--ant-color-primary)!important}.ant-input-group-wrapper .ant-input-group-addon,.ant-input-number-group-wrapper .ant-input-number-group-addon{background:var(--c-fill);border-color:#0000;border-bottom-color:var(--c-border-strong);color:var(--c-text-2)}.ant-input-group-wrapper .ant-input-group-addon:last-child,.ant-input-number-group-wrapper .ant-input-number-group-addon:last-child{border-radius:0 4px 0 0}.ant-input-group-wrapper .ant-input-group-addon:first-child,.ant-input-number-group-wrapper .ant-input-number-group-addon:first-child{border-radius:4px 0 0}.ant-picker-range.ant-picker-outlined.ant-picker-focused{border-bottom:1px solid var(--c-border-strong)}.ant-picker.ant-picker-outlined.ant-picker-focused:not(.ant-picker-range):not(.ant-picker-disabled){border-color:#0000!important;border-bottom:1px solid var(--ant-color-primary)!important;box-shadow:inset 0 -1px 0 var(--ant-color-primary)!important;border-radius:4px 4px 0 0!important}.wecom-broadcast-modal .ant-modal-content{padding:28px}.wecom-broadcast-modal .ant-modal-title{font-size:20px}.wecom-broadcast-modal .ant-modal-body{max-height:calc(100dvh - 220px);overflow-y:auto}.broadcast-compose{padding-top:8px}.broadcast-muted,.broadcast-sender{color:var(--c-text-2);font-size:13px}.broadcast-overview,.broadcast-section-heading,.broadcast-footer,.broadcast-history-toolbar,.broadcast-history-title,.broadcast-history-task-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.broadcast-overview{color:var(--c-text-2);margin-bottom:24px;font-size:13px}.broadcast-overview strong{color:var(--c-text);margin:0 3px;font-size:17px}.broadcast-section-heading{margin-bottom:10px}.broadcast-section-heading label{font-weight:600}.broadcast-message textarea.ant-input{resize:vertical;border-color:var(--c-border-strong);border-radius:8px;min-height:100px;max-height:200px;padding:12px 14px;line-height:1.8}.broadcast-recipients{margin-top:16px}.broadcast-recipients .ant-tabs-nav{margin-bottom:0}.broadcast-recipients .ant-tabs-tab{padding:12px 0}.broadcast-list-scroll{height:264px;overflow-y:auto}.broadcast-list-heading{color:var(--c-text-3);justify-content:space-between;padding:10px 12px 8px 44px;font-size:12px;display:flex}.broadcast-recipient-row,.broadcast-phone-row,.broadcast-history-target{border-bottom:1px solid var(--c-border-light);align-items:center;gap:14px;padding:12px;display:flex}.broadcast-recipient-row:hover{background:var(--c-fill)}.broadcast-recipient-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.broadcast-recipient-info strong{font-size:15px;font-weight:500}.broadcast-recipient-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.broadcast-recipient-destination{color:var(--c-text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.broadcast-sender{flex-shrink:0}.broadcast-already-sent{color:var(--c-warn);background:#fff7ed;border-radius:4px;padding:1px 6px;font-size:12px}.broadcast-warning{color:var(--c-warn)}.broadcast-sent{color:var(--c-success)}.broadcast-failed{color:var(--c-danger)}.broadcast-list-note{color:var(--c-text-2);margin:12px;font-size:13px}.broadcast-phone{color:var(--c-text-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.broadcast-confirm-note{color:var(--c-text-2);border-top:1px solid var(--c-border);padding:14px 0 2px;font-size:13px}.wecom-broadcast-modal .ant-modal-footer{margin-top:20px}.broadcast-footer-actions{gap:8px;display:flex}.broadcast-history-card.ant-collapse{border-color:var(--c-border);background:#fff}.broadcast-history-card.ant-collapse>.ant-collapse-item>.ant-collapse-header{align-items:center;padding:18px 20px}.broadcast-history-summary{min-width:0}.broadcast-history-title{flex-wrap:wrap;gap:4px 16px}.broadcast-history-content{color:var(--c-text-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:8px 0 12px;font-size:13px;display:-webkit-box;overflow:hidden}.broadcast-history-counts{flex-wrap:wrap;gap:8px 16px;font-size:13px;display:flex}.broadcast-history-full-content{background:var(--c-fill);color:var(--c-text-2);white-space:pre-wrap;border-radius:6px;margin:0 0 16px;padding:14px;line-height:1.8}.broadcast-history-task+.broadcast-history-task{margin-top:18px}.broadcast-history-task-heading{flex-wrap:wrap;gap:8px;padding-bottom:6px}@media (width<=600px){.wecom-broadcast-modal .ant-modal-content{padding:20px 16px}.broadcast-recipients .ant-tabs-tab+.ant-tabs-tab{margin-left:20px}.broadcast-overview{margin-bottom:18px}.broadcast-footer,.broadcast-overview{gap:8px}.broadcast-sender{font-size:12px}.broadcast-phone-row{padding:12px 4px}}
