
/* EVA unified sidebar architecture layer. */
.eva-nav-section {
  flex: 0 0 auto;
  min-width: 0;
}

.eva-nav-section + .eva-nav-section {
  margin-top: 14px;
  padding-top: 0;
  border-top: 0;
}

.eva-nav-section__title {
  height: 28px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  color: var(--semi-color-text-2, #8f959e);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  user-select: none;
}

.eva-nav-section__items {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

/* Expanded navigation follows the reviewed designer rhythm. The route and
 * component implementations still own behavior, icons and selection state. */
.eva-nav-section:not(.is-collapsed) .eva-nav-entry .box-border.cursor-pointer {
  box-sizing: border-box;
  height: 38px !important;
  min-height: 38px;
  border-radius: var(--eva-radius-control) !important;
}
.eva-personal-entry:not(.is-collapsed),
.eva-personal-entry:not(.is-collapsed) .eva-personal-entry__main {
  border-radius: var(--eva-radius-control) !important;
}
.eva-nav-section:not(.is-collapsed) .eva-nav-entry [class*="text-14px"],
.eva-personal-entry:not(.is-collapsed) .eva-personal-entry__label {
  font-size: 15px !important;
  line-height: 22px !important;
}

.eva-space-picker__trigger,
.eva-space-picker__option,
.eva-layer-nav {
  font: inherit;
}

.eva-space-picker__trigger:focus-visible,
.eva-space-picker__option:focus-visible,
.eva-layer-nav:focus-visible,
.eva-personal-entry__main:focus-visible,
.eva-drive button:focus-visible,
.eva-drive input:focus-visible {
  outline: var(--gds-border-focus) solid var(--gds-color-border-focus);
  outline-offset: var(--gds-space-0-5);
}

.app-shell {
  border-radius: var(--eva-radius-window);
  overflow: hidden;
  /* Γ 形外壳：底色即导航面本色，工作区左上内凹圆角处露出的正是这层。 */
  background: var(--eva-nav-surface);
}
/* Γ 形外壳：顶栏 + 侧栏连成同色导航面（无边框、无圆角、无缝），
 * 工作区以单个左上内凹圆角嵌入，其余三角交给 app-shell 的窗口圆角裁切。 */
.app-shell :is(.layout-sider, .layout-content) {
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
}
.layout-sider {
  --bg-2: var(--eva-nav-surface);
  background: var(--eva-nav-surface);
  background-clip: padding-box;
}
.layout-content {
  /* 工作区浮在导航面底层之上：完整描边 + 四角圆角，右侧与底部留出
   * 导航面底色的呼吸位；顶与左仍咬合 Γ（顶栏在上、侧栏在左）。 */
  border: 1px solid var(--eva-border-subtle);
  border-radius: var(--eva-radius-panel);
  margin-right: var(--eva-space-1-5);
  margin-bottom: var(--eva-space-1-5);
  background: var(--eva-surface-primary);
}
/* 顶栏并入导航面：与侧栏同底色、去掉底边线，顶栏与主菜单连成一体。 */
.app-shell .app-titlebar {
  background: var(--eva-nav-surface);
  border-bottom: 0;
}
/* 品牌已在顶栏，侧栏头部的隐藏身份槽位收成一条呼吸位，
 * 让「个人」分组标题既不悬空也不贴死顶栏。 */
.app-shell .layout-sider-header {
  padding-top: 0;
  padding-bottom: 0;
  min-height: 8px;
}
/* 顶栏交互项与左侧导航统一 hover/pressed：
 * 1) 复用同一套覆盖层 token（--eva-nav-hover/pressed = 6%/9% 黑，暗色自动转白），
 *    取代原来的不透明灰 #f2f3f5 与散写的 #00000014；
 * 2) 顶栏 line-height 原为标题栏高（36px），span 项继承后再叠 4px 上下内边距
 *    会撑到 44px、超出顶栏——这里把交互项行高重置为 normal 并固定 28px 舒适高度，
 *    在 36px 顶栏内上下各留 4px 呼吸位。 */
.app-shell .app-titlebar .eva-tb-item,
.app-shell .app-titlebar__button {
  line-height: normal;
  transition: background-color .15s ease;
}
.app-shell .app-titlebar .eva-tb-item {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: var(--eva-radius-key);
}
.app-shell .app-titlebar a.eva-tb-item {
  text-decoration: none;
}
.app-shell .app-titlebar a.eva-tb-item:focus-visible {
  outline: 2px solid var(--eva-action-primary);
  outline-offset: 2px;
}
.app-shell .app-titlebar__button {
  width: 28px;
  height: 28px;
  border-radius: var(--eva-radius-key);
}
.app-shell .app-titlebar .eva-tb-item:hover,
.app-shell .app-titlebar__button:hover {
  background: var(--eva-nav-hover);
  color: var(--eva-text-primary);
}
.app-shell .app-titlebar .eva-tb-item:active,
.app-shell .app-titlebar__button:active {
  background: var(--eva-nav-pressed);
}
/* 顶栏左簇（收起按钮 + 品牌）对齐侧栏内容左轴：侧栏 lucide 菜单图标列与分组标题
 * 文字同在 x=20（行左 8 + 内边距 12）。收起图标原在 x=14，故左簇整体右移 6px 落到 20，
 * 收起图标与图标列同轴、品牌顺势右移。 */
.app-shell .app-titlebar__menu {
  padding-left: 6px;
}
.app-shell :is(.layout-sider, .layout-content) > * {
  isolation: isolate;
  z-index: 0;
}
.eva-nav-entry svg.lucide {
  width: var(--eva-icon-nav);
  height: var(--eva-icon-nav);
  stroke-width: var(--eva-icon-stroke);
}

/* Shared route-driven navigation colors, including the compact layout.
 * Keep runtime geometry and selection ownership; adapt its utility colors here.
 * hover 与 pressed 是覆盖层而非永久表面（GDS 2.0 §13 / EvaMate 0.3.0 §71），
 * 因此两者与选中态分开表达，pressed 不再直接借用选中底色。 */
.eva-nav-entry .box-border.cursor-pointer:hover,
.eva-personal-entry:hover {
  background: var(--eva-nav-hover) !important;
}
.eva-nav-entry .box-border.cursor-pointer:active,
.eva-personal-entry:active {
  background: var(--eva-nav-pressed) !important;
}
.eva-nav-entry .box-border.cursor-pointer.bg-fill-3,
.eva-personal-entry.is-selected {
  color: var(--eva-nav-accent) !important;
  background: var(--eva-nav-selected) !important;
}
.eva-nav-entry .bg-fill-3 [class*="text-t-primary"],
.eva-nav-entry .bg-fill-3 [class*="text-14px"],
.eva-personal-entry.is-selected .eva-personal-entry__label {
  color: var(--eva-nav-accent) !important;
  font-weight: var(--eva-fw-medium) !important;
}

.eva-space-picker {
  position: relative;
}

.eva-space-picker__trigger {
  width: 100%;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--semi-color-border, #e7e8ea);
  border-radius: 9px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  text-align: left;
  color: var(--gds-color-text-primary);
  background: var(--gds-color-surface-primary);
  cursor: pointer;
}

.eva-space-picker__mark {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--semi-color-primary, #6a5cff);
  font-size: 11px;
  font-weight: 700;
}

.eva-space-picker__copy {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
}

.eva-space-picker__menu {
  position: absolute;
  z-index: 90;
  top: 44px;
  left: 0;
  right: 0;
  padding: 6px;
  border: 1px solid var(--semi-color-border, #e7e8ea);
  border-radius: 10px;
  background: var(--semi-color-bg-0, #fff);
  box-shadow: 0 8px 24px rgba(31, 35, 41, .14);
}

.eva-space-picker__menu[hidden] { display: none; }

.eva-space-picker__option {
  width: 100%;
  min-height: 36px;
  padding: 5px 8px;
  border: 0;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  text-align: left;
  color: var(--semi-color-text-0, #1c1f23);
  background: transparent;
  cursor: pointer;
}

.eva-space-picker__option:hover,
.eva-space-picker__option[aria-checked="true"] {
  background: var(--semi-color-fill-0, #f3f4f6);
}

.eva-space-picker__divider {
  height: 1px;
  margin: 5px 6px;
  background: var(--semi-color-border, #e7e8ea);
}

.eva-layer-nav {
  box-sizing: border-box;
  width: calc(100% - 16px);
  height: 34px;
  margin: 0 8px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex: 0 0 auto;
  color: var(--semi-color-text-0, #1c1f23);
  background: transparent;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .15s ease;
}

.eva-layer-nav:hover,
.eva-layer-nav.is-active {
  background: var(--semi-color-fill-1, #e2e3e5);
}

.eva-layer-nav__icon,
.eva-drive-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.eva-layer-nav__icon {
  width: 16px;
  height: 16px;
}

.eva-layer-nav__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-layer-section-label {
  margin: 8px 14px 3px;
  color: var(--semi-color-text-2, #8a8f99);
  font-size: 12px;
  font-weight: 500;
}

.eva-space-definition {
  margin: -2px 0 16px;
  color: var(--semi-color-text-2, #737780);
  font-size: 13px;
  line-height: 20px;
}

.eva-space-card-desc {
  margin-top: 4px;
  overflow: hidden;
  color: var(--semi-color-text-2, #737780);
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-existing-page {
  box-sizing: border-box;
  height: 100%;
  overflow: auto;
  padding: 34px 40px 56px;
  color: var(--semi-color-text-0, #1c1f23);
  background: var(--semi-color-bg-0, #fff);
}

.eva-existing-page__header {
  margin-bottom: 28px;
}

.eva-existing-page__header h1 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 32px;
  font-weight: 600;
}

.eva-existing-page__header p {
  margin: 0;
  color: var(--semi-color-text-2, #737780);
  font-size: 14px;
  line-height: 22px;
}

.eva-existing-page__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.eva-existing-page__stat {
  min-height: 92px;
  padding: 16px 18px;
  border: 1px solid var(--semi-color-border, #e5e7ea);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--semi-color-bg-0, #fff);
}

.eva-existing-page__stat span {
  color: var(--semi-color-text-2, #737780);
  font-size: 12px;
}

.eva-existing-page__stat strong {
  font-size: 22px;
  line-height: 28px;
  font-weight: 600;
}

.eva-existing-page__section h2 {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

.eva-existing-page__list {
  border-top: 1px solid var(--semi-color-border, #eceef0);
}

.eva-existing-page__row {
  min-height: 62px;
  padding: 10px 4px;
  border-bottom: 1px solid var(--semi-color-border, #eceef0);
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, .8fr) 90px;
  align-items: center;
  gap: 18px;
}

.eva-existing-page__row strong {
  overflow: hidden;
  font-size: 14px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-existing-page__row span {
  overflow: hidden;
  color: var(--semi-color-text-2, #737780);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-existing-page__status {
  justify-self: end;
  padding: 3px 9px;
  border-radius: 999px;
  color: #3355cc !important;
  background: #eef2ff;
  font-size: 11px !important;
}

.eva-nav-section.is-collapsed + .eva-nav-section.is-collapsed {
  margin-top: 10px;
  padding-top: 0;
  border-top: 0;
}

.eva-nav-section.is-collapsed .eva-nav-section__title {
  box-sizing: border-box;
  height: 20px;
  padding: 0 2px;
  display: grid;
  grid-template-columns: minmax(2px, 1fr) auto minmax(2px, 1fr);
  align-items: center;
  gap: 3px;
  color: var(--semi-color-text-2, #8f959e);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
  white-space: nowrap;
}

.eva-nav-section.is-collapsed .eva-nav-section__title::before,
.eva-nav-section.is-collapsed .eva-nav-section__title::after {
  content: "";
  height: 1px;
  background: var(--eva-border-subtle);
}

.eva-nav-section.is-collapsed .eva-nav-section__items {
  margin-top: 3px;
  gap: 3px;
}

/* 主菜单右侧边线：极简两态拖拽/双击手柄。宽度锁死 180/80，边线只切换折叠/展开，
 * 不改变宽度（拖拽逻辑见 009-7-patch-sider.js 的 .eva-sider-edge）。热区 12px 便于
 * 抓取，可见线默认 2px 发丝；hover / 拖拽中加粗到 4px 并提亮为品牌色。 */
.eva-sider-edge {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -4px;
  width: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: col-resize;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
}

.eva-sider-edge__line {
  pointer-events: none;
  position: absolute;
  /* 上下缩进对齐工作区浮卡的直边（浮卡圆角 16px、底部留白 6px），避免线条在圆角处凸出 */
  top: 16px;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  border-radius: 9999px;
  background: transparent;
  transition: background-color 0.15s ease;
}

.eva-sider-edge:hover .eva-sider-edge__line,
.eva-sider-edge-dragging .eva-sider-edge__line {
  background: var(--eva-nav-accent, #3355cc);
}

.eva-sider-edge-dragging,
.eva-sider-edge-dragging * {
  cursor: col-resize !important;
}

.eva-nav-section.is-collapsed .eva-nav-entry {
  box-sizing: border-box;
  width: calc(100% - 4px);
  margin: 0 2px;
}

.eva-nav-section.is-collapsed .eva-nav-entry .box-border.cursor-pointer {
  box-sizing: border-box;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px;
  margin: 0;
  padding: 5px 2px !important;
  border: 0;
  border-radius: 10px !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center !important;
  gap: 3px !important;
  color: var(--semi-color-text-0, #1c1f23);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.eva-nav-section.is-collapsed .eva-nav-entry [class*="size-22px"] {
  width: 22px !important;
  height: 22px !important;
}

.eva-nav-section.is-collapsed .eva-nav-entry svg {
  width: 20px !important;
  height: 20px !important;
}

.eva-nav-section.is-collapsed .eva-nav-entry [class*="text-14px"] {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: var(--semi-color-text-1, #4e5969);
  /* 12/16 为 GDS caption 档,与分组标题同档;折叠标签 ≤5 字(72px 盒宽)不会截断 */
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-personal-entry {
  box-sizing: border-box;
  width: 100%;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: stretch;
  color: var(--semi-color-text-0, #1c1f23);
  background: transparent;
}


.eva-personal-entry__main {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 100%;
  padding: 0 10px;
  border: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}


.eva-personal-entry__logo,
.eva-personal-entry__logo img {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

.eva-personal-entry__logo img {
  display: block;
  object-fit: contain;
}

.eva-personal-entry__label {
  min-width: 0;
  flex: 1 1 auto;
  max-width: 100%;
  overflow: hidden;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 一级导航图标槽：图标尺寸统一由 .eva-nav-entry svg.lucide（--eva-icon-nav）控制，
   容器只负责未读红点的定位；禁止在单个入口写死图标尺寸。 */
.eva-nav-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.eva-nav-icon__unread {
  position: absolute;
  top: 0;
  right: -1px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--eva-unread-indicator);
  box-shadow: 0 0 0 2px var(--eva-surface-primary);
  pointer-events: none;
}

.eva-personal-entry.is-collapsed {
  height: 56px;
  display: flex;
  justify-content: center;
}

.eva-personal-entry.is-collapsed .eva-personal-entry__main {
  width: 100%;
  padding: 5px 2px;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  text-align: center;
}

.eva-personal-entry.is-collapsed .eva-personal-entry__label {
  display: block;
  flex: 0 0 auto;
  color: var(--semi-color-text-1, #4e5969);
  font-size: 11px;
  font-weight: 400;
  line-height: 16px;
  text-align: center;
}

.eva-personal-entry.is-collapsed .eva-personal-entry__plus {
  display: none;
}

/* Pure-file drive copied from the supplied Octo layout and restyled with EVA tokens. */
.eva-drive {
  position: fixed;
  z-index: 70;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--eva-drive-left, 260px);
  display: grid;
  grid-template-columns: 232px minmax(540px, 1fr) 300px;
  min-width: 0;
  color: var(--gds-color-text-primary);
  background: var(--gds-color-surface-primary);
  font-family: var(--gds-font-family-sans);
}

.eva-drive[hidden] { display: none; }

.eva-drive__side {
  min-width: 0;
  border-right: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  display: flex;
  flex-direction: column;
  background: var(--gds-color-surface-subtle);
}

.eva-drive__side-head {
  height: 64px;
  padding: 0 18px;
  border-bottom: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  display: flex;
  align-items: center;
  gap: 8px;
}

.eva-drive__side-head strong {
  color: var(--gds-color-text-primary);
  font-size: var(--gds-type-header-font-size);
  font-weight: var(--gds-font-weight-medium);
  line-height: var(--gds-type-header-line-height);
}

.eva-drive__side-search { margin: 14px 14px 10px; }

.eva-drive__tree {
  min-height: 0;
  overflow: auto;
  padding: 2px 10px 16px;
}

.eva-drive__tree-group {
  margin: 14px 8px 6px;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-caption-font-size);
  line-height: var(--gds-type-caption-line-height);
}

.eva-drive__tree button {
  width: 100%;
  min-height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--gds-radius-control);
  display: flex;
  align-items: center;
  gap: 9px;
  text-align: left;
  color: var(--gds-color-text-primary);
  background: transparent;
  font: inherit;
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
  cursor: pointer;
}

.eva-drive__tree button:hover,
.eva-drive__tree button[aria-current="page"] {
  background: var(--gds-color-surface-primary);
}

.eva-drive__tree button.is-child {
  padding-left: 36px;
}

.eva-drive__tree .eva-drive-icon { color: var(--gds-color-text-secondary); }
.eva-drive__tree .is-folder { color: var(--gds-color-action-primary); }

.eva-drive__main {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--gds-color-surface-primary);
}

.eva-drive__header {
  height: 64px;
  padding: 0 24px;
  border-bottom: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.eva-drive__header strong {
  color: var(--gds-color-text-primary);
  font-size: var(--gds-type-header-font-size);
  font-weight: var(--gds-font-weight-medium);
  line-height: var(--gds-type-header-line-height);
}

.eva-drive__header span {
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
}

.eva-drive__header-spacer { flex: 1; }

.eva-drive__text-button,
.eva-drive__ghost-button,
.eva-drive__primary-button {
  height: 32px;
  padding: 0 12px;
  border-radius: var(--gds-radius-control);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font: inherit;
  font-size: var(--gds-type-label-medium-font-size);
  font-weight: var(--gds-font-weight-medium);
  line-height: var(--gds-type-label-medium-line-height);
  cursor: pointer;
}

.eva-drive__text-button {
  border: 0;
  color: var(--gds-color-action-primary);
  background: transparent;
}

.eva-drive__text-button:hover { background: var(--gds-color-surface-subtle); }

.eva-drive__ghost-button {
  border: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  color: var(--gds-color-text-primary);
  background: var(--gds-color-surface-primary);
}

.eva-drive__ghost-button:hover { background: var(--gds-color-surface-subtle); }

.eva-drive__primary-button {
  border: var(--gds-border-standard) solid var(--eva-action-primary-solid);
  color: var(--eva-action-primary-solid-text);
  background: var(--eva-action-primary-solid);
}

.eva-drive__scroll {
  min-height: 0;
  overflow: auto;
  padding: 28px 32px 48px;
}

.eva-drive__eyebrow {
  margin-bottom: 10px;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-caption-font-size);
  line-height: var(--gds-type-caption-line-height);
}

.eva-drive__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 32px;
}

.eva-drive__action {
  position: relative;
  min-height: 94px;
  padding: 16px 18px;
  border: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  border-radius: var(--gds-radius-panel);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 14px;
  text-align: left;
  color: var(--gds-color-text-primary);
  background: var(--gds-color-surface-primary);
  font: inherit;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.eva-drive__action:hover {
  border-color: var(--gds-color-border-default);
  box-shadow: var(--gds-shadow-hairline);
}

.eva-drive__action-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--gds-radius-control);
  display: grid;
  place-items: center;
  color: var(--gds-color-action-primary);
  background: var(--gds-color-surface-subtle);
}

.eva-drive__action-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.eva-drive__action-copy strong { font-size: var(--gds-type-label-medium-font-size); font-weight: var(--gds-font-weight-medium); line-height: var(--gds-type-label-medium-line-height); }
.eva-drive__action-copy span {
  overflow: hidden;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-caption-font-size);
  line-height: var(--gds-type-caption-line-height);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-drive__action-menu {
  position: absolute;
  z-index: 4;
  top: calc(100% + 6px);
  left: 0;
  min-width: 190px;
  padding: 6px;
  border: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  border-radius: var(--gds-radius-panel);
  background: var(--gds-color-surface-primary);
  box-shadow: var(--gds-shadow-floating);
}

.eva-drive__action-menu[hidden] { display: none; }

.eva-drive__action-menu button {
  width: 100%;
  min-height: 34px;
  padding: 0 9px;
  border: 0;
  border-radius: var(--gds-radius-key);
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  color: var(--gds-color-text-primary);
  background: transparent;
  font: inherit;
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
}

.eva-drive__action-menu button:hover { background: var(--gds-color-surface-subtle); }

.eva-drive__section-head {
  margin-bottom: 14px;
  display: flex;
  align-items: flex-end;
  gap: 16px;
}

.eva-drive__section-head h1 {
  margin: 0;
  color: var(--gds-color-text-primary);
  font-size: var(--gds-type-header-font-size);
  line-height: var(--gds-type-header-line-height);
  font-weight: var(--gds-font-weight-medium);
}

.eva-drive__section-head p {
  margin: 4px 0 0;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
}

.eva-drive__section-head .eva-drive__side-search {
  width: min(310px, 36%);
  margin: 0 0 0 auto;
  flex: 0 0 auto;
}

.eva-drive__table {
  min-width: 680px;
  border-top: var(--gds-border-standard) solid var(--gds-color-border-faint);
}

.eva-drive__table-head,
.eva-drive__row {
  display: grid;
  grid-template-columns: minmax(250px, 1.8fr) minmax(100px, .7fr) minmax(100px, .75fr) minmax(110px, .8fr) 28px;
  align-items: center;
  gap: 18px;
}

.eva-drive__table-head {
  min-height: 44px;
  padding: 0 10px;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-caption-font-size);
  line-height: var(--gds-type-caption-line-height);
}

.eva-drive__row {
  width: 100%;
  min-height: 66px;
  padding: 8px 10px;
  border: 0;
  border-top: var(--gds-border-standard) solid var(--gds-color-border-faint);
  text-align: left;
  color: var(--gds-color-text-primary);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.eva-drive__row:hover { background: var(--gds-color-surface-subtle); }
.eva-drive__row[aria-selected="true"] { background: var(--gds-color-surface-subtle); box-shadow: inset 2px 0 0 var(--gds-color-action-primary); }

.eva-drive__name-cell {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.eva-drive__file-mark {
  width: 42px;
  height: 42px;
  border-radius: var(--gds-radius-control);
  display: grid;
  place-items: center;
  color: var(--gds-color-text-secondary);
  background: var(--gds-color-surface-subtle);
}

.eva-drive__file-mark.is-folder {
  color: var(--gds-color-action-primary);
  background: var(--gds-color-surface-subtle);
}

.eva-drive__file-mark.is-pdf {
  color: var(--gds-color-text-primary);
  background: var(--gds-color-surface-subtle);
}

.eva-drive__file-mark.is-sheet {
  color: var(--gds-color-text-secondary);
  background: var(--gds-color-surface-subtle);
}

.eva-drive__name-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.eva-drive__name-copy strong,
.eva-drive__name-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eva-drive__name-copy strong { font-size: var(--gds-type-label-medium-font-size); font-weight: var(--gds-font-weight-medium); line-height: var(--gds-type-label-medium-line-height); }
.eva-drive__name-copy span,
.eva-drive__row > span { color: var(--gds-color-text-secondary-accessible); font-size: var(--gds-type-caption-font-size); line-height: var(--gds-type-caption-line-height); }

.eva-drive__empty {
  min-height: 260px;
  border-top: var(--gds-border-standard) solid var(--gds-color-border-faint);
  display: grid;
  place-items: center;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
}

.eva-drive__preview {
  height: 180px;
  margin-bottom: 16px;
  border: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  border-radius: var(--gds-radius-panel);
  display: grid;
  place-items: center;
  color: var(--gds-color-action-primary);
  background: var(--gds-color-surface-subtle);
}

.eva-drive__preview .eva-drive-icon { width: 58px; height: 58px; stroke-width: 1.6; }

.eva-drive__inspector-actions {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
}

.eva-drive__inspector-actions .eva-drive__ghost-button { width: 100%; }

.eva-drive__meta {
  display: grid;
  gap: 16px;
}

.eva-drive__meta dt {
  margin-bottom: 4px;
  color: var(--gds-color-text-secondary-accessible);
  font-size: var(--gds-type-caption-font-size);
  line-height: var(--gds-type-caption-line-height);
}

.eva-drive__meta dd {
  margin: 0;
  color: var(--gds-color-text-primary);
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
}

.eva-drive__toast {
  position: fixed;
  z-index: 100;
  left: calc(var(--eva-drive-left, 260px) + 50%);
  bottom: 28px;
  transform: translateX(-50%);
  min-height: 38px;
  padding: 0 16px;
  border: var(--gds-border-standard) solid var(--gds-color-border-subtle);
  border-radius: var(--gds-radius-control);
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--gds-color-text-primary);
  background: var(--gds-color-surface-primary);
  box-shadow: var(--gds-shadow-floating);
  font-size: var(--gds-type-label-font-size);
  line-height: var(--gds-type-label-line-height);
}

.eva-drive__toast[hidden] { display: none; }

@media (max-width: 1180px) {
  .eva-drive { grid-template-columns: 220px minmax(520px, 1fr); }
}

@media (max-width: 920px) {
  .eva-drive { grid-template-columns: 188px minmax(500px, 1fr); }
  .eva-drive__scroll { padding: 22px 22px 40px; }
  .eva-drive__actions { grid-template-columns: 1fr; }
}

/* ============================================================
   一级导航 · 响应式收纳（Priority+ 溢出 → 「更多」二级浮层）
   矮视口下不再纵向滚动：放不下的入口收进底部「更多」，点击向右
   飞出二级浮层。触发器与浮层项复用既有导航项／账户菜单的尺寸、
   圆角与状态层 token，不新造视觉语言。实现见 009-7-patch-sider.js。
   ============================================================ */
.eva-sidebar-nav {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  /* 仅作测量滞后一帧时的兜底裁剪，稳定态不产生滚动条。 */
  overflow: hidden;
}

/* 「更多」与上方分组保持与分组间一致的 14px 节奏，并始终贴在导航区末尾。 */
.eva-nav-section--more {
  margin-top: auto;
  padding-top: 14px;
}

.eva-nav-more {
  box-sizing: border-box;
  position: relative;
  display: flex;
  width: 100%;
  height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--eva-radius-control);
  background: transparent;
  color: var(--semi-color-text-0, #1c1f23);
  font: 400 15px/22px var(--gds-font-family-sans);
  text-align: left;
  cursor: pointer;
  transition: background-color .15s ease;
}

.eva-nav-more__icon { flex: none; color: var(--semi-color-text-1, #4e5969); }
.eva-nav-more__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.eva-nav-more:hover { background: var(--eva-nav-hover); }
.eva-nav-more:active,
.eva-nav-more.is-open { background: var(--eva-nav-pressed); }
.eva-nav-more:focus-visible { outline: 2px solid var(--eva-border-focus); outline-offset: -2px; }

/* 折叠态：与折叠导航项同构（图标上、文字下、56px 方块）。 */
.eva-nav-section--more.is-collapsed { padding-top: 8px; }
.eva-nav-section--more.is-collapsed .eva-nav-entry--more { width: calc(100% - 4px); margin: 0 2px; }
.eva-nav-section--more.is-collapsed .eva-nav-more {
  height: 56px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 5px 2px;
  border-radius: 10px;
}
.eva-nav-section--more.is-collapsed .eva-nav-more__icon { width: 20px; height: 20px; }
.eva-nav-section--more.is-collapsed .eva-nav-more__label {
  max-width: 100%;
  color: var(--semi-color-text-1, #4e5969);
  font-size: 11px;
  line-height: 16px;
  text-align: center;
}

/* 二级浮层：圆角、底色与投影走 049 全局 Dropdown 浮层契约；
   内部直接承载导航项本体，保留分组标题以维持上下文。 */
.eva-nav-more-pop .semi-dropdown-content { padding: 0; }
.eva-nav-more-menu {
  box-sizing: border-box;
  min-width: 200px;
  max-height: min(70vh, 520px);
  padding: 6px;
  overflow-y: auto;
}
.eva-nav-more-menu .eva-nav-section + .eva-nav-section { margin-top: 8px; }
.eva-nav-more-menu .eva-nav-section__title { height: 24px; padding: 0 8px; }

/* 未读红点统一由 .eva-nav-icon__unread 承担（见上方图标槽），所有入口共用同一容器；
   数据源仍为团队 IM 会话聚合（009-7 evaMessagesHasUnread）。 */
