@import url("../shared.css");
@import url("./suite-core.css");

.doc-icon {
  font-size: 8px;
  letter-spacing: 0;
}

.toolbar-filter select,
.toolbar-filter input {
  outline: 0;
}

body[data-page="documents"][data-document-variant="home"] .manage-search {
  align-items: center;
}

body[data-page="documents"][data-document-scope="department"] .search-mode-bar {
  align-items: center;
}

body[data-page="documents"][data-document-scope="department"] .search-mode-bar .department-search-back {
  box-sizing: border-box;
  min-width: 0;
  height: 32px;
  gap: 6px;
  margin-left: 14px;
  padding: 0 12px;
  border: 1px solid #d8dddc;
  border-radius: 2px;
  color: #595959;
  background: #fff;
}

body[data-page="documents"][data-document-scope="department"] .search-mode-bar .department-search-back:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: var(--color-primary-subtle);
}

body[data-page="documents"][data-document-scope="department"] .search-mode-bar .department-search-back svg {
  flex: 0 0 auto;
}

.suite-table th {
  white-space: nowrap;
}

body[data-page="home"] {
  overflow: hidden;
}

body[data-page="home"] .suite-main {
  height: 100vh;
  min-height: 0;
  padding: var(--header-height) 0 0;
  overflow: hidden;
}

body[data-page="home"] .home-canvas {
  position: relative;
  height: calc(100vh - var(--header-height));
  min-height: 0;
  background-color: #eaf7f5;
  background-image: url("assets/knowledge-center-background.png");
  background-position: center;
  background-size: cover;
}

body[data-page="home"] .home-center {
  width: min(900px, calc(100% - 72px));
  padding-top: 72px;
}

body[data-page="home"] .home-center > p {
  margin-bottom: 24px;
}

body[data-page="home"] .home-mode-switch {
  display: grid;
  width: 360px;
  height: 40px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 auto 16px;
  padding: 3px;
  border: 1px solid #c6dedb;
  border-radius: 20px;
  background: #edf7f5;
  box-shadow: inset 0 1px 2px rgb(21 107 100 / 5%);
}

body[data-page="home"] .home-mode-switch button {
  position: relative;
  min-width: 0;
  height: 32px;
  padding: 0 16px;
  border: 0;
  border-radius: 16px !important;
  color: #263735;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  white-space: nowrap;
  transition: color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
}

body[data-page="home"] .home-mode-switch button + button::before {
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 1px;
  background: #b9cfcc;
  content: "";
}

body[data-page="home"] .home-mode-switch button.is-active::before,
body[data-page="home"] .home-mode-switch button.is-active + button::before {
  display: none;
}

body[data-page="home"] .home-mode-switch button:hover {
  color: var(--color-primary-active);
  background: rgb(255 255 255 / 64%);
}

body[data-page="home"] .home-mode-switch button.is-active {
  color: #fff;
  background: var(--color-primary);
  box-shadow: 0 2px 5px rgb(21 107 100 / 22%);
}

body[data-page="home"] .home-mode-switch button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

body[data-page="home"] .home-composer {
  min-height: 181px;
}

body[data-page="home"] .home-composer textarea::placeholder {
  color: #9ba7a5;
  font-size: 14px;
  opacity: 1;
}

body[data-page="home"] .home-document-search {
  display: grid;
  height: 54px;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid #b9cecb;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 8px rgb(31 130 122 / 8%);
}

body[data-page="home"] .home-image-search {
  display: grid;
  height: 54px;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid #b9cecb;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 8px rgb(31 130 122 / 8%);
}

body[data-page="home"] .home-document-search[hidden],
body[data-page="home"] .home-image-search[hidden] {
  display: none;
}

body[data-page="home"] .home-document-search:focus-within,
body[data-page="home"] .home-image-search:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

body[data-page="home"] .home-search-scope-slot,
body[data-page="home"] .home-image-scope-slot {
  display: flex;
  height: 32px;
  align-items: center;
  padding: 0 8px 0 10px;
  border-right: 1px solid #d6dfdd;
}

body[data-page="home"] .home-search-scope-slot .home-scope,
body[data-page="home"] .home-image-scope-slot .home-scope {
  display: block;
  width: 100%;
}

body[data-page="home"] .home-search-scope-slot .home-scope select,
body[data-page="home"] .home-image-scope-slot .home-scope select {
  width: 100%;
  border: 0;
  background-color: transparent;
  box-shadow: none;
}

body[data-page="home"] .home-document-search input {
  min-width: 0;
  height: 52px;
  padding: 0 12px;
  border: 0;
  color: #303a38;
  background: transparent;
  outline: 0;
  font: inherit;
}

body[data-page="home"] .home-document-search input::placeholder {
  color: #9ba7a5;
  font-size: 14px;
  opacity: 1;
}

body[data-page="home"] .home-document-search-submit {
  height: 38px;
  margin-right: 7px;
  padding: 0 20px;
  gap: 6px;
}

body[data-page="home"] .home-image-search-picker {
  display: flex;
  min-width: 0;
  height: 52px;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 0;
  color: #7f8b89;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

body[data-page="home"] .home-image-search-picker:hover,
body[data-page="home"] .home-image-search-picker.has-file {
  color: var(--color-primary-active);
}

body[data-page="home"] .home-image-search-picker:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -4px;
}

body[data-page="home"] .home-image-search-picker span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="home"] .home-image-search-submit {
  height: 38px;
  margin-right: 7px;
  padding: 0 20px;
  gap: 6px;
}

body[data-page="home"] .home-composer:is(.is-search-mode, .is-image-search-mode) {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="home"] .home-composer:is(.is-search-mode, .is-image-search-mode) .home-tools {
  display: none;
}

body[data-page="home"] .home-composer:is(.is-search-mode, .is-image-search-mode) .home-tool-actions {
  display: none;
}

body[data-page="home"] .home-version-switch {
  position: absolute;
  right: 24px;
  bottom: 16px;
  z-index: 1;
  color: #7f8b89;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}

body[data-page="home"] .home-version-switch:hover {
  color: #596563;
  text-decoration: underline;
}

body[data-page="home"] .home-version-switch:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

body[data-page="home"] .home-tools {
  justify-content: space-between;
}

.home-scope select {
  width: 164px;
  height: 32px;
  padding: 0 30px 0 12px;
  border: 1px solid #d6dfdd;
  border-radius: 6px;
  color: #4f5958;
  background-color: #fff;
  cursor: pointer;
  outline: 0;
}

.home-scope select:hover,
.home-scope select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.home-tool-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.home-search-options {
  display: flex;
  align-items: center;
  gap: 10px;
}

.home-advanced-search {
  gap: 6px;
  color: var(--color-primary);
  border-color: #a9cfca;
  background: #fff;
}

.home-advanced-search:hover,
.home-advanced-search:focus-visible {
  color: var(--color-primary-active);
  border-color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.advanced-search-modal .modal {
  width: 800px;
}

.advanced-search-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.advanced-search-modal .modal-heading {
  margin: 0;
}

.advanced-search-modal .modal-header p {
  margin: 3px 0 0;
  color: #8c9694;
  font-size: 13px;
}

.advanced-search-modal form {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.advanced-search-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
}

.advanced-field {
  display: grid;
  min-width: 0;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}

.advanced-field > span,
.advanced-field > legend {
  padding: 0;
  color: #3b4543;
  font-size: 14px;
  font-weight: 500;
}

.advanced-field .form-control {
  width: 100%;
}

.advanced-keyword,
.advanced-date-range {
  grid-column: 1 / -1;
}

.advanced-date-range > div {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: #7b8583;
}

.advanced-date-range label {
  min-width: 0;
}

.advanced-search-error {
  margin: 16px 0 0;
  color: #c93640;
  font-size: 13px;
}

.advanced-search-modal .modal-footer .btn:first-child {
  margin-right: auto;
  gap: 5px;
}

.create-content-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.create-content-modal .modal-heading {
  margin: 0;
}

.create-content-modal .modal-header p {
  margin: 3px 0 0;
  color: #8c9694;
  font-size: 13px;
}

.create-content-modal form {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.create-type-field {
  margin: 0;
  padding: 0;
  border: 0;
}

.create-type-field legend {
  margin-bottom: 10px;
  color: #313a38;
  font-weight: 600;
}

.create-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.create-type-option {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 88px;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid #dfe5e3;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.create-type-option:hover,
.create-type-option:has(input:focus-visible) {
  border-color: #88bbb6;
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.create-type-option:has(input:checked) {
  border-color: var(--color-primary);
  background: #f4faf9;
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

.create-type-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.create-type-option strong,
.create-type-option small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.create-type-option strong {
  color: #293230;
  font-size: 15px;
}

.create-type-option small {
  margin-top: 3px;
  color: #8a9492;
  font-size: 12px;
}

.create-type-icon {
  display: inline-flex;
  width: 40px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
}

.create-type-icon--document {
  color: #2878d4;
  background: #edf5ff;
}

.create-type-icon--sheet {
  color: #17855a;
  background: #edf8f3;
}

.create-type-icon--slides {
  color: #cf5a31;
  background: #fff3ee;
}

.create-location-section {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #edf0ef;
}

.create-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.create-section-heading h3 {
  margin: 0;
  color: #313a38;
  font-size: 14px;
}

.create-section-heading h3 span {
  margin-left: 6px;
  color: #8a9492;
  font-size: 12px;
  font-weight: 400;
}

.create-section-heading p {
  margin: 3px 0 0;
  color: #8a9492;
  font-size: 12px;
}

.create-folder-toggle {
  flex: 0 0 auto;
  gap: 6px;
  color: var(--color-primary);
  border: 0;
  background: transparent;
}

.create-location-select {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}

.create-location-select > span {
  color: #5d6765;
  white-space: nowrap;
}

.create-location-select select {
  width: 100%;
}

.create-folder-editor {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #dfe7e5;
  border-radius: 6px;
  background: #f8fbfa;
}

.create-folder-editor > label {
  display: block;
  margin-bottom: 7px;
  color: #4b5553;
  font-size: 13px;
}

.create-folder-editor > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
}

.create-location-summary {
  margin: 12px 0 0;
  color: #7b8583;
  font-size: 13px;
}

.create-location-summary strong {
  color: var(--color-primary-active);
  font-weight: 500;
}

.create-content-error {
  margin: 12px 0 0;
  color: #c93640;
  font-size: 13px;
}

.create-content-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.create-content-modal .modal-footer .btn-primary {
  gap: 6px;
}

.share-modal,
.copy-modal {
  z-index: 50;
}

.modal.modal-compact {
  width: 480px;
}

.share-modal .modal {
  width: 640px;
  overflow: visible;
}

.share-modal .modal-title-row,
.copy-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.share-modal .modal-heading,
.copy-modal .modal-heading {
  margin: 0;
}

.share-modal .modal-header p,
.copy-modal .modal-header p {
  margin: 3px 0 0;
  color: #8c9694;
  font-size: 13px;
}

.share-modal .modal-body,
.copy-modal .modal-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.share-modal .modal-body {
  gap: 8px;
  padding-top: 14px;
  padding-bottom: 14px;
  overflow: visible;
}

.share-modal .action-file-summary {
  padding-top: 8px;
  padding-bottom: 8px;
}

.action-file-summary {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid #dfe8e6;
  border-radius: 6px;
  background: #f7faf9;
}

.action-file-summary > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.action-file-summary strong {
  overflow: hidden;
  color: #28312f;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.action-file-summary small {
  color: #8c9694;
}

.action-file-summary .doc-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  font-size: 10px;
}

.share-modal .field-block,
.copy-modal .field-block {
  display: grid;
  gap: 8px;
}

.share-modal .field-block > label,
.copy-modal .field-block > span {
  color: #313a38;
  font-weight: 600;
}

.required-mark {
  color: #c93640;
  font-style: normal;
}

.share-recipient-picker { position: relative; }

.share-picker-control {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 10px;
  border: 1px solid #d9dfdd;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}

.share-picker-control:hover { border-color: #8ebdb8; }
.share-picker-control[aria-expanded="true"] { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-subtle); }
.share-picker-tags { display: flex; min-width: 0; flex: 1; flex-wrap: wrap; gap: 5px; }
.share-picker-placeholder { align-self: center; color: #a0a8a6; font-weight: 400; }
.share-picker-chevron { display: grid; flex: 0 0 18px; place-items: center; color: #7d8784; transition: transform 0.16s ease; }
.share-picker-control[aria-expanded="true"] .share-picker-chevron { transform: rotate(180deg); }

.share-chip {
  display: inline-flex;
  height: 24px;
  max-width: 210px;
  align-items: center;
  gap: 3px;
  padding: 0 6px 0 8px;
  border: 1px solid #b9d8d4;
  border-radius: 4px;
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.share-chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.share-chip button {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.share-picker-panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  padding: 10px;
  border: 1px solid #d9e1df;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 10px 28px rgb(31 54 50 / 16%);
}

.share-picker-search { position: relative; width: 100%; margin-bottom: 8px; }
.share-picker-search input { width: 100%; height: 34px; padding: 0 34px 0 10px; border: 1px solid #dfe5e3; border-radius: 4px; outline: 0; font: inherit; }
.share-picker-search input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-subtle); }
.share-picker-search > span { position: absolute; top: 50%; right: 10px; display: grid; color: #7e8886; pointer-events: none; transform: translateY(-50%); }

.share-tree {
  max-height: 260px;
  overflow-y: auto;
  border: 1px solid #edf0ef;
  border-radius: 4px;
}

.share-tree-group { border-bottom: 1px solid #edf0ef; }
.share-tree-group:last-of-type { border-bottom: 0; }
.share-tree-department-row { display: grid; min-height: 46px; grid-template-columns: minmax(0, 1fr) 42px; align-items: stretch; }
.share-tree-department-row:hover { background: #f6faf9; }
.share-tree-department-row:has(.share-tree-checkbox input:focus-visible) { background: #edf7f5; }
.share-tree-department-toggle { display: grid; min-width: 0; grid-template-columns: 18px 30px minmax(0, 1fr); align-items: center; gap: 8px; padding: 6px 4px 6px 10px; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.share-tree-chevron { display: grid; place-items: center; color: #7e8886; transition: transform 0.16s ease; }
.share-tree-department-toggle[aria-expanded="true"] .share-tree-chevron { transform: rotate(90deg); }
.share-tree-department-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 4px; color: #1f827a; background: #e7f4f2; }
.share-tree-department-toggle > span:last-child,
.share-tree-person-row > span:first-child { display: grid; min-width: 0; gap: 1px; }
.share-tree-department-toggle strong,
.share-tree-person-row strong { overflow: hidden; color: #313a38; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.share-tree-department-toggle small,
.share-tree-person-row small { overflow: hidden; color: #8a9491; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.share-tree-checkbox { display: grid; width: 42px; place-items: center; cursor: pointer; }
.share-tree-checkbox input,
.share-tree-person-row input { width: 15px; height: 15px; accent-color: var(--color-primary); }

.share-tree-people { background: #fbfcfc; }
.share-tree-person-row {
  display: flex !important;
  width: 100%;
  min-height: 46px;
  align-items: center;
  gap: 0;
  padding: 6px 14px 6px 74px;
  border-bottom: 1px solid #eef1f0;
  cursor: pointer;
}

.share-tree-person-row > span:first-child { flex: 1 1 auto; }
.share-tree-person-row input { flex: 0 0 auto; margin-left: 12px; }
.share-tree-person-row[hidden] { display: none !important; }

.share-tree-person-row:last-child { border-bottom: 0; }
.share-tree-person-row:hover,
.share-tree-person-row:has(input:focus-visible) { background: #edf7f5; }


.action-empty {
  margin: 0;
  padding: 20px;
  color: #8a9491;
  text-align: center;
}

.action-form-error {
  margin: -4px 0 0;
  color: #c93640;
  font-size: 13px;
}

.copy-modal form {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.copy-option {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #596260;
  cursor: pointer;
}

.share-modal .modal-footer,
.copy-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.share-modal :focus-visible,
.copy-modal :focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.share-submission-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.share-submission-modal .modal-heading {
  margin: 0;
}

.share-submission-modal .modal-header p {
  margin: 3px 0 0;
  color: #8c9694;
  font-size: 13px;
}

.share-submission-modal form {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.share-submission-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.share-submission-summary {
  padding: 14px 16px 10px;
  border: 1px solid #dfe8e6;
  border-radius: 6px;
  background: #f7faf9;
}

.share-submission-summary-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.share-submission-summary-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.share-submission-summary-head > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.share-submission-summary-head strong {
  color: #28312f;
}

.share-submission-summary-head small {
  color: #8a9491;
}

.share-submission-file-list {
  max-height: 104px;
  margin: 10px 0 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

.share-submission-file-list li {
  display: grid;
  min-width: 0;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  border-top: 1px solid #e8eeec;
  color: #4f5957;
}

.share-submission-file-list li > span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.share-submission-file-list li > small {
  color: #8c9694;
  white-space: nowrap;
}

.share-submission-file-list .doc-icon {
  width: 22px;
  height: 22px;
  font-size: 7px;
}

.share-submission-field {
  display: grid;
  min-width: 0;
  gap: 9px;
  margin: 0;
  padding: 0;
  border: 0;
}

.share-submission-field > span,
.share-submission-field > legend {
  padding: 0;
  color: #313a38;
  font-style: normal;
  font-weight: 600;
}

.share-submission-field > span b,
.share-submission-field > legend span {
  color: #cf3943;
  font-weight: 500;
}

.share-submission-field > span em {
  margin-left: 6px;
  color: #8c9694;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

.share-target-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#shareSubmissionModal[data-mode="company-direct"] .share-target-options {
  grid-template-columns: minmax(0, 1fr);
}

#shareSubmissionModal[data-mode="company-direct"] .share-target-option {
  cursor: default;
}

.share-target-option {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 66px;
  grid-template-columns: 20px 32px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #dce3e1;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  transition: border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
}

.share-target-option:hover,
.share-target-option:has(input:focus-visible) {
  border-color: #88bbb6;
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.share-target-option:has(input:checked) {
  border-color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.share-target-option > span:nth-of-type(1) {
  display: inline-flex;
  color: var(--color-primary-active);
}

.share-target-option > span:last-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.share-target-option strong {
  color: #303936;
}

.share-target-option small {
  color: #7e8986;
}

.share-directory-list {
  display: grid;
  gap: 8px;
}

.share-directory-row {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px;
}

.share-directory-picker {
  position: relative;
  min-width: 0;
}

.share-directory-control {
  display: flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 10px 5px 11px;
  border: 1px solid #d9dfde;
  border-radius: 6px;
  color: #7b8583;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}

.share-directory-control:hover,
.share-directory-control:focus-visible,
.share-directory-control[aria-expanded="true"] {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
  outline: none;
}

.share-directory-control.has-selection {
  color: #313a38;
}

.share-directory-control > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.share-directory-control > svg {
  flex: 0 0 auto;
  transition: transform 120ms ease;
}

.share-directory-control[aria-expanded="true"] > svg {
  transform: rotate(180deg);
}

.share-directory-remove {
  display: inline-flex;
  width: 32px;
  height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 2px;
  color: #8c9694;
  background: transparent;
  cursor: pointer;
}

.share-directory-remove:hover,
.share-directory-remove:focus-visible {
  color: #cf3943;
  background: #fff1f0;
  outline: none;
}

.share-directory-add {
  display: inline-flex;
  width: max-content;
  min-height: 32px;
  align-items: center;
  gap: 6px;
  margin: -1px 0 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  color: var(--color-primary);
  background: transparent;
  cursor: pointer;
  font-weight: 500;
}

.share-directory-add:hover,
.share-directory-add:focus-visible {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
  outline: none;
}

.share-directory-menu {
  position: absolute;
  z-index: 8;
  top: 40px;
  right: 0;
  left: 0;
  display: flex;
  max-height: 284px;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d9dfde;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 20px rgb(29 52 48 / 16%);
}

.share-directory-search {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  padding: 5px 9px;
  border-bottom: 1px solid #e8eeec;
}

.share-directory-search > span {
  display: inline-flex;
  color: #7e8986;
}

.share-directory-search input {
  width: 100%;
  min-width: 0;
  height: 30px;
  padding: 0;
  border: 0;
  color: #313a38;
  background: transparent;
  outline: 0;
}

.share-directory-search small {
  color: #8c9694;
  white-space: nowrap;
}

.share-directory-options {
  min-height: 0;
  padding: 5px;
  overflow-y: auto;
}

.share-directory-option {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  grid-template-columns: 18px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  padding: 5px 8px 5px calc(8px + var(--directory-indent, 0px));
  border: 0;
  border-radius: 4px;
  color: #4f5957;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.share-directory-option:hover,
.share-directory-option:focus-visible {
  color: var(--color-primary-active);
  background: #f3f8f7;
  outline: none;
}

.share-directory-option.is-selected {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.share-directory-option-icon {
  display: inline-flex;
  color: #6e7d79;
}

.share-directory-option > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.share-directory-option strong,
.share-directory-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.share-directory-option strong {
  font-weight: 500;
}

.share-directory-option small {
  color: #8c9694;
  font-size: 11px;
}

.share-directory-option > svg {
  color: var(--color-primary);
}

.share-directory-empty {
  margin: 0;
  padding: 18px 8px;
  color: #8c9694;
  text-align: center;
}

.share-visibility-options {
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 28px;
}

.share-visibility-options label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #4f5957;
  cursor: pointer;
}

.share-target-option input,
.share-visibility-options input {
  accent-color: var(--color-primary);
}

.share-audience-search {
  display: grid;
  gap: 7px;
  margin-top: 2px;
}

.share-audience-search > span {
  color: #68716f;
  font-size: 13px;
}

.share-audience-search .suite-search {
  width: 100%;
}

.share-submission-audience-picker .share-picker-panel {
  position: relative;
  top: auto;
  margin-top: 6px;
  box-shadow: 0 6px 18px rgb(31 54 50 / 10%);
}

.share-submission-audience-picker .share-tree {
  max-height: 224px;
}

.share-submission-audience-picker .share-chip {
  max-width: calc(100% - 24px);
}

.share-submission-audience-picker .share-tree-department-row {
  grid-template-columns: minmax(0, 1fr) 42px;
}

.share-submission-audience-picker .share-tree-department-toggle {
  width: 100%;
}

.share-description {
  position: relative;
}

.share-description > span em {
  margin-left: 6px;
  color: #8c9694;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

.share-description textarea {
  height: 88px;
  padding: 9px 11px 24px;
  resize: none;
  font: inherit;
  line-height: 1.57;
}

.share-description > small {
  position: absolute;
  right: 10px;
  bottom: 7px;
  color: #9aa29f;
}

.share-submission-error {
  margin: -8px 0 0;
  color: #c93640;
  font-size: 13px;
}

.share-submission-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

#suiteToast.toast-success--detail {
  display: grid;
  width: min(540px, calc(100vw - 48px));
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #d6ebe7;
  border-left: 3px solid var(--color-success);
}

.toast-success-icon {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  color: #28745e;
  background: #e8f5ef;
  border-radius: 50%;
}

.toast-success-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.toast-success-copy strong {
  color: var(--color-title);
  font-size: 14px;
  line-height: 1.5;
}

.toast-success-copy small {
  color: var(--color-text);
  font-size: 13px;
  line-height: 1.5;
}

.toast-success-action {
  color: var(--color-primary-active);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.toast-success-action:hover,
.toast-success-action:focus-visible {
  color: var(--color-primary-hover);
  text-decoration: underline;
}

body[data-page="home"] .capability-grid {
  margin-top: 28px;
}

body[data-page="home"] .capability-card,
body[data-page="home"] .capability-card strong,
body[data-page="home"] .capability-card small {
  text-align: left;
}

body[data-page="home"] .capability-card {
  border-radius: 5px !important;
}

@media (max-height: 820px) {
  body[data-page="home"] .home-center {
    padding-top: 40px;
  }

  body[data-page="home"] .home-center > p {
    margin-bottom: 20px;
  }

  body[data-page="home"] .capability-grid {
    margin-top: 20px;
  }

  body[data-page="home"] .capability-card {
    min-height: 100px;
  }
}

.toolbar-select {
  position: relative;
  display: inline-flex;
  min-width: 72px;
  height: 32px;
  align-items: center;
  padding: 0 30px 0 10px;
  border: 1px solid #d9dfde;
  border-radius: 6px;
  color: #697371;
  background: #fff;
  cursor: pointer;
  white-space: nowrap;
  transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.toolbar-select:hover,
.toolbar-select:focus-within {
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.toolbar-select.is-active {
  color: var(--color-primary-active);
  border-color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.toolbar-select [data-filter-display] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.toolbar-select-arrow {
  position: absolute;
  right: 9px;
  display: inline-flex;
  pointer-events: none;
}

.toolbar-select select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  outline: 0;
  opacity: 0;
  cursor: pointer;
}

.knowledge-summary {
  display: grid;
  min-height: 104px;
  margin-bottom: 15px;
  padding: 20px;
  align-items: center;
  grid-template-columns: 244px minmax(0, 1fr) 112px;
  gap: 20px;
  border: 1px solid #e6ecea;
  border-radius: 6px;
  background: #fff;
}

.personal-library-list-panel {
  padding: 0 16px 12px;
  border: 1px solid #e6ecea;
  border-radius: 6px;
  background: #fff;
}

.recent-list-workspace {
  background: transparent;
}

.recent-list-workspace > .suite-toolbar {
  margin-bottom: 12px;
  padding-right: 16px;
  padding-left: 16px;
  background: transparent;
}

.recent-list-workspace > .suite-toolbar .suite-search {
  width: 220px;
  height: 32px;
}

.recent-list-workspace > .suite-toolbar .suite-search input {
  height: 32px;
  padding: 0 34px 0 12px;
  border-radius: 6px;
}

.recent-list-workspace > .suite-toolbar .suite-search button {
  inset: 0 0 0 auto;
  width: 32px;
  height: 32px;
}

.recent-table-panel {
  padding: 0 0 12px;
  border: 1px solid #e6ecea;
  border-right: 0;
  border-left: 0;
  border-radius: 6px;
  background: #fff;
}

.recent-table-panel > .pager {
  padding-right: 16px;
  padding-left: 16px;
}

.table-recent td {
  border-top-color: #eef2f1;
}

.knowledge-summary-metric {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.knowledge-summary-icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  border-radius: 4px;
  background: var(--color-primary-subtle);
}

.knowledge-summary-metric > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.knowledge-summary-metric > div > span {
  color: #778482;
  font-size: 12px;
}

.knowledge-summary-metric strong {
  color: #3d4947;
  font-size: 28px;
  font-weight: 650;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.knowledge-summary-metric small {
  align-self: end;
  margin-bottom: 3px;
  color: #667370;
  white-space: nowrap;
}

.knowledge-summary-search {
  display: flex;
  height: 48px;
  min-width: 0;
  align-items: center;
  border: 1px solid #d8e1df;
  border-radius: 6px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.knowledge-summary-search:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgb(31 130 122 / 12%);
}

.knowledge-summary-search input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0 14px;
  border: 0;
  outline: 0;
  color: #303a38;
  background: transparent;
}

.knowledge-summary-search input::placeholder {
  color: #8b9693;
}

.knowledge-summary-submit {
  display: inline-flex;
  height: 48px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 20px;
  border-radius: 6px;
  white-space: nowrap;
}

.suite-toolbar .suite-search {
  width: 240px;
}

body[data-page="company"] .library-toolbar .suite-search input,
body[data-page="department"] .library-toolbar .suite-search input {
  border-radius: 3px;
}

body[data-page="department"] .library-toolbar [data-library-selected] {
  min-width: 82px;
  color: #596260;
  white-space: nowrap;
}

body[data-page="uploads"] .suite-toolbar .suite-search input {
  border-radius: 3px;
}

.suite-toolbar [data-recent-bulk]:disabled,
.suite-toolbar [data-knowledge-bulk]:disabled,
.suite-toolbar [data-collaboration-bulk]:disabled,
.suite-toolbar [data-recycle-bulk]:disabled {
  color: #9da5a3;
  border-color: #e2e6e5;
  background: #f5f6f6;
  opacity: .65;
  cursor: not-allowed;
}

.suite-toolbar [data-sharing-bulk-withdraw]:disabled {
  color: #9da5a3;
  border-color: #e2e6e5;
  background: #f5f6f6;
  opacity: .65;
  cursor: not-allowed;
}

.recent-selected-count {
  min-width: 78px;
  flex: 0 0 auto;
  color: #596360;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.suite-table-wrap {
  overflow: hidden;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.suite-table th,
.suite-table td {
  min-width: 0;
  padding-right: 12px;
  padding-left: 12px;
}

.suite-table td {
  height: 62px;
}

.suite-table th:not(.check-col),
.suite-table td:not(.check-col) {
  overflow: hidden;
}

.suite-table th:not(.check-col) {
  text-overflow: ellipsis;
}

.suite-table td:not(.check-col) {
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suite-table .doc-name {
  min-width: 0;
  max-width: 100%;
}

.suite-table .doc-name button,
.suite-table .doc-name a {
  display: block;
  min-width: 0;
  max-height: none;
  overflow: hidden;
  padding: 2px 0;
  color: #252b2a;
  line-height: 20px;
  text-align: left;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-line-clamp: unset;
}

.suite-table .doc-name a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

.suite-table .row-actions {
  width: max-content;
  max-width: none;
  flex-wrap: nowrap;
}

.suite-table th:last-child,
.suite-table td:last-child,
.suite-table .action-cell {
  overflow: visible;
  white-space: nowrap;
}

.suite-table input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.cell-ellipsis {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.directory-link {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #3f7772;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.directory-link:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

.numeric-cell {
  color: #697371;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.search-layout,
.image-search-layout {
  display: grid;
  min-height: 760px;
  grid-template-columns: minmax(0, 1fr);
}

.search-layout.has-context-panel,
.image-search-layout.has-context-panel {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.search-history-side,
.contextual-side {
  min-width: 0;
}

.contextual-side[hidden],
.search-history-side[hidden],
.reference-list[hidden] {
  display: none;
}

.context-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #dfe9e7;
}

.context-panel-head h2 {
  margin: 0 0 3px;
}

.context-panel-head small {
  color: #8a9492;
  font-size: 12px;
}

.context-collapse {
  display: inline-flex;
  height: 30px;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
  border: 0;
  color: var(--color-primary);
  background: transparent;
  cursor: pointer;
}

.context-collapse:hover,
.context-collapse:focus-visible {
  background: var(--color-primary-subtle);
}

.context-collapse:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.ai-source {
  margin-top: 14px !important;
  overflow: hidden;
  color: #34403e !important;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-results-toolbar {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.search-batch-actions,
.search-filter-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search-batch-actions [data-search-selected] {
  min-width: 82px;
  color: #596360;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.search-batch-actions .btn {
  gap: 5px;
}

.search-batch-actions .btn:disabled {
  border-color: #e2e6e5;
  color: #aeb6b4;
  background: #f7f8f8;
  cursor: not-allowed;
}

.search-filter-controls {
  margin-left: auto;
}

.search-filter-controls select {
  width: 116px;
  height: 32px;
  padding: 0 28px 0 10px;
  border: 1px solid #dfe5e3;
  border-radius: 3px;
  color: #626d6b;
  background: #fff;
  outline: 0;
}

.search-filter-controls select[data-search-sort] {
  width: 132px;
}

.search-filter-controls select:hover {
  border-color: #b8cfcc;
}

.search-filter-controls select:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.table-search-results .col-name,
.table-advanced-results .col-name {
  width: auto;
}

.table-search-results .col-check,
.table-advanced-results .col-check { width: 4%; }
.table-search-results .col-type { width: 8%; }
.table-search-results .col-scope { width: 10%; }
.table-search-results .col-location { width: 16%; }
.table-search-results .col-time { width: 16%; }
.table-search-results .col-actions { width: 22%; }

.table-advanced-results .col-type { width: 7%; }
.table-advanced-results .col-upload-dept,
.table-advanced-results .col-file-dept { width: 13%; }
.table-advanced-results .col-time { width: 16%; }
.table-advanced-results .col-actions { width: 20%; }

.advanced-result-summary {
  display: grid;
  min-height: 74px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #cce3e0;
  border-radius: 6px;
  background: #f5fbfa;
}

.advanced-result-summary > div:first-child strong,
.advanced-result-summary > div:first-child span {
  display: block;
  white-space: nowrap;
}

.advanced-result-summary > div:first-child strong {
  color: #27312f;
}

.advanced-result-summary > div:first-child span {
  margin-top: 3px;
  color: #70807d;
  font-size: 12px;
}

.advanced-condition-list {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 6px;
}

.advanced-condition-list span {
  display: inline-flex;
  max-width: 210px;
  height: 24px;
  align-items: center;
  overflow: hidden;
  padding: 0 8px;
  border-radius: 4px;
  color: #316f69;
  background: #e5f3f1;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.advanced-summary-actions {
  display: flex;
  gap: 10px;
  white-space: nowrap;
}

.search-result-actions {
  gap: 9px;
}

.qa-main,
.qa-main.is-history-open {
  height: calc(100vh - var(--header-height) - 106px);
  min-height: 660px;
  grid-template-columns: minmax(0, 1fr) 340px;
  overflow: hidden;
}

.qa-answer {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 0;
}

.qa-conversation {
  min-width: 0;
  min-height: 0;
  padding: 28px 34px 36px;
  overflow-y: auto;
  scroll-behavior: smooth;
}

.qa-conversation:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -3px;
}

.qa-question {
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.question-bubble {
  max-width: 500px;
}

.question-attachment {
  display: grid;
  width: min(310px, 100%);
  grid-template-columns: 126px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #dce4e2;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 4px 14px rgb(31 77 72 / 8%);
}

.receipt-thumbnail {
  position: relative;
  display: flex;
  height: 82px;
  flex-direction: column;
  gap: 6px;
  padding: 9px 10px;
  overflow: hidden;
  border: 1px solid #d7dcdb;
  border-radius: 3px;
  color: #46504e;
  background: #fff;
}

.receipt-thumbnail::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0 68%, rgb(31 130 122 / 4%) 68% 100%);
  content: "";
  pointer-events: none;
}

.receipt-title {
  position: relative;
  color: #25302e;
  font-size: 10px;
  font-weight: 700;
}

.receipt-thumbnail > i {
  position: relative;
  display: block;
  width: 68%;
  height: 2px;
  background: #e4e8e7;
}

.receipt-thumbnail > div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  font-size: 8px;
}

.receipt-thumbnail > div strong {
  color: #b64142;
  font-size: 9px;
}

.receipt-stamp {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 1px 4px;
  border: 1px solid #c96f70;
  color: #a94a4b;
  font-size: 8px;
  transform: rotate(-8deg);
}

.question-file-meta {
  min-width: 0;
}

.question-file-meta strong,
.question-file-meta small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.question-file-meta strong {
  color: #303a38;
  font-size: 13px;
  font-weight: 500;
}

.question-file-meta small {
  margin-top: 5px;
  color: #8a9492;
  font-size: 12px;
}

.robot-answer {
  margin-top: 24px;
  padding: 20px 26px 30px;
}

.answer-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.answer-avatar {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: var(--color-primary);
}

.answer-heading strong,
.answer-heading small {
  display: block;
}

.answer-heading strong {
  color: #25302e;
}

.answer-heading small {
  margin-top: 2px;
  color: #8a9492;
  font-size: 12px;
}

.robot-answer ol {
  padding-left: 22px;
}

.robot-answer ol li {
  margin-bottom: 7px;
}

.citation-marker {
  display: inline-flex;
  height: 20px;
  align-items: center;
  padding: 0 3px;
  border: 0;
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  vertical-align: super;
}

.citation-marker:hover,
.citation-marker:focus-visible {
  color: #fff;
  background: var(--color-primary);
}

.citation-marker:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.permission-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 22px;
  padding: 14px 16px;
  border: 1px solid #efd9aa;
  border-radius: 6px;
  color: #7b5717;
  background: #fff8e8;
}

.permission-notice > svg {
  flex: 0 0 auto;
  margin-top: 2px;
}

.permission-notice strong {
  color: #684710;
}

.permission-notice p {
  margin: 4px 0 0;
  color: #7b622e;
}

.answer-composer {
  position: static;
  min-height: 128px;
  margin: 0 28px 24px;
  padding: 14px 16px;
}

.answer-composer textarea {
  min-height: 54px;
}

.composer-attachments {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.composer-attachments[hidden] {
  display: none;
}

.composer-attachment-chip {
  display: inline-flex;
  max-width: 230px;
  height: 28px;
  align-items: center;
  gap: 5px;
  padding: 0 4px 0 8px;
  border: 1px solid #d7e3e1;
  border-radius: 4px;
  color: #48615e;
  background: #f3f9f8;
}

.composer-attachment-chip > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.composer-attachment-chip button {
  display: inline-flex;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  color: #74807d;
  background: transparent;
  cursor: pointer;
}

.composer-attachment-chip button:hover {
  color: var(--color-primary);
  background: #e4f2f0;
}

.composer-left {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.composer-left .form-control {
  width: 138px;
}

.composer-tool {
  display: inline-flex;
  height: 32px;
  align-items: center;
  gap: 5px;
  padding: 0 8px;
  border: 0;
  color: #5d6866;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}

.composer-tool-icon {
  width: 32px;
  justify-content: center;
  padding: 0;
}

.composer-tool:hover,
.composer-tool:focus-visible {
  color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.reference-list {
  display: grid;
  min-width: 0;
  min-height: 0;
  height: 100%;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
  border-left: 1px solid #e8eceb;
}

.reference-list > header {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 16px;
  border-bottom: 1px solid #e8eceb;
}

.reference-list > header h2 {
  margin: 0;
}

.reference-list > header span {
  color: #8a9492;
  font-size: 12px;
}

.reference-scroll {
  min-height: 0;
  padding: 12px 14px 20px;
  overflow-y: auto;
}

.reference-item {
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.reference-item.is-cited {
  border-color: var(--color-primary);
  background: #f5fbfa;
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.reference-item:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.reference-item > p {
  margin: 6px 0 0;
  overflow: hidden;
  color: #7b8583;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reference-title {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 6px;
}

.reference-title strong {
  min-width: 0;
  flex: 1;
}

.reference-lock {
  display: inline-flex;
  height: 22px;
  flex: 0 0 auto;
  align-items: center;
  gap: 3px;
  padding: 0 6px;
  border-radius: 4px;
  color: #865c13;
  background: #fff4dc;
  font-size: 11px;
  white-space: nowrap;
}

.restricted-reference {
  border-color: #eadfca;
  background: #fffcf6;
}

.restricted-reference footer {
  gap: 8px;
}

.restricted-reference footer > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.permission-request {
  height: 28px;
  flex: 0 0 auto;
  padding: 0 9px;
  font-size: 12px;
}

.reference-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1340px) {
  .search-layout.has-context-panel,
  .image-search-layout.has-context-panel {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  .advanced-result-summary {
    gap: 12px;
  }

  .search-result-actions {
    gap: 5px;
  }

  .qa-main,
  .qa-main.is-history-open {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  .qa-conversation {
    padding-right: 26px;
    padding-left: 26px;
  }

  .answer-composer {
    margin-right: 20px;
    margin-left: 20px;
  }

  .composer-left .form-control {
    width: 120px;
  }

  .composer-tool {
    padding-right: 5px;
    padding-left: 5px;
  }
}

.doc-icon.video {
  background: #7b61b3;
}

.doc-icon.audio {
  background: #cf6e19;
}

.doc-icon.image {
  background: #25858c;
}

.doc-icon.folder {
  background: transparent;
}

.folder-list-asset {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.knowledge-status {
  display: inline-flex;
  max-width: 100%;
  height: 26px;
  align-items: center;
  padding: 0 9px;
  overflow: hidden;
  border-radius: 4px;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-status.status-published {
  color: #216b57;
  background: #e8f5ef;
}

.knowledge-status.status-review {
  color: #945a0a;
  background: #fff3d9;
}

.knowledge-status.status-draft {
  color: #596260;
  background: #f0f2f2;
}

.knowledge-status.status-collaboration {
  color: #315f99;
  background: #eaf2fc;
}

.library-directory-context {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: flex-start;
}

.library-topbar {
  min-height: 56px;
}

.library-breadcrumb {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  font-size: 13px;
  white-space: nowrap;
}

.library-breadcrumb button {
  max-width: 220px;
  flex: 0 1 auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: var(--color-primary);
  background: transparent;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.library-breadcrumb button:hover {
  color: var(--color-primary-hover);
  text-decoration: underline;
}

.library-breadcrumb button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.library-breadcrumb-current {
  min-width: 0;
  overflow: hidden;
  color: #27302f;
  font-weight: 600;
  text-overflow: ellipsis;
}

.library-breadcrumb-separator {
  color: #7b8583;
  font-size: 12px;
}

.library-topbar .suite-top-actions {
  flex: 0 0 auto;
}

.library-folder-row td {
  background: #fbfcfc;
}

.library-folder-row:hover td {
  background: #f4faf8;
}

.library-folder-name {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.library-folder-name .folder-list-asset {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  object-fit: contain;
}

.library-folder-name button {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: #27302f;
  background: transparent;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.library-folder-name button:hover {
  color: var(--color-primary);
}

.library-folder-name button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

.library-toolbar:has(.toolbar-right:empty) {
  justify-content: flex-start;
}

@media (max-width: 1340px) {
  .library-topbar {
    gap: 14px;
  }

  .library-topbar .suite-search {
    width: 280px;
  }

  .library-directory-context {
    gap: 12px;
  }
}

.review-page {
  position: relative;
}

.review-tabs {
  display: flex;
  height: 64px;
  align-items: stretch;
  justify-content: flex-start;
  gap: 32px;
  border-radius: 0;
  background: #fff;
  border-bottom: 1px solid #e8eceb;
  padding: 0 20px;
}

.review-tabs button {
  min-width: 0;
  flex: 0 0 auto;
  padding: 0;
  white-space: nowrap;
}

.review-tabs button.is-active::after {
  right: 0;
  left: 0;
  height: 3px;
}

.review-tabs b {
  margin-left: 0;
  font-variant-numeric: tabular-nums;
  font-weight: inherit;
}

.review-content {
  padding-top: 0;
}

.review-toolbar {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.review-batch,
.review-filters {
  display: flex;
  align-items: center;
  gap: 8px;
}

.review-batch > span {
  min-width: 74px;
  color: #5c6664;
}

.review-filters {
  min-width: 0;
}

.review-filters .suite-search {
  width: 230px;
}

.review-filters .suite-search input {
  height: 32px;
  padding-left: 12px;
  border-radius: 6px;
}

.review-filters .suite-search button {
  inset: 0 2px 0 auto;
  height: 32px;
}

.review-date {
  position: relative;
  display: flex;
  width: 150px;
  height: 32px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #d9dfde;
  border-radius: 6px;
  color: #697371;
  background: #fff;
}

.review-date span {
  pointer-events: none;
}

.review-date input {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

.review-date:focus-within,
.review-date:hover,
.review-date.is-active {
  border-color: var(--color-primary);
}

.review-date.is-active {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.review-date-separator {
  color: #9aa3a1;
}

.review-table-wrap {
  min-height: 570px;
}

.table-review .col-check { width: 4%; }
.table-review .col-name { width: auto; }
.table-review .col-owner { width: 8%; }
.table-review .col-shared-target { width: 10%; }
.table-review .col-department { width: 12%; }
.table-review .col-time { width: 14%; }
.table-review .col-status { width: 10%; }
.table-review .col-actions { width: 19%; }

#suiteRoot .table-review th:last-child,
#suiteRoot .table-review td:last-child {
  padding-right: 4px;
  padding-left: 4px;
  text-align: center;
}

#suiteRoot .table-review td:last-child .review-row-actions {
  width: 100%;
  justify-content: center;
  margin-right: 0;
  margin-left: 0;
}

.review-row-actions {
  gap: 8px;
}

.review-row-actions .text-action {
  padding: 0;
  font-size: 14px;
}

.review-row-actions .text-action:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.review-row-actions .text-action.danger:focus-visible {
  outline-color: #e52f38;
}

.review-status {
  display: inline-flex;
  height: 26px;
  align-items: center;
  padding: 0 10px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
}

.review-status.review {
  color: #945a0a;
  background: #fff3d9;
}

.review-status.passed {
  color: #216b57;
  background: #e8f5ef;
}

.review-status.returned {
  color: #666f6d;
  background: #eef0f0;
}

.review-no-action {
  color: #a1a8a6;
}

.review-return-modal {
  z-index: 140;
}

.review-return-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.review-return-modal .modal-heading {
  margin: 0;
}

.review-return-modal .modal-header p {
  margin: 3px 0 0;
  color: #8c9694;
  font-size: 13px;
}

.review-return-body {
  display: grid;
  gap: 18px;
}

.review-return-summary {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #dfe8e6;
  border-radius: 6px;
  color: #37413f;
  background: #f7faf9;
}

.review-return-summary svg {
  flex: 0 0 auto;
  color: var(--color-primary);
}

.review-return-summary strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review-return-field {
  display: grid;
  gap: 8px;
}

.review-return-field > span {
  color: #313a38;
  font-weight: 600;
}

.review-return-field em {
  margin-left: 6px;
  color: #8c9694;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

.review-return-field textarea {
  min-height: 120px;
  resize: vertical;
}

.review-return-field > small {
  color: #8c9694;
  text-align: right;
}

.review-return-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.review-return-submit {
  color: #fff;
  border-color: #c93640;
  background: #c93640;
}

.review-return-submit:hover {
  color: #fff;
  border-color: #df4b55;
  background: #df4b55;
}

.review-return-modal :focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.review-return-submit:focus-visible {
  outline-color: #c93640;
}

.review-drawer {
  position: fixed;
  z-index: 120;
  top: var(--header-height);
  right: 0;
  bottom: 0;
  display: grid;
  width: min(480px, calc(100vw - var(--sidebar-width)));
  grid-template-rows: auto minmax(0, 1fr) auto;
  border-left: 1px solid #dfe4e3;
  background: #fff;
  box-shadow: -12px 0 30px rgb(20 52 48 / 14%);
}

.review-drawer[hidden] {
  display: none;
}

.review-drawer-head {
  display: flex;
  min-height: 104px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e7ebea;
}

.review-drawer-head h2 {
  margin: 0 0 12px;
  color: #252d2c;
  font-size: 18px;
}

.review-drawer-body {
  overflow-y: auto;
  padding: 0 24px 28px;
}

.review-drawer-body > h3 {
  margin: 20px 0 4px;
  overflow-wrap: anywhere;
  color: #252d2c;
  font-size: 16px;
}

.review-submitter {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0 0 18px;
  color: #8a9492;
  font-size: 12px;
}

.review-submitter b {
  font-weight: 400;
}

.review-drawer-body section {
  padding: 18px 0;
  border-top: 1px solid #edf0ef;
}

.review-drawer-body section h3 {
  margin: 0 0 14px;
  color: #27302f;
  font-size: 15px;
}

.review-meta {
  display: grid;
  gap: 8px;
  margin: 0;
}

.review-meta div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
}

.review-meta dt {
  color: #707a78;
}

.review-meta dt::after {
  content: "：";
}

.review-meta dd {
  margin: 0;
  color: #313a38;
}

.review-info-tag {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 0 9px;
  border-radius: 4px;
  color: #236f69;
  background: #e8f6f4;
}

.review-summary,
.review-keywords {
  margin: 18px 0 0;
  color: #46504e;
  line-height: 1.8;
}

.review-summary b,
.review-keywords b {
  color: #313a38;
}

.review-ai {
  padding: 14px;
  border-radius: 6px;
  background: #f0f8f7;
}

.review-ai small {
  color: #929b99;
}

.review-ai p {
  margin: 8px 0 0;
  color: #3f4947;
  line-height: 1.8;
}

.review-target-path {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #4d5755;
  line-height: 1.7;
}

.review-target-path svg {
  flex: 0 0 auto;
  margin-top: 3px;
  color: #c98a14;
}

.review-target-path--secondary {
  margin-top: 8px;
}

.review-drawer-actions {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid #dfe4e3;
  background: #fff;
}

.review-drawer-actions > div {
  display: flex;
  gap: 8px;
}

.review-detail-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.upload-info-drawer-layer {
  position: fixed;
  z-index: 121;
  top: var(--header-height);
  right: 0;
  bottom: 0;
  left: var(--sidebar-width);
}

.upload-info-drawer-layer[hidden] {
  display: none;
}

.upload-info-drawer-mask {
  position: absolute;
  inset: 0;
  background: rgb(20 38 36 / 28%);
}

.upload-info-drawer {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(480px, 100%);
}

.upload-info-drawer-head {
  min-height: 96px;
}

.upload-info-drawer .review-meta div {
  grid-template-columns: 76px minmax(0, 1fr);
}

.upload-info-drawer-actions {
  justify-content: space-between;
}

.upload-info-drawer-actions .review-detail-link {
  flex: 0 0 auto;
}

.upload-delete-modal {
  z-index: 140;
}

.upload-delete-modal .modal {
  width: 480px;
}

.upload-delete-modal .modal-body p {
  margin: 0;
  color: #596260;
  line-height: 1.7;
}

.upload-info-drawer :focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (max-width: 1340px) {
  .review-toolbar {
    align-items: flex-start;
    flex-direction: column;
    padding: 10px 0;
  }

  .review-filters {
    width: 100%;
  }

  .review-filters .suite-search {
    margin-left: auto;
  }

  .review-row-actions .text-action {
    padding: 0;
  }
}

.result-error {
  color: #e52f38;
}

.suite-table .result-details {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  line-height: 1.57;
  white-space: nowrap;
}

.suite-table .result-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suite-table .expand-link {
  float: none;
  flex: 0 0 auto;
}

.favorite-actions {
  gap: 8px;
}

body[data-page="collaboration"] .collaboration-tabs,
body[data-page="uploads"] .status-tabs,
body[data-page="sharing"] .status-tabs {
  display: flex;
  height: 56px;
  align-items: stretch;
  justify-content: flex-start;
  gap: 32px;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dfe6e4;
  border-radius: 0;
  background: #fff;
}

body[data-page="collaboration"] .collaboration-tabs button,
body[data-page="uploads"] .status-tabs button,
body[data-page="sharing"] .status-tabs button {
  position: relative;
  height: 56px;
  min-width: 0;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: #595959;
  background: transparent;
  font-size: 16px;
  white-space: nowrap;
  cursor: pointer;
}

body[data-page="collaboration"] .collaboration-tabs button:hover,
body[data-page="uploads"] .status-tabs button:hover,
body[data-page="sharing"] .status-tabs button:hover {
  color: var(--color-primary);
  background: transparent;
}

body[data-page="collaboration"] .collaboration-tabs button:focus-visible,
body[data-page="uploads"] .status-tabs button:focus-visible,
body[data-page="sharing"] .status-tabs button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

body[data-page="collaboration"] .collaboration-tabs button.is-active,
body[data-page="uploads"] .status-tabs button.is-active,
body[data-page="sharing"] .status-tabs button.is-active {
  color: var(--color-primary);
  font-weight: 600;
}

body[data-page="collaboration"] .collaboration-tabs button.is-active::after,
body[data-page="uploads"] .status-tabs button.is-active::after,
body[data-page="sharing"] .status-tabs button.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--color-primary);
  content: "";
}

.department-management-compact-page .department-management-status-tabs {
  display: flex;
  height: 56px;
  align-items: stretch;
  justify-content: flex-start;
  gap: 32px;
  margin: 0 0 12px;
  padding: 0 28px;
  border: 0;
  border-bottom: 1px solid #dfe6e4;
  border-radius: 0;
  background: #fff;
}

.department-management-compact-page .department-management-status-tabs button {
  position: relative;
  height: 56px;
  min-width: 0;
  flex: 0 0 auto;
  padding: 0 8px;
  border: 0;
  color: #595959;
  background: transparent;
  font-size: 16px;
  white-space: nowrap;
  cursor: pointer;
}

.department-management-compact-page .department-management-status-tabs button:hover {
  color: var(--color-primary);
}

.department-management-compact-page .department-management-status-tabs button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.department-management-compact-page .department-management-status-tabs button.is-active {
  color: var(--color-primary);
  font-weight: 600;
}

.department-management-compact-page .department-management-status-tabs button.is-active::after {
  position: absolute;
  right: 8px;
  bottom: -1px;
  left: 8px;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--color-primary);
  content: "";
}

.department-management-compact-page .department-upload-status-tabs {
  display: grid;
  width: min(50%, 780px);
  min-width: 760px;
  max-width: 100%;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  height: 48px;
  gap: 4px;
  margin: 0 0 12px;
  padding: 4px;
  border: 0;
  border-radius: 3px;
  background: #eef1f0;
}

.department-management-compact-page .department-upload-status-tabs button {
  display: inline-flex;
  width: 100%;
  height: 40px;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 4px;
  border-radius: 3px !important;
  color: #595959;
  font-size: 14px;
  white-space: nowrap;
  transition: color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.department-management-compact-page .department-upload-status-tabs button svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.department-management-compact-page .department-upload-status-tabs button span {
  min-width: 0;
  overflow: visible;
}

.department-management-compact-page .department-upload-status-tabs button:hover {
  color: var(--color-primary);
  background: #e3e9e7;
}

.department-management-compact-page .department-upload-status-tabs button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.department-management-compact-page .department-upload-status-tabs button.is-active {
  color: #fff;
  background: var(--color-primary);
  box-shadow: 0 2px 8px rgba(31, 130, 122, 0.24);
}

.department-management-compact-page .department-upload-status-tabs button.is-active:hover {
  color: #fff;
  background: var(--color-primary-dark, #156b64);
}

.department-management-compact-page .department-upload-status-tabs button.is-active::after {
  content: none;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs {
  display: grid;
  width: min(50%, 840px);
  min-width: 520px;
  max-width: 100%;
  height: 48px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 12px;
  padding: 4px;
  border: 0;
  border-radius: 3px;
  background: #eef1f0;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button {
  display: inline-flex;
  width: 100%;
  height: 40px;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 12px;
  border: 0;
  border-radius: 3px !important;
  color: #595959;
  background: transparent;
  font: inherit;
  font-size: 15px;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button svg {
  flex: 0 0 18px;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button:hover {
  color: var(--color-primary);
  background: #e3e9e7;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button.is-active {
  color: #fff;
  background: var(--color-primary);
  box-shadow: 0 2px 8px rgba(31, 130, 122, 0.24);
  font-weight: 600;
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button.is-active:hover {
  color: #fff;
  background: var(--color-primary-dark, #156b64);
}

:is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button.is-active::after {
  content: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(.department-sharing-management-page, .company-sharing-management-page) .department-sharing-status-tabs button { transition: none; }
}

.table-recent .col-check,
.table-collaboration .col-check,
.table-browsing .col-check,
.table-downloads .col-check,
.table-knowledge .col-check,
.table-uploads .col-check,
.table-favorites .col-check {
  width: 4%;
}

.table-collaboration .col-type,
.table-browsing .col-type,
.table-downloads .col-type {
  width: 7%;
}

.table-collaboration .col-name {
  width: auto;
}

.table-downloads .col-size,
.table-collaboration .col-size,
.table-uploads .col-size {
  width: 8%;
}

.table-recent .col-name {
  width: auto;
}

.table-recent .col-size,
.table-recent .col-time,
.table-recent .col-source,
.table-recent .col-location,
.table-recent .col-actions {
  width: 14%;
}

.table-recent th {
  background: #f8fafc;
}

.table-collaboration .col-time,
.table-favorites .col-time,
.table-uploads .col-time {
  width: 13%;
}

.table-knowledge .col-time {
  width: 18%;
}

.table-knowledge .time-cell {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.table-knowledge .col-scope {
  width: 10%;
}

.table-uploads .col-status {
  width: 13%;
}

.table-uploads .col-name {
  width: auto;
}

.table-uploads .col-size {
  width: 10%;
}

.table-uploads .col-time {
  width: 15%;
}

.table-knowledge .col-status {
  width: 9%;
}

.table-knowledge .col-location {
  width: 13%;
}

.table-knowledge .col-actions {
  width: 18%;
}

.table-knowledge td:last-child {
  text-align: right;
}

.table-knowledge td:last-child .row-actions {
  justify-content: flex-end;
  margin-left: auto;
}

.table-collaboration .col-permission {
  width: 10%;
}

.table-collaboration .col-owner {
  width: 8%;
}

.table-collaboration .col-actions {
  width: 18%;
}

.table-favorites .col-scope {
  width: 10%;
}

.table-favorites .col-location {
  width: 17%;
}

.table-favorites .col-actions {
  width: 24%;
}

.table-favorites th:last-child,
.table-favorites td:last-child {
  text-align: right;
}

.table-favorites td:last-child .row-actions {
  justify-content: flex-end;
  margin-left: auto;
}

.share-status {
  display: inline-flex;
  min-width: 56px;
  height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 0;
  border-radius: 4px;
  font: inherit;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

button.share-status {
  cursor: pointer;
}

button.share-status:hover {
  filter: brightness(.97);
}

button.share-status:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.share-status.review {
  color: #945a0a;
  background: #fff3d9;
}

.share-status.passed {
  color: #216b57;
  background: #e8f5ef;
}

.share-status.returned {
  color: #666f6d;
  background: #eef0f0;
}

.sharing-flow-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.sharing-flow-modal .modal-heading {
  margin: 0;
}

.sharing-flow-modal .modal-header p {
  margin: 3px 0 0;
  color: #8c9694;
  font-size: 13px;
}

.sharing-flow-body {
  padding-top: 18px;
}

.sharing-flow-section h3 {
  margin: 0 0 12px;
  color: #27312f;
  font-size: 14px;
}

.sharing-flow-timeline {
  --sharing-flow-step-count: 5;
  display: grid;
  grid-template-columns: repeat(var(--sharing-flow-step-count), minmax(0, 1fr));
  margin: 0;
  padding: 2px 4px 0;
  list-style: none;
}

.sharing-flow-step {
  position: relative;
  min-width: 0;
}

.sharing-flow-step:not(:last-child)::before {
  position: absolute;
  z-index: 0;
  top: 14px;
  right: calc(-50% + 14px);
  left: calc(50% + 14px);
  height: 1px;
  background: #dfe5e3;
  content: "";
}

.sharing-flow-step.is-completed:not(:last-child)::before {
  background: #1f827a;
}

.sharing-flow-step-content {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  min-width: 0;
  justify-items: center;
  gap: 7px;
  padding: 0 4px 8px;
  color: inherit;
  background: transparent;
}

.sharing-flow-marker {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #cdd5d3;
  border-radius: 50%;
  color: #8c9694;
  background: #fff;
  font-size: 12px;
}

.sharing-flow-step.is-completed .sharing-flow-marker {
  border-color: #1f827a;
  color: #fff;
  background: #1f827a;
}

.sharing-flow-step.is-current .sharing-flow-marker {
  border-color: #d88c24;
  color: #9a5e0b;
  background: #fff3d9;
}

.sharing-flow-step.is-rejected .sharing-flow-marker {
  border-color: #d35d64;
  color: #fff;
  background: #d35d64;
}

.sharing-flow-step-head {
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 1px;
  text-align: center;
}

.sharing-flow-step-head strong {
  color: #27312f;
  font-size: 13px;
  line-height: 18px;
}

.sharing-flow-step-head small {
  color: #7a8482;
  font-size: 12px;
  line-height: 18px;
}

.sharing-flow-step.is-current .sharing-flow-step-head small {
  color: #945a0a;
}

.sharing-flow-step.is-rejected .sharing-flow-step-head small {
  color: #b63842;
}

.sharing-flow-step.is-pending .sharing-flow-step-head {
  opacity: .68;
}

.sharing-flow-step.is-current .sharing-flow-step-content,
.sharing-flow-step.is-rejected .sharing-flow-step-content {
  background: #f3f8f7;
}

.sharing-flow-step.is-current .sharing-flow-step-head strong {
  color: #156b64;
}

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

.table-sharing .col-name {
  width: auto;
}

.table-sharing .col-check {
  width: 4%;
}

.table-sharing .col-target {
  width: 10%;
}

.table-sharing .col-location {
  width: 20%;
}

.table-sharing .col-status {
  width: 10%;
}

.table-sharing .col-time {
  width: 16%;
}

.table-sharing .col-actions {
  width: 9%;
}

.table-uploads .col-actions {
  width: 22%;
}

.table-company-management .col-name {
  width: auto;
}

.table-company-management .col-type {
  width: 7%;
}

.table-company-management .col-size {
  width: 8%;
}

.table-company-management .col-location {
  width: 19%;
}

.table-company-management .col-owner {
  width: 9%;
}

.table-company-management .col-status {
  width: 9%;
}

.table-company-management .col-actions {
  width: 12%;
}

.table-library .col-name { width: auto; }
.table-library .col-source { width: 10%; }
.table-library .col-major { width: 10%; }
.table-library .col-professional { width: 10%; }
.table-library .col-time { width: 13%; }
.table-library .col-version { width: 6%; }
.table-library .col-location { width: 18%; }
.table-library .col-actions { width: 17%; }

.department-management-page {
  min-height: calc(100vh - var(--header-height) - 44px);
}

.management-tabs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  padding: 0 16px;
}

.management-tab-links {
  display: flex;
  min-width: 0;
  align-items: stretch;
  gap: 24px;
}

.management-tab-links a {
  padding: 0 2px;
  white-space: nowrap;
}

.management-tabs .upload-knowledge {
  align-self: center;
  padding: 0 14px;
}

.management-dashboard {
  padding-top: 18px;
}

.management-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.management-stats .metric-card {
  height: 104px;
  border-color: #e1e7e5;
  border-radius: 6px;
  background: #fff;
}

.metric-card > div {
  min-width: 0;
}

.metric-card > div > span {
  color: #4f5958;
  font-weight: 500;
}

.metric-card strong {
  margin-top: 2px;
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}

.metric-card .metric-note {
  display: block;
  margin-top: 2px;
  color: #8c9694;
  font-size: 12px;
  white-space: nowrap;
}

.management-charts,
.management-rankings {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 12px;
}

.management-rankings {
  margin-top: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
}

.management-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e1e7e5;
  border-radius: 6px;
  background: #fff;
}

.management-panel > header {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 16px;
  border-bottom: 1px solid #edf0ef;
}

.management-panel h2,
.management-list-head h1 {
  margin: 0;
  color: #28302f;
  font-size: 16px;
}

.management-panel > header > span {
  color: #8c9694;
  font-size: 12px;
}

.distribution-chart {
  display: grid;
  min-height: 310px;
  grid-template-columns: minmax(190px, .9fr) minmax(190px, 1.1fr);
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
}

.distribution-chart svg {
  width: min(100%, 238px);
  justify-self: center;
}

.distribution-chart svg text {
  fill: #7d8785;
  font-size: 10px;
}

.distribution-chart svg .donut-total {
  fill: #27302f;
  font-size: 17px;
  font-weight: 600;
}

.distribution-chart ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 9px;
  list-style: none;
}

.distribution-chart li {
  display: grid;
  min-width: 0;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  color: #616b69;
}

.distribution-chart li i,
.trend-legend i {
  width: 8px;
  height: 8px;
  border-radius: 2px;
}

.distribution-chart li b {
  color: #34403e;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  white-space: nowrap;
}

.distribution-chart li span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.distribution-legend {
  min-width: 0;
}

.distribution-pager {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #edf0ef;
  color: #6f7977;
  font-size: 12px;
}

.distribution-pager button {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #d9dfde;
  color: #586360;
  background: #fff;
  cursor: pointer;
}

.distribution-pager button:hover:not(:disabled) {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.distribution-pager button:disabled {
  color: #b8bfbd;
  background: #f5f6f6;
  cursor: not-allowed;
}

.ranking-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
}

.chart-range {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.chart-presets {
  display: flex;
  align-items: center;
  gap: 4px;
}

.chart-presets button,
.ranking-tabs button {
  height: 28px;
  padding: 0 10px;
  border: 0;
  color: #74807d;
  background: #f3f5f5;
  cursor: pointer;
}

.chart-presets button:hover,
.chart-presets button.is-active,
.ranking-tabs button:hover,
.ranking-tabs button.is-active {
  color: #fff;
  background: var(--color-primary);
}

.trend-panel > header {
  min-height: 76px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 7px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.management-date-range {
  display: grid;
  min-width: 252px;
  height: 30px;
  grid-template-columns: 18px minmax(88px, 1fr) auto minmax(88px, 1fr);
  align-items: center;
  gap: 5px;
  padding: 0 7px;
  border: 1px solid #d9dfde;
  border-radius: 6px;
  color: #7b8683;
  background: #fff;
}

.management-date-range:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.management-date-range label {
  min-width: 0;
}

.management-date-range input {
  width: 100%;
  height: 28px;
  min-width: 0;
  padding: 0 2px;
  border: 0;
  color: #626d6a;
  background: transparent;
  font-size: 12px;
  outline: 0;
}

.date-range-separator {
  color: #9aa3a1;
  font-size: 12px;
  white-space: nowrap;
}

.trend-legend {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 18px;
  padding: 0 16px;
  color: #6e7976;
  font-size: 12px;
}

.trend-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.trend-chart {
  display: block;
  width: 100%;
  height: 270px;
  padding: 0 12px 12px;
}

.trend-chart .chart-grid line {
  stroke: #e5e9e8;
  stroke-width: 1;
}

.trend-chart .chart-axis text {
  fill: #8b9492;
  font-size: 11px;
  text-anchor: middle;
}

.department-stats-page .management-stats,
.company-stats-page .management-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.department-stats-page .management-stats .metric-card,
.company-stats-page .management-stats .metric-card {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
}

.department-stats-page .metric-card > div,
.company-stats-page .metric-card > div {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  column-gap: 40px;
  row-gap: 2px;
}

.department-stats-page .metric-card > div > span,
.company-stats-page .metric-card > div > span {
  grid-column: 1;
  grid-row: 1;
}

.department-stats-page .metric-icon,
.company-stats-page .metric-icon {
  display: inline-flex;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.department-stats-page .metric-card strong,
.company-stats-page .metric-card strong {
  display: block;
  grid-column: 2;
  grid-row: 1;
  margin-top: 0;
  white-space: nowrap;
}

.department-stats-page .metric-card .metric-note,
.company-stats-page .metric-card .metric-note {
  grid-column: 1 / -1;
  grid-row: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.department-stats-page .management-charts {
  grid-template-columns: minmax(0, 1fr);
}

.department-stats-page .department-distribution-chart {
  display: block;
  min-height: 0;
  padding: 10px 18px 12px;
}

.department-bar-chart {
  width: 100%;
  min-width: 0;
}

.department-bar-chart svg {
  display: block;
  width: 100%;
  max-width: none;
  height: 292px;
}

.department-bar-chart .bar-grid line {
  stroke: #e7ebe9;
  stroke-width: 1;
}

.department-bar-chart .bar-grid text,
.department-bar-chart .bar-unit,
.department-bar-chart .bar-label {
  fill: #747f7c;
  font-size: 11px;
}

.department-bar-chart .bar-axis {
  stroke: #cfd6d4;
  stroke-width: 1;
}

.department-bar-chart .bar-value {
  fill: #34403e;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.department-stats-page .department-distribution-chart > .distribution-pager {
  margin-top: 0;
  padding-top: 8px;
}

.department-stats-page .trend-panel > header {
  min-height: 56px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 0;
  padding-bottom: 0;
}

.department-stats-page .trend-panel .chart-range {
  margin-left: auto;
}

.department-stats-page .trend-chart {
  height: 300px;
  padding: 0 18px 14px;
}

.ranking table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.ranking th,
.ranking td {
  height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid #edf0ef;
  text-align: left;
}

.ranking th {
  color: #66706e;
  background: #f7f8f8;
  font-weight: 600;
  white-space: nowrap;
}

.ranking th:first-child,
.ranking td:first-child {
  width: 62px;
  text-align: center;
}

.ranking th:last-child,
.ranking td:last-child {
  width: 98px;
  text-align: right;
}

.management-search-row,
.management-toolbar,
.management-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.management-search-row {
  margin-bottom: 12px;
}

.management-search {
  display: grid;
  height: 44px;
  flex: 1;
  grid-template-columns: 170px 1px minmax(0, 1fr) 46px;
  align-items: center;
  border: 1px solid #d8dfdd;
  border-radius: 6px;
  background: #fff;
}

.management-search select,
.management-search input,
.management-search button {
  height: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  outline: 0;
}

.management-search select {
  padding: 0 12px;
  color: var(--color-primary-active);
  font-weight: 500;
}

.management-search > span {
  width: 1px;
  height: 24px;
  background: #d8dfdd;
}

.management-search input {
  padding: 0 14px;
}

.management-search button {
  color: var(--color-primary);
  cursor: pointer;
}

.image-search-button {
  height: 44px;
  padding: 0 16px;
}

.management-toolbar {
  min-height: 54px;
  flex-wrap: wrap;
}

.management-bulk,
.management-filters {
  display: flex;
  align-items: center;
  gap: 8px;
}

.department-management-compact-page .management-toolbar {
  flex-wrap: nowrap;
}

.department-management-compact-page .management-filters {
  width: 100%;
  justify-content: flex-end;
}

.department-upload-tasks-page .management-bulk {
  flex: 0 0 auto;
}

.department-upload-tasks-page .management-bulk > span,
.department-upload-tasks-page .management-bulk .btn {
  white-space: nowrap;
}

.department-upload-tasks-page .management-filters {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
}

.department-management-compact-page .management-filters .suite-search {
  position: relative;
  display: inline-flex;
  width: 240px;
  height: 32px;
}

.department-management-compact-page .management-filters .suite-search input {
  width: 100%;
  height: 32px;
  padding: 0 36px 0 12px;
  border: 1px solid #d9dfde;
  border-radius: 2px;
  outline: 0;
  font: inherit;
}

.department-management-compact-page .management-filters .suite-search input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.department-management-compact-page .management-filters .suite-search button {
  position: absolute;
  inset: 0 2px 0 auto;
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #7b8583;
  cursor: pointer;
}

.management-bulk > span {
  min-width: 58px;
  color: #737d7b;
  font-size: 12px;
}

.management-bulk .btn:disabled {
  color: #9da5a3;
  border-color: #e2e6e5;
  background: #f5f6f6;
  cursor: not-allowed;
  opacity: .72;
}

.management-date-filter {
  position: relative;
  display: inline-flex;
  height: 32px;
  align-items: center;
  gap: 7px;
  padding: 0 8px 0 10px;
  border: 1px solid #d9dfde;
  border-radius: 6px;
  color: #697371;
  background: #fff;
}

.management-date-filter input {
  width: 120px;
  border: 0;
  color: #697371;
  background: transparent;
  outline: 0;
}

.management-table-wrap {
  min-height: 0;
  border-radius: 6px 6px 0 0;
}

.table-management .col-check { width: 4%; }
.table-management .col-name { width: auto; }
.table-management .col-type { width: 7%; }
.table-management .col-location { width: 15%; }
.table-management .col-status { width: 9%; }
.table-management .col-owner { width: 8%; }
.table-management .col-time { width: 14%; }
.table-management .col-actions { width: 19%; }

.management-generic-table th,
.management-generic-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.management-generic-table .col-name,
.management-generic-table .col-object {
  width: auto;
}

.management-uploads-table .col-check { width: 4%; }
.management-uploads-table .col-size { width: 10%; }
.management-uploads-table .col-time { width: 18%; }
.management-uploads-table .col-status { width: 16%; }
.management-uploads-table .col-actions { width: 20%; }

.management-sharing-table .col-target { width: 12%; }
.management-sharing-table .col-location { width: 24%; }
.management-sharing-table .col-time { width: 14%; }
.management-sharing-table .col-status { width: 10%; }
.management-sharing-table .col-actions { width: 9%; }
.department-sharing-management-page .management-sharing-table .col-location { width: 22%; }
.department-sharing-management-page .management-sharing-table .col-actions { width: 12%; }
.company-sharing-management-page .management-sharing-table .col-location { width: 22%; }
.company-sharing-management-page .management-sharing-table .col-actions { width: 12%; }

.management-recycle-table .col-check { width: 4%; }
.management-recycle-table .col-location { width: 24%; }
.management-recycle-table .col-owner { width: 8%; }
.management-recycle-table .col-time { width: 14%; }
.management-recycle-table .col-retention { width: 10%; }
.management-recycle-table .col-actions { width: 15%; }

.management-logs-table .col-time { width: 16%; }
.management-logs-table .col-owner { width: 8%; }
.management-logs-table .col-operation { width: 13%; }
.management-logs-table .col-status { width: 9%; }
.management-logs-table .col-actions { width: 9%; }

.department-management-log-page .management-logs-table .col-time,
.company-management-log-page .management-logs-table .col-time { width: 20%; }
.department-management-log-page .management-logs-table .col-owner,
.company-management-log-page .management-logs-table .col-owner { width: 16%; }
.department-management-log-page .management-logs-table .col-operation,
.company-management-log-page .management-logs-table .col-operation { width: 34%; }
.department-management-log-page .management-logs-table .col-status,
.company-management-log-page .management-logs-table .col-status { width: 16%; }
.department-management-log-page .management-logs-table .col-actions,
.company-management-log-page .management-logs-table .col-actions { width: 14%; }

.department-management-log-page .management-logs-table th:last-child,
.department-management-log-page .management-logs-table td:last-child {
  padding-left: 12px;
  padding-right: 12px;
  text-align: center;
}

.management-list-head {
  min-height: 66px;
  padding-bottom: 8px;
  border-bottom: 1px solid #edf0ef;
}

.company-recycle-bin-page .management-list-head--actions-only {
  justify-content: space-between;
}

.company-recycle-bin-page .management-list-head--actions-only .suite-search input {
  border-radius: 3px;
}

.management-list-head p {
  margin: 3px 0 0;
  color: #8a9491;
  font-size: 12px;
}

.management-directory-layout {
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 12px;
}

.management-directory-layout .directory-tree,
.management-directory-layout .directory-detail {
  min-height: 650px;
  border-radius: 6px;
}

.tree-search input {
  border-radius: 6px;
}

.tree-search input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
  outline: 0;
}

.management-tree-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
}

.scoped-directory-page .management-tree-row {
  padding-left: calc(var(--tree-level, 0) * 14px);
}

.management-tree-spacer {
  display: block;
  width: 28px;
  height: 38px;
}

.management-tree-toggle {
  display: inline-flex;
  width: 28px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 0;
  color: #77817f;
  background: transparent;
  cursor: pointer;
}

.management-tree-toggle svg {
  transition: transform 150ms ease;
}

.management-tree-toggle.is-expanded svg {
  transform: rotate(90deg);
}

.management-directory-node {
  display: block;
  width: 100%;
  height: 38px;
  overflow: hidden;
  padding: 0 10px;
  border: 0;
  color: #545f5d;
  background: transparent;
  cursor: pointer;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.management-directory-node:hover,
.management-directory-node.is-active {
  color: var(--color-primary-active);
  background: #dcefed;
}

.management-directory-child {
  padding-left: 46px;
}

.directory-workspace {
  min-width: 0;
}

.scoped-directory-page .directory-actions {
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.directory-edit-modal .modal,
.directory-delete-modal .modal {
  overflow: hidden;
}

.directory-edit-modal .modal-title-row {
  align-items: flex-start;
  gap: 20px;
  padding: 22px 24px 18px;
  border-bottom: 0;
}

.directory-edit-modal .modal-heading {
  margin: 0;
  color: #162d43;
  font-size: 20px;
  line-height: 1.4;
}

.directory-edit-modal .modal-title-row p {
  margin: 5px 0 0;
  color: #6c7c8c;
  font-size: 13px;
  line-height: 1.5;
}

.directory-edit-modal .page-icon-button {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: #6e7b89;
}

.directory-edit-modal form {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.directory-edit-modal .modal-body {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 0;
  padding: 0 24px 24px;
  overflow-y: auto;
}

.directory-maintenance-summary {
  display: flex;
  flex-direction: column;
  min-height: 76px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 24px;
  padding: 14px 16px;
  border: 1px solid #e9eef1;
  border-radius: 10px;
  background: #f7f9fa;
}

.directory-maintenance-summary span,
.directory-delete-note {
  color: #708090;
}

.directory-maintenance-summary span {
  font-size: 13px;
  line-height: 1.4;
}

.directory-maintenance-summary strong {
  color: #162d43;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.directory-maintenance-field {
  display: grid;
  gap: 8px;
  margin: 0 0 22px;
  color: #203a53;
  font-size: 14px;
  font-weight: 500;
}

.directory-maintenance-field em {
  margin-left: 3px;
  color: #c93640;
  font-style: normal;
  font-weight: 400;
}

.directory-edit-modal .directory-maintenance-field .form-control {
  min-height: 40px;
  border-color: #d9e0e5;
  border-radius: 5px;
  font-size: 14px;
}

.directory-edit-modal .directory-maintenance-field .form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgb(31 130 122 / 14%);
}

.directory-edit-modal .directory-maintenance-field textarea.form-control {
  min-height: 112px;
  resize: vertical;
  line-height: 1.6;
}

.directory-edit-modal .directory-maintenance-field textarea::placeholder {
  color: #9aa8b5;
}

.directory-edit-modal .modal-footer {
  min-height: 68px;
  align-items: center;
  padding: 14px 24px;
  gap: 8px;
}

.directory-edit-modal .modal-footer .btn {
  min-width: 80px;
  height: 36px;
}

.directory-edit-modal .modal-footer .btn-primary {
  min-width: 132px;
}

.directory-maintenance-error {
  margin: -6px 0 0;
  color: var(--color-error);
  font-size: 12px;
}

.directory-delete-note {
  margin: 0;
  line-height: 1.6;
}

.directory-delete-modal .modal-title-row {
  align-items: flex-start;
  gap: 20px;
  padding: 22px 24px 18px;
  border-bottom: 0;
}

.directory-delete-modal .modal-heading {
  margin: 0;
  color: #162d43;
  font-size: 20px;
  line-height: 1.4;
}

.directory-delete-modal .modal-title-row p {
  margin: 5px 0 0;
  color: #6c7c8c;
  font-size: 13px;
  line-height: 1.5;
}

.directory-delete-modal .page-icon-button {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: #6e7b89;
}

.directory-delete-modal form {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.directory-delete-modal .modal-body {
  display: flex;
  min-height: 0;
  flex-direction: column;
  padding: 0 24px 24px;
  overflow-y: auto;
}

.directory-delete-summary {
  margin: 0 0 20px;
  color: #203a53;
  font-size: 15px;
  line-height: 1.7;
}

.directory-delete-summary > strong:first-child {
  color: #162d43;
  font-weight: 600;
}

.directory-delete-count,
.directory-delete-note strong {
  color: var(--color-primary);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.directory-delete-transfer {
  padding: 18px;
  border: 1px solid #e9eef1;
  border-radius: 8px;
  background: #f7f9fa;
}

.directory-delete-transfer .directory-maintenance-field {
  margin-bottom: 14px;
}

.directory-delete-transfer .form-control {
  min-height: 40px;
  border-color: #d3dce3;
  border-radius: 5px;
  color: #203a53;
  font-size: 14px;
}

.directory-delete-transfer .form-control:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgb(31 130 122 / 14%);
}

.directory-delete-modal .directory-delete-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #718091;
  font-size: 13px;
  line-height: 1.65;
}

.directory-delete-modal .directory-delete-note svg {
  flex: 0 0 auto;
  margin-top: 2px;
  color: #8c9aa8;
}

.directory-delete-error {
  margin: 10px 0 0;
}

.directory-delete-modal .modal-footer {
  min-height: 68px;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
}

.directory-delete-modal .modal-footer .btn {
  min-width: 80px;
  height: 36px;
}

.directory-delete-modal .directory-delete-submit {
  min-width: 168px;
  border-color: #e64049;
  color: #fff;
  background: #e64049;
}

.directory-delete-modal .directory-delete-submit:hover {
  border-color: #cc333d;
  color: #fff;
  background: #cc333d;
}

.directory-create-modal .modal {
  overflow: hidden;
}

.directory-create-modal .modal-title-row {
  align-items: flex-start;
  gap: 20px;
  padding: 22px 24px 18px;
  border-bottom: 0;
}

.directory-create-modal .modal-heading {
  margin: 0;
  color: #162d43;
  font-size: 20px;
  line-height: 1.4;
}

.directory-create-modal .modal-title-row p {
  margin: 5px 0 0;
  color: #6c7c8c;
  font-size: 13px;
  line-height: 1.5;
}

.directory-create-modal .page-icon-button {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  color: #6e7b89;
}

.directory-create-modal form {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.directory-create-modal .modal-body {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 0;
  padding: 0 24px 24px;
  overflow-y: auto;
}

.directory-create-modal .directory-maintenance-field .form-control {
  min-height: 40px;
  border-color: #d9e0e5;
  border-radius: 5px;
  font-size: 14px;
}

.directory-create-modal .directory-maintenance-field .form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgb(31 130 122 / 14%);
}

.directory-create-modal .directory-maintenance-field textarea.form-control {
  min-height: 112px;
  resize: vertical;
  line-height: 1.6;
}

.directory-create-modal .directory-maintenance-field textarea::placeholder {
  color: #9aa8b5;
}

.directory-create-modal .modal-footer {
  min-height: 68px;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
}

.directory-create-modal .modal-footer .btn {
  min-width: 80px;
  height: 36px;
}

.directory-create-modal .modal-footer .btn-primary {
  min-width: 132px;
}

.directory-detail > header {
  display: flex;
  height: 54px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid #e7eae9;
}

.directory-detail > header h2 {
  padding: 0;
  border: 0;
}

.directory-state {
  display: inline-flex;
  height: 24px;
  align-items: center;
  padding: 0 9px;
  border-radius: 4px;
  color: #216b57;
  background: #e8f5ef;
  font-size: 12px;
}

.directory-meta {
  display: grid;
  margin: 0;
  padding: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 32px;
}

.directory-meta > div {
  min-width: 0;
}

.directory-meta dt {
  margin-bottom: 6px;
  color: #8a9491;
  font-size: 12px;
}

.directory-meta dd {
  min-width: 0;
  margin: 0;
  color: #35403e;
  overflow-wrap: anywhere;
}

.directory-meta dd strong {
  color: var(--color-primary-active);
  font-size: 20px;
}

.directory-meta .directory-description {
  grid-column: 1 / -1;
  padding-top: 18px;
  border-top: 1px solid #edf0ef;
}

.directory-description dd {
  max-width: 780px;
  line-height: 1.8;
}

.management-confirm .modal {
  width: 480px;
}

.management-confirm .modal-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.management-confirm .modal-body p {
  margin: 0;
  color: #596260;
  line-height: 1.7;
}

.knowledge-status.status-returned {
  color: #9c3540;
  background: #fbeaec;
}

.company-sharing-flow-status {
  appearance: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
}

.company-sharing-flow-status:hover {
  filter: brightness(.97);
}

.company-sharing-flow-status:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.knowledge-review-flow-status {
  appearance: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
}

.knowledge-review-flow-status:hover {
  filter: brightness(.97);
}

.knowledge-review-flow-status:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (max-width: 1340px) {
  .suite-toolbar {
    gap: 10px;
  }

  .toolbar-left,
  .toolbar-right {
    gap: 6px;
  }

  .toolbar-select {
    padding-left: 7px;
  }

  .suite-toolbar .suite-search {
    width: 210px;
  }

  .recent-list-workspace > .suite-toolbar .suite-search {
    width: 190px;
  }

  .management-tab-links {
    gap: 15px;
  }

  .management-tab-links a {
    font-size: 14px;
  }

  .distribution-chart {
    grid-template-columns: 175px minmax(0, 1fr);
    padding: 14px;
  }

  .chart-range button {
    padding: 0 7px;
  }

  .chart-range input {
    width: 112px;
  }

  .management-bulk .btn {
    padding: 0 7px;
  }

}

.scoped-management-tabs .management-tab-links {
  min-width: 0;
}

.scoped-dashboard-page .distribution-chart {
  min-height: 328px;
  width: min(100%, 820px);
  margin: 0 auto;
}

.company-stats-page .distribution-chart {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 328px;
  padding: 18px 24px 12px;
}

.company-distribution-bar-chart {
  position: relative;
  display: grid;
  height: 286px;
  grid-template-columns: 38px minmax(0, 1fr);
}

.company-distribution-axis {
  display: flex;
  height: 220px;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  padding: 16px 8px 0 0;
  color: #8c9694;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.company-distribution-grid {
  position: absolute;
  z-index: 0;
  top: 16px;
  right: 6px;
  bottom: 66px;
  left: 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}

.company-distribution-grid i {
  display: block;
  width: 100%;
  height: 1px;
  background: #e8edec;
}

.company-distribution-bars {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  height: 286px;
  grid-template-columns: repeat(11, minmax(0, 1fr));
  gap: clamp(6px, 1.1vw, 18px);
  margin: 0;
  padding: 0 6px;
  list-style: none;
}

.company-stats-page .distribution-chart .company-distribution-bars li {
  display: grid;
  min-width: 0;
  height: 100%;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 16px 204px 66px;
  align-items: stretch;
  gap: 0;
}

.company-distribution-bars li > strong {
  align-self: start;
  color: #34403e;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.company-distribution-bar-track {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
}

.company-stats-page .distribution-chart .company-distribution-bar-track i {
  display: block;
  width: clamp(22px, 52%, 46px);
  height: var(--bar-height);
  min-height: 6px;
  border-radius: 2px 2px 0 0;
  background: var(--bar-color);
}

.company-stats-page .distribution-chart .company-distribution-bar-label {
  align-self: start;
  padding: 8px 1px 0;
  overflow: hidden;
  color: #596360;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
}

@media (max-width: 1360px) {
  .company-stats-page .distribution-chart {
    padding-right: 16px;
    padding-left: 16px;
  }

  .company-distribution-bars {
    gap: 5px;
  }

  .company-stats-page .distribution-chart .company-distribution-bar-label {
    font-size: 11px;
  }
}

.scoped-dashboard-page .management-charts {
  grid-template-columns: minmax(0, 1fr);
}

.scoped-dashboard-page .trend-panel > header {
  min-height: 56px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 0;
  padding-bottom: 0;
}

.scoped-dashboard-page .trend-panel .chart-range {
  margin-left: auto;
}

.scoped-dashboard-page .trend-chart {
  height: 300px;
  padding: 0 18px 14px;
}

.scoped-dashboard-page .management-rankings {
  align-items: start;
}

.scoped-knowledge-page .management-toolbar,
.company-upload-tasks-page .management-toolbar {
  flex-wrap: wrap;
}

.company-upload-tasks-page .management-filters .suite-search input {
  border-radius: 3px;
}

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

.scoped-knowledge-tree,
.scoped-knowledge-results {
  min-width: 0;
  border: 1px solid #e2e8e7;
  border-radius: 6px;
  background: #fff;
}

.scoped-knowledge-results {
  border: 0;
  background: transparent;
}

.scoped-knowledge-tree {
  min-height: 560px;
  max-height: calc(100vh - 170px);
  overflow: auto;
}

.scoped-knowledge-tree > header {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 14px;
  border-bottom: 1px solid #edf0ef;
}

.scoped-knowledge-tree > header strong {
  color: #27302f;
  font-size: 14px;
}

.scoped-knowledge-tree > header small {
  color: #8b9593;
  font-size: 12px;
}

.scoped-knowledge-tree-list {
  padding: 8px;
}

.scoped-knowledge-tree-group + .scoped-knowledge-tree-group {
  margin-top: 2px;
}

.scoped-knowledge-all {
  margin-bottom: 2px;
}

.scoped-knowledge-dir {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border: 0;
  border-radius: 4px;
  color: #4f5b59;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.scoped-knowledge-dir:hover,
.scoped-knowledge-dir.is-active {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.scoped-knowledge-dir span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scoped-knowledge-tree-children {
  padding: 2px 0 4px 24px;
}

.scoped-knowledge-dir[data-scoped-knowledge-toggle] > svg {
  flex: 0 0 auto;
  transition: transform 0.16s ease;
}

.scoped-knowledge-dir[data-scoped-knowledge-toggle][aria-expanded="false"] > svg {
  transform: rotate(-90deg);
}

.scoped-knowledge-tree-children .scoped-knowledge-dir {
  min-height: 30px;
  font-size: 13px;
}

.scoped-full-tree-node > .scoped-knowledge-dir {
  padding-left: calc(8px + (var(--tree-level) * 16px));
}

.scoped-full-tree-children {
  display: block;
}

.scoped-tree-spacer {
  display: inline-block;
  width: 14px;
  flex: 0 0 14px;
}

.scoped-knowledge-results {
  overflow: hidden;
}

.scoped-knowledge-results > .management-search-row,
.scoped-knowledge-results > .management-toolbar,
.scoped-knowledge-results > .suite-table-wrap,
.scoped-knowledge-results > .pager {
  margin-left: 16px;
  margin-right: 16px;
}

.scoped-knowledge-results > .management-search-row {
  margin-top: 16px;
}

.scoped-knowledge-results > .pager {
  margin-bottom: 16px;
}

.scoped-knowledge-content {
  margin: 16px;
}

.scoped-folder-table-wrap,
.scoped-file-table-wrap {
  margin: 0;
}

.scoped-file-table .col-check { width: 4%; }
.scoped-file-table .col-name { width: auto; }
.scoped-file-table .col-status { width: 10%; }
.scoped-file-table .col-owner { width: 12%; }
.scoped-file-table .col-time { width: 18%; }
.scoped-file-table .col-actions { width: 218px; }

.overflow-menu button.danger {
  color: #d92d3a;
}

.overflow-menu button.danger:hover,
.overflow-menu button.danger:focus-visible {
  color: #c51f2d;
  background: #fff1f2;
}

.scoped-folder-table .col-check { width: 4%; }
.scoped-folder-table .col-name { width: auto; }
.scoped-folder-table .col-time { width: 22%; }
.scoped-folder-table .col-actions { width: 28%; }

.scoped-folder-table th:last-child,
.scoped-folder-table td:last-child {
  text-align: center;
}

.scoped-folder-table td:last-child .row-actions {
  justify-content: flex-end;
  gap: 4px;
  margin-right: 0;
  margin-left: auto;
}

.scoped-folder-table td:last-child .text-action {
  font-size: 12px;
}

.company-knowledge-results > .management-search-row .management-search {
  position: relative;
  display: block;
  min-width: 220px;
  max-width: 228px;
  flex: 0 1 228px;
  padding-right: 46px;
}

.company-knowledge-results > .management-search-row .management-search input {
  width: 100%;
  padding-right: 0;
}

.company-knowledge-results > .management-search-row .management-search button {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  width: 46px;
  align-items: center;
  justify-content: center;
}

.company-knowledge-results > .management-search-row {
  gap: 10px;
  padding: 8px;
  border: 1px solid #e9eef1;
  border-radius: 6px;
  background: #f5f7fa;
}

.company-knowledge-path {
  display: flex;
  height: 44px;
  min-width: 180px;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  padding: 0 14px;
  border: 1px solid #e5eaed;
  border-radius: 6px;
  color: #4f5b59;
  background: #fff;
}

.company-folder-asset {
  display: inline-block;
  flex: 0 0 auto;
  object-fit: contain;
  vertical-align: middle;
}

.company-knowledge-path > .company-folder-asset,
.company-knowledge-location-icon,
.company-knowledge-path-separator {
  flex: 0 0 auto;
}

.company-knowledge-location-icon {
  display: inline-flex;
  align-items: center;
  color: var(--color-primary);
}

.company-knowledge-path-separator {
  display: inline-flex;
  color: #8b9593;
}

.company-knowledge-path-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-knowledge-path-link {
  padding: 0;
  border: 0;
  color: #4f5b59;
  background: transparent;
  cursor: pointer;
}

.company-knowledge-path-link:hover,
.company-knowledge-path-link:focus-visible {
  color: var(--color-primary-active);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.company-knowledge-path-link:focus-visible {
  outline: 2px solid var(--color-primary-subtle);
  outline-offset: 2px;
}

.company-knowledge-path[data-knowledge-scope="company"] > .company-knowledge-path-label:first-of-type {
  color: #a3adaa;
  font-weight: 400;
}

.company-knowledge-path-label[aria-current="page"] {
  color: #1f2928;
  font-weight: 500;
}

.company-knowledge-results > .management-search-row .image-search-button {
  flex: 0 0 auto;
}

.company-folder-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.company-folder-modal .modal-title-row h2 {
  margin: 0;
  font-size: 18px;
}

.company-folder-modal .modal-title-row p {
  margin: 6px 0 0;
  color: #7b8583;
  font-size: 13px;
}

.company-folder-location {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
  padding: 12px 14px;
  border: 1px solid #e3e9e7;
  border-radius: 6px;
  background: #f8fafc;
}

.company-folder-location span,
.company-folder-name > span {
  color: #697370;
  font-size: 13px;
}

.company-folder-location strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-folder-name {
  display: grid;
  gap: 8px;
}

.company-folder-name input {
  width: 100%;
}

.company-folder-error {
  margin: 8px 0 0;
  color: #c93640;
  font-size: 13px;
}

.scoped-folder-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
}

.scoped-folder-link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scoped-folder-list,
.scoped-file-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.scoped-folder-card,
.scoped-file-card {
  display: flex;
  min-width: 0;
  min-height: 72px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e1e8e6;
  border-radius: 5px;
  color: #394543;
  background: #fff;
  text-align: left;
}

.scoped-folder-card {
  cursor: pointer;
}

.scoped-folder-card:hover,
.scoped-folder-card:focus-visible {
  border-color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.scoped-folder-icon,
.scoped-file-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
  flex: 0 0 auto;
}

.scoped-folder-card > span:last-child,
.scoped-file-card > span:last-child {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.scoped-folder-card strong,
.scoped-file-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scoped-folder-card small,
.scoped-file-card small {
  color: #8b9593;
  font-size: 12px;
}

.publish-date-range {
  width: 264px;
  min-width: 264px;
}

.scoped-management-table .col-name { width: auto; }
.scoped-management-table .col-type { width: 8%; }
.scoped-management-table .col-location { width: 17%; }
.scoped-management-table .col-status { width: 9%; }
.scoped-management-table .col-owner { width: 8%; }
.scoped-management-table .col-time { width: 14%; }
.scoped-management-table .col-actions { width: 18%; }

.tree-root-label {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  margin: 0 10px 4px;
  padding: 0 10px;
  color: #4f5a58;
  background: #f5f7f6;
  font-weight: 600;
}

.scoped-directory-page .tree-list {
  max-height: 600px;
  overflow-y: auto;
  overflow-x: hidden;
}

.scoped-directory-page .management-directory-layout .directory-detail,
.scoped-directory-page .management-directory-layout .directory-tree {
  min-height: 620px;
}

.knowledge-upload-modal {
  z-index: 52;
}

.knowledge-upload-modal .modal {
  width: 800px;
  max-width: calc(100vw - 48px);
  overflow: hidden;
}

.knowledge-upload-modal .modal-title-row {
  align-items: flex-start;
  padding: 24px 32px 18px;
}

.knowledge-upload-modal .modal-title-row h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
}

.knowledge-upload-modal .modal-title-row h2 svg {
  color: var(--color-primary);
}

.knowledge-upload-modal .modal-title-row p {
  margin-top: 14px;
  color: #8c8c8c;
  font-size: 13px;
}

.knowledge-upload-body {
  padding: 0 32px 24px;
}

.knowledge-upload-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(220px, .9fr);
  gap: 28px;
  min-height: 360px;
}

.knowledge-upload-dropzone {
  display: flex;
  min-width: 0;
  min-height: 360px;
  padding: 32px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #1f1f1f;
  background: #fff;
  border: 1px dashed #d9d9d9;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}

.knowledge-upload-dropzone > svg {
  color: var(--color-primary);
}

.knowledge-upload-dropzone:hover,
.knowledge-upload-dropzone.is-dragging {
  background: #f6fbfa;
  border-color: var(--color-primary);
}

.knowledge-upload-dropzone strong {
  font-size: 15px;
  font-weight: 500;
}

.knowledge-upload-dropzone strong span {
  color: var(--color-primary);
  font-weight: 600;
}

.knowledge-upload-dropzone small {
  color: #a6a6a6;
  font-size: 12px;
  line-height: 1.75;
  text-align: center;
}

.upload-compression-warning {
  color: #a95b62;
  font-weight: 400;
}

.knowledge-upload-files {
  min-width: 0;
  padding-top: 2px;
}

.knowledge-upload-files h3 {
  margin: 0 0 16px;
  color: #1f1f1f;
  font-size: 15px;
}

.knowledge-upload-files > ul {
  display: grid;
  max-height: 310px;
  margin: 0;
  padding: 0;
  gap: 4px;
  overflow-y: auto;
  list-style: none;
}

.knowledge-upload-files .upload-file-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 28px;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 4px 2px 4px 8px;
  border-radius: 4px;
}

.knowledge-upload-files .upload-file-row:hover,
.knowledge-upload-files .upload-folder-row:hover {
  background: #f7f8f8;
}

.knowledge-upload-files .upload-file-row > svg {
  color: #1677ff;
}

.knowledge-upload-files .folder-list-asset {
  width: 20px;
  height: 20px;
}

.knowledge-upload-files .upload-file-row > span,
.knowledge-upload-files .upload-folder-row > span {
  overflow: hidden;
  color: #262626;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-upload-files .upload-item-remove {
  display: inline-grid;
  width: 28px;
  height: 28px;
  padding: 0;
  place-items: center;
  color: #8c8c8c;
  background: transparent;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
}

.knowledge-upload-files .upload-item-remove:hover {
  color: #cf1322;
  background: #fff1f0;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-group {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-row {
  display: grid;
  min-width: 0;
  align-items: center;
  border-radius: 4px;
}

.knowledge-upload-files .upload-folder-row {
  min-height: 40px;
  grid-template-columns: 24px 22px minmax(0, 1fr) 28px;
  gap: 7px;
  padding: 4px 2px 4px 0;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-toggle {
  display: inline-grid;
  width: 24px;
  height: 28px;
  padding: 0;
  place-items: center;
  color: #707a78;
  background: transparent;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-toggle:hover {
  color: var(--color-primary);
  background: var(--color-primary-subtle);
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-toggle:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 0;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-toggle svg {
  transition: transform .16s ease;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-children {
  display: grid;
  max-height: none;
  margin: 0 0 0 30px;
  padding: 0;
  gap: 2px;
  overflow: visible;
  list-style: none;
}

:is(.knowledge-upload-files, .company-upload-files) .upload-folder-children[hidden] {
  display: none;
}

.knowledge-upload-files .upload-folder-children .upload-file-row {
  min-height: 34px;
  padding-left: 8px;
}

.knowledge-upload-files > p {
  margin: 72px 0 0;
  color: #8c8c8c;
  text-align: center;
}

.knowledge-upload-modal .modal-footer {
  padding: 16px 32px 24px;
}

.knowledge-upload-progress {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  width: 360px;
  padding: 18px;
  color: #1f1f1f;
  background: #fff;
  border: 1px solid #dfe6e4;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgb(27 57 52 / 18%);
  animation: knowledge-upload-card-in .18s ease-out;
}

.knowledge-upload-progress:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.knowledge-upload-progress > header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.knowledge-upload-progress > header > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.knowledge-upload-progress > header strong {
  font-size: 15px;
  font-weight: 600;
}

.knowledge-upload-progress > header small {
  color: var(--color-primary-active);
  font-size: 12px;
}

.knowledge-upload-progress > header b {
  color: var(--color-primary);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.knowledge-upload-spinner {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  border: 3px solid #dcefeb;
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: knowledge-upload-spin .9s linear infinite;
}

.knowledge-upload-spinner.is-complete {
  background: var(--color-primary-subtle);
  border-color: var(--color-primary);
  animation: none;
}

.knowledge-upload-spinner.is-complete::after {
  position: absolute;
  top: 5px;
  left: 8px;
  width: 7px;
  height: 11px;
  content: "";
  border-right: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  transform: rotate(45deg);
}

.knowledge-upload-progress-file {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 10px 12px;
  background: #f7f8f8;
  border-radius: 4px;
}

.knowledge-upload-progress-file > svg {
  color: #1677ff;
}

.knowledge-upload-progress-file > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-upload-progress-file > small {
  color: #8c8c8c;
  font-size: 12px;
  white-space: nowrap;
}

.knowledge-upload-progress-track {
  height: 6px;
  margin-top: 14px;
  overflow: hidden;
  background: #e9efed;
  border-radius: 3px;
}

.knowledge-upload-progress-track > i {
  display: block;
  width: 18%;
  height: 100%;
  background: var(--color-primary);
  border-radius: inherit;
  transition: width .35s ease;
}

.knowledge-upload-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 14px 0 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}

.knowledge-upload-stages li {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  color: #8c8c8c;
  font-size: 12px;
  white-space: nowrap;
}

.knowledge-upload-stages li > span {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  color: #8c8c8c;
  background: #f2f4f3;
  border: 1px solid #d9dfdd;
  border-radius: 50%;
  font-size: 11px;
}

.knowledge-upload-stages li.is-active {
  color: var(--color-primary-active);
  font-weight: 600;
}

.knowledge-upload-stages li.is-active > span {
  color: #fff;
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.knowledge-upload-stages li.is-complete {
  color: #4f6662;
}

.knowledge-upload-stages li.is-complete > span {
  color: var(--color-primary);
  background: var(--color-primary-subtle);
  border-color: #b7dcd6;
}

.knowledge-upload-complete-modal {
  z-index: 110;
}

.knowledge-upload-complete-body {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 28px 24px 24px;
}

.knowledge-upload-complete-icon {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--color-primary);
  background: var(--color-primary-subtle);
  border-radius: 50%;
}

.knowledge-upload-complete-body h2 {
  margin: 0;
  color: #1f1f1f;
  font-size: 18px;
}

.knowledge-upload-complete-body p {
  margin: 8px 0 4px;
  color: #595959;
  line-height: 1.7;
}

.knowledge-upload-complete-body p strong {
  color: #1f1f1f;
  font-weight: 600;
}

.knowledge-upload-complete-body small {
  color: #8c8c8c;
  font-size: 12px;
}

.knowledge-upload-complete-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

@keyframes knowledge-upload-spin {
  to { transform: rotate(360deg); }
}

@keyframes knowledge-upload-card-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .knowledge-upload-progress,
  .knowledge-upload-spinner,
  .knowledge-upload-progress-track > i {
    animation: none;
    transition: none;
  }
}

.company-upload-modal { z-index: 50; }

.company-upload-modal .modal {
  height: min(680px, 85vh);
}

.company-upload-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.company-upload-modal .modal-title-row h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 20px;
}

.company-upload-modal .modal-title-row p {
  margin: 6px 0 0 31px;
  color: #8a9491;
  font-size: 13px;
}

.company-upload-body {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  gap: 18px;
}

.company-upload-directory {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.company-upload-directory > span {
  color: #5d6765;
  font-weight: 600;
}

.company-upload-layout {
  display: grid;
  min-height: 0;
  flex: 1;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 18px;
}

.company-upload-dropzone {
  display: flex;
  min-height: 330px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border: 1px dashed #aeb8b6;
  color: #34403e;
  background: #fff;
  cursor: pointer;
}

.company-upload-dropzone:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.company-upload-dropzone.is-dragging {
  border-color: var(--color-primary-active);
  color: var(--color-primary-active);
  background: #e2f3f0;
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

.company-upload-dropzone strong { font-size: 15px; }
.company-upload-dropzone strong span { color: var(--color-primary); }

.company-upload-dropzone small {
  color: #9aa3a1;
  line-height: 1.7;
  text-align: center;
}

.company-upload-files { min-width: 0; }

.company-upload-files h3 {
  margin: 3px 0 12px;
  font-size: 16px;
}

.company-upload-files > ul {
  display: grid;
  max-height: 310px;
  margin: 0;
  padding: 0;
  gap: 3px;
  overflow-y: auto;
  list-style: none;
}

.company-upload-files .upload-file-row {
  display: grid;
  min-width: 0;
  min-height: 34px;
  grid-template-columns: 18px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 7px;
  color: #45504e;
}

.company-upload-files .upload-file-row > svg { color: var(--color-primary); }

.company-upload-files .upload-file-row > span,
.company-upload-files .upload-folder-row > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-upload-files .upload-item-remove {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 0;
  color: #8a9491;
  background: transparent;
  cursor: pointer;
}

.company-upload-files .upload-folder-row {
  min-height: 34px;
  grid-template-columns: 24px 18px minmax(0, 1fr) 28px;
  gap: 7px;
}

.company-upload-files .upload-folder-row:hover,
.company-upload-files .upload-file-row:hover {
  background: #f7f8f8;
}

.company-upload-files .upload-folder-row .folder-list-asset {
  width: 18px;
  height: 18px;
}

.company-upload-files .upload-folder-children .upload-file-row {
  min-height: 32px;
  padding-left: 6px;
}

@media (prefers-reduced-motion: reduce) {
  :is(.knowledge-upload-files, .company-upload-files) .upload-folder-toggle svg {
    transition: none;
  }
}

.company-task-tabs {
  margin-bottom: 10px;
  border-radius: 6px;
  background: #f2f4f3;
}

.company-upload-tasks-page .company-task-tabs {
  display: grid;
  width: min(56%, 860px);
  min-width: 820px;
  max-width: 100%;
  height: 48px;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(190px, 1.35fr);
  gap: 4px;
  margin: 0 0 12px;
  padding: 4px;
  border: 0;
  border-radius: 3px;
  background: #eef1f0;
}

.company-upload-tasks-page .company-task-tabs button {
  display: inline-flex;
  width: 100%;
  height: 40px;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 4px;
  border: 0;
  border-radius: 3px !important;
  color: #595959;
  background: transparent;
  font: inherit;
  font-size: 14px;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.company-upload-tasks-page .company-task-tabs button svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.company-upload-tasks-page .company-task-tabs button span {
  min-width: 0;
  overflow: visible;
}

.company-upload-tasks-page .company-task-tabs button:last-child {
  padding-right: 12px;
  padding-left: 12px;
}

.company-upload-tasks-page .company-task-tabs button:hover {
  color: var(--color-primary);
  background: #e3e9e7;
}

.company-upload-tasks-page .company-task-tabs button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.company-upload-tasks-page .company-task-tabs button.is-active {
  color: #fff;
  background: var(--color-primary);
  box-shadow: 0 2px 8px rgba(31, 130, 122, 0.24);
  font-weight: 600;
}

.company-upload-tasks-page .company-task-tabs button.is-active:hover {
  color: #fff;
  background: var(--color-primary-dark, #156b64);
}

.company-upload-tasks-page .company-task-tabs button.is-active::after {
  content: none;
}

.company-task-table-wrap {
  max-height: 540px;
  overflow-y: auto;
}

.company-task-table .col-check { width: 4%; }
.company-task-table .col-name { width: auto; }
.company-task-table .col-size { width: 10%; }
.company-task-table .col-time { width: 18%; }
.company-task-table .col-status { width: 16%; }
.company-task-table .col-actions { width: 20%; }
.company-task-table td { height: 72px; }
.company-task-table .company-task-upload-time { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) {
  .company-upload-tasks-page .company-task-tabs button { transition: none; }
}

@media (max-width: 1320px) {
  .scoped-knowledge-page .management-toolbar,
  .company-upload-tasks-page .management-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .scoped-knowledge-page .management-filters,
  .company-upload-tasks-page .management-filters {
    width: 100%;
    justify-content: flex-end;
  }

  .management-date-range input { width: 100%; }
}

.page-intro {
  display: flex;
  min-height: 58px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.page-intro h1 {
  margin: 0;
  color: #1f1f1f;
  font-size: 20px;
  font-weight: 600;
}

.page-intro p {
  margin: 5px 0 0;
  color: #8c8c8c;
  font-size: 13px;
}

.page-intro-count {
  flex: 0 0 auto;
  padding-top: 5px;
  color: #8c8c8c;
  font-size: 13px;
}

.personal-list-toolbar .toolbar-right {
  margin-left: auto;
}

.personal-list-toolbar .suite-search {
  width: 248px;
}

.personal-list-toolbar [data-personal-bulk-delete]:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.table-browsing .col-name { width: auto; }
.table-browsing .col-type { width: 7%; }
.table-browsing .col-scope { width: 10%; }
.table-browsing .col-location { width: 14%; }
.table-browsing .col-time { width: 16%; }
.table-browsing .col-actions { width: 10%; }
.table-downloads .col-name { width: auto; }
.table-downloads .col-type { width: 7%; }
.table-downloads .col-size { width: 8%; }
.table-downloads .col-location { width: 14%; }
.table-downloads .col-time { width: 16%; }
.table-downloads .col-actions { width: 12%; }
.table-recycle .col-name { width: auto; }
.table-recycle .col-time { width: 14%; }
.table-recycle .col-type { width: 7%; }
.table-recycle .col-size { width: 8%; }
.table-recycle .col-location { width: 18%; }
.table-recycle .col-actions { width: 13%; }

.table-recent .time-cell,
.table-browsing .time-cell,
.table-downloads .time-cell {
  overflow: visible;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.personal-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.personal-profile-card,
.personal-detail-card {
  min-width: 0;
  border: 1px solid #e4e9e7;
  border-radius: 6px;
  background: #fff;
}

.personal-profile-card {
  display: flex;
  min-height: 156px;
  align-items: center;
  gap: 18px;
  padding: 26px 32px;
}

.profile-avatar {
  display: grid;
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  place-items: center;
  border-radius: 50%;
  color: var(--color-primary);
  background: #e4f3f1;
  box-shadow: inset 0 0 0 1px #c8e5e1;
}

.profile-avatar svg {
  width: 46px;
  height: 46px;
  stroke-width: 1.7;
}

.personal-profile-card h1 {
  margin: 0;
  color: #1f1f1f;
  font-size: 22px;
  font-weight: 600;
}

.personal-profile-card p {
  margin: 6px 0 10px;
  color: #6f7977;
}

.profile-badge {
  display: inline-flex;
  height: 24px;
  align-items: center;
  padding: 0 9px;
  border-radius: 4px;
  color: #216b57;
  background: #e8f5ef;
  font-size: 12px;
}

.personal-detail-card > header {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border-bottom: 1px solid #edf0ef;
}

.personal-detail-card > header h2 {
  margin: 0;
  color: #28302f;
  font-size: 16px;
}

.personal-detail-card > header span {
  color: #8c9694;
  font-size: 12px;
}

.personal-detail-grid {
  display: grid;
  margin: 0;
  padding: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 40px;
}

.personal-detail-grid dt {
  margin-bottom: 6px;
  color: #8c9694;
  font-size: 12px;
}

.personal-detail-grid dd {
  margin: 0;
  color: #35403e;
  font-size: 14px;
  white-space: nowrap;
}

@media (max-width: 1280px) {
  .personal-profile-card { padding: 22px; }
  .personal-list-toolbar .suite-search { width: 220px; }
}

/* Business-list alignment contract: optional checkbox, name, fields, actions. */
.suite-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) th,
.suite-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) td {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
}

.suite-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child,
.suite-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) td:last-child {
  padding-right: var(--table-action-edge-gap);
  text-align: right;
}

.suite-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) td:last-child .row-actions,
.suite-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) td:last-child .review-row-actions {
  justify-content: flex-end;
  margin-right: 0;
  margin-left: auto;
}

/* Department upload actions are centered as a page-level exception. */
#suiteRoot .department-upload-tasks-page .management-uploads-table th:last-child,
#suiteRoot .department-upload-tasks-page .management-uploads-table td:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
  text-align: center;
}

#suiteRoot .department-upload-tasks-page .management-uploads-table td:last-child .row-actions {
  justify-content: center;
  margin-right: auto;
  margin-left: auto;
}

.suite-table:has(> colgroup > .col-check):has(> colgroup > .col-name) th:nth-child(2),
.suite-table:has(> colgroup > .col-check):has(> colgroup > .col-name) td:nth-child(2),
.suite-table:has(> colgroup > .col-name):not(:has(> colgroup > .col-check)) th:first-child,
.suite-table:has(> colgroup > .col-name):not(:has(> colgroup > .col-check)) td:first-child {
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.suite-table:has(> colgroup > .col-name) .doc-name,
.suite-table:has(> colgroup > .col-name) .doc-name button,
.suite-table:has(> colgroup > .col-name) .doc-name a,
.suite-table:has(> colgroup > .col-name) .scoped-folder-link,
.suite-table:has(> colgroup > .col-name) .scoped-folder-link span {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Recent-use actions are centered by product request; other tables stay right-aligned. */
.table-recent:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child,
.table-recent:has(> colgroup > .col-name):has(> colgroup > .col-actions) td:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
  text-align: center;
}

.table-recent:has(> colgroup > .col-name):has(> colgroup > .col-actions) td:last-child .row-actions {
  width: 100%;
  max-width: 100%;
  justify-content: center;
  gap: 8px;
  margin-right: auto;
  margin-left: auto;
}

.table-knowledge:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
  text-align: center;
}

.table-collaboration:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
  text-align: center;
}

body[data-page="manage-knowledge"] .scoped-file-table:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
  text-align: center;
}

.table-library-department:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: calc(var(--table-cell-padding-inline) + clamp(0px, calc((100vw - 1280px) * 0.075), 48px));
  text-align: center;
}

.table-library.is-folder-only:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child,
.table-library.is-folder-only:has(> colgroup > .col-name):has(> colgroup > .col-actions) td:last-child {
  padding-right: var(--table-cell-padding-inline);
  padding-left: var(--table-cell-padding-inline);
  text-align: center;
}

/* Align the search action heading with the visual center of its four-button group. */
.table-search-results:has(> colgroup > .col-name):has(> colgroup > .col-actions) th:last-child {
  padding-right: calc(var(--table-action-edge-gap) + 62px);
  text-align: right;
}

body:is(
  [data-page="recent"],
  [data-page="knowledge"],
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-main {
  padding-top: var(--header-height);
  padding-right: 0;
  padding-left: 0;
}

body:is(
  [data-page="recent"],
  [data-page="knowledge"],
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-page {
  border-top: 0;
  border-right: 0;
  border-left: 0;
}

body:is(
  [data-page="recent"],
  [data-page="knowledge"],
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-page,
body:is(
  [data-page="recent"],
  [data-page="knowledge"],
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-content {
  background: #f7f8f8;
}

body:is(
  [data-page="recent"],
  [data-page="knowledge"]
) .suite-content {
  padding-left: 14px;
}

body:is(
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-content {
  position: relative;
  isolation: isolate;
  padding: 32px 36px 28px 30px;
}

body:is(
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-content::before {
  position: absolute;
  z-index: 0;
  inset: 16px 20px 16px 15px;
  border: 1px solid #e6ecea;
  border-radius: 6px;
  background: #fff;
  content: "";
}

@media (max-width: 1340px) {
  body:is(
    [data-page="recent"],
    [data-page="knowledge"]
  ) .suite-content {
    padding-left: 12px;
  }
}

body:is(
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-content > * {
  position: relative;
  z-index: 1;
}

.personal-library-topbar {
  position: relative;
  z-index: 1;
  min-height: 56px;
  background: #fff;
  box-shadow: 0 2px 8px rgb(30 58 54 / 7%);
}

.personal-library-topbar .suite-crumb {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  white-space: nowrap;
}

.personal-library-topbar .suite-crumb strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.personal-library-topbar .suite-top-actions {
  flex: 0 0 auto;
}

.personal-image-search-trigger {
  position: relative;
  width: 32px;
  min-width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 2px;
}

.personal-image-search-icon {
  position: relative;
  display: block;
  width: 19px;
  height: 19px;
}

.personal-image-search-icon > svg:first-child {
  position: absolute;
  top: 0;
  left: 0;
}

.personal-image-search-icon > svg:last-child {
  position: absolute;
  right: -2px;
  bottom: -2px;
  padding: 1px;
  border-radius: 50%;
  background: #fff;
  stroke-width: 2.4;
}

.personal-image-search-modal .modal-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.personal-image-search-modal .modal-heading {
  margin: 0;
}

.personal-image-search-modal .modal-header p {
  margin: 4px 0 0;
  color: #8c8c8c;
  font-size: 13px;
}

.personal-image-search-modal .modal-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.personal-image-search-picker {
  position: relative;
  width: 100%;
  height: 232px;
  overflow: hidden;
  border: 1px dashed #b9c8c5;
  border-radius: 2px;
  background: #f8fbfa;
  color: #595959;
  cursor: pointer;
}

.personal-image-search-picker:hover,
.personal-image-search-picker:focus-visible {
  border-color: #1f827a;
  background: #edf7f5;
  outline: none;
}

.personal-image-search-picker > span {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.personal-image-search-picker > span > svg {
  color: #1f827a;
}

.personal-image-search-picker strong {
  color: #1f1f1f;
  font-size: 15px;
}

.personal-image-search-picker small {
  color: #8c8c8c;
  font-size: 12px;
}

.personal-image-search-picker img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f3f6f5;
}

.personal-image-search-file {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  border: 1px solid #e0e8e6;
  border-radius: 6px;
  background: #fff;
}

.personal-image-search-file > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: #1f827a;
}

.personal-image-search-file strong {
  overflow: hidden;
  color: #595959;
  font-size: 13px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.personal-image-search-file > button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  color: #c93640;
  cursor: pointer;
}

.personal-image-search-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.personal-library-page-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 2px;
  padding-right: 10px;
  border-right: 1px solid #e3e8e7;
}

/* Personal-library topbars touch the navigation; only the work surface below keeps a gutter. */
body:is(
  [data-page="recent"],
  [data-page="knowledge"],
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) main.prototype-main.suite-main {
  padding-left: 0;
}

/* Public-library topbars follow the same edge-to-edge frame as personal libraries. */
body:is(
  [data-page="department"],
  [data-page="company"]
) main.prototype-main.suite-main {
  padding-top: var(--header-height);
  padding-right: 0;
  padding-left: 0;
}

body:is(
  [data-page="department"],
  [data-page="company"]
) .library-page {
  border-top: 0;
  border-right: 0;
  border-left: 0;
}

body:is(
  [data-page="recent"],
  [data-page="knowledge"]
) .suite-content {
  padding-left: 15px;
}

body:is(
  [data-page="collaboration"],
  [data-page="favorites"],
  [data-page="uploads"],
  [data-page="sharing"],
  [data-page="recycle"]
) .suite-content::before {
  left: 15px;
}

/* Material drafting workspace */
body[data-page="material-drafting"] .suite-main { min-width: 0; margin-left: 0; }
.material-drafting-page { min-height: calc(100vh - var(--header-height) - 20px); overflow: hidden; background: #f5f7f7; }
.material-drafting-title { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 12px 20px; border-bottom: 1px solid #e2e8e6; background: #fff; }
.material-drafting-title > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 6px; color: #fff; background: #1f827a; }
.material-drafting-title h1 { margin: 0; color: #1f1f1f; font-size: 18px; line-height: 1.4; }
.material-drafting-title p { margin: 2px 0 0; color: #8c8c8c; font-size: 13px; }
.material-drafting-title > div:not(.material-drafting-title-actions) { min-width: 0; }
.material-drafting-title-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; margin-left: auto; }
.material-drafting-title-actions .btn { gap: 6px; min-width: 92px; justify-content: center; }
.material-drafting-title-actions [data-drafting-exit-open] { color: #5f6967; }
.drafting-history-body { max-height: 500px; padding-top: 16px; overflow-y: auto; }
.drafting-history-notice { display: flex; min-height: 38px; align-items: center; gap: 8px; margin-bottom: 10px; padding: 8px 12px; border: 1px solid #d7e9e6; border-radius: 6px; color: #54625f; background: #f3faf8; }
.drafting-history-notice svg { flex: 0 0 auto; color: #1f827a; }
.drafting-history-list { display: grid; margin: 0; padding: 0; list-style: none; }
.drafting-history-list li { display: grid; min-height: 72px; align-items: center; padding: 11px 2px; border-bottom: 1px solid #edf0ef; grid-template-columns: 38px minmax(0, 1fr) auto auto; gap: 10px; }
.drafting-history-list li:last-child { border-bottom: 0; }
.drafting-history-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 4px; color: #1f827a; background: #edf7f5; }
.drafting-history-list li > div { display: grid; min-width: 0; gap: 3px; }
.drafting-history-list strong, .drafting-history-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drafting-history-list strong { color: #303836; font-size: 14px; }
.drafting-history-list small, .drafting-history-list time { color: #7c8583; font-size: 12px; }
.drafting-history-list time { min-width: 116px; text-align: right; white-space: nowrap; }
.drafting-history-list em { padding: 1px 7px; border-radius: 4px; color: #156b64; background: #e5f4f1; font-size: 12px; font-style: normal; }
.drafting-exit-modal, .drafting-location-modal, .drafting-history-modal { z-index: 1100; }
.material-drafting-content { padding: 14px; }
.material-drafting-grid { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(240px, .9fr) minmax(430px, 1.5fr); gap: 12px; min-width: 0; height: calc(100vh - var(--header-height) - 120px); min-height: 610px; }
.drafting-panel { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid #dfe6e4; border-radius: 6px; background: #fff; }
.drafting-panel > header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 1px solid #edf0ef; }
.drafting-panel > header strong { color: #1f1f1f; font-size: 15px; }
.drafting-panel > header span, .drafting-preview > header > div:first-child > span { display: block; margin-top: 2px; color: #8c8c8c; font-size: 12px; }
.drafting-panel-body { min-height: 0; overflow: auto; flex: 1; padding: 14px; }
.drafting-field { display: block; margin: 0 0 18px; padding: 0; border: 0; }
.drafting-field > legend, .drafting-field > span { display: block; margin-bottom: 8px; color: #3d4745; font-weight: 600; }
.drafting-field em { color: #8c8c8c; font-size: 12px; font-style: normal; font-weight: 400; }
.drafting-template-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.drafting-template { position: relative; min-height: 36px; padding: 7px 24px 7px 9px; overflow: hidden; border: 1px solid #dfe6e4; border-radius: 3px; color: #595959; background: #fff; font-size: 12px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.drafting-template:hover, .drafting-template.is-active { border-color: #1f827a; color: #156b64; background: #edf7f5; }
.drafting-template svg { position: absolute; top: 9px; right: 6px; }
.drafting-requirement-input { position: relative; }
.drafting-requirement-input textarea { height: 108px; resize: vertical; }
.drafting-requirement-input small { position: absolute; right: 8px; bottom: 7px; color: #a3aaa8; }
.drafting-panel > footer { display: flex; min-height: 58px; align-items: center; justify-content: flex-end; padding: 12px 14px; border-top: 1px solid #edf0ef; }
.drafting-requirements > footer .btn { width: 100%; }
.drafting-upload { display: flex; width: 100%; min-height: 116px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; border: 1px dashed #a9c8c3; border-radius: 4px; color: #1f827a; background: #f8fbfa; cursor: pointer; }
.drafting-upload:hover { border-color: #1f827a; background: #edf7f5; }
.drafting-upload small { max-width: 210px; color: #8c8c8c; font-size: 11px; line-height: 1.5; }
.drafting-file-list { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.drafting-file-list li { display: grid; grid-template-columns: 18px minmax(0, 1fr) 24px; align-items: center; gap: 7px; min-height: 42px; padding: 5px 7px 5px 10px; border: 1px solid #edf0ef; border-radius: 4px; color: #59625f; background: #fafbfb; }
.drafting-file-list li > svg { color: #1f827a; }
.drafting-file-list li > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drafting-file-list button { display: grid; width: 24px; height: 24px; padding: 0; place-items: center; border: 0; color: #8c8c8c; background: transparent; cursor: pointer; }
.drafting-file-list button:hover { color: #cf3f3f; }
.drafting-preview > header > div:first-child { min-width: 0; }
.drafting-preview-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.drafting-document { min-height: 0; overflow: auto; flex: 1; padding: 30px clamp(24px, 4vw, 58px); color: #333; background: #fcfdfd; outline: 0; line-height: 1.9; }
.drafting-document.is-editing { box-shadow: inset 0 0 0 2px #79bdb6; background: #fff; }
.drafting-document h2 { margin: 0 0 28px; color: #1f1f1f; font-size: 20px; text-align: center; }
.drafting-document h3 { margin: 20px 0 7px; font-size: 15px; }
.drafting-document p { margin: 0 0 10px; text-align: justify; }

@media (max-width: 1340px) {
  .material-drafting-title { padding-right: 12px; padding-left: 12px; }
  .material-drafting-title-actions .btn { min-width: 84px; }
  .material-drafting-content { padding: 10px; }
  .material-drafting-grid { grid-template-columns: minmax(216px, .78fr) minmax(220px, .82fr) minmax(380px, 1.4fr); gap: 8px; }
  .drafting-panel-body, .drafting-panel > header, .drafting-panel > footer { padding-right: 10px; padding-left: 10px; }
  .drafting-template-list { grid-template-columns: 1fr; }
}

/* Full-width document editor */
body[data-page="document-editor"] { overflow: hidden; background: #eef1f1; }
.document-editor-main { width: 100%; height: 100vh; overflow: hidden; }
.document-editor-shell { position: relative; display: grid; height: 100vh; grid-template-rows: 64px 52px minmax(0, 1fr) 38px; color: #333b3a; background: #eef1f1; }
.editor-topbar { display: grid; z-index: 3; grid-template-columns: minmax(280px, 1fr) auto minmax(280px, 1fr); align-items: stretch; border-bottom: 1px solid #dfe5e3; background: #fff; }
.editor-title-area { display: flex; min-width: 0; align-items: center; gap: 4px; padding: 0 18px; }
.editor-back-button { display: grid; width: 34px; height: 34px; flex: 0 0 34px; padding: 0; place-items: center; border: 0; border-radius: 2px; color: #5d6866; background: transparent; cursor: pointer; }
.editor-back-button:hover { color: #156b64; background: #edf7f5; }
.editor-back-button:focus-visible, .editor-tool-button:focus-visible { outline: 2px solid #1f827a; outline-offset: 1px; }
.editor-title-area h1 { min-width: 0; margin: 0; overflow: hidden; color: #252c2b; font-size: 19px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.editor-ribbon-tabs { display: flex; align-items: stretch; gap: 12px; }
.editor-ribbon-tabs button { position: relative; min-width: 54px; padding: 0 10px; border: 0; color: #4f5857; background: transparent; cursor: default; font: inherit; }
.editor-ribbon-tabs button.is-active { color: #156b64; font-weight: 600; }
.editor-ribbon-tabs button.is-active::after { position: absolute; right: 9px; bottom: 0; left: 9px; height: 3px; background: #1f827a; content: ""; }
.editor-top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding: 0 18px; }
.editor-top-actions > span { display: inline-flex; align-items: center; gap: 6px; color: #7c8583; white-space: nowrap; }
.editor-share-button { display: inline-flex; height: 34px; align-items: center; gap: 7px; padding: 0 12px; border: 0; border-radius: 4px; color: #fff; background: #1f827a; cursor: default; font: inherit; }
.editor-toolbar { display: flex; z-index: 2; min-width: 0; align-items: center; gap: 5px; padding: 0 358px 0 18px; overflow: hidden; border-bottom: 1px solid #dfe5e3; background: #fff; box-shadow: 0 2px 6px rgb(30 55 51 / 5%); }
.editor-tool-button { display: grid; width: 32px; height: 32px; flex: 0 0 32px; padding: 0; place-items: center; border: 0; border-radius: 2px; color: #4f5958; background: transparent; cursor: default; font-size: 16px; }
.editor-tool-button:hover { background: #f1f5f4; }
.editor-tool-button b, .editor-tool-button i, .editor-tool-button u { font-size: 17px; }
.editor-font-step { position: relative; display: inline-block; width: 22px; font-family: Arial, sans-serif; font-size: 17px; line-height: 1; text-align: left; }
.editor-font-step sup { position: absolute; top: -5px; right: 0; color: #687270; font-size: 11px; font-weight: 700; line-height: 1; }
.editor-strike { font-family: Arial, sans-serif; font-size: 17px; text-decoration: line-through; }
.editor-color-tool { position: relative; display: grid; width: 22px; height: 24px; place-items: center; }
.editor-color-tool::after { position: absolute; right: 2px; bottom: 1px; left: 2px; height: 3px; border-radius: 1px; content: ""; }
.editor-highlight-tool::after { background: #f0d54f; }
.editor-text-color-tool::after { background: #d94949; }
.editor-tool-divider { width: 1px; height: 24px; flex: 0 0 1px; margin: 0 4px; background: #e2e7e6; }
.editor-toolbar select { width: 116px; height: 32px; flex: 0 0 auto; padding: 0 30px 0 9px; border: 1px solid transparent; border-radius: 2px; color: #4f5958; background: #fff; }
.editor-toolbar select:hover, .editor-toolbar select:focus { border-color: #d8dfdd; outline: 0; }
.editor-toolbar select:nth-of-type(2) { width: 108px; }
.editor-toolbar-spacer { min-width: 8px; flex: 1; }
.editor-workspace { display: grid; min-width: 0; min-height: 0; grid-template-columns: 260px minmax(0, 1fr) 340px; }
.editor-outline, .editor-assistant { min-width: 0; min-height: 0; overflow: hidden; background: #fff; }
.editor-outline { padding: 0 14px; border-right: 1px solid #dfe5e3; }
.editor-outline > header { display: flex; height: 56px; align-items: center; justify-content: space-between; }
.editor-outline > header strong { font-size: 16px; }
.editor-outline > header button { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 0; color: #7c8583; background: transparent; }
.editor-collapse-all { display: inline-flex; height: 30px; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid #dfe5e3; border-radius: 3px; color: #68716f; background: #fff; font: inherit; }
.editor-outline nav { display: grid; gap: 2px; margin-top: 12px; }
.editor-outline nav button { min-height: 38px; padding: 7px 10px; overflow: hidden; border: 0; border-radius: 3px; color: #596260; background: transparent; font: inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.editor-outline nav button.is-active { color: #156b64; background: #def0ed; font-weight: 600; }
.editor-outline-empty { margin: 34px 0; color: #9aa2a0; text-align: center; }
.editor-stage { min-width: 0; min-height: 0; overflow: auto; padding: 20px 24px 80px; background: #eef1f1; }
.editor-paper { width: min(780px, calc(100% - 24px)); min-height: 1050px; margin: 0 auto; padding: 76px 88px 110px; border: 1px solid #dfe4e3; color: #252928; background: #fff; box-shadow: 0 3px 15px rgb(35 52 49 / 7%); outline: 0; font-family: "SimSun", "宋体", serif; font-size: 16px; line-height: 2; }
.editor-paper:focus { border-color: #9ac7c2; box-shadow: 0 0 0 2px rgb(31 130 122 / 10%), 0 3px 15px rgb(35 52 49 / 7%); }
.editor-paper h2 { margin: 0 0 28px; font-size: 24px; text-align: center; }
.editor-paper h3 { margin: 22px 0 8px; font-size: 17px; }
.editor-paper p { margin: 0 0 10px; text-align: justify; text-indent: 2em; }
.editor-paper.is-blank { color: #8c8c8c; }
.editor-selection-toolbar { position: fixed; z-index: 30; display: flex; height: 36px; align-items: stretch; overflow: hidden; border: 1px solid #d9e1df; border-radius: 4px; background: #fff; box-shadow: 0 6px 18px rgb(31 70 65 / 16%); }
.editor-selection-toolbar[hidden] { display: none; }
.editor-selection-toolbar button { min-width: 54px; height: 34px; padding: 0 11px; border: 0; border-right: 1px solid #edf0ef; color: #3f4947; background: #fff; cursor: pointer; font: inherit; font-size: 13px; white-space: nowrap; }
.editor-selection-toolbar button:last-child { min-width: 78px; border-right: 0; }
.editor-selection-toolbar button:hover { color: #156b64; background: #edf7f5; }
.editor-selection-toolbar button:active { background: #dcefeb; }
.editor-selection-toolbar button:focus-visible { position: relative; z-index: 1; outline: 2px solid #1f827a; outline-offset: -2px; }
.editor-assistant { position: absolute; z-index: 3; top: 64px; right: 0; bottom: 38px; display: grid; width: 340px; grid-template-rows: 54px minmax(0, 1fr) auto; border-left: 1px solid #dfe5e3; background: #fff; }
.editor-assistant-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #e2e7e6; }
.editor-assistant-tabs button { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; color: #4e5756; background: #fff; cursor: pointer; font: inherit; font-weight: 600; }
.editor-assistant-tabs button.is-active { color: #156b64; }
.editor-assistant-tabs button.is-active::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: #1f827a; content: ""; }
.editor-assistant-body { min-height: 0; padding: 20px 22px 150px; overflow-y: auto; line-height: 1.8; }
.editor-assistant-question { width: fit-content; max-width: 92%; margin: 0 0 24px auto; padding: 8px 12px; border-radius: 5px; color: #596260; background: #f2f4f4; }
.editor-assistant-answer h3 { margin: 22px 0 6px; font-size: 15px; }
.editor-assistant-answer p { margin: 0 0 9px; color: #4f5756; }
.editor-assistant-body.is-optimization { padding: 14px 12px 24px; }
.editor-optimization { color: #3f4846; font-size: 13px; line-height: 1.75; }
.editor-optimization section { margin: 0 0 18px; }
.editor-optimization h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: #303937; font-size: 15px; }
.editor-optimization h3 > span { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; border-radius: 50%; color: #fff; background: #1f827a; font-size: 12px; }
.editor-optimization-overview { padding: 12px 14px; border: 1px solid #e2e8e6; border-radius: 6px; background: #fff; }
.editor-optimization-overview p { margin: 0 0 5px 30px; color: #626b69; }
.editor-optimization-overview ul { display: grid; gap: 2px; margin: 0 0 0 30px; padding: 0; list-style: none; }
.editor-optimization-overview li { display: flex; align-items: center; gap: 5px; }
.editor-optimization-overview li svg { color: #1f827a; stroke-width: 2.5; }
.editor-optimization-suggestions > h3 { margin: 0 2px 10px; }
.editor-optimization-item { padding: 14px 2px 18px; border-bottom: 1px solid #dce6e4; }
.editor-optimization-item:last-child { border-bottom: 0; }
.editor-optimization-item h4 { margin: 0 0 7px; color: #1f827a; font-size: 14px; }
.editor-optimization-meta { margin: 0; padding-left: 18px; }
.editor-optimization-meta > li { margin-bottom: 6px; }
.editor-optimization-meta b { color: #37403e; }
.editor-optimization-meta ol { margin: 5px 0 0; padding-left: 20px; }
.editor-optimization-meta ol li { margin: 2px 0; }
.editor-apply-suggestion { display: block; height: 32px; margin: 12px 2px 0 auto; padding: 0 14px; border: 0; border-radius: 2px; color: #fff; background: #1f827a; cursor: default; font: inherit; }
.editor-optimization-actions { display: grid; gap: 10px; padding: 12px; border-top: 1px solid #e1e7e5; background: #fff; }
.editor-optimization-actions .btn { width: 100%; height: 42px; justify-content: center; border-color: #1f827a; color: #1f827a; background: #fff; cursor: default; font-weight: 600; }
.editor-optimization-actions .btn-primary { color: #fff; background: #1f827a; }
.editor-assistant-empty { display: flex; height: 100%; align-items: center; justify-content: center; flex-direction: column; color: #8c9593; text-align: center; }
.editor-assistant-empty svg { margin-bottom: 12px; color: #1f827a; }
.editor-assistant-empty strong { color: #45504e; font-size: 16px; }
.editor-assistant-empty p { max-width: 220px; margin: 6px 0 0; }
.editor-optimization-empty { min-height: 100%; }
.editor-assistant-composer { margin: 0 12px 12px; padding: 10px 12px; border: 1px solid #d8dfdd; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgb(31 70 65 / 8%); }
.editor-assistant-composer textarea { width: 100%; height: 54px; border: 0; resize: none; outline: 0; font: inherit; }
.editor-assistant-composer > div { display: flex; align-items: center; justify-content: space-between; color: #727c7a; font-size: 12px; }
.editor-assistant-scope { width: 132px; height: 28px; padding: 0 24px 0 0; overflow: hidden; border: 0; color: #65706e; background-color: transparent; outline: 0; cursor: pointer; font: inherit; text-overflow: ellipsis; white-space: nowrap; }
.editor-assistant-scope:hover, .editor-assistant-scope:focus { color: #156b64; }
.editor-assistant-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; }
.editor-assistant-composer .editor-assistant-tool,
.editor-assistant-composer .editor-assistant-send { display: grid; width: 30px; min-width: 30px; height: 30px; flex: 0 0 30px; padding: 0; place-items: center; border: 0; cursor: pointer; }
.editor-assistant-composer .editor-assistant-tool { border-radius: 2px; color: #65706e; background: transparent; }
.editor-assistant-composer .editor-assistant-tool:hover { color: #156b64; background: #edf7f5; }
.editor-assistant-composer .editor-assistant-send { border-radius: 50% !important; color: #fff; background: #1f827a; }
.editor-assistant-composer .editor-assistant-send:hover { background: #3ba39a; }
.editor-assistant-composer .editor-assistant-tool:focus-visible,
.editor-assistant-composer .editor-assistant-send:focus-visible { outline: 2px solid #1f827a; outline-offset: 2px; }
.send-circle { width: 40px; min-width: 40px; height: 40px; flex: 0 0 40px; padding: 0; border-radius: 50% !important; }
.editor-statusbar { display: flex; z-index: 3; align-items: center; gap: 26px; padding: 0 18px; border-top: 1px solid #dfe5e3; color: #68716f; background: #fff; font-size: 13px; }
.editor-statusbar b { color: #1f827a; font-weight: 500; }
.editor-statusbar > div { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.editor-statusbar button { width: 26px; height: 26px; padding: 0; border: 0; color: #65706e; background: transparent; font-size: 17px; }
.editor-statusbar input { width: 92px; accent-color: #1f827a; }
.editor-exit-modal .modal { width: 640px; }
.editor-exit-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 32px 10px; border-bottom: 0; }
.editor-exit-heading { display: flex; align-items: center; gap: 12px; }
.editor-exit-heading .modal-heading { margin: 0; color: #27343f; font-size: 20px; line-height: 1.4; }
.editor-exit-icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; color: #1677ff; background: #eaf4ff; }
.editor-exit-header .page-icon-button { width: 32px; height: 32px; color: #8c9694; }
.editor-exit-modal .modal-body { padding: 10px 32px 24px; }
.editor-exit-message { margin: 0; color: #596260; font-size: 15px; line-height: 1.9; }
.editor-exit-message strong { color: #27343f; font-weight: 600; }
.editor-exit-actions { align-items: center; justify-content: space-between; padding: 12px 32px 24px; border-top: 0; }
.editor-exit-primary-actions { display: flex; align-items: center; gap: 16px; }
.editor-exit-primary-actions .btn { min-width: 112px; justify-content: center; }
.editor-discard-action { height: 32px; padding: 0; border: 0; color: #8c9694; background: transparent; cursor: pointer; font: inherit; }
.editor-discard-action:hover, .editor-discard-action:focus-visible { color: #cf3f3f; }
.editor-exit-modal :focus-visible { outline: 2px solid #1f827a; outline-offset: 2px; }
.editor-history-body { max-height: 460px; overflow-y: auto; }
.editor-history-list { display: grid; margin: 0; padding: 0; list-style: none; }
.editor-history-list > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 72px; padding: 12px 0; border-bottom: 1px solid #edf0ef; }
.editor-history-list > li:last-child { border-bottom: 0; }
.editor-history-version { display: flex; min-width: 0; align-items: center; gap: 10px; }
.editor-history-version > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; color: #1f827a; background: #edf7f5; }
.editor-history-version > div { display: grid; min-width: 0; gap: 2px; }
.editor-history-version strong, .editor-history-version small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.editor-history-version strong { color: #303735; font-size: 14px; }
.editor-history-version small { color: #7c8583; }
.editor-history-version em { flex: 0 0 auto; padding: 1px 6px; border-radius: 4px; color: #156b64; background: #e5f4f1; font-size: 12px; font-style: normal; }
.editor-history-actions { display: flex; align-items: center; gap: 8px; }
.editor-history-actions button { display: inline-flex; align-items: center; gap: 4px; }
.editor-history-delete { color: #cf3f3f; }
.editor-history-empty { margin: 28px 0; color: #8c9593; text-align: center; }
.editor-history-delete-modal { z-index: 1200; }

@media (max-width: 1340px) {
  .editor-topbar { grid-template-columns: minmax(250px, 1fr) auto minmax(230px, 1fr); }
  .editor-title-area { padding-right: 8px; padding-left: 10px; }
  .editor-title-area h1 { font-size: 16px; }
  .editor-ribbon-tabs { gap: 2px; }
  .editor-ribbon-tabs button { min-width: 48px; padding: 0 6px; }
  .editor-top-actions { gap: 10px; padding-right: 10px; padding-left: 6px; }
  .editor-toolbar { gap: 2px; padding-right: 310px; padding-left: 10px; }
  .editor-tool-button { width: 30px; flex-basis: 30px; }
  .editor-tool-divider { margin-right: 2px; margin-left: 2px; }
  .editor-workspace { grid-template-columns: 220px minmax(0, 1fr) 300px; }
  .editor-assistant { width: 300px; }
  .editor-stage { padding-right: 12px; padding-left: 12px; }
  .editor-paper { width: calc(100% - 12px); padding-right: 62px; padding-left: 62px; }
  .editor-assistant-body { padding-right: 16px; padding-left: 16px; }
}

/* Full-width knowledge detail reader */
body[data-page="knowledge-detail"] {
  overflow: hidden;
  background: #eef1f1;
}

.knowledge-detail-main {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.knowledge-detail-shell {
  display: grid;
  width: 100%;
  height: 100vh;
  min-width: 0;
  grid-template-rows: 74px 64px minmax(0, 1fr);
  color: #343c3a;
  background: #eef1f1;
}

.knowledge-detail-topbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 26px;
  border-bottom: 1px solid #dde3e2;
  background: #fff;
}

.knowledge-detail-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.knowledge-detail-title > button {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 2px;
  color: #3d4644;
  background: transparent;
  cursor: pointer;
}

.knowledge-detail-title > button:hover {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.knowledge-detail-title h1 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #252c2b;
  font-size: 20px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-edit-action {
  display: inline-flex;
  height: 40px;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 0;
  border-radius: 2px;
  color: #3f4846;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
}

.knowledge-edit-action:hover {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.knowledge-viewer-toolbar {
  display: grid;
  min-width: 0;
  grid-template-columns: 240px minmax(0, 1fr) 390px;
  align-items: stretch;
  border-bottom: 1px solid #dde3e2;
  background: #fff;
}

.knowledge-toolbar-section,
.knowledge-reader-controls,
.knowledge-reader-actions {
  display: flex;
  min-width: 0;
  align-items: center;
}

.knowledge-catalog-toggle {
  gap: 9px;
  padding: 0 22px;
  border-right: 1px solid #e4e8e7;
}

.knowledge-catalog-toggle strong {
  font-size: 16px;
}

.knowledge-reader-controls {
  justify-content: center;
  gap: 26px;
  padding: 0 18px;
}

.knowledge-zoom-controls,
.knowledge-page-controls {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.knowledge-zoom-controls button,
.knowledge-page-controls button,
.knowledge-document-search button,
.knowledge-reader-actions button,
.knowledge-info-card > button,
.knowledge-assistant-card > header button,
.knowledge-assistant-composer button {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.knowledge-zoom-controls button,
.knowledge-page-controls button {
  display: grid;
  width: 30px;
  height: 30px;
  padding: 0;
  place-items: center;
  border-radius: 2px;
  color: #4e5856;
  font-size: 20px;
}

.knowledge-zoom-controls button:hover,
.knowledge-page-controls button:hover {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.knowledge-zoom-controls output {
  width: 48px;
  color: #313937;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.knowledge-page-controls input {
  width: 54px;
  height: 34px;
  padding: 0 6px;
  border: 1px solid #dce2e1;
  border-radius: 4px;
  outline: 0;
  background: #fff;
  font: inherit;
  font-variant-numeric: tabular-nums;
  text-align: center;
  appearance: textfield;
}

.knowledge-page-controls input::-webkit-inner-spin-button {
  display: none;
}

.knowledge-document-search {
  position: relative;
  width: min(244px, 32%);
  min-width: 180px;
}

.knowledge-document-search input {
  width: 100%;
  height: 36px;
  padding: 0 38px 0 12px;
  border: 1px solid #dce2e1;
  border-radius: 6px;
  outline: 0;
  background: #fff;
  font: inherit;
}

.knowledge-document-search input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-subtle);
}

.knowledge-document-search button {
  position: absolute;
  top: 3px;
  right: 4px;
  display: grid;
  width: 30px;
  height: 30px;
  padding: 0;
  place-items: center;
  color: #7a8482;
}

.knowledge-reader-actions {
  justify-content: flex-end;
  gap: 2px;
  padding: 0 12px;
  border-left: 1px solid #e4e8e7;
}

.knowledge-reader-actions button {
  display: inline-flex;
  height: 36px;
  align-items: center;
  gap: 5px;
  padding: 0 8px;
  border-radius: 2px;
  color: #424b49;
  white-space: nowrap;
}

.knowledge-reader-actions button:hover,
.knowledge-reader-actions button.is-active {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.knowledge-reader-actions .knowledge-feedback-action {
  color: #d84855;
}

.knowledge-viewer-workspace {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-columns: 240px minmax(0, 1fr) 390px;
}

.knowledge-outline-panel,
.knowledge-insight-panel {
  min-width: 0;
  min-height: 0;
  background: #fff;
}

.knowledge-outline-panel {
  overflow: hidden;
  border-right: 1px solid #e1e6e5;
}

.knowledge-assistant-card h2,
.knowledge-assistant-card h3 {
  margin: 0;
  color: #303735;
  font-size: 16px;
}

.knowledge-outline-nav {
  display: grid;
  max-height: 100%;
  gap: 1px;
  padding: 0 10px 24px;
  overflow-y: auto;
}

.knowledge-outline-nav button {
  min-width: 0;
  height: 35px;
  padding: 0 12px;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  color: #515a58;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-outline-nav button:nth-child(n+3) {
  padding-left: 24px;
}

.knowledge-outline-nav button:nth-child(n+5):nth-child(-n+14) {
  padding-left: 40px;
  font-size: 13px;
}

.knowledge-outline-nav button:hover,
.knowledge-outline-nav button.is-active {
  color: var(--color-primary-active);
  background: #dcefed;
}

.knowledge-outline-nav button.is-active {
  font-weight: 600;
}

.knowledge-document-stage {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 18px 20px 54px;
  background: #eef1f1;
}

.knowledge-document-sheet {
  width: min(760px, calc(100% - 8px));
  min-height: 1080px;
  margin: 0 auto;
  padding: 54px 62px 70px;
  border: 1px solid #e0e5e4;
  color: #303634;
  background: #fff;
  box-shadow: 0 4px 18px rgb(34 52 49 / 8%);
  outline: 0;
  font-family: "SimSun", "宋体", serif;
  font-size: 15px;
  line-height: 2;
  transform-origin: center top;
}

.knowledge-document-sheet h1 {
  margin: 0 0 18px;
  color: #242a29;
  font-size: 26px;
  line-height: 1.45;
  text-align: center;
}

.knowledge-document-author {
  margin-bottom: 26px !important;
  text-align: center !important;
  text-indent: 0 !important;
}

.knowledge-document-sheet h2,
.knowledge-document-sheet h3,
.knowledge-document-sheet h4 {
  scroll-margin-top: 24px;
  color: #252b2a;
}

.knowledge-document-sheet h2 {
  margin: 20px 0 8px;
  font-size: 17px;
}

.knowledge-document-sheet h3 {
  margin: 16px 0 6px;
  font-size: 16px;
}

.knowledge-document-sheet h4 {
  margin: 12px 0 4px;
  font-size: 15px;
}

.knowledge-document-sheet p {
  margin: 0 0 8px;
  text-align: justify;
  text-indent: 2em;
}

.knowledge-document-sheet footer {
  margin-top: 38px;
  color: #7f8886;
  text-align: center;
}

.knowledge-document-sheet .knowledge-search-match {
  border-radius: 2px;
  background: #fff2a8;
  box-shadow: 0 0 0 3px #fff2a8;
}

.knowledge-insight-panel {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border-left: 1px solid #e1e6e5;
  overflow: hidden;
}

.knowledge-info-card,
.knowledge-assistant-card {
  min-width: 0;
  border: 1px solid #e2e7e6;
  border-radius: 6px;
  background: #fff;
}

.knowledge-info-card > button {
  display: flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  color: #303735;
  text-align: left;
}

.knowledge-info-card > button svg {
  transition: transform 160ms ease;
}

.knowledge-info-card > button[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.knowledge-detail-metadata {
  display: block;
  max-height: 360px;
  margin: 0;
  padding: 0 12px 14px;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.knowledge-detail-metadata[hidden] {
  display: none;
}

.knowledge-metadata-section {
  padding: 12px 0;
  border-top: 1px solid #edf0ef;
}

.knowledge-metadata-section:first-child {
  padding-top: 4px;
  border-top: 0;
}

.knowledge-metadata-section:last-child {
  padding-bottom: 0;
}

.knowledge-metadata-section h3 {
  margin: 0 0 9px;
  color: #303735;
  font-size: 13px;
  font-weight: 600;
}

.knowledge-metadata-grid,
.knowledge-metadata-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 14px;
  margin: 0;
}

.knowledge-metadata-grid > div,
.knowledge-metadata-index > div {
  min-width: 0;
}

.knowledge-detail-metadata dt {
  color: #8a9391;
  font-size: 12px;
}

.knowledge-detail-metadata dd {
  margin: 2px 0 0;
  overflow: hidden;
  color: #424b49;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-metadata-index dd {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.knowledge-metadata-wide {
  grid-column: 1 / -1;
}

.knowledge-metadata-tag {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 1px 7px;
  border: 1px solid #cfe6e2;
  border-radius: 4px;
  background: #edf7f5;
  color: #156b64;
  font-size: 12px;
  line-height: 18px;
}

.knowledge-detail-metadata .knowledge-metadata-wrap,
.knowledge-detail-metadata .knowledge-metadata-summary {
  display: block;
  overflow: visible;
  color: #424b49;
  line-height: 1.55;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

.knowledge-detail-metadata .knowledge-metadata-summary {
  padding: 8px 10px;
  border-left: 3px solid #71b6ae;
  background: #f6fbfa;
}

.knowledge-assistant-card {
  display: grid;
  min-height: 0;
  grid-template-rows: 50px minmax(0, 1fr) auto;
  overflow: hidden;
  background: #f6fbfa;
}

.knowledge-assistant-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border-bottom: 1px solid #e4e9e8;
  background: #fff;
}

.knowledge-assistant-card > header div {
  display: flex;
  gap: 4px;
}

.knowledge-assistant-card > header button {
  display: grid;
  width: 30px;
  height: 30px;
  padding: 0;
  place-items: center;
  border-radius: 2px;
  color: #75807e;
}

.knowledge-assistant-card > header button:hover {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.knowledge-assistant-scroll {
  min-height: 0;
  padding: 12px;
  overflow-y: auto;
}

.knowledge-ai-summary {
  padding: 14px;
  border: 1px solid #e1ecea;
  border-radius: 8px;
  background: linear-gradient(150deg, #def3ef, #fff 58%);
}

.knowledge-ai-summary > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.knowledge-ai-summary > header span {
  color: #8b9492;
  font-size: 11px;
  white-space: nowrap;
}

.knowledge-ai-summary p {
  margin: 12px 0 0;
  color: #56605e;
  font-size: 13px;
  line-height: 1.9;
  text-align: justify;
}

.knowledge-assistant-capabilities,
.knowledge-related {
  margin-top: 16px;
  padding: 0 6px;
}

.knowledge-assistant-capabilities > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.knowledge-assistant-capabilities button {
  display: inline-flex;
  height: 36px;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 8px;
  overflow: hidden;
  border: 1px solid #7db9b3;
  border-radius: 3px;
  color: #1f827a;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-assistant-capabilities button:hover {
  border-color: var(--color-primary);
  background: var(--color-primary-subtle);
}

.knowledge-related h3 {
  margin-bottom: 8px;
}

.knowledge-related a {
  display: flex;
  min-width: 0;
  min-height: 31px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--color-primary-active);
  text-decoration: none;
}

.knowledge-related a:hover b {
  text-decoration: underline;
}

.knowledge-related a > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.knowledge-related b {
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.knowledge-related time {
  flex: 0 0 auto;
  color: #8b9492;
  font-size: 11px;
}

.knowledge-assistant-composer {
  display: grid;
  min-height: 74px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
  margin: 0 10px 10px;
  padding: 10px;
  border: 1px solid #d5dfdd;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgb(31 82 76 / 8%);
}

.knowledge-assistant-composer textarea {
  width: 100%;
  height: 48px;
  padding: 2px;
  border: 0;
  resize: none;
  outline: 0;
  font: inherit;
}

.knowledge-assistant-composer > div {
  display: flex;
  align-items: center;
  gap: 2px;
}

.knowledge-assistant-composer button {
  display: grid;
  width: 28px;
  height: 28px;
  padding: 0;
  place-items: center;
  border-radius: 2px;
  color: #687270;
}

.knowledge-assistant-composer button:hover {
  color: var(--color-primary-active);
  background: var(--color-primary-subtle);
}

.knowledge-assistant-composer .knowledge-assistant-send {
  border-radius: 50%;
  color: #fff;
  background: var(--color-primary);
}

.knowledge-assistant-composer .knowledge-assistant-send:hover {
  color: #fff;
  background: var(--color-primary-hover);
}

.knowledge-detail-shell :focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (max-width: 1340px) {
  .knowledge-detail-topbar { padding-right: 16px; padding-left: 16px; }
  .knowledge-viewer-toolbar,
  .knowledge-viewer-workspace { grid-template-columns: 210px minmax(0, 1fr) 330px; }
  .knowledge-reader-controls { gap: 10px; padding-right: 8px; padding-left: 8px; }
  .knowledge-document-search { width: 184px; min-width: 150px; }
  .knowledge-reader-actions { padding-right: 6px; padding-left: 6px; }
  .knowledge-reader-actions button { gap: 3px; padding-right: 5px; padding-left: 5px; font-size: 13px; }
  .knowledge-catalog-toggle,
  .knowledge-outline-panel > header { padding-right: 14px; padding-left: 14px; }
  .knowledge-document-stage { padding-right: 12px; padding-left: 12px; }
  .knowledge-document-sheet { width: calc(100% - 4px); padding-right: 44px; padding-left: 44px; }
  .knowledge-insight-panel { gap: 8px; padding: 8px; }
  .knowledge-ai-summary { padding: 12px; }
  .knowledge-ai-summary > header { align-items: flex-start; flex-direction: column; }
}

.directory-change-tabs button {
  min-width: 0;
}

.directory-change-toolbar .review-filters {
  margin-left: auto;
}

.directory-change-batch > span {
  min-width: 88px;
}

.directory-change-batch .btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.directory-change-table .col-check { width: 4%; }
.directory-change-table .col-change-type { width: 12%; }
.directory-change-table .col-target { width: auto; }
.directory-change-table .col-applicant { width: 9%; }
.directory-change-table .col-department { width: 16%; }
.directory-change-table .col-time { width: 16%; }
.directory-change-table .col-actions { width: 20%; }

.directory-change-table th:last-child,
.directory-change-table td:last-child {
  padding-right: 12px;
  padding-left: 12px;
  text-align: center;
}

.directory-change-table td:last-child .directory-change-actions {
  width: 100%;
  justify-content: center;
  gap: 8px;
  margin-right: 0;
  margin-left: 0;
}

.directory-change-table .directory-change-actions .text-action {
  font-size: 14px;
}

.directory-change-type {
  display: inline-flex;
  height: 24px;
  align-items: center;
  padding: 0 9px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
}

.directory-change-type--add {
  color: #216b57;
  background: #e8f5ef;
}

.directory-change-type--edit {
  color: #37689b;
  background: #eaf2fb;
}

.directory-change-type--delete {
  color: #9a4b53;
  background: #fbecee;
}

.directory-change-path {
  overflow-wrap: anywhere;
  line-height: 1.7;
}

.directory-change-reason {
  margin: 0;
  color: #46504e;
  line-height: 1.8;
}

.directory-change-drawer-actions {
  justify-content: flex-end;
}

@media (max-width: 1340px) {
  .review-tabs {
    padding-right: 12px;
    padding-left: 12px;
  }

  .directory-change-table .col-department { width: 15%; }
  .directory-change-table .col-time { width: 17%; }
  .directory-change-table .col-actions { width: 22%; }
  .directory-change-toolbar .review-filters .suite-search { width: 210px; }
}
