
  body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif;
    background: #f1f5f9;   /* 与其他页面一致的浅灰背景 */
    color: #000000;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;   /* 移动端动态视口高度：随地址栏变化，防止底部按钮被顶出屏幕 */
  }
  * { box-sizing: border-box; border-radius: 0; }

  .header {
    flex-shrink: 0;
    min-height: 42px;
    border-bottom: 1px solid #000000;
    background: #F5F5F5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 5px 8px;
    gap: 6px;
  }
  .header button {
    height: 27px;
    padding: 0 12px;
    border: 1px solid #000000;
    background: #FFFFFF;
    cursor: pointer;
    font-size: 14px;
    flex-shrink: 0;
  }
  .header button:hover { background: #EEEEEE; }
  .header a {
    height: 27px;
    padding: 0 12px;
    border: 1px solid #000000;
    background: #FFFFFF;
    color: #000000;
    text-decoration: none;
    font-size: 14px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }
  .header a:hover { background: #EEEEEE; }

  /* 面包屑 */
  .crumbs {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    font-size: 13px;
  }
  .crumbs .crumb {
    border: none;
    background: none;
    padding: 1px 3px;
    height: auto;
    cursor: pointer;
    font-size: 13px;
  }
  .crumbs .crumb:hover { background: #EEEEEE; }
  .crumbs .crumb-sep { color: #999; padding: 0; }

  .main { flex: 1; min-height: 0; display: flex; }

  .list {
    flex: 1;
    min-height: 0;   /* flex 纵向时防止内容撑高把底部操作栏挤出屏幕 */
    overflow-y: auto;
    overflow-x: hidden;
    background: #FFFFFF;   /* 内容区白底 */
  }
  .list-empty {
    padding: 20px;
    text-align: center;
    color: #666;
    font-size: 14px;
  }

  .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-height: 34px;
    padding: 2px 0;
    border-bottom: 1px solid #EEEEEE;
    cursor: pointer;
    font-size: 14px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
  }
  .row:hover { background: #F5F5F5; }
  .row.sel { background: #CCCCCC; }
  .row.dir .ico,
  .row.dir .nm { color: blue; }
  .row.link .ico,
  .row.link .nm { color: purple; }
  .row .ico { width: 52px; padding-left: 10px; flex-shrink: 0; color: #666; }
  .row .nm {
    flex: 1 1 auto;
    min-width: 120px;          /* 名称最小宽度：空间不足时时间列换行到下一行 */
    white-space: normal;       /* 名称过长自动换行，完整显示 */
    word-break: break-all;
  }
  .row .sz { width: 95px; text-align: right; padding-right: 10px; color: #666; flex-shrink: 0; }
  .row .mt { width: 135px; text-align: right; padding-right: 10px; color: #666; flex-shrink: 0; }
  .row .chk { width: 44px; text-align: center; flex-shrink: 0; display: none; }

  .actions {
    width: 120px;
    border-left: 1px solid #000000;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
  }
  .actions button {
    height: 38px;
    border: none;
    border-bottom: 1px solid #000000;
    background: #FFFFFF;
    cursor: pointer;
    font-size: 15px;
  }
  .actions button:hover:not(:disabled) { background: #F5F5F5; }
  .actions button:disabled {
    color: #AAAAAA;
    background: #F5F5F5;
    cursor: not-allowed;
  }
  .act-sep { border-top: 2px solid #000000; }

  /* ------- 自定义弹窗 ------- */
  .dialog-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
  }
  .dialog {
    width: 380px;
    max-width: 90vw;
    background: #FFFFFF;
    border: 1px solid #000000;
  }
  .dialog-title {
    padding: 10px 12px;
    border-bottom: 1px solid #000000;
    background: #F5F5F5;
    font-size: 14px;
  }
  .dialog-body { padding: 14px 12px; }
  .dialog-msg {
    font-size: 14px;
    white-space: pre-line;
    word-break: break-all;
  }
  .dialog-input {
    display: none;
    width: 100%;
    margin-top: 12px;
    padding: 7px;
    border: 1px solid #000000;
    background: #FFFFFF;
    font-size: 13px;
  }
  .dialog-btns {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 0 12px 12px;
  }
  .dialog-btns button {
    min-width: 72px;
    padding: 7px 16px;
    border: 1px solid #000000;
    background: #FFFFFF;
    cursor: pointer;
    font-size: 13px;
  }
  .dialog-btns button:hover { background: #F5F5F5; }

  /* ------- 响应式：手机（≤768px） ------- */
  @media (max-width: 768px) {
    .main { flex-direction: column; }

    /* 操作栏移到底部，4 列网格 */
    .actions {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      width: auto;
      border-left: none;
      border-top: 1px solid #000000;
    }
    .actions button {
      height: 40px;
      border-right: 1px solid #000000;
      border-bottom: 1px solid #000000;
      font-size: 13px;
    }
    .act-sep { display: none; }

    /* 行内列：手机隐藏大小和时间，只留名称 */
    .row .sz, .row .mt { display: none; }
    .row .ico { width: 44px; padding-left: 8px; }
    .row .chk { width: 36px; }

    /* 顶栏紧凑 */
    .header { padding: 4px; gap: 4px; }
    .header button { padding: 0 8px; font-size: 13px; }
    .crumbs { font-size: 12px; }
    .addr-row .search-input { width: 96px; font-size: 13px; }
    .addr-row .addr-bar { font-size: 13px; }
    .statusbar { font-size: 12px; }
  }

  /* ------- 地址栏 + 搜索（顶栏第二行） ------- */
  .addr-row {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .addr-row .addr-bar {
    flex: 1 1 auto;
    min-width: 0;
    height: 27px;
    padding: 0 8px;
    border: 1px solid #000000;
    background: #FFFFFF;
    font-size: 14px;
  }
  .addr-row .search-input {
    width: 150px;
    height: 27px;
    padding: 0 8px;
    border: 1px solid #000000;
    background: #FFFFFF;
    font-size: 14px;
  }
  .addr-row input:focus { outline: none; border-color: #333333; }

  /* ------- 加载更多（大目录分页） ------- */
  .loadmore-wrap {
    flex-shrink: 0;
    text-align: center;
    padding: 6px;
    border-top: 1px solid #000000;
    background: #F5F5F5;
  }
  .loadmore-wrap button {
    height: 28px;
    padding: 0 18px;
    border: 1px solid #000000;
    background: #FFFFFF;
    cursor: pointer;
    font-size: 14px;
  }
  .loadmore-wrap button:hover { background: #EEEEEE; }

  /* ------- 底部状态栏 ------- */
  .statusbar {
    flex-shrink: 0;
    height: 26px;
    line-height: 26px;
    padding: 0 10px;
    border-top: 1px solid #000000;
    background: #F5F5F5;
    color: #333333;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 搜索结果行：文件名下方显示所在目录路径 */
  .row-path {
    font-size: 12px;
    color: #999999;
    word-break: break-all;
  }
