
/* Keep the profile unframed, but give its dense dashboard a controlled reading width. */
.content:has(.lead-prototype-layout) {
  margin: 16px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.content:has(.ledger-panel) .ledger-toolbar {
  flex: 0 0 auto;
}

.content:has(.user-management-claude-page) .user-list-toolbar,
.content:has(.assignment-case-list-panel) .assignment-case-toolbar {
  flex: 0 0 auto;
}

.content:has(.ledger-panel) .ledger-panel {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.ledger-table-wrap {
  overflow: auto;
  min-height: calc(100vh - 188px);
  max-height: calc(100vh - 264px);
}

.content:has(.ledger-panel) .ledger-table-wrap {
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
}

.table {
  margin-bottom: 0;
}

.table > :not(caption) > * > * {
  padding: 13px 18px;
  white-space: nowrap;
  vertical-align: middle;
}

.table td strong {
  font-weight: 500;
}

.table thead th {
  background: #fafbff;
  color: #566077;
  border-bottom: 1px solid var(--lr-border);
  font-weight: 600;
}

.data-table thead th {
  position: sticky;
  top: 0;
  z-index: 6;
}

.table tbody td {
  color: #2d3548;
  border-color: #eef2f8;
}

.table-hover > tbody > tr:hover > * {
  background-color: #f7f9ff;
}

.wide-table {
  overflow-x: auto;
}

.wide-table table {
  min-width: 1380px;
}

.select-col {
  width: 44px;
  min-width: 44px;
}

.assignment-ledger-table .select-col {
  width: 112px;
  min-width: 112px;
}

.assignment-unavailable-reason {
  max-width: 82px;
  display: inline-block;
  margin-left: 6px;
  color: #a05a00;
  font-size: 11px;
  line-height: 1.25;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.dt-container .dt-search,
.dt-container .dt-length,
.dt-container .dt-info,
.dt-container .dt-paging,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  display: none;
}

.lr-ant-table-filter {
  width: 240px;
  padding: 12px;
}

.lr-ant-table-filter .ant-input {
  margin-bottom: 10px;
}

.lr-ant-date-filter input[type="date"] {
  width: 100%;
  height: 36px;
  margin-bottom: 8px;
  padding: 0 10px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
}

.has-sticky-actions {
  --sticky-action-width: 136px;
  --sticky-action-shadow: -4px 0 10px rgba(0, 0, 0, .06);
  --sticky-action-border: #ececec;
}

.has-sticky-actions thead th:last-child,
.has-sticky-actions tbody td:last-child {
  position: sticky;
  right: 0;
  width: var(--sticky-action-width);
  min-width: var(--sticky-action-width);
  max-width: var(--sticky-action-width);
  padding-left: 20px;
  padding-right: 20px;
  background: #fff;
  background-clip: padding-box;
  border-left: 1px solid var(--sticky-action-border);
  box-shadow: var(--sticky-action-shadow);
  text-align: left;
  white-space: nowrap;
}

.has-sticky-actions thead th:last-child {
  position: sticky !important;
  top: 0;
  right: 0;
  left: auto;
  z-index: 16;
  background: #fafbff;
}

.has-sticky-actions tbody td:last-child {
  z-index: 10;
}

.has-sticky-actions tbody tr:hover td:last-child {
  background: #f7f9ff;
}

.assignment-sticky-table {
  --assignment-select-width: 64px;
  --assignment-contract-width: 260px;
}

.assignment-result-table.assignment-sticky-table {
  --assignment-contract-width: 230px;
}

.assignment-sticky-table .select-col,
.assignment-sticky-table .assignment-contract-col {
  position: sticky;
  background: #fff;
  white-space: nowrap;
}

.assignment-sticky-table .select-col {
  left: 0;
  width: var(--assignment-select-width);
  min-width: var(--assignment-select-width);
  max-width: var(--assignment-select-width);
  z-index: 12;
  text-align: center;
}

.assignment-sticky-table .assignment-contract-col {
  left: var(--assignment-select-width);
  width: var(--assignment-contract-width);
  min-width: var(--assignment-contract-width);
  max-width: var(--assignment-contract-width);
  z-index: 11;
  box-shadow: 10px 0 18px rgba(31, 41, 55, .06);
}

.assignment-sticky-table thead .select-col {
  z-index: 18;
  background: #fafbff;
}

.assignment-sticky-table thead .assignment-contract-col {
  z-index: 17;
  background: #fafbff;
}

.assignment-sticky-table tbody tr:hover .select-col,
.assignment-sticky-table tbody tr:hover .assignment-contract-col {
  background: #f7f9ff;
}

.assignment-filter-drawer {
  width: min(760px, 100vw);
}

.status-pill,
.record-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 0 9px;
  font-size: 12px;
  font-weight: 600;
}

.status-pill.completed,
.record-status.valid {
  color: var(--lr-green);
  background: #e6f5ee;
}

.status-pill.completed_with_issues,
.status-pill.processing {
  color: var(--lr-amber);
  background: #fff4d8;
}

.record-status.invalid {
  color: var(--lr-red);
  background: #fde7e4;
}

.status-pill.failed {
  color: var(--lr-red);
  background: #fde7e4;
}

.page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--lr-muted);
  font-size: 13px;
  font-weight: 600;
}

.page-breadcrumb a {
  color: var(--lr-primary);
  text-decoration: none;
}

.page-breadcrumb a::after {
  content: "/";
  margin-left: 8px;
  color: #a5adbc;
}

.import-record-workbench .import-record-panel {
  min-height: 0;
  flex: 1 1 auto;
  margin: 0 16px 16px;
}

.import-record-list {
  display: grid;
  gap: 12px;
}

.import-day-card {
  border: 1px solid var(--lr-border);
  background: #fff;
}

.import-day-header {
  width: 100%;
  min-height: 54px;
  border: 0;
  background: #fcfcfc;
  color: #555;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) repeat(3, minmax(110px, auto)) 28px;
  align-items: center;
  gap: 18px;
  padding: 0 20px;
  text-align: left;
  font-weight: 600;
}

.import-day-title {
  color: #222;
  font-weight: 600;
}

.day-caret,
.issue-toggle {
  color: #606a80;
}

.import-record-table-wrap {
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: auto;
}

.import-record-table {
  min-width: 1320px;
}

.clickable-row {
  cursor: pointer;
}

.file-name-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 240px;
}

.file-name-cell strong {
  display: block;
  color: #222;
  font-weight: 600;
}

.file-name-cell small {
  display: block;
  margin-top: 4px;
  color: var(--lr-muted);
  font-size: 12px;
}

.issue-toggle {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 6px;
  background: #f1f4fb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.issue-count {
  color: var(--lr-green);
  font-weight: 600;
}

.issue-count.danger {
  color: var(--lr-red);
}

.table-actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}

.table-actions form {
  margin: 0;
}

.action-link {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--lr-blue);
  font-weight: 500;
}

.action-link:hover,
.table-link:hover {
  color: #2948f0;
}

.link-danger.action-link,
.action-link.link-danger {
  color: #e02d49;
}

.issue-detail-row > td {
  padding: 0 !important;
  background: #fbfcff;
}

.issue-detail-list {
  display: grid;
  gap: 8px;
  padding: 14px 20px 18px 64px;
  border-top: 1px solid #eef2f8;
}

.issue-detail-item {
  display: grid;
  grid-template-columns: 76px 130px 110px 100px minmax(320px, 1fr);
  align-items: center;
  gap: 12px;
  color: #4f586f;
}

.issue-detail-item strong {
  color: #222;
  font-weight: 600;
  white-space: normal;
}

.empty-issues,
.empty-state {
  color: var(--lr-muted);
}

.empty-issues {
  padding: 14px 20px 18px 64px;
}

.empty-state {
  min-height: calc(100vh - 226px);
  border: 1px solid var(--lr-border);
  border-radius: var(--lr-radius-panel);
  display: grid;
  place-items: center;
  background: #fff;
}

.user-management-page {
  min-height: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.user-list-panel {
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
}

.user-page-heading {
  flex: 0 0 auto;
}

.user-list-panel.lr-table-card {
  margin-top: 0;
}

.user-list-panel > .lr-table-wrap,
.assignment-case-list-panel > .lr-table-wrap {
  min-height: 0;
  flex: 1 1 auto;
}

body:has(.user-management-claude-page) {
  color: #14161d;
  font-size: 13px;
}

body:has(.user-management-claude-page) .topbar-avatar {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
}

body:has(.user-management-claude-page) .topbar-profile-button {
  height: 32px;
  min-height: 32px;
  gap: 6px;
  margin-right: 24px;
}

body:has(.user-management-claude-page) .content:has(.user-management-claude-page) {
  width: 100%;
  max-width: 1920px;
  height: auto;
  min-height: calc(100vh - var(--lr-header-height));
  margin: 0;
  padding: 0 16px 24px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.user-management-claude-page {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(24, 24, 48, .05);
  overflow: hidden;
}

body:has(.user-management-claude-page) .user-page-heading {
  min-height: 58px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 14px 16px 12px;
  border-bottom: 0;
}

body:has(.user-management-claude-page) .user-page-heading h1 {
  margin: 0;
  color: #14161d;
  font-size: 16px;
  font-weight: 600 !important;
  line-height: 1.2;
}

.user-management-claude-page .user-list-panel,
.user-management-claude-page .user-list-panel.lr-table-card {
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.user-ant-table-shell {
  --lr-table-frame-max-height: 640px;
  --lr-table-frame-flex: 0 0 auto;
  --lr-table-frame-margin: 0 16px;
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  overflow: visible;
}

.user-table-island > .ant-app {
  min-width: 0;
  display: block;
}

.user-management-claude-page .user-list-panel > .lr-table-wrap {
  min-height: 0;
  flex: 1 1 auto;
}

.user-management-claude-page .user-list-panel .lr-table-container > .row:has(.user-table) {
  margin-top: 0 !important;
}

.user-management-claude-page .user-table {
  min-width: 1140px;
  --sticky-action-width: 116px;
}

.user-permission-heading {
  cursor: help;
}

.user-account-cell {
  max-width: 100%;
  display: block;
  color: inherit;
  font-family: "SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: 12.5px;
  letter-spacing: -.2px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.user-muted-cell {
  color: #a6abba;
}

.user-permission-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #a6abba;
  font-size: 15px;
  line-height: 1;
}

.user-permission-mark.is-on {
  color: #3a57f7;
}

.user-permission-icon {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.user-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #474b59;
  font-size: 12.5px;
}

.user-state-dot {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #a6abba;
}

.user-state-dot.is-active {
  background: #12a06a;
}

.user-status-pill {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 2px 9px;
  background: #f3f5f8;
  color: #667085;
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  white-space: nowrap;
}

.user-status-pill.is-on {
  background: #eef4ff;
  color: #2563eb;
}

.user-status-pill.is-off {
  background: #fff1f2;
  color: #e5484d;
}

/* Figma 52:940 dialog standard: right-side 750px full-height drawer. */
.lr-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: none;
  justify-content: flex-end;
  background: rgba(0, 0, 0, .42);
}

.lr-drawer-backdrop.is-open {
  display: flex;
}

.lr-drawer {
  width: min(750px, 100vw);
  height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  background: #fff;
  box-shadow: -18px 0 44px rgba(15, 23, 42, .18);
}

.lr-drawer-header {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 20px;
  border-bottom: 1px solid #ececec;
}

.lr-drawer-header h2 {
  margin: 0;
  color: #333;
  font-size: 18px;
  font-weight: 600;
}

.lr-drawer-body {
  min-height: 0;
  height: calc(100dvh - 56px);
  padding: 16px 20px 18px;
  overflow: auto;
}

.lr-drawer-footer {
  display: flex;
  justify-content: flex-end;
  gap: 24px;
  margin-top: auto;
  padding-top: 24px;
}

.lr-drawer-footer .btn {
  min-width: 100px;
  min-height: 40px;
}

.drawer-close {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: var(--lr-radius-control);
  padding: 0;
  color: #4f586f;
  background: #f4f7fc;
  font-size: 24px;
  line-height: 1;
}

.drawer-close:hover {
  color: var(--lr-blue);
  background: #eef2ff;
}

.lr-react-island {
  display: contents;
}

.user-drawer-section + .user-drawer-section {
  padding-top: 18px;
}

.user-drawer-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #767b8c;
  font-size: 12px;
  letter-spacing: .4px;
}

.user-drawer-section-title::after {
  height: 1px;
  flex: 1 1 auto;
  background: #f4f4f8;
  content: "";
}

.lr-drawer-form-grid > .user-drawer-password-field {
  margin-bottom: 0;
}

.user-management-drawer-root .user-drawer-password-field .ant-input-affix-wrapper {
  padding-block: 0;
}

.user-management-drawer-root .user-drawer-password-field .ant-input-affix-wrapper > .ant-input {
  height: auto;
  min-height: 0;
  padding-block: 0;
}

.user-management-drawer-root .lr-ant-form .ant-input[disabled] {
  border-color: #f4f4f8;
  background: #f4f4f8;
  color: #767b8c;
  font-family: "SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: 12.5px;
}

.user-permission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.user-permission-card {
  min-width: 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #e9e9f0;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}

.user-permission-card.is-locked {
  border-color: #f4f4f8;
  background: #fafafc;
}

.user-permission-card-copy {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  color: #14161d;
  font-size: 13px;
}

.user-permission-card.is-locked .user-permission-card-copy {
  color: #a6abba;
}

.user-permission-card-copy small {
  border-radius: 4px;
  padding: 1px 6px;
  background: #f4f4f8;
  color: #767b8c;
  font-size: 11px;
  line-height: 1.5;
}

.user-permission-tip {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: #a6abba;
  font-family: serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  cursor: help;
}

.user-permission-card .ant-switch {
  min-width: 38px;
  width: 38px;
  height: 22px;
  flex: 0 0 38px;
  background: #d6d8e1;
}

.user-permission-card .ant-switch.ant-switch-checked {
  background: #3a57f7;
}

.user-permission-card .ant-switch .ant-switch-handle {
  width: 18px;
  height: 18px;
}

.user-permission-card .ant-switch.ant-switch-checked .ant-switch-handle {
  inset-inline-start: calc(100% - 20px);
}

.user-sync-scope-field {
  margin: 12px 0 0 !important;
}

.user-role-permission-note {
  margin-top: 12px;
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  background: #eef1ff;
  color: #28379e;
  font-size: 12px;
  line-height: 1.6;
}

.user-role-permission-note .ant-alert-message {
  color: inherit;
}

@media (max-width: 720px) {
  .user-permission-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.lr-report-task-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 16px;
  width: 100%;
}

.lr-report-task-grid > .ant-form-item {
  min-width: 0;
  width: 100%;
}

.lr-report-task-grid > .ant-form-item .ant-form-item-control,
.lr-report-task-grid > .ant-form-item .ant-form-item-control-input,
.lr-report-task-grid > .ant-form-item .ant-form-item-control-input-content,
.lr-report-task-grid > .ant-form-item .ant-input,
.lr-report-task-grid > .ant-form-item .ant-input-number,
.lr-report-task-grid > .ant-form-item .ant-select,
.lr-report-task-grid > .ant-form-item .ant-picker {
  width: 100%;
}

.lr-report-task-full,
.lr-report-schedule-section {
  grid-column: 1 / -1;
}

.lr-report-task-create-form .ant-form-item {
  margin-bottom: 20px;
}

.lr-report-task-create-form .ant-input,
.lr-report-task-create-form .ant-select-selector,
.lr-report-task-create-form .ant-btn,
.lr-report-task-create-form .ant-picker {
  min-height: 38px;
  border-radius: 8px;
}

.lr-report-task-create-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 20px;
  width: 100%;
}

.lr-report-task-create-grid > .ant-form-item {
  min-width: 0;
}

.lr-report-task-create-grid .ant-select,
.lr-report-task-create-grid .ant-input {
  width: 100%;
}

.lr-report-task-create-label {
  margin-bottom: 8px;
  color: #333;
  font-size: 14px;
  line-height: 22px;
}

.lr-report-task-create-time-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) 38px;
  gap: 12px;
  align-items: start;
}

.lr-report-task-create-time-item {
  position: relative;
  min-width: 0;
}

.lr-report-task-create-time-item > .ant-form-item {
  min-width: 0;
  margin-bottom: 20px;
}

.lr-report-task-create-time-item .ant-input {
  padding-right: 34px;
}

.lr-report-task-create-remove-time.ant-btn {
  position: absolute;
  top: 0;
  right: 2px;
  min-width: 30px;
  padding-inline: 0;
}

.lr-report-task-create-add-time.ant-btn {
  width: 38px;
  min-width: 38px;
  padding-inline: 0;
}

.lr-report-task-create-bottom-grid {
  align-items: start;
}

.lr-report-task-create-bottom-grid .ant-upload-list {
  margin-top: 8px;
}

.lr-report-task-config-collapse {
  grid-column: 1 / -1;
  margin-top: 4px;
}

.lr-report-section-label {
  color: var(--lr-heading);
  font-weight: 600;
}

.lr-label-with-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.lr-label-help-icon {
  flex: 0 0 auto;
  color: #8a94a6;
  cursor: help;
  font-size: 14px;
  transition: color 0.2s ease;
}

.lr-label-help-icon:hover,
.lr-label-help-icon:focus-visible {
  color: var(--lr-primary);
  outline: none;
}

.lr-report-bundle-upload .ant-upload-list {
  max-width: 100%;
  margin-top: 8px;
}

.lr-report-imported-version {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: -4px 0 16px;
  color: #52627c;
  font-size: 13px;
}

.lr-report-imported-version span:first-child {
  border-radius: 999px;
  background: #edf8f2;
  color: #16865b;
  padding: 4px 9px;
}

.lr-report-bundle-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.lr-report-bundle-summary span {
  border-radius: 999px;
  background: #f1f5fc;
  color: #52627c;
  font-size: 12px;
  padding: 5px 9px;
}

.lr-report-label-with-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lr-report-help-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border: 1px solid #93a0b5;
  border-radius: 50%;
  color: #75839a;
  cursor: help;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.lr-report-help-icon:hover {
  border-color: var(--lr-primary);
  color: var(--lr-primary);
}

.lr-report-schedule-section {
  margin-bottom: 4px;
}

.lr-report-schedule-section .ant-typography {
  margin: 4px 0 12px;
}

.lr-report-mapping-grid {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .lr-report-task-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lr-report-task-create-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .lr-report-task-create-time-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) 38px;
  }
}

.lr-ant-info-card {
  display: grid;
  gap: 4px;
  margin-bottom: 18px;
  border: 1px solid #e7ecf6;
  border-radius: var(--lr-radius-control);
  background: #f8faff;
  padding: 12px 14px;
}

.lr-ant-info-card strong {
  color: var(--lr-heading);
  font-size: 16px;
  font-weight: 600;
}

.lr-ant-info-card span {
  color: var(--lr-muted);
  font-size: 13px;
  font-weight: 400;
}

.lr-ant-info-card.assignment-result-scope-summary {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  padding-block: 10px;
}

.lr-ant-info-card.assignment-result-scope-summary strong {
  overflow-wrap: anywhere;
}

.assignment-result-transfer-drawer .lr-ant-info-card {
  min-width: 0;
}

.assignment-result-transfer-drawer .lr-ant-info-card strong,
.assignment-result-transfer-drawer .lr-ant-info-card span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.assignment-result-transfer-drawer .ant-cascader,
.assignment-result-transfer-drawer .ant-cascader .ant-select-selector,
.assignment-result-transfer-drawer .ant-cascader .ant-select-selection-item,
.assignment-result-transfer-drawer .ant-cascader .ant-select-selection-placeholder {
  min-width: 0;
  max-width: 100%;
}

.assignment-result-transfer-cascader-popup {
  max-width: min(860px, calc(100vw - 40px));
}

.assignment-result-transfer-cascader-popup .ant-cascader-menus {
  max-width: min(860px, calc(100vw - 40px));
  overflow-x: auto;
}

.assignment-result-transfer-cascader-popup .ant-cascader-menu-item-content {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lr-ant-cascader-popup .ant-cascader-menu {
  min-width: 172px;
}

.lr-ant-cascader-popup .ant-cascader-menu-item {
  min-height: 36px;
  font-weight: 400;
}

.lr-ant-cascader-popup .ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),
.lr-ant-cascader-popup .ant-cascader-menu-item:hover {
  background: #edf4ff;
}

.lr-ant-full {
  width: 100%;
}

.lr-ant-alert {
  margin-bottom: 14px;
  border-radius: var(--lr-radius-control);
}

.login-react-island {
  display: block;
}

.lr-ant-login-form {
  gap: 0;
}

.lr-ant-login-form .ant-form-item {
  margin-bottom: 18px;
}

.lr-ant-login-form .ant-form-item-label {
  padding-bottom: 5px;
}

.lr-ant-login-form .ant-form-item-label > label {
  color: #333;
  font-size: 14px;
  font-weight: 400;
}

.lr-ant-login-form .ant-form-item-control-input-content > .ant-input,
.lr-ant-login-form .ant-input-password {
  height: 44px;
  min-height: 44px;
  border-radius: var(--lr-radius-control);
  border-color: #dce3ef;
}

.lr-ant-login-form .ant-input-password > .ant-input {
  height: auto;
  min-height: 0;
}

.lr-ant-login-form .ant-btn-primary {
  width: 100%;
  height: 44px;
  border-radius: var(--lr-radius-control);
  background: var(--lr-blue);
  box-shadow: none;
  font-weight: 500;
}

.lr-ant-login-form .ant-btn-primary:not(:disabled):hover,
.lr-ant-login-form .ant-btn-primary:not(:disabled):focus-visible {
  background: #2f4de0;
}

.lr-ant-form .ant-upload-wrapper .ant-upload-list-picture-card .ant-upload-list-item,
.lr-ant-form .ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select {
  border-radius: var(--lr-radius-control);
  border-color: #dce3ef;
}

.lr-ant-template-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lr-ant-template-radio .ant-radio-button-wrapper {
  border-radius: var(--lr-radius-control);
  border-inline-start-width: 1px;
  border-color: #dce3ef;
  font-weight: 400;
}

.lr-ant-template-radio .ant-radio-button-wrapper::before {
  display: none;
}

.user-drawer-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.user-permission-switch {
  min-height: 38px;
  padding: 0;
  align-items: center;
  gap: 8px;
}

.status-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 500;
  color: #4f586f;
}

.status-switch input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
}

.status-switch span {
  line-height: 16px;
}

.password-reset-input {
  width: 116px;
}

.assignment-members-grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 16px;
}

.assignment-members-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.assignment-org-panel {
  min-height: 360px;
}

.assignment-org-list {
  display: grid;
  gap: 8px;
}

.assignment-org-item {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: var(--lr-radius-control);
  color: #253047;
  padding: 0 12px;
  font-weight: 600;
}

.assignment-org-item:hover,
.assignment-org-item.active {
  color: var(--lr-blue);
  background: #f3f6ff;
}

.assignment-org-item strong {
  min-width: 30px;
  color: var(--lr-muted);
  text-align: right;
}

.assignment-member-form {
  display: grid;
  gap: 14px;
}

.assignment-member-form label {
  display: grid;
  gap: 6px;
  color: #4f586f;
  font-weight: 600;
}

.assignment-list-panel,
.assignment-form-panel {
  min-width: 0;
}

.assignment-member-table {
  min-width: 1080px;
  --sticky-action-width: 180px;
}

.assignment-weight-input {
  width: 82px;
}

.assignment-member-import-form {
  margin: 0;
}

.assignment-import-hint {
  margin: -4px 0 14px;
  color: var(--lr-muted);
}

.assignment-member-drawer-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.assignment-filter-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.assignment-filter-rule-grid > .ant-form-item {
  min-width: 0;
}

.assignment-member-select {
  min-width: 132px;
}

.assignment-runs-table {
  min-width: 900px;
}

.assignment-status {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 10px;
  font-weight: 500;
}

.assignment-status-draft {
  color: #8a4a00;
  background: #fff2d6;
}

.assignment-status-confirmed {
  color: #176044;
  background: #dcf3e7;
}

.assignment-status-cancelled {
  color: #6b7280;
  background: #eef2f7;
}

.assignment-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.assignment-case-tools {
  flex: 0 0 auto;
  margin: 0;
  padding: 14px 22px;
  border-bottom: 1px solid #edf1f7;
  background: #fff;
}

.assignment-case-list-panel {
  min-height: 0;
  flex: 1 1 auto;
}

.assignment-case-list-header {
  align-items: flex-start;
}

.assignment-case-list-header h2 {
  margin: 0;
}

.assignment-case-list-header p {
  margin: 5px 0 0;
  color: var(--lr-muted);
  font-size: 14px;
  font-weight: 400;
}

.assignment-case-list-header .breadcrumb-lite {
  margin-bottom: 6px;
}

.assignment-case-import-inline {
  display: inline-flex;
  align-items: center;
}

.assignment-case-tool-grid {
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(300px, 1fr);
  gap: 14px;
  align-items: center;
}

.assignment-case-import,
.assignment-case-add {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.assignment-case-import .assignment-import-hint {
  margin: 0;
}

.assignment-case-add .form-control {
  max-width: 420px;
}

.assignment-case-table {
  min-width: 1800px;
}

.assignment-case-actions form {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.assignment-result-header {
  margin-bottom: 16px;
}

.assignment-result-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.assignment-result-org-panel,
.assignment-result-main-panel {
  min-height: calc(100vh - 264px);
}

.assignment-result-org-panel {
  padding: 0;
  overflow: hidden;
}

.assignment-result-org-title {
  padding: 20px 20px 14px;
  border-bottom: 1px solid #edf1f7;
}

.assignment-result-org-title h2,
.assignment-result-main-title h2 {
  margin: 0;
  color: var(--lr-heading);
  font-size: 18px;
  font-weight: 700;
}

.assignment-result-tree,
.assignment-result-tree ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.assignment-result-tree {
  max-height: calc(100vh - 390px);
  overflow: auto;
  padding: 10px 12px 20px;
}

.assignment-result-tree-row {
  margin: 0 0 4px;
  padding-left: calc(8px + var(--level) * 18px);
  padding-right: 10px;
}

.assignment-result-tree .staff-leaf-spacer {
  display: none;
}

.assignment-result-main-panel {
  min-width: 0;
  padding: 0;
}

.assignment-result-main-title {
  min-height: 64px;
  padding: 18px 22px;
  border-bottom: 1px solid #edf1f7;
}

.assignment-result-table-wrap {
  border: 0;
  border-radius: 0;
  min-height: calc(100vh - 350px);
  max-height: calc(100vh - 360px);
  overflow: auto;
}

.assignment-result-table {
  min-width: 1520px;
}

.assignment-summary-table {
  min-width: 760px;
}

.assignment-result-table > :not(caption) > * > * {
  padding: 14px 16px;
}

.assignment-result-table.has-sticky-actions tbody td:last-child form {
  display: flex;
  justify-content: flex-start;
}

.assignment-result-action-stack {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}

html:has(.department-design-panel),
body:has(.department-design-panel) {
  overflow: hidden;
}

body:has(.department-design-panel) {
  color: #14161d;
  font-size: 13px;
}

.department-design-panel,
.department-design-panel button,
.department-design-panel input,
.department-design-panel select {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;
}

body:has(.department-design-panel) .content:has(.department-design-panel) {
  width: 100%;
  max-width: 1680px;
  height: auto;
  min-height: calc(100vh - var(--lr-header-height));
  margin: 0;
  padding: 0 16px 16px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.department-layout {
  min-width: 0;
  min-height: calc(100vh - var(--lr-header-height) - 16px);
  height: calc(100vh - var(--lr-header-height) - 16px);
  max-height: calc(100vh - var(--lr-header-height) - 16px);
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(24, 24, 48, .05);
  overflow: hidden;
}

.department-page-heading {
  min-height: 59px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #e9e9f0;
}

.department-title-line,
.department-head-actions {
  display: flex;
  align-items: center;
}

.department-title-line {
  gap: 14px;
}

.department-title-line h1 {
  margin: 0;
  color: #14161d;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}

.department-title-line span {
  color: #767b8c;
  font-size: 12px;
  line-height: 16.5px;
}

.department-title-line b {
  font-family: "SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.2px;
  font-weight: 500;
}

.department-head-actions {
  gap: 8px;
}

.department-head-actions form {
  display: flex;
  margin: 0;
}

.department-head-actions .department-more-icon {
  fill: currentColor;
  stroke: none;
}

.department-more-actions {
  position: relative;
}

.department-more-actions > summary {
  width: 32px;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  list-style: none;
}

.department-more-actions > summary::-webkit-details-marker {
  display: none;
}

.department-more-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 30;
  min-width: 112px;
  padding: 4px;
  border: 1px solid #e9e9f0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(24, 24, 48, .12);
}

.department-more-menu button {
  width: 100%;
  height: 30px;
  border: 0;
  border-radius: 6px;
  padding: 0 10px;
  background: transparent;
  color: #cf362c;
  text-align: left;
}

.department-more-menu button:hover:not(:disabled) {
  background: #fdecea;
}

.department-more-menu button:disabled {
  color: #a6abba;
}

.department-body {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr);
}

.department-tree-panel {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #e9e9f0;
  padding-bottom: 12px;
  overflow: hidden;
}

.staff-roster-sync-modal {
  display: grid;
  gap: 16px;
}

.staff-roster-sync-upload {
  display: inline-flex;
  width: fit-content;
}

.staff-roster-sync-field {
  display: grid;
  gap: 8px;
}

.staff-roster-sync-field label {
  color: #2d3548;
  font-size: 14px;
  font-weight: 500;
}

.staff-roster-sync-field > .ant-cascader {
  width: 100%;
}

.staff-roster-sync-field > span {
  color: #7b8599;
  font-size: 13px;
}

.staff-roster-sync-totals {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid #edf0f5;
  border-bottom: 1px solid #edf0f5;
}

.staff-roster-sync-totals > div {
  min-width: 0;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
  border-right: 1px solid #edf0f5;
}

.staff-roster-sync-totals > div:last-child {
  border-right: 0;
}

.staff-roster-sync-totals span,
.staff-roster-sync-anomalies span {
  color: #7b8599;
  font-size: 13px;
}

.staff-roster-sync-totals strong {
  color: #1e2b45;
  font-size: 20px;
  line-height: 24px;
}

.staff-roster-sync-totals .is-warning strong,
.staff-roster-sync-table .is-warning {
  color: #d4382a;
}

.staff-roster-sync-table-wrap {
  overflow-x: auto;
  border: 1px solid #e1e1e1;
  border-radius: 4px;
}

.staff-roster-sync-table {
  width: 100%;
  min-width: 660px;
  border-collapse: collapse;
  color: #2d3548;
  font-size: 14px;
}

.staff-roster-sync-table th,
.staff-roster-sync-table td {
  height: 42px;
  padding: 0 14px;
  text-align: center;
  border-bottom: 1px solid #edf0f5;
  white-space: nowrap;
}

.staff-roster-sync-table th:first-child,
.staff-roster-sync-table td:first-child {
  text-align: left;
}

.staff-roster-sync-table th {
  color: #626d82;
  font-weight: 500;
  background: #fafbfc;
}

.staff-roster-sync-table tbody tr:last-child td {
  border-bottom: 0;
}

.staff-roster-sync-anomalies {
  display: grid;
  gap: 6px;
  color: #7b8599;
  font-size: 13px;
}

.staff-roster-sync-anomalies strong {
  color: #2d3548;
  font-size: 14px;
  font-weight: 500;
}

.staff-roster-sync-anomalies ul {
  max-height: 168px;
  margin: 0;
  padding-left: 20px;
  overflow-y: auto;
}

.staff-roster-sync-anomalies li + li {
  margin-top: 4px;
}

.department-tree-panel .panel-header,
.department-tree-search-shell {
  flex: 0 0 auto;
}

.department-tree-panel .panel-header {
  height: 48px;
  min-height: 48px;
  gap: 6px;
  align-items: center;
  margin: 0;
  padding: 12px 10px 8px 16px;
}

.department-tree-panel .panel-header > div {
  display: flex;
  align-items: center;
}

.department-tree-panel .panel-header h2 {
  margin: 0;
  color: #14161d;
  font-size: 13px;
  font-weight: 600 !important;
  line-height: 20px;
}

.department-tree-search-shell {
  position: relative;
  margin: 0 12px 8px 16px;
}

.department-search-icon {
  position: absolute;
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: #a6abba;
}

.department-tree-search-shell > .department-search-icon {
  top: 8px;
  left: 9px;
  pointer-events: none;
}

.department-tree-search {
  width: 100%;
  height: 32px;
  border: 1px solid #e9e9f0;
  border-radius: 8px;
  outline: 0;
  padding: 0 9px 0 32px;
  background: #fff;
  color: #14161d;
  font-size: 13px;
}

.department-tree-search:focus {
  border-color: #3a57f7;
  box-shadow: 0 0 0 3px #eef1ff;
}

.department-tree-search::placeholder,
.department-member-search input::placeholder {
  color: #a6abba;
  opacity: 1;
}

.department-tree,
.department-tree ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.department-tree {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0 8px 0 10px;
}

.department-tree-row {
  position: relative;
  height: 31px;
  min-height: 31px;
  display: flex;
  align-items: center;
  gap: 3px;
  margin: 0;
  padding: 0 8px 0 calc(6px + var(--level) * 14px);
  border-radius: 8px;
  color: #474b59;
  font-weight: 400;
  transition: color .12s ease, background-color .12s ease, transform .08s ease;
}

.department-tree-row a {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.department-tree-row:hover {
  background: #f4f4f8;
  color: #14161d;
}

.department-tree-row.active,
.department-tree-node.is-drop-target > .department-tree-row {
  background: #eef1ff;
  color: #3a57f7;
  font-weight: 600;
}

.department-tree-row:active {
  transform: scale(.99);
}

.department-tree-node.is-search-match > .department-tree-row {
  color: var(--lr-blue);
}

.department-company-node > .department-tree-row {
  min-height: 31px;
  margin: 0;
  padding-left: 6px;
  border: 0;
  background: transparent;
  color: #474b59;
  font-weight: 400;
}

.department-company-node > .department-tree-row:hover {
  background: #f4f4f8;
  color: #14161d;
}

.department-company-node > .department-tree-row.active {
  background: #eef1ff;
  color: #3a57f7;
  font-weight: 600;
}

.tree-drag-handle {
  display: none;
}

.tree-toggle {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #a6abba;
  cursor: pointer;
  font-size: 0;
  line-height: 1;
  transform-origin: center;
  transition: color 160ms ease, transform 160ms ease;
}

.tree-toggle::before {
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: rotate(45deg) translate(-1px, -1px);
}

.tree-toggle:hover,
.tree-toggle:focus-visible {
  color: var(--lr-blue);
}

.department-tree-node.is-collapsed > .department-tree-row > .tree-toggle {
  transform: rotate(-90deg);
}

.tree-toggle-spacer,
.staff-leaf-spacer {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.department-staff-leaf .department-tree-row {
  color: #222;
}

.department-staff-leaf .department-tree-row.active,
.department-staff-leaf .department-tree-row:hover {
  color: var(--lr-blue);
}

.department-staff-leaf .tree-badge {
  font-size: 11px;
}

.department-ungrouped-node > .department-tree-row {
  color: #222;
  font-weight: 500;
}

.icon-button {
  position: relative;
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #a6abba;
}

.icon-button:hover {
  background: #f2f3f6;
  color: #14161d;
}

.icon-button-add::before,
.icon-button-add::after {
  position: absolute;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.icon-button-add::after {
  transform: rotate(90deg);
}

.tree-badge {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--lr-muted);
  font-size: 12px;
}

.department-tree-node.is-collapsed > ul {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .tree-toggle {
    transition: none;
  }
}

.icon-button-add:has(svg)::before,
.icon-button-add:has(svg)::after {
  display: none;
}

.icon-button-add svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
}

.department-main-panel {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.department-main-panel.lr-table-card {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.department-staff-table-root,
.department-staff-table-root > .ant-app,
.department-staff-table-island {
  --lr-table-frame-min-height: 0;
  --lr-table-frame-flex: 1 1 auto;
  --lr-table-frame-margin: 0 16px;
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.department-list-panel {
  --department-action-width: 140px;
}

.department-list-panel.lr-table-card > .department-toolbar {
  min-height: 43px;
  height: 43px;
  margin: 0 0 10px;
  padding: 9px 16px 0;
  border-bottom: 0;
  box-shadow: none;
  z-index: 18;
}

.department-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 0 0 10px;
}

.department-member-search {
  position: relative;
  flex: 0 0 auto;
  width: 212px;
  margin-left: auto;
}

.department-member-search input {
  width: 100%;
  height: 32px;
  border: 1px solid #e9e9f0;
  border-radius: 8px;
  outline: 0;
  padding: 0 32px 0 10px;
  color: #14161d;
  font-size: 13px;
}

.department-member-search input:focus {
  border-color: #3a57f7;
  box-shadow: 0 0 0 3px #eef1ff;
}

.department-member-search button {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: #a6abba;
}

.department-member-search button .department-search-icon {
  position: static;
}

.department-unit-modal {
  display: grid;
  gap: 16px;
}

.department-unit-current {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid #edf1f7;
  border-radius: var(--lr-radius-control);
  background: #fbfcff;
}

.department-unit-current strong {
  color: var(--lr-heading);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.department-unit-section {
  display: grid;
  gap: 12px;
  padding-top: 2px;
}

.department-unit-section + .department-unit-section {
  padding-top: 14px;
  border-top: 1px solid #edf1f7;
}

.department-unit-section h3 {
  margin: 0;
  color: var(--lr-heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.department-unit-section .ant-btn {
  min-width: 96px;
  height: 36px;
  border-radius: var(--lr-radius-control);
}

.department-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0 16px;
}

.department-staff-table-island .department-staff-ant-table {
  min-width: 0;
  --sticky-action-width: var(--department-action-width, 140px);
}

.department-staff-table-island .ant-table-selection,
.department-staff-table-island .ant-table-selection-extra,
.department-staff-table-island .ant-table-selection-extra .ant-dropdown-trigger {
  display: inline-flex;
  align-items: center;
}

.department-staff-table-island .ant-table-selection {
  flex-direction: row;
  gap: 4px;
}

.department-staff-table-island .ant-table-selection-extra,
.department-staff-table-island .ant-table-selection-extra .ant-dropdown-trigger {
  height: 22px;
  line-height: 1;
}

.department-staff-table-island .ant-table-selection-extra {
  position: static;
  margin-inline-start: 0;
  padding-inline-start: 0;
  transform: translateX(5px);
}

.department-list-table .department-select-col {
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  padding-left: 16px;
  padding-right: 12px;
}

.department-list-table .department-name-col {
  width: 96px;
  min-width: 96px;
}

.department-list-table .department-employee-no-col {
  width: 98px;
  min-width: 98px;
}

.department-list-table .department-path-col {
  width: 216px;
  min-width: 216px;
}

.department-list-table .department-role-col {
  width: 104px;
  min-width: 104px;
}

.department-list-table .department-gender-col {
  width: 62px;
  min-width: 62px;
}

.department-list-table .department-phone-col {
  width: 130px;
  min-width: 130px;
}

.department-list-table .department-position-col {
  width: 90px;
  min-width: 90px;
}

.department-list-table .department-hire-date-col {
  width: 112px;
  min-width: 112px;
}

.department-list-table .department-count-col {
  width: 80px;
  min-width: 80px;
  text-align: right;
}

.department-list-table th.department-count-col {
  text-align: right;
}

.department-list-table .department-path-cell {
  color: #14161d;
  white-space: nowrap;
}

.department-path-dim {
  color: #a6abba;
}

.department-mono-cell {
  font-family: "SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.2px;
}

.department-role-tag {
  min-height: 21px;
  display: inline-flex;
  align-items: center;
  border-radius: 5px;
  padding: 0 8px;
  background: #f4f4f8;
  color: #474b59;
  font-size: 12px;
}

.department-role-tag.is-admin {
  background: #eef1ff;
  color: #3a57f7;
}

.department-list-table .department-count-cell {
  text-align: right;
}

.department-staff-table.has-sticky-actions tbody td:last-child {
  overflow: visible;
}

.department-pagination-shell {
  position: relative;
  flex: 0 0 auto;
}

.department-pagination-shell.is-selecting .lr-pagination-summary,
.department-pagination-shell.is-selecting .lr-page-length {
  visibility: hidden;
}

.department-selection-bar {
  position: absolute;
  inset: 0 auto 0 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #474b59;
  font-size: 13px;
}

.department-selection-bar button {
  height: 28px;
  border: 0;
  border-radius: 6px;
  padding: 0 8px;
  background: transparent;
  color: #767b8c;
}

.department-selection-bar button:hover {
  background: #f2f3f6;
  color: #14161d;
}

.unified-list-table {
  margin: 0;
  color: #263246;
  font-size: 14px;
}

.unified-list-table thead th {
  height: 54px;
  padding: 0 18px;
  color: #596276;
  background: #fafbff;
  font-size: 14px;
  font-weight: 500;
  line-height: 54px;
  border-bottom: 1px solid #e8edf6;
  vertical-align: middle;
  white-space: nowrap;
}

.unified-list-table tbody td {
  height: 54px;
  padding: 0 18px;
  color: #263246;
  font-size: 14px;
  font-weight: 400;
  line-height: 54px;
  border-bottom: 1px solid #edf1f7;
  vertical-align: middle;
  white-space: nowrap;
}

.unified-list-table tbody tr:hover td {
  background: #f8faff;
}

.unified-list-table.has-sticky-actions thead th:last-child,
.unified-list-table.has-sticky-actions tbody td:last-child {
  padding-left: 18px;
  padding-right: 18px;
}

.unified-list-table.has-sticky-actions tbody tr:hover td:last-child {
  background: #f8faff;
}

.business-table-text-filter {
  width: 240px;
  padding: 12px;
}

.business-table-text-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
}

.business-editable-table .ant-table-filter-trigger.active {
  color: #315efb;
}

.user-table {
  --bs-table-hover-bg: #fafafa;
}

.user-table > thead {
  --bs-table-bg: #fafbff;
}

.user-table thead th,
.user-table tbody td {
  height: 44px;
  padding: 0 12px;
  line-height: 20px;
  border-color: #ececec;
}

.user-table thead th {
  color: #222;
}

.user-table tbody td {
  color: #555;
}

.user-name-filter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.user-name-filter-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  color: #a8adb7;
  cursor: pointer;
  transition: color 0.2s, background-color 0.2s;
}

.user-name-filter-trigger:hover {
  color: #555;
  background: #f0f0f0;
}

.user-name-filter-trigger.active {
  color: #315efb;
}

.user-name-filter-dropdown {
  width: 240px;
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 6px 16px 0 rgb(0 0 0 / 8%), 0 3px 6px -4px rgb(0 0 0 / 12%), 0 9px 28px 8px rgb(0 0 0 / 5%);
}

.user-name-filter-dropdown .ant-table-filter-dropdown-search {
  padding: 8px;
  border-bottom: 1px solid #f0f0f0;
}

.user-name-filter-dropdown .ant-table-filter-dropdown-tree {
  padding: 8px 8px 0;
}

.user-name-filter-dropdown .ant-table-filter-dropdown-checkall {
  width: 100%;
  margin: 0 0 4px 4px;
}

.user-name-filter-dropdown .ant-tree {
  max-height: 260px;
  padding: 0;
  overflow-y: auto;
}

.user-name-filter-dropdown .ant-table-filter-dropdown-btns {
  display: flex;
  justify-content: space-between;
  padding: 7px 8px;
  border-top: 1px solid #f0f0f0;
}

.department-empty-state {
  min-height: 180px;
  display: grid;
  place-items: center;
  color: var(--lr-muted);
  font-size: 14px;
  font-weight: 600;
}

.department-actions {
  flex-wrap: nowrap;
  gap: 2px;
  align-items: center;
  justify-content: flex-start;
}

.staff-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-left: 8px;
  border-radius: 999px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.staff-status-pill.resigned {
  color: #b42318;
  background: #fff0ec;
}

.more-menu-toggle {
  color: var(--lr-blue);
}

.staff-more-menu-root {
  display: inline-flex;
}

.lr-ant-more-menu-button.ant-btn {
  height: auto;
  padding: 0;
  border: 0;
  color: var(--lr-blue);
  background: transparent;
  box-shadow: none;
  font-size: inherit;
  line-height: inherit;
  font-weight: 500;
}

.lr-ant-more-menu-button.ant-btn:hover,
.lr-ant-more-menu-button.ant-btn:focus {
  color: var(--lr-blue);
  background: transparent;
}

.department-staff-table tr[draggable="true"],
.department-tree-node[draggable="true"] {
  cursor: grab;
}

.empty-table-text {
  padding: 16px;
  color: var(--lr-muted);
}

.field-list {
  columns: 2;
  margin-bottom: 0;
  color: #3f4c63;
  line-height: 1.85;
}

.field-list li::marker {
  color: #9aa4b7;
}

.config-list,
.settings-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.config-list dt,
.settings-list strong {
  color: #667287;
  font-weight: 400;
}

.config-list dt {
  margin-top: 12px;
}

.config-list dt:first-child {
  margin-top: 0;
}

.config-list dd {
  color: var(--lr-muted);
  word-break: break-all;
  margin-bottom: 12px;
}

.settings-list {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0 18px;
}

.settings-list div {
  min-height: 54px;
  display: grid;
  align-content: center;
  gap: 4px;
  border-bottom: 1px solid #edf1f7;
}

.settings-list span {
  color: #222;
  font-weight: 400;
}

.chart {
  height: 320px;
}

.wecom-board {
  background: #fff;
  border-radius: 16px;
  min-height: calc(100vh - 88px);
  overflow: hidden;
}

.lr-tool-board {
  border: 1px solid var(--lr-border);
  border-radius: var(--lr-radius-panel);
  background: #fff;
  box-shadow: none;
}

.wecom-board-header {
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--lr-border);
  padding: 0 24px;
}

.lr-tool-board-header {
  min-height: 64px;
  height: auto;
  padding: 0 22px;
  background: #fff;
}

.wecom-board-header h2 {
  margin: 0;
  color: #222;
  font-size: 18px;
  font-weight: 600;
}

.wecom-edit-trigger {
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #222;
  font-size: 16px;
  font-weight: 600;
}

.lr-tool-board .wecom-edit-trigger {
  min-height: 36px;
  border: 1px solid #dfe5f0;
  border-radius: var(--lr-radius-control);
  padding: 0 12px;
  color: #273348;
  font-size: 14px;
  font-weight: 500;
  background: #fff;
}

.lr-tool-board .wecom-edit-trigger:hover {
  border-color: #c9d4ff;
  color: var(--lr-blue);
  background: #f6f8ff;
}

.wecom-edit-trigger img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.wecom-board-body {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: calc(100vh - 150px);
}

.lr-tool-board-body {
  grid-template-columns: 230px minmax(0, 1fr);
}

.wecom-group-list {
  border-right: 1px solid var(--lr-border);
  padding: 12px 26px 0 24px;
}

.lr-tool-group-list {
  padding: 14px 12px;
  background: #fbfcff;
}

.wecom-group-item {
  min-height: 49px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #eef2f8;
  color: #333;
  font-size: 16px;
  font-weight: 600;
}

.lr-tool-board .wecom-group-item {
  min-width: 0;
  min-height: 42px;
  gap: 8px;
  border-bottom: 0;
  border-radius: var(--lr-radius-control);
  padding: 0 10px;
  color: #3f4c63;
  font-size: 14px;
  font-weight: 400;
}

.lr-tool-board .wecom-group-item-title {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lr-tool-board .wecom-group-item > span[aria-hidden="true"] {
  flex: 0 0 auto;
}

.lr-tool-board .wecom-group-item:hover {
  color: var(--lr-blue);
  background: #f1f5ff;
}

.wecom-group-item.active {
  color: var(--lr-blue);
}

.lr-tool-board .wecom-group-item.active {
  color: var(--lr-blue);
  background: #eef3ff;
  font-weight: 500;
}

.wecom-empty-group {
  color: var(--lr-muted);
  padding: 16px 0;
}

.wecom-card-area {
  padding: 20px;
}

.lr-tool-card-area {
  padding: 18px 20px;
}

.wecom-reminder-card {
  width: min(907px, 100%);
  min-height: 98px;
  border: 1px solid #d8deea;
  border-radius: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 18px 24px;
  margin-bottom: 16px;
}

.lr-tool-item-card {
  width: min(1040px, 100%);
  min-height: 92px;
  border-color: #e2e8f3;
  border-radius: var(--lr-radius-control);
  gap: 16px;
  padding: 16px 18px;
  margin-bottom: 12px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(20, 38, 82, .025);
}

.lr-tool-item-card:hover {
  border-color: #d4ddf0;
  background: #fbfcff;
}

.report-task-card {
  grid-template-columns: minmax(0, 1fr) auto;
}

.report-monthly-config,
.report-card-actions {
  grid-column: 1 / -1;
}

.report-monthly-config {
  border-top: 1px solid #edf0f6;
  padding-top: 12px;
}

.report-monthly-config-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  color: #60708a;
  font-size: 12px;
}

.report-monthly-config-heading strong {
  color: #1b3159;
  font-size: 14px;
}

.report-monthly-config-form {
  display: grid;
  grid-template-columns: 150px 220px minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 10px;
}

.report-monthly-config-form label {
  display: grid;
  gap: 5px;
  color: #647087;
  font-size: 12px;
}

.report-monthly-config-form input {
  min-width: 0;
}

.report-monthly-config-versions {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.report-monthly-config-version {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #647087;
  font-size: 12px;
}

.report-monthly-config-version form {
  display: inline-flex;
}

.report-monthly-config-empty {
  display: block;
  margin-top: 8px;
  color: #8490a5;
  font-size: 12px;
}

.report-card-copy {
  min-width: 0;
}

.report-card-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.report-status-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.report-status-tag {
  min-height: 24px;
  border: 1px solid #dfe5f0;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  padding: 1px 8px;
  background: #f7f9fc;
  color: #647087;
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
}

.report-status-tag.is-success {
  border-color: #b7ebc6;
  background: #f0fbf3;
  color: #23834c;
}

.report-run-status {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-status-tag.is-error {
  border-color: #ff9c9c;
  background: #fff6f6;
  color: #ef3f45;
}

.report-status-tag.is-neutral {
  border-color: #dfe5f0;
  background: #f7f9fc;
  color: #647087;
}


.wecom-card-copy strong {
  color: #071a44;
  font-size: 16px;
  font-weight: 500;
}

.wecom-card-copy p,
.wecom-card-copy small {
  display: block;
  margin: 8px 0 0;
  color: #778196;
}

.wecom-card-copy a {
  color: var(--lr-blue);
  font-weight: 500;
  margin-left: 8px;
}

.wecom-time-pill {
  min-height: 22px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--lr-blue);
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  margin-left: 8px;
  font-size: 12px;
  font-weight: 500;
}

.wecom-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.report-card-actions {
  gap: 10px;
}

.report-card-actions .wecom-muted-action,
.report-card-actions .wecom-toggle-action {
  width: 92px;
  min-width: 92px;
}

@media (max-width: 1180px) {
  .report-task-card {
    grid-template-columns: 1fr;
  }

  .report-card-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .assignment-filter-rule-grid {
    grid-template-columns: 1fr;
  }

  .report-card-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .report-card-heading .wecom-time-pill {
    margin-left: 0;
  }

  .report-card-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-monthly-config-form {
    grid-template-columns: 1fr;
  }

  .report-card-actions form,
  .report-card-actions .wecom-muted-action,
  .report-card-actions .wecom-toggle-action {
    width: 100%;
    min-width: 0;
  }

  .report-card-actions > :last-child {
    grid-column: 1 / -1;
  }
}

.wecom-card-actions form {
  margin: 0;
}

.wecom-muted-action,
.wecom-toggle-action {
  width: 72px;
  min-width: 72px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border-radius: var(--lr-radius-control);
  font-weight: 400;
}

.wecom-muted-action {
  background: #fff;
  border-color: #dfe5f0;
  color: #273348;
}

.wecom-muted-action:hover {
  border-color: #c9d4ff;
  color: var(--lr-blue);
  background: #f6f8ff;
}

.wecom-empty-state {
  min-height: 220px;
  display: grid;
  place-content: center;
  gap: 8px;
  color: var(--lr-muted);
  text-align: center;
}

.wecom-empty-state strong {
  color: var(--lr-heading);
  font-size: 18px;
}

.app-toast-stack,
.wecom-toast-stack {
  position: fixed;
  top: 20px;
  left: 50%;
  z-index: 1080;
  display: grid;
  gap: 10px;
  width: min(420px, calc(100vw - 40px));
  pointer-events: none;
  transform: translateX(-50%);
}

.app-toast,
.wecom-toast {
  min-height: 48px;
  border-radius: var(--lr-radius-control);
  display: flex;
  align-items: center;
  padding: 12px 16px;
  font-weight: 600;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .14);
  animation: toast-fade-out 3s ease forwards;
}

.app-toast.success,
.wecom-toast.success {
  color: #24543d;
  background: #d8efe3;
  border: 1px solid #b9dec9;
}

.app-toast.error,
.wecom-toast.error {
  color: #8a1f14;
  background: #fde7e4;
  border: 1px solid #f6b9b0;
}

@keyframes toast-fade-out {
  0%,
  72% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
  }
}


.lead-content {
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.lead-workspace {
  min-height: calc(100vh - 72px);
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 14px;
}
