/**
#	Project: PHPDISK File Storage Solution
#	This is NOT a freeware, use is subject to license terms.
#
#	Chinese Website: http://www.phpdisk.com
#
#	International Website: http://www.phpdisk.net
#
#	Author: Along ( admin@phpdisk.com )
#
#	$Id: download.php 76 2024-08-25 12:54:25Z along $
#
#	Copyright (C) 2008-2083 PHPDisk Team. All Rights Reserved.
#
#
*/

:root {
  /* Design Tokens：中性近黑底，减少蓝灰倾向；主色略提亮以便在纯黑上更「亮」 */
  --bg-page: #070708;
  --bg-elevated: #0e0e10;
  --text-primary: rgba(255, 255, 255, 0.94);
  --text-muted: rgba(255, 255, 255, 0.5);
  --border-subtle: rgba(255, 255, 255, 0.09);
  --accent-primary: #5ea1ff;
  --accent-hover: #7eb6ff;
  --danger: #fb7185;
  --success: #4ade80;

  /* 布局与壳层专用（映射到 tokens） */
  --pd-shell-sidebar-w: 224px;
  --pd-shell-sidebar-bg: #050506;
  --pd-shell-sidebar-border: rgba(255, 255, 255, 0.07);
  --pd-shell-sidebar-text: var(--text-primary);
  --pd-shell-sidebar-muted: var(--text-muted);
  --pd-shell-accent: var(--accent-primary);
  --pd-shell-accent-hover: var(--accent-hover);
  --pd-shell-main-bg: var(--bg-page);
  --pd-shell-topbar-h: 56px;
  /* 顶栏：浅冷色高光 → 沉入近黑底（与整站深色壳协调） */
  --pd-shell-topbar-grad: linear-gradient(
    168deg,
    rgba(248, 250, 252, 0.34) 0%,
    rgba(226, 232, 240, 0.14) 18%,
    rgba(148, 163, 184, 0.06) 36%,
    rgba(24, 26, 32, 0.92) 62%,
    #0e0e10 100%
  );
  --pd-shell-ease: 0.2s ease;
  /* 侧栏水平留白：主链与子菜单统一由此加减 */
  --pd-nav-pad-x: 0.85rem;
  --pd-nav-pad-x-sub: 1.15rem;

  /* layui layer：比 --bg-page / --bg-elevated 略浅 + 强阴影，避免与主内容糊成一片 */
  --pd-layer-modal-bg: #1c1c22;
  --pd-layer-modal-bg-deep: #141418;
  --pd-layer-border-strong: rgba(255, 255, 255, 0.14);
  --pd-layer-shade: rgba(0, 0, 0, 0.76);
  --pd-layer-drop-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.065) inset,
    0 1px 0 rgba(255, 255, 255, 0.05) inset,
    0 36px 100px rgba(0, 0, 0, 0.82),
    0 14px 40px rgba(0, 0, 0, 0.55),
    0 0 1px rgba(0, 0, 0, 0.9);
}

/* ========== 整站：顶栏 + 基色（主导航仅在侧栏） ========== */
body.pd-site-shell {
  background: var(--bg-page);
  color: var(--text-primary);
}

.pd-shell-topbar {
  position: relative;
  z-index: 1030;
  width: 100%;
  background-color: var(--bg-elevated);
  background-image: var(--pd-shell-topbar-grad);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border-bottom: 1px solid var(--border-subtle);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07) inset,
    0 12px 28px rgba(0, 0, 0, 0.18);
}

.pd-shell-topbar-inner {
  min-height: 52px;
  padding: 0.35rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.pd-shell-topbar .pd-shell-brand img {
  max-height: 36px;
  width: auto;
}

.pd-shell-topbar-spacer {
  flex: 1 1 auto;
  min-width: 0.5rem;
}

/* 顶栏：公告 / 高级会员（在「我的网盘」等按钮左侧） */
.pd-shell-topbar-innav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.35rem;
  flex-shrink: 0;
}

.pd-shell-toplink {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.32rem 0.55rem;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.pd-shell-toplink .lni {
  font-size: 0.95rem;
  line-height: 1;
  opacity: 0.95;
}

.pd-shell-toplink:hover {
  color: var(--text-primary) !important;
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--border-subtle);
}

.pd-shell-toplink.pd-shell-toplink--active {
  color: var(--accent-primary) !important;
  background: rgba(94, 161, 255, 0.12);
  border-color: rgba(94, 161, 255, 0.28);
}

.pd-shell-user-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

/* 顶栏右上角：语言切换（div + 下拉） */
.pd-shell-lang-switch {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 20;
}

/* 图标与语言名、箭头同在 .pd-lang-switch__head 框内 */
.pd-lang-switch__head .pd-lang-switch__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1;
  flex-shrink: 0;
}

.pd-lang-switch__head .pd-lang-switch__icon .lni {
  font-size: 0.95rem;
}

.pd-lang-switch {
  position: relative;
  min-width: 7rem;
  max-width: 11rem;
}

.pd-lang-switch__head {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-primary) !important;
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.18s ease, background 0.18s ease;
}

.pd-lang-switch__head:hover,
.pd-lang-switch__head:focus {
  border-color: rgba(94, 161, 255, 0.45);
  outline: none;
  background-color: rgba(255, 255, 255, 0.11);
}

.pd-lang-switch__current {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pd-lang-switch__caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.1rem;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid rgba(255, 255, 255, 0.55);
  flex-shrink: 0;
  transition: transform 0.18s ease;
}

.pd-lang-switch--open .pd-lang-switch__caret {
  transform: rotate(180deg);
}

.pd-lang-switch__panel {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  min-width: 100%;
  width: max-content;
  max-width: 16rem;
  padding: 0.28rem 0;
  margin: 0;
  background: var(--pd-layer-modal-bg, rgba(28, 32, 42, 0.98));
  border: 1px solid var(--pd-layer-border-strong, var(--border-subtle));
  border-radius: 10px;
  box-shadow: var(--pd-layer-drop-shadow, 0 12px 32px rgba(0, 0, 0, 0.35));
  z-index: 1060;
}

.pd-lang-switch--open .pd-lang-switch__panel {
  display: block;
}

.pd-lang-switch__opt {
  padding: 0.45rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-primary) !important;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}

.pd-lang-switch__opt:hover,
.pd-lang-switch__opt:focus {
  background: rgba(255, 255, 255, 0.08);
  outline: none;
}

.pd-lang-switch__opt--current {
  color: var(--accent-primary) !important;
  background: rgba(94, 161, 255, 0.1);
}

.pd-shell-user-actions .pd-shell-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: 8px;
  font-weight: 600;
  border: 1px solid transparent;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  text-decoration: none;
  line-height: 1.4;
}

.pd-shell-user-actions .pd-shell-btn .lni {
  font-size: 0.95rem;
  line-height: 1;
}

.pd-shell-user-actions .pd-shell-btn-primary {
  background: var(--accent-primary);
  color: #fff !important;
  border-color: transparent;
}

.pd-shell-user-actions .pd-shell-btn-primary:hover {
  background: var(--accent-hover);
  color: #fff !important;
}

.pd-shell-user-actions .pd-shell-btn-secondary {
  background: transparent;
  color: var(--text-primary) !important;
  border-color: var(--border-subtle);
}

.pd-shell-user-actions .pd-shell-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary) !important;
}

.pd-shell-user-actions .pd-shell-btn-muted {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-muted) !important;
  border-color: var(--border-subtle);
}

.pd-shell-user-actions .pd-shell-btn-muted:hover {
  color: var(--text-primary) !important;
}

.pd-shell-user-actions .pd-shell-btn-danger {
  background: rgba(248, 113, 113, 0.15);
  color: var(--danger) !important;
  border-color: rgba(248, 113, 113, 0.35);
}

.pd-shell-user-actions .pd-shell-btn-danger:hover {
  background: rgba(248, 113, 113, 0.28);
  color: #fff !important;
}

.pd-shell-user-actions .pd-shell-btn-ghost {
  background: transparent;
  color: var(--text-muted) !important;
  border-color: var(--border-subtle);
}

.pd-shell-user-actions .pd-shell-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary) !important;
}

/* 关于/公告等「news + main_box」内页在深色主区下的阅读面 */
body.pd-site-shell .pd-app-main .news.main_box {
  padding-top: 0.5rem;
  padding-bottom: 1.5rem;
  min-height: 0;
  background: transparent;
}

body.pd-site-shell .pd-app-main .news .banner {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

body.pd-site-shell .pd-app-main .news .container {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  margin-top: 1rem;
  overflow: hidden;
}

/* 公告列表/详情：assets/css/style.css 将全局 h1–h6 设为 #121212，在深色主区下标题与摘要「看不见」 */
body.pd-site-shell .pd-app-main .news.main_box h1,
body.pd-site-shell .pd-app-main .news.main_box h2,
body.pd-site-shell .pd-app-main .news.main_box h3,
body.pd-site-shell .pd-app-main .news.main_box h4,
body.pd-site-shell .pd-app-main .news.main_box h5,
body.pd-site-shell .pd-app-main .news.main_box h6 {
  color: var(--text-primary) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .news-details-title {
  border-bottom-color: var(--border-subtle) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .news-details-title p {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .news-details {
  color: var(--text-primary);
  line-height: 1.65;
  word-break: break-word;
}

body.pd-site-shell .pd-app-main .news.main_box .news-details a {
  color: var(--accent-primary);
  font-weight: 600;
  text-decoration: none;
}

body.pd-site-shell .pd-app-main .news.main_box .news-details a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

body.pd-site-shell .pd-app-main .news.main_box .news-details p,
body.pd-site-shell .pd-app-main .news.main_box .news-details li,
body.pd-site-shell .pd-app-main .news.main_box .news-details td,
body.pd-site-shell .pd-app-main .news.main_box .news-details th {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .news.main_box .item {
  border-bottom-color: var(--border-subtle) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .item:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .item:hover .date {
  background: rgba(255, 255, 255, 0.06) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .item .one-row > a h3 {
  color: var(--text-primary) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .item .one-row > a p {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .item:hover .one-row > a h3 {
  color: var(--accent-primary) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .date {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
}

body.pd-site-shell .pd-app-main .news.main_box .date h1,
body.pd-site-shell .pd-app-main .news.main_box .date p {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .news.main_box .date2 {
  border-radius: 10px;
}

body.pd-site-shell .pd-app-main .page-tit {
  background: rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid var(--border-subtle);
}

body.pd-site-shell .pd-app-main .page-tit .tit,
body.pd-site-shell .pd-app-main .page-tit .tit b,
body.pd-site-shell .pd-app-main .page-tit .tit small {
  color: var(--text-primary) !important;
}

body.pd-site-shell .pd-app-main .about-index p {
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .about-index a {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .about-index a:hover {
  color: var(--accent-hover);
}

/* 首页大页脚块：覆盖 assets/css/style.css 里 p/h1 的 #121212，否则在深色底上不可见 */
body.pd-site-shell .pd-app-main .footer {
  background: linear-gradient(
    165deg,
    rgba(20, 20, 24, 0.98) 0%,
    var(--bg-elevated) 48%,
    rgba(12, 12, 14, 0.99) 100%
  );
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  color: var(--text-muted);
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1rem, 2.5vw, 1.75rem);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 24px 56px rgba(0, 0, 0, 0.42);
}

body.pd-site-shell .pd-app-main .footer .wrapper {
  max-width: 1100px;
  margin: 0 auto;
}

body.pd-site-shell .pd-app-main .footer .inner {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 clamp(0.75rem, 2vw, 1.25rem);
}

body.pd-site-shell .pd-app-main .footer .title {
  color: var(--text-primary);
  font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 0.65rem;
}

body.pd-site-shell .pd-app-main .footer p,
body.pd-site-shell .pd-app-main .footer .tel p,
body.pd-site-shell .pd-app-main .footer .add p {
  color: var(--text-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

body.pd-site-shell .pd-app-main .footer h1 {
  color: var(--text-primary);
  font-weight: 700;
  margin: 0.15rem 0 0.35rem;
}

body.pd-site-shell .pd-app-main .footer .tel h1 {
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 0.35rem;
  margin-bottom: 0.5rem;
}

body.pd-site-shell .pd-app-main .footer a {
  color: var(--accent-primary);
  text-decoration: none;
}

body.pd-site-shell .pd-app-main .footer a:hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .footer .tel h1 a {
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
  font-weight: 700;
}

body.pd-site-shell .pd-app-main .footer .slash {
  border-left-color: var(--border-subtle);
  padding-left: clamp(1rem, 2.5vw, 1.5rem);
}

body.pd-site-shell .pd-app-main .footer .slash1 {
  border-left: none;
  padding-left: 0;
}

body.pd-site-shell .pd-app-main .footer .service-table > div > div.img img {
  filter: brightness(1.12) contrast(1.05);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  padding: 0.35rem;
  box-sizing: border-box;
}

body.pd-site-shell .pd-app-main .footer .service-table > div > div:last-child p {
  color: rgba(255, 255, 255, 0.62);
}

body.pd-site-shell .pd-app-main .footer .QR-code {
  display: inline-block;
  padding: 0.5rem;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

body.pd-site-shell .pd-app-main .footer .QR-code img {
  display: block;
  width: 132px;
  height: auto;
  vertical-align: top;
}

/* 首页轮播：弱化旧品牌蓝，贴近深色主题 */
body.pd-site-shell .slider_area .carousel-item {
  background-color: #08080a !important;
}

body.pd-site-shell .slider_area .carousel-item::before {
  background: linear-gradient(
    135deg,
    rgba(94, 161, 255, 0.14) 0%,
    rgba(7, 7, 8, 0.55) 52%,
    rgba(74, 222, 128, 0.1) 100%
  ) !important;
}

body.pd-site-shell .pd-app-main .index-DM-type {
  background: var(--bg-page);
  border-top: 1px solid var(--border-subtle);
}

body.pd-site-shell .pd-app-main .index-title h2 {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .table {
  color: var(--text-primary);
  background: var(--bg-elevated);
}

body.pd-site-shell .pd-app-main .table-bordered {
  border-color: var(--border-subtle);
}

body.pd-site-shell .pd-app-main .table-bordered td,
body.pd-site-shell .pd-app-main .table-bordered th {
  border-color: var(--border-subtle);
}

body.pd-site-shell .pd-app-main .table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.04);
}

body.pd-site-shell .foot_info {
  color: var(--text-muted);
}

/* ========== 前台壳层 ========== */
.pd-app-shell {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: calc(100vh - 72px);
  background: var(--pd-shell-main-bg);
  color: var(--text-primary);
  transition: background var(--pd-shell-ease);
}

.pd-app-sidebar {
  flex: 0 0 var(--pd-shell-sidebar-w);
  max-width: var(--pd-shell-sidebar-w);
  background: var(--pd-shell-sidebar-bg);
  border-right: 1px solid var(--pd-shell-sidebar-border);
  color: var(--pd-shell-sidebar-text);
}

.pd-app-sidebar-inner {
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.5rem var(--pd-nav-pad-x) 0.85rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 38%);
}

/* 前台 aside 与网盘 #accordionSidebar 共用导航样式（避免两套页面侧栏不一致） */
.pd-shell-sidebar .pd-side-nav {
  list-style: none;
  margin: 0;
  padding: 0.25rem 0;
}

.pd-shell-sidebar .pd-side-nav li {
  margin: 0;
}

.pd-shell-sidebar .pd-side-nav a {
  display: block;
  padding: 0.48rem var(--pd-nav-pad-x);
  /* 与 profile 主区可读性一致，略亮于全站 --text-muted */
  color: rgba(255, 255, 255, 0.62);
  text-decoration: none;
  font-size: 0.84rem;
  line-height: 1.35;
  border-left: 3px solid transparent;
  transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.pd-shell-sidebar .pd-side-nav a:hover {
  color: var(--pd-shell-sidebar-text);
  background: rgba(255, 255, 255, 0.05);
}

/* 当前项：与 .pd-profile-panel 同系的抬升块（中性底），非高饱和蓝条 */
.pd-shell-sidebar .pd-side-nav li.active > a {
  color: var(--text-primary);
  background: var(--bg-elevated);
  border-left-color: transparent;
  border-radius: 6px;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 0 1px var(--border-subtle);
}

/* —— Windfiles 式：空间卡片 + 主入口轨 —— */
.pd-side-wf .pd-wf-disk {
  margin: 0.35rem 0 0.7rem;
  padding: 0.55rem 0.65rem 0.6rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.pd-wf-disk-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.78rem;
}
.pd-wf-disk-row--sub {
  margin-top: 0.45rem;
  opacity: 0.95;
}
.pd-wf-disk-label {
  color: var(--text-muted);
  font-weight: 600;
  flex-shrink: 0;
}
.pd-wf-disk-val {
  font-weight: 700;
  color: var(--accent-primary);
  font-variant-numeric: tabular-nums;
  text-align: right;
  word-break: break-all;
}
.pd-wf-disk-val--muted {
  font-weight: 600;
  color: var(--text-muted);
  font-size: 0.76rem;
}
.pd-wf-disk-bar {
  margin-top: 0.5rem;
  height: 5px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.pd-wf-disk-bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-primary), var(--success));
  transition: width 0.35s ease;
}

.pd-wf-rail {
  margin: 0 0 0.55rem;
}
.pd-wf-rail-list {
  padding: 0 !important;
}
.pd-wf-rail .pd-side-item > a {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.48rem var(--pd-nav-pad-x) !important;
  margin: 0.08rem 0;
  border-radius: 8px;
  border-left: 0 !important;
  font-weight: 600;
  font-size: 0.83rem;
}
.pd-wf-rail .pd-side-item > a::before {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  opacity: 0.75;
  background: currentColor;
  mask: var(--pd-wf-ico) center / contain no-repeat;
  -webkit-mask: var(--pd-wf-ico) center / contain no-repeat;
}
/* 填充式 SVG，便于 mask 渲染（对标 Windfiles 侧栏图标条） */
.pd-wf-rail #pd-side-index- > a {
  --pd-wf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 3L2 9h3v10h6v-6h2v6h6V9h3L12 3z'/%3E%3C/svg%3E");
}
.pd-wf-rail #n_h5upload > a {
  --pd-wf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 4l-4 4h3v6h2V8h3l-4-4zm-7 14v2h14v-2H5z'/%3E%3C/svg%3E");
}
.pd-wf-rail #n_files > a {
  --pd-wf-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z'/%3E%3C/svg%3E");
}

/* 手风琴分组（前台侧栏 + 网盘侧栏共用） */
.pd-side-accordion {
  --pd-acc-indent: 0.55rem;
}
.pd-acc-group {
  margin: 0 0 0.36rem;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.03);
}
.pd-acc-group:last-child {
  margin-bottom: 0.25rem;
}
.pd-acc-summary {
  list-style: none;
  cursor: pointer;
  padding: 0.55rem var(--pd-nav-pad-x) 0.55rem calc(var(--pd-nav-pad-x) + 0.15rem);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.82);
  user-select: none;
  transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.pd-acc-summary::-webkit-details-marker {
  display: none;
}
.pd-acc-summary::after {
  content: "";
  float: right;
  width: 0.45em;
  height: 0.45em;
  margin-top: 0.35em;
  margin-right: 0.15rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.55;
  transition: transform 0.2s ease;
}
.pd-acc-group[open] > .pd-acc-summary {
  color: #fff;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  box-shadow: inset 3px 0 0 var(--pd-shell-accent);
}
.pd-acc-group[open] > .pd-acc-summary::after {
  transform: rotate(225deg);
  margin-top: 0.55em;
}
.pd-acc-summary:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}
.pd-acc-list {
  list-style: none;
  margin: 0;
  padding: 0.2rem 0 0.55rem;
  /* 与主内容区近黑底连贯，突出条目本身的抬升态 */
  background: transparent;
}
.pd-acc-list.pd-side-nav a {
  padding-left: var(--pd-nav-pad-x-sub);
  padding-right: var(--pd-nav-pad-x);
  font-size: 0.8rem;
  border-radius: 6px;
  margin-left: 0.35rem;
  margin-right: 0.35rem;
  border-left-width: 0 !important;
}
.pd-acc-list.pd-side-nav li.active > a {
  border-left: 0 !important;
  border-radius: 6px;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 0 1px var(--border-subtle);
}
.pd-acc-group--guest > .pd-acc-summary {
  font-size: 0.8rem;
  letter-spacing: 0.02em;
}

.pd-app-main {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 1rem 1.5rem;
  background: var(--pd-shell-main-bg);
}

@media (min-width: 992px) {
  .pd-app-main {
    padding: 1rem 1.25rem 2rem;
  }
}

/* 主内容容器：与各页 body 输出配对；限宽请在外层包一层 .pd-shell-constrain（PRD L-04，逐页适配） */
.pd-app-main-inner {
  width: 100%;
}

.pd-shell-constrain {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* PRD A-03：受保护路由未登录时隐藏主区内登录引导之后的节点（页面适配阶段仍应服务端收口数据） */
.pd-app-main--auth-gate .pd-app-main-inner > .pd-login-gate ~ * {
  display: none !important;
}

/* 登录引导卡片 */
.pd-login-gate {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 2rem 0 1rem;
}

.pd-login-gate-card {
  width: 100%;
  max-width: 420px;
  padding: 1.5rem 1.35rem;
  border-radius: 12px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.pd-login-gate-title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
}

.pd-login-gate-desc {
  margin: 0 0 1.25rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--text-muted);
}

.pd-login-gate-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}

.pd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  cursor: pointer;
}

.pd-btn-primary {
  background: var(--accent-primary);
  color: #fff;
  border-color: transparent;
}

.pd-btn-primary:hover {
  background: var(--accent-hover);
  color: #fff;
  text-decoration: none;
}

.pd-btn-ghost {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--border-subtle);
}

.pd-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
  text-decoration: none;
}

.pd-login-gate-link {
  font-size: 0.88rem;
  color: var(--accent-primary);
  text-decoration: none;
  margin-left: 0.25rem;
}

.pd-login-gate-link:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* 顶栏内：移动端打开侧栏 */
.pd-shell-nav-toggle {
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  padding: 0.25rem 0.55rem !important;
  margin-right: 0.5rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08) !important;
  transition: background 0.18s ease;
}

.pd-shell-nav-toggle:hover {
  background: rgba(255, 255, 255, 0.16) !important;
}

@media (max-width: 991.98px) {
  .pd-app-shell {
    min-height: auto;
  }
  .pd-app-sidebar {
    position: fixed;
    z-index: 1080;
    left: 0;
    top: 0;
    height: 100vh;
    max-width: min(240px, 90vw);
    width: min(240px, 90vw);
    flex: none;
    transform: translateX(-100%);
    transition: transform 0.22s ease;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.25);
  }
  body.pd-shell-sidebar-open .pd-app-sidebar {
    transform: translateX(0);
  }
  .pd-app-main {
    width: 100%;
    flex: 1 1 100%;
  }
  .pd-shell-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1070;
    background: rgba(0, 0, 0, 0.45);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
  }
  body.pd-shell-sidebar-open .pd-shell-backdrop {
    display: block;
  }
}

@media (min-width: 992px) {
  .pd-shell-backdrop {
    display: none !important;
  }
}

/* PRD L-03：全宽页脚与深色壳层协调 */
.pd-app-site-footer.foot_box,
.foot_box.pd-app-site-footer {
  background: var(--bg-elevated);
  color: var(--text-muted);
  border-top: 1px solid var(--border-subtle);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition: background var(--pd-shell-ease);
}

.pd-app-site-footer.foot_box a,
.foot_box.pd-app-site-footer a {
  color: var(--text-muted);
}

.pd-app-site-footer.foot_box a:hover,
.foot_box.pd-app-site-footer a:hover {
  color: var(--text-primary);
}

/* 右下角「返回顶部」：前台 / 会员区共用 */
button.pd-back-to-top {
  position: fixed;
  right: 1.1rem;
  bottom: calc(1.15rem + env(safe-area-inset-bottom, 0px));
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.7rem;
  height: 2.7rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: linear-gradient(
    165deg,
    rgba(126, 182, 255, 0.42) 0%,
    rgba(59, 130, 246, 0.22) 38%,
    rgba(20, 22, 28, 0.94) 100%
  );
  color: rgba(255, 255, 255, 0.95);
  cursor: pointer;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 10px 30px rgba(0, 0, 0, 0.38);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

button.pd-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

button.pd-back-to-top:hover {
  border-color: rgba(126, 182, 255, 0.55);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14) inset,
    0 12px 36px rgba(0, 0, 0, 0.42),
    0 0 0 2px rgba(94, 161, 255, 0.2);
  color: #fff;
}

button.pd-back-to-top:focus {
  outline: none;
}

button.pd-back-to-top:focus-visible {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.14) inset,
    0 12px 36px rgba(0, 0, 0, 0.42),
    0 0 0 3px rgba(94, 161, 255, 0.45);
}

button.pd-back-to-top .lni {
  font-size: 1.2rem;
  line-height: 1;
}

/* ========== 会员区（sb-admin-2）皮肤：与壳层 tokens 一致 ========== */
body.pd-mydisk-skin {
  background-color: var(--bg-page) !important;
}

body.pd-mydisk-skin #wrapper {
  background: var(--pd-shell-main-bg);
}

/* sb-admin 默认 #content-wrapper 为浅灰，与深色侧栏割裂，此处统一为页背景并加极淡高光 */
body.pd-mydisk-skin #wrapper #content-wrapper {
  background-color: var(--bg-page) !important;
  background-image: radial-gradient(ellipse 90% 50% at 78% -8%, rgba(94, 161, 255, 0.065), transparent 55%);
}

body.pd-mydisk-skin #wrapper #content-wrapper #content {
  background: transparent !important;
}

body.pd-mydisk-skin #wrapper #content-wrapper .container-fluid {
  background: transparent;
  color: var(--text-primary);
}

/* ========== 会员区底部：模板/语言切换 + 版权，与深色壳层一致 ========== */
body.pd-mydisk-skin footer.sticky-footer.pd-mydisk-footer {
  flex-shrink: 0;
  margin-top: auto;
  padding: 1.15rem 0 1.35rem;
  background: var(--bg-elevated) !important;
  background-image: none !important;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-muted);
}

body.pd-mydisk-skin footer.pd-mydisk-footer .container {
  max-width: 100%;
}

body.pd-mydisk-skin footer.pd-mydisk-footer .copyright {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--text-muted);
}

body.pd-mydisk-skin .pd-mydisk-footer-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.65rem 1.35rem;
  margin-bottom: 0.55rem;
}

body.pd-mydisk-skin .pd-footer-switch-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

body.pd-mydisk-skin .pd-footer-label {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}

body.pd-mydisk-skin footer.pd-mydisk-footer .pd-footer-select {
  min-width: 7.5rem;
  max-width: 14rem;
  padding: 0.4rem 2rem 0.4rem 0.65rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--text-primary);
  background-color: rgba(0, 0, 0, 0.35);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.45)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

body.pd-mydisk-skin footer.pd-mydisk-footer .pd-footer-select:hover,
body.pd-mydisk-skin footer.pd-mydisk-footer .pd-footer-select:focus {
  outline: none;
  border-color: rgba(94, 161, 255, 0.45);
  box-shadow: 0 0 0 2px rgba(94, 161, 255, 0.12);
}

body.pd-mydisk-skin footer.pd-mydisk-footer .pd-footer-select option {
  background: #141416;
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-footer-meta {
  color: var(--text-muted);
}

body.pd-mydisk-skin .pd-mydisk-footer-meta a {
  color: var(--accent-primary);
  text-decoration: none;
  font-weight: 500;
}

body.pd-mydisk-skin .pd-mydisk-footer-meta a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

body.pd-mydisk-skin .pd-mydisk-footer-meta img {
  vertical-align: middle;
  margin-right: 0.2rem;
  opacity: 0.92;
}

body.pd-mydisk-skin #accordionSidebar.pd-shell-sidebar {
  width: var(--pd-shell-sidebar-w) !important;
  min-width: var(--pd-shell-sidebar-w);
  max-width: var(--pd-shell-sidebar-w);
  background: var(--pd-shell-sidebar-bg) !important;
  background-image: none !important;
  border-right: 1px solid var(--pd-shell-sidebar-border);
}

body.pd-mydisk-skin #accordionSidebar .nav-link {
  color: var(--pd-shell-sidebar-muted) !important;
}

body.pd-mydisk-skin #accordionSidebar .nav-link:hover {
  color: var(--pd-shell-sidebar-text) !important;
}

/* 与前台侧栏当前项一致：Filen / profile 式中性抬升块 */
body.pd-mydisk-skin #accordionSidebar .nav-item.active > .nav-link,
body.pd-mydisk-skin #accordionSidebar .nav-link.active,
body.pd-mydisk-skin #accordionSidebar .nav-item.active > a,
body.pd-mydisk-skin #accordionSidebar .pd-side-item.active > a {
  color: var(--text-primary) !important;
  border-left-color: transparent !important;
  border-radius: 6px;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 0 0 1px var(--border-subtle) !important;
  background: var(--bg-elevated) !important;
}

body.pd-mydisk-skin #accordionSidebar.pd-mydisk-sidebar-unified {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow-x: hidden;
}

body.pd-mydisk-skin #accordionSidebar .pd-app-sidebar-inner {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  position: relative;
  top: 0;
  max-height: none;
  padding-top: 0.5rem;
}

body.pd-mydisk-skin #accordionSidebar .pd-side-accordion {
  min-height: 0;
}

body.pd-mydisk-skin .topbar,
body.pd-mydisk-skin .topbar.navbar-light.bg-white {
  background-color: var(--bg-elevated) !important;
  background-image: var(--pd-shell-topbar-grad) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  border-bottom: 1px solid var(--border-subtle);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07) inset,
    0 10px 24px rgba(0, 0, 0, 0.16) !important;
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  row-gap: 0.35rem;
}

body.pd-mydisk-skin .pd-mydisk-topbar-spacer {
  flex: 1 1 auto;
  min-width: 0.5rem;
}

body.pd-mydisk-skin .pd-mydisk-topbar .pd-shell-user-actions {
  margin-left: auto;
}

body.pd-mydisk-skin .topbar .text-gray-600,
body.pd-mydisk-skin .topbar .text-gray-800 {
  color: var(--text-muted) !important;
}

/* 顶栏用户下拉：与壳层深色一致（模板内为裸 <a>，非 Bootstrap .dropdown-item） */
body.pd-mydisk-skin .topbar .dropdown-menu {
  margin-top: 0.5rem;
  padding: 0.4rem 0;
  min-width: 12rem;
  background: var(--pd-layer-modal-bg) !important;
  border: 1px solid var(--pd-layer-border-strong) !important;
  border-radius: 10px;
  box-shadow: var(--pd-layer-drop-shadow);
}

body.pd-mydisk-skin .topbar .dropdown-menu > a {
  display: block;
  padding: 0.55rem 1rem;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--text-primary) !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}

body.pd-mydisk-skin .topbar .dropdown-menu > a:hover,
body.pd-mydisk-skin .topbar .dropdown-menu > a:focus {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--accent-hover) !important;
  outline: none;
}

body.pd-mydisk-skin .topbar .dropdown-menu > a .txtred {
  color: var(--danger) !important;
}

body.pd-mydisk-skin .topbar .dropdown-divider {
  margin: 0.35rem 0;
  border-top: 1px solid var(--border-subtle) !important;
  opacity: 1;
}

body.pd-mydisk-skin .topbar .dropdown-menu .dropdown-item {
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .topbar .dropdown-menu .dropdown-item:hover,
body.pd-mydisk-skin .topbar .dropdown-menu .dropdown-item:focus {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--accent-hover) !important;
}

body.pd-mydisk-skin .topbar .nav-link.dropdown-toggle {
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .topbar .nav-link.dropdown-toggle:hover,
body.pd-mydisk-skin .topbar .nav-link.dropdown-toggle:focus {
  color: var(--accent-hover) !important;
}

body.pd-mydisk-skin #content {
  background: transparent;
  color: var(--text-primary);
}

/* ========== 个人中心（profile / menu=cp）：Filen 式信息面板（二次美化） ========== */
body.pd-mydisk-skin .pd-profile-page {
  width: 100%;
  padding-bottom: 2rem;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

body.pd-mydisk-skin .pd-profile-page-hd {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.45rem 0.75rem;
  margin: 0 0 1rem;
  padding: 0.1rem 0 0.75rem;
  min-height: 2.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.pd-mydisk-skin .pd-profile-page-hd > .btn,
body.pd-mydisk-skin .pd-profile-page-hd > span.btn {
  flex-shrink: 0;
  margin-left: 0;
}

body.pd-mydisk-skin .pd-profile-page-title {
  position: relative;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  padding-bottom: 0.5rem;
  font-size: clamp(1.12rem, 2.1vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.96) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

body.pd-mydisk-skin .pd-profile-page-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(4.5rem, 42%);
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(
    90deg,
    rgba(126, 182, 255, 0.95) 0%,
    rgba(94, 161, 255, 0.55) 45%,
    rgba(94, 161, 255, 0) 100%
  );
  box-shadow: 0 0 12px rgba(94, 161, 255, 0.35);
}

body.pd-mydisk-skin .pd-profile-alert.alert-danger {
  margin-bottom: 1rem;
  border-radius: 10px;
  border: 1px solid rgba(248, 113, 113, 0.4);
  background: rgba(248, 113, 113, 0.12);
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-profile-panel {
  border-radius: 16px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 10px 36px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

body.pd-mydisk-skin .pd-profile-row {
  display: grid;
  grid-template-columns: minmax(7.5rem, 11rem) minmax(0, 1fr);
  gap: 0.85rem 1.5rem;
  align-items: center;
  padding: 1.2rem 1.5rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.15s ease;
}

body.pd-mydisk-skin .pd-profile-row:nth-child(even) {
  background: rgba(255, 255, 255, 0.02);
}

body.pd-mydisk-skin .pd-profile-row:hover {
  background: rgba(255, 255, 255, 0.035);
}

body.pd-mydisk-skin .pd-profile-row--last {
  border-bottom: none;
}

body.pd-mydisk-skin .pd-profile-row--sign {
  align-items: flex-start;
}

body.pd-mydisk-skin .pd-profile-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

body.pd-mydisk-skin .pd-profile-val {
  font-size: 0.97rem;
  line-height: 1.55;
  color: var(--text-primary);
  min-width: 0;
}

body.pd-mydisk-skin .pd-profile-val--strong {
  font-weight: 600;
  font-size: 1.02rem;
  letter-spacing: -0.01em;
}

body.pd-mydisk-skin .pd-profile-vip-slot {
  display: inline-flex;
  align-items: center;
  margin-left: 0.5rem;
  vertical-align: middle;
}

/* 用文案徽章替代旧式 VIP GIF，沿用链接 title 做多语言 */
body.pd-mydisk-skin .pd-profile-vip-slot a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5rem;
  padding: 0.15rem 0.65rem;
  margin: 0;
  text-decoration: none !important;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  border: 1px solid rgba(251, 191, 36, 0.45);
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.18), rgba(220, 38, 38, 0.12));
  color: #fde68a !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
  transition: border-color 0.18s ease, transform 0.18s ease;
}

body.pd-mydisk-skin .pd-profile-vip-slot a:hover {
  border-color: rgba(253, 224, 71, 0.65);
  transform: translateY(-1px);
}

body.pd-mydisk-skin .pd-profile-vip-slot a img.vip_icon {
  display: none !important;
}

body.pd-mydisk-skin .pd-profile-vip-slot a::after {
  content: attr(title);
}

body.pd-mydisk-skin .pd-profile-vip-slot a:has(img[src*="no_vip"]) {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-muted) !important;
  font-weight: 600;
}

body.pd-mydisk-skin .pd-profile-val--actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
}

body.pd-mydisk-skin .pd-profile-val--wrap {
  row-gap: 0.65rem;
}

body.pd-mydisk-skin .pd-profile-plain {
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-profile-sep {
  margin: 0 0.25rem;
  opacity: 0.4;
}

body.pd-mydisk-skin .pd-profile-val--url {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.55rem;
}

body.pd-mydisk-skin .pd-profile-input {
  flex: 1 1 220px;
  min-width: 0;
  padding: 0.62rem 0.85rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

body.pd-mydisk-skin .pd-profile-input:focus {
  outline: none;
  border-color: rgba(59, 130, 246, 0.55);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.18);
}

body.pd-mydisk-skin .pd-profile-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.48rem 1.05rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 9px;
  text-decoration: none !important;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  white-space: nowrap;
}

body.pd-mydisk-skin .pd-profile-action--solid {
  background: linear-gradient(180deg, #4f8ff9 0%, var(--accent-primary) 48%, #2563eb 100%);
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 4px 14px rgba(37, 99, 235, 0.35);
}

body.pd-mydisk-skin .pd-profile-action--solid:hover {
  background: linear-gradient(180deg, #60a5fa 0%, var(--accent-hover) 50%, #1d4ed8 100%);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22) inset,
    0 6px 18px rgba(37, 99, 235, 0.45);
}

body.pd-mydisk-skin .pd-profile-action--ghost {
  background: rgba(59, 130, 246, 0.08);
  color: #93c5fd !important;
  border-color: rgba(59, 130, 246, 0.42);
}

body.pd-mydisk-skin .pd-profile-action--ghost:hover {
  background: rgba(59, 130, 246, 0.2);
  color: #fff !important;
  border-color: rgba(96, 165, 250, 0.65);
}

body.pd-mydisk-skin .pd-profile-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9px;
  border: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-muted);
  text-decoration: none !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

body.pd-mydisk-skin .pd-profile-iconbtn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
  border-color: rgba(255, 255, 255, 0.14);
}

body.pd-mydisk-skin .pd-profile-iconbtn .el-icon-refresh {
  font-size: 1rem;
  line-height: 1;
}

body.pd-mydisk-skin .pd-profile-iconbtn .el-icon-refresh:before {
  opacity: 0.88;
}

body.pd-mydisk-skin .pd-profile-wealth {
  font-size: 0.94rem;
}

body.pd-mydisk-skin .pd-profile-wealth strong {
  font-weight: 700;
}

body.pd-mydisk-skin .pd-profile-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

body.pd-mydisk-skin .pd-profile-credits {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  font-size: 0.9rem;
  color: var(--text-muted);
}

body.pd-mydisk-skin .pd-profile-credits .pd-profile-num {
  color: var(--text-primary);
  font-weight: 600;
}

body.pd-mydisk-skin .pd-profile-dot {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  vertical-align: middle;
}

/* 签到：去掉 GIF 日历，改为简洁块 + 星期文字 */
body.pd-mydisk-skin .pd-profile-sign-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.25rem;
}

body.pd-mydisk-skin .pd-profile-sign-wrap .pd-profile-sign-tips {
  flex: 1 1 200px;
  min-width: 0;
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--text-muted);
}

body.pd-mydisk-skin .pd-profile-panel #sign_img.sign_img.pd-profile-sign-trigger {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 !important;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(59, 130, 246, 0.28);
  background: rgba(59, 130, 246, 0.1) none !important;
  background-image: none !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

body.pd-mydisk-skin .pd-profile-panel #sign_img.sign_img.pd-profile-sign-trigger:hover {
  background: rgba(59, 130, 246, 0.18) none !important;
  background-image: none !important;
  border-color: rgba(59, 130, 246, 0.45);
  transform: translateY(-1px);
}

body.pd-mydisk-skin .pd-profile-panel #sign_img.sign_img.pd-profile-sign-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35);
}

body.pd-mydisk-skin .pd-profile-panel #sign_img.sign_img.pd-profile-sign-trigger.current {
  background: rgba(52, 211, 153, 0.12) none !important;
  background-image: none !important;
  border-color: rgba(52, 211, 153, 0.35);
  cursor: default;
  transform: none;
}

body.pd-mydisk-skin .pd-profile-panel #sign_img.sign_img.pd-profile-sign-trigger span {
  display: block !important;
  margin: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  color: var(--accent-primary) !important;
  font-family: inherit !important;
  text-align: center;
  line-height: 1.2;
}

body.pd-mydisk-skin .pd-profile-panel #sign_img.sign_img.pd-profile-sign-trigger.current span {
  color: var(--success) !important;
}

body.pd-mydisk-skin .pd-profile-val--stack:not(.pd-profile-sign-wrap) {
  padding-top: 0.15rem;
}

body.pd-mydisk-skin .pd-profile-inline-tips {
  margin-left: 0.35rem;
}

@media (max-width: 575.98px) {
  body.pd-mydisk-skin .pd-profile-row {
    grid-template-columns: 1fr;
    gap: 0.45rem 0;
    padding: 1rem 1.1rem;
  }

  body.pd-mydisk-skin .pd-profile-label {
    margin-bottom: 0.15rem;
  }
}

/* ========== redirect / information.tpl：登录成功等跳转提示 ========== */
.pd-redirect-msg {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 2rem 1rem 3rem;
  width: 100%;
  box-sizing: border-box;
}

.pd-redirect-msg-card {
  width: 100%;
  max-width: 520px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}

.pd-redirect-msg-hd {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.1rem;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--text-primary);
  background: rgba(59, 130, 246, 0.18);
  border-bottom: 1px solid var(--border-subtle);
}

.pd-redirect-msg-bd {
  padding: 1.5rem 1.25rem;
  line-height: 1.65;
  font-size: 0.95rem;
  color: var(--text-primary);
}

.pd-redirect-msg-bd p {
  margin: 0;
  color: var(--text-primary);
}

.pd-redirect-msg-bd ul,
.pd-redirect-msg-bd ol {
  margin: 0.5rem 0 0 1.25rem;
  padding: 0;
  color: var(--text-muted);
}

.pd-redirect-msg-bd li {
  margin: 0.25rem 0;
}

.pd-redirect-msg-ft {
  padding: 0.85rem 1rem;
  text-align: center;
  border-top: 1px solid var(--border-subtle);
  background: rgba(0, 0, 0, 0.15);
}

.pd-redirect-msg-ft a {
  color: var(--accent-primary);
  font-size: 0.875rem;
  text-decoration: none;
  font-weight: 600;
}

.pd-redirect-msg-ft a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

/* ========== layer.js：非暗色壳页面保持白底深字（旧页 / 无 body 壳类） ========== */
body:not(.pd-mydisk-skin):not(.pd-site-shell) .layui-layer:not(.layui-layer-hui):not(.layui-layer-tips) .layui-layer-content,
body:not(.pd-mydisk-skin):not(.pd-site-shell) .layui-layer:not(.layui-layer-hui):not(.layui-layer-tips) .layui-layer-padding {
  color: #1e293b !important;
}

body:not(.pd-mydisk-skin):not(.pd-site-shell)
  .layui-layer:not(.layui-layer-hui):not(.layui-layer-tips):not(.layui-layer-molv):not(.layui-layer-lan)
  .layui-layer-title {
  color: #1e293b !important;
}

body:not(.pd-mydisk-skin):not(.pd-site-shell) .layui-layer-msg:not(.layui-layer-hui),
body:not(.pd-mydisk-skin):not(.pd-site-shell) .layui-layer-dialog:not(.layui-layer-hui):not(.layui-layer-tips) {
  background-color: #fff !important;
}

body:not(.pd-mydisk-skin):not(.pd-site-shell) .layui-layer-msg:not(.layui-layer-hui) .layui-layer-content {
  color: #1e293b !important;
}

/* ========== layer.js：会员区 / 前台暗色壳 — 弹层与遮罩对齐 Filen 黑底 ========== */
body.pd-mydisk-skin .layui-layer-shade,
body.pd-site-shell .layui-layer-shade {
  background: var(--pd-layer-shade) !important;
}

/* layer.load / type:3：与暗色弹层一致（原先被 :not(.layui-layer-loading) 排除故留白底） */
body.pd-mydisk-skin .layui-layer.layui-layer-loading,
body.pd-site-shell .layui-layer.layui-layer-loading {
  background: var(--pd-layer-modal-bg) !important;
  border: 1px solid var(--pd-layer-border-strong) !important;
  border-radius: 12px !important;
  box-shadow: var(--pd-layer-drop-shadow) !important;
  color: var(--text-primary);
  overflow: hidden;
}

body.pd-mydisk-skin .layui-layer-load,
body.pd-site-shell .layui-layer-load {
  background-color: var(--pd-layer-modal-bg) !important;
}

body.pd-mydisk-skin
  .layui-layer:not(.layui-layer-tips):not(.layui-layer-loading):not(.layui-layer-photos):not(.layui-layer-hui),
body.pd-site-shell
  .layui-layer:not(.layui-layer-tips):not(.layui-layer-loading):not(.layui-layer-photos):not(.layui-layer-hui) {
  background: var(--pd-layer-modal-bg) !important;
  border: 1px solid var(--pd-layer-border-strong) !important;
  border-radius: 12px !important;
  box-shadow: var(--pd-layer-drop-shadow) !important;
  color: var(--text-primary);
  overflow: hidden;
}

body.pd-mydisk-skin .layui-layer-title,
body.pd-site-shell .layui-layer-title {
  background: var(--pd-layer-modal-bg-deep) !important;
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--pd-layer-border-strong) !important;
  border-radius: 0 !important;
  height: 48px !important;
  line-height: 48px !important;
  padding: 0 3.25rem 0 1.1rem !important;
  font-size: 0.95rem !important;
  font-weight: 600;
}

body.pd-mydisk-skin .layui-layer-setwin a,
body.pd-site-shell .layui-layer-setwin a {
  filter: invert(1) brightness(1.1);
  opacity: 0.88;
}

body.pd-mydisk-skin .layui-layer-setwin a:hover,
body.pd-site-shell .layui-layer-setwin a:hover {
  opacity: 1;
}

body.pd-mydisk-skin .layui-layer-setwin .layui-layer-min cite,
body.pd-site-shell .layui-layer-setwin .layui-layer-min cite {
  background-color: rgba(255, 255, 255, 0.65);
}

body.pd-mydisk-skin .layui-layer-setwin .layui-layer-min:hover cite,
body.pd-site-shell .layui-layer-setwin .layui-layer-min:hover cite {
  background-color: var(--accent-primary);
}

body.pd-mydisk-skin .layui-layer-content:not(.layui-layer-load),
body.pd-site-shell .layui-layer-content:not(.layui-layer-load) {
  background: var(--pd-layer-modal-bg) !important;
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .layui-layer-iframe .layui-layer-content,
body.pd-site-shell .layui-layer-iframe .layui-layer-content {
  background: var(--bg-page) !important;
}

/* 带图标时内容区会叠加 .layui-layer-padding（layer.css 左 55px 给 .layui-layer-ico 让位），
   勿用四边相同 padding 覆盖，否则 msg/alert 文字会与图标重叠 */
body.pd-mydisk-skin .layui-layer-dialog .layui-layer-content,
body.pd-site-shell .layui-layer-dialog .layui-layer-content {
  line-height: 1.55 !important;
  font-size: 0.92rem !important;
}

body.pd-mydisk-skin .layui-layer-dialog .layui-layer-content:not(.layui-layer-padding),
body.pd-site-shell .layui-layer-dialog .layui-layer-content:not(.layui-layer-padding) {
  padding: 1.1rem 1.15rem !important;
}

body.pd-mydisk-skin .layui-layer-dialog .layui-layer-content.layui-layer-padding,
body.pd-site-shell .layui-layer-dialog .layui-layer-content.layui-layer-padding {
  padding: 0.85rem 1.15rem 0.85rem 3.5rem !important;
  text-align: left !important;
}

body.pd-mydisk-skin .layui-layer-dialog .layui-layer-padding,
body.pd-site-shell .layui-layer-dialog .layui-layer-padding {
  color: var(--text-primary) !important;
}

/* 免费慢速下载倒计时：type:1 为 layui-layer-page（非 dialog），须挂在 .layui-layer .layui-layer-content 上 */
body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-countdown,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-countdown {
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-countdown > p.mb-2,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-countdown > p.mb-2 {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-countdown .display-4,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-countdown .display-4 {
  color: var(--accent-primary) !important;
  font-weight: 700 !important;
  font-size: 2.25rem !important;
  line-height: 1.2 !important;
}

body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-countdown .display-4 span,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-countdown .display-4 span {
  color: inherit !important;
}

body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-countdown .text-muted,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-countdown .text-muted {
  color: rgba(255, 255, 255, 0.55) !important;
  opacity: 1 !important;
}

body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-result-phase,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-result-phase {
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .layui-layer .layui-layer-content .pd-tier-down-links,
body.pd-site-shell .layui-layer .layui-layer-content .pd-tier-down-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

body.pd-mydisk-skin .layui-layer-btn,
body.pd-site-shell .layui-layer-btn {
  text-align: right;
  padding: 0.65rem 1rem 1rem !important;
  border-top: 1px solid var(--pd-layer-border-strong);
  background: var(--pd-layer-modal-bg-deep);
  pointer-events: auto;
}

body.pd-mydisk-skin .layui-layer-btn a,
body.pd-site-shell .layui-layer-btn a {
  height: auto !important;
  line-height: 1.4 !important;
  margin: 0.35rem 0 0 0.5rem !important;
  padding: 0.45rem 1rem !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.86rem !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .layui-layer-btn a:hover,
body.pd-site-shell .layui-layer-btn a:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  opacity: 1 !important;
}

body.pd-mydisk-skin .layui-layer-btn .layui-layer-btn0,
body.pd-site-shell .layui-layer-btn .layui-layer-btn0 {
  background: rgba(59, 130, 246, 0.42) !important;
  border-color: rgba(94, 161, 255, 0.55) !important;
  color: #fff !important;
}

body.pd-mydisk-skin .layui-layer-btn .layui-layer-btn0:hover,
body.pd-site-shell .layui-layer-btn .layui-layer-btn0:hover {
  background: rgba(59, 130, 246, 0.55) !important;
}

body.pd-mydisk-skin .layui-layer-msg:not(.layui-layer-hui),
body.pd-site-shell .layui-layer-msg:not(.layui-layer-hui) {
  background: var(--pd-layer-modal-bg) !important;
  border: 1px solid var(--pd-layer-border-strong) !important;
  border-radius: 10px !important;
  box-shadow: var(--pd-layer-drop-shadow) !important;
}

body.pd-mydisk-skin .layui-layer-msg:not(.layui-layer-hui) .layui-layer-content,
body.pd-site-shell .layui-layer-msg:not(.layui-layer-hui) .layui-layer-content {
  color: var(--text-primary) !important;
}

/* 少数 layer 版本 msg 无 layui-layer-dialog 父级，仍可能带 padding 类 + 绝对定位 ico */
body.pd-mydisk-skin .layui-layer-msg .layui-layer-content.layui-layer-padding,
body.pd-site-shell .layui-layer-msg .layui-layer-content.layui-layer-padding {
  padding: 0.85rem 1.15rem 0.85rem 3.5rem !important;
  text-align: left !important;
}

body.pd-mydisk-skin .layui-layer-prompt .layui-layer-input,
body.pd-site-shell .layui-layer-prompt .layui-layer-input {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
}

body.pd-mydisk-skin .layui-layer-tab .layui-layer-title span.layui-this,
body.pd-site-shell .layui-layer-tab .layui-layer-title span.layui-this {
  background: var(--pd-layer-modal-bg) !important;
  color: var(--text-primary) !important;
  border-left-color: var(--pd-layer-border-strong) !important;
  border-right-color: var(--pd-layer-border-strong) !important;
}

/* common.css 里 .box_style 为白底 #444 字；暗色弹层下去掉白底后仍残留 #444，会「字与底糊在一起」 */
body.pd-mydisk-skin .layui-layer .box_style,
body.pd-site-shell .layui-layer .box_style {
  color: var(--text-primary) !important;
  background: transparent !important;
}

body.pd-mydisk-skin .layui-layer .txtblue,
body.pd-site-shell .layui-layer .txtblue {
  color: var(--accent-primary) !important;
}

body.pd-mydisk-skin .layui-layer .txtgray,
body.pd-site-shell .layui-layer .txtgray {
  color: var(--text-muted) !important;
}

/* 主文档 layer.open(type:1) 内联 HTML：工单新建/回复等（非 iframe，故不复用 pd-layer-iframe-body） */
body.pd-mydisk-skin .layui-layer .layui-layer-content .card-body,
body.pd-site-shell .layui-layer .layui-layer-content .card-body {
  background: transparent !important;
  color: var(--text-primary);
  padding: 0.85rem 1rem 1rem !important;
}

body.pd-mydisk-skin .layui-layer textarea.form-control,
body.pd-mydisk-skin .layui-layer input.form-control,
body.pd-mydisk-skin .layui-layer select.form-control,
body.pd-site-shell .layui-layer textarea.form-control,
body.pd-site-shell .layui-layer input.form-control,
body.pd-site-shell .layui-layer select.form-control {
  background: rgba(0, 0, 0, 0.32) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
}

body.pd-mydisk-skin .layui-layer textarea.form-control:focus,
body.pd-mydisk-skin .layui-layer input.form-control:focus,
body.pd-mydisk-skin .layui-layer select.form-control:focus,
body.pd-site-shell .layui-layer textarea.form-control:focus,
body.pd-site-shell .layui-layer input.form-control:focus,
body.pd-site-shell .layui-layer select.form-control:focus {
  border-color: rgba(94, 161, 255, 0.45) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
  color: var(--text-primary) !important;
  outline: 0;
}

body.pd-mydisk-skin .layui-layer textarea.form-control::placeholder,
body.pd-mydisk-skin .layui-layer input.form-control::placeholder,
body.pd-site-shell .layui-layer textarea.form-control::placeholder,
body.pd-site-shell .layui-layer input.form-control::placeholder {
  color: var(--text-muted);
  opacity: 1;
}

body.pd-mydisk-skin .layui-layer .btn-outline-primary,
body.pd-site-shell .layui-layer .btn-outline-primary {
  color: rgba(147, 197, 253, 0.95) !important;
  border-color: rgba(94, 161, 255, 0.45) !important;
  background: rgba(59, 130, 246, 0.12) !important;
  border-radius: 8px;
  font-weight: 600;
}

body.pd-mydisk-skin .layui-layer .btn-outline-primary:hover,
body.pd-site-shell .layui-layer .btn-outline-primary:hover {
  color: #fff !important;
  background: rgba(59, 130, 246, 0.35) !important;
  border-color: rgba(94, 161, 255, 0.55) !important;
}

/* layer.msg / alert：theme/default/icon.png 为不透明白底彩标，叠在深色弹层上会出现白底方块、图标发闷。
   multiply 使纯白区域与下方弹层底色相乘后「融入」背景，彩色符号仍保留色相（略压暗）。
   仅限定在 .layui-layer-content 内，避免影响标题栏关闭等 .layui-layer-setwin 内可能复用 ico 类的节点。 */
body.pd-mydisk-skin .layui-layer-content .layui-layer-ico,
body.pd-site-shell .layui-layer-content .layui-layer-ico,
body.pd-mydisk-skin .layui-layer-content .layui-layer-iconext,
body.pd-site-shell .layui-layer-content .layui-layer-iconext {
  mix-blend-mode: multiply;
}

/* layer 写在 iframe 内（如 abox 小窗）时文档体为 pd-layer-iframe-body，同样处理图标白底 */
body.pd-layer-iframe-body .layui-layer-content .layui-layer-ico,
body.pd-layer-iframe-body .layui-layer-content .layui-layer-iconext {
  mix-blend-mode: multiply;
}

/* abox iframe 内文档体（my_header $in_ajax）：分享链接、改价等 */
body.pd-layer-iframe-body {
  margin: 0;
  padding: 0.65rem 0.85rem !important;
  background: var(--bg-page) !important;
  color: var(--text-primary);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-size: 0.92rem;
  line-height: 1.5;
}

body.pd-layer-iframe-body .box_style {
  color: var(--text-primary) !important;
}

body.pd-layer-iframe-body #container .box_style {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--text-primary) !important;
}

body.pd-layer-iframe-body .alert-info {
  border: 1px solid rgba(94, 161, 255, 0.38);
  background: rgba(59, 130, 246, 0.14);
  color: var(--text-primary);
  border-radius: 10px;
}

body.pd-layer-iframe-body a {
  color: rgba(147, 197, 253, 0.95);
  font-weight: 600;
  text-decoration: none;
}

body.pd-layer-iframe-body a:hover {
  color: #fff;
  text-decoration: underline;
}

body.pd-layer-iframe-body textarea.form-control,
body.pd-layer-iframe-body input.form-control,
body.pd-layer-iframe-body select.form-control {
  background: rgba(0, 0, 0, 0.32) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
}

body.pd-layer-iframe-body textarea.form-control:focus,
body.pd-layer-iframe-body input.form-control:focus,
body.pd-layer-iframe-body select.form-control:focus {
  border-color: rgba(94, 161, 255, 0.45) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
  color: var(--text-primary) !important;
}

/* 旧表单常用 col-* 而无 form-control，须单独拉对比（否则浏览器默认深字叠暗底） */
body.pd-layer-iframe-body .box_style input[type="text"],
body.pd-layer-iframe-body .box_style input[type="password"],
body.pd-layer-iframe-body .box_style input[type="search"],
body.pd-layer-iframe-body .box_style input[type="url"],
body.pd-layer-iframe-body .box_style input[type="email"],
body.pd-layer-iframe-body .box_style input[type="number"],
body.pd-layer-iframe-body .box_style select,
body.pd-layer-iframe-body .box_style textarea {
  background: rgba(0, 0, 0, 0.32) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
}

body.pd-layer-iframe-body .box_style input[type="text"]:focus,
body.pd-layer-iframe-body .box_style input[type="password"]:focus,
body.pd-layer-iframe-body .box_style input[type="search"]:focus,
body.pd-layer-iframe-body .box_style input[type="url"]:focus,
body.pd-layer-iframe-body .box_style input[type="email"]:focus,
body.pd-layer-iframe-body .box_style input[type="number"]:focus,
body.pd-layer-iframe-body .box_style select:focus,
body.pd-layer-iframe-body .box_style textarea:focus {
  border-color: rgba(94, 161, 255, 0.45) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
  outline: 0;
}

body.pd-layer-iframe-body .btn-primary {
  background: rgba(59, 130, 246, 0.5) !important;
  border-color: rgba(94, 161, 255, 0.55) !important;
  color: #fff !important;
  font-weight: 600;
  border-radius: 8px;
}

body.pd-layer-iframe-body .btn-primary:hover {
  background: rgba(59, 130, 246, 0.65) !important;
}

body.pd-layer-iframe-body .btn-secondary,
body.pd-layer-iframe-body .btn-outline-secondary {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--border-subtle) !important;
  color: var(--text-primary) !important;
}

body.pd-layer-iframe-body .txtgray,
body.pd-layer-iframe-body .text-muted {
  color: var(--text-muted) !important;
}

body.pd-layer-iframe-body .txtblue {
  color: var(--accent-primary) !important;
}

body.pd-layer-iframe-body table.td_line {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px;
}

/* 网盘：新建/修改目录（abox iframe → folders.tpl） */
body.pd-layer-iframe-body .pd-md-folder-dialog,
body.pd-layer-iframe-body .pd-md-file-edit-dialog {
  max-width: 100%;
  box-sizing: border-box;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__form,
body.pd-layer-iframe-body .pd-md-file-edit-dialog__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 0.1rem 0 0;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__form {
  gap: 0.85rem;
  padding-top: 0.05rem;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__field,
body.pd-layer-iframe-body .pd-md-file-edit-dialog__field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__field--editor {
  flex: 1 1 auto;
  min-height: 0;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__label,
body.pd-layer-iframe-body .pd-md-file-edit-dialog__label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.68) !important;
  line-height: 1.35;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__hint {
  font-weight: 500;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.45) !important;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__form input[type="text"],
body.pd-layer-iframe-body .pd-md-folder-dialog__form select,
body.pd-layer-iframe-body .pd-md-file-edit-dialog__form input[type="text"],
body.pd-layer-iframe-body .pd-md-file-edit-dialog__form select {
  display: block !important;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 2.4rem;
  padding: 0.45rem 0.65rem !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__editor {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__editor textarea.form-control {
  width: 100% !important;
  min-height: 140px;
  box-sizing: border-box;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem 1.1rem;
  margin: 0;
  padding: 0.55rem 0.7rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55) !important;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.22);
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__meta strong {
  color: rgba(255, 255, 255, 0.74);
  font-weight: 600;
  margin-right: 0.15rem;
}

body.pd-layer-iframe-body .pd-md-file-edit-dialog__hidden {
  display: none !important;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__actions,
body.pd-layer-iframe-body .pd-md-file-edit-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.15rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.pd-layer-iframe-body .pd-md-folder-dialog__actions .btn-primary,
body.pd-layer-iframe-body .pd-md-file-edit-dialog__actions .btn-primary {
  min-width: 5.75rem;
  padding: 0.48rem 1.15rem !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
}

/* 删除目录：确认块 */
body.pd-layer-iframe-body .pd-md-folder-dialog--delete .pd-md-folder-dialog__form {
  gap: 1.05rem;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__delete-target {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 0.8rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

body.pd-layer-iframe-body .pd-md-folder-dialog__delete-icon {
  flex-shrink: 0;
  font-size: 1.4rem;
  line-height: 1;
  color: rgba(126, 182, 255, 0.95);
}

body.pd-layer-iframe-body .pd-md-folder-dialog__delete-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.96) !important;
  word-break: break-word;
}

body.pd-layer-iframe-body .pd-md-folder-dialog__delete-msg {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.58) !important;
}

/* ========== 用户面板：各 item 主内容区统一（视觉对齐 profile / menu=cp） ========== */
/* md_footer 里对 .container-fluid 写了 margin-top:-30px，壳层下会顶穿顶栏留白，此处收回 */
body.pd-mydisk-skin #content > .container-fluid {
  margin-top: -20px !important;
  /* 介于「贴顶」与「过远」之间，可按需微调 0.35～0.55rem */
  padding-top: 0rem;
}

body.pd-mydisk-skin .pd-mydisk-content {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-top: 0;
  padding-bottom: 2rem;
  box-sizing: border-box;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-content .pd-profile-page {
  padding-bottom: 0;
}

/* 旧式「小图标 + nav_tit」页眉：与 pd-profile-page-title 同级对比度 */
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin-top: 5px !important;
  margin-bottom: 1rem !important;
  margin-left: 0;
  margin-right: 0;
  padding: 0.15rem 0 0.65rem;
  min-height: 2.1rem;
  font-size: clamp(1.12rem, 2.1vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.96) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  border: 0;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) img[src*="icon_nav"] {
  display: none;
}

body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .nav_tit {
  position: relative;
  display: inline-block;
  padding-bottom: 0.5rem;
  margin: 0;
  vertical-align: middle;
  color: inherit !important;
}

body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .nav_tit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(4.5rem, 42%);
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(
    90deg,
    rgba(126, 182, 255, 0.95) 0%,
    rgba(94, 161, 255, 0.55) 45%,
    rgba(94, 161, 255, 0) 100%
  );
  box-shadow: 0 0 12px rgba(94, 161, 255, 0.35);
}

/* 副文案（如 credit 页灰色说明）紧跟标题，不参与右对齐 */
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .nav_tit ~ .txtgray,
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .nav_tit ~ .f12 {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--text-muted);
}

/* 主操作 / 次要链接触顶行右端（与「上传文件」+ 独立上传框 一致） */
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .btn,
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) span.f14,
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) > a.btn {
  margin-left: auto;
}

body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .btn + .btn,
body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) .btn + span.f14 {
  margin-left: 0;
}

body.pd-mydisk-skin .pd-mydisk-content h1:not(.pd-profile-page-title) a {
  font-size: 0.82em;
  font-weight: 600;
}

/* H5/R2 上传嵌入：去掉外层 td_line 再套 iframe 的「双线框」，减少线条感 */
body.pd-mydisk-skin .pd-mydisk-content table.td_line.pd-upload-h5 {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin-bottom: 0.75rem !important;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line.pd-upload-h5 > tbody > tr > td {
  border: none !important;
  background: transparent !important;
  padding: 0.4rem 0 !important;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line.pd-upload-h5 .alert {
  margin-bottom: 0.5rem;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line.pd-upload-h5 #afrm {
  display: block;
  width: 100%;
  min-height: 480px;
  border: none;
  border-radius: 12px;
  background: var(--bg-elevated);
}

/* 主数据表：卡片化（与 .pd-profile-panel 同系阴影与圆角） */
body.pd-mydisk-skin .pd-mydisk-content table.td_line,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover,
body.pd-mydisk-skin .pd-mydisk-content table.table {
  width: 100% !important;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 0 1.35rem;
  border-radius: 16px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 10px 36px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line td,
body.pd-mydisk-skin .pd-mydisk-content table.td_line th,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover td,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover th,
body.pd-mydisk-skin .pd-mydisk-content table.table td,
body.pd-mydisk-skin .pd-mydisk-content table.table th {
  padding: 0.72rem 1rem;
  border-color: var(--border-subtle) !important;
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-primary);
  vertical-align: middle;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line tr:last-child td,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover tr:last-child td,
body.pd-mydisk-skin .pd-mydisk-content table.table tr:last-child td {
  border-bottom: none;
}

body.pd-mydisk-skin .pd-mydisk-content table.table-hover tbody tr:hover td,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover tbody tr:hover th {
  background: rgba(255, 255, 255, 0.04) !important;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line tr:nth-child(even) td,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover tbody tr:nth-child(even) td {
  background: rgba(255, 255, 255, 0.02);
}

body.pd-mydisk-skin .pd-mydisk-content table .nav_tit2,
body.pd-mydisk-skin .pd-mydisk-content table td.nav_tit2 {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--text-primary);
  background: rgba(59, 130, 246, 0.1);
  border-bottom: 1px solid var(--border-subtle);
}

body.pd-mydisk-skin .pd-mydisk-content table .txtgray {
  color: var(--text-muted) !important;
}

/* 弹层/子页常用的列表表单块 */
body.pd-mydisk-skin .pd-mydisk-content #container .box_style {
  margin: 0 0 1.35rem;
  padding: 1.15rem 1.35rem;
  list-style: none;
  border-radius: 16px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 10px 36px rgba(0, 0, 0, 0.22);
}

body.pd-mydisk-skin .pd-mydisk-content #container .box_style > li {
  margin: 0.45rem 0;
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-content #container .box_style textarea,
body.pd-mydisk-skin .pd-mydisk-content table textarea,
body.pd-mydisk-skin .pd-mydisk-content table input[type="text"]:not(.pd-profile-input),
body.pd-mydisk-skin .pd-mydisk-content table input[type="password"]:not(.pd-profile-input),
body.pd-mydisk-skin .pd-mydisk-content table input[type="file"],
body.pd-mydisk-skin .pd-mydisk-content table select {
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
}

body.pd-mydisk-skin .pd-mydisk-content #container .box_style textarea,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="text"],
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="password"],
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"] {
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
}

/* 会员区表格内文件域（chg_logo 头像/背景等）：覆盖 btn-light + 原生浅色槽 */
body.pd-mydisk-skin .pd-mydisk-content table input[type="file"],
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"] {
  padding: 0.35rem 0.55rem !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  max-width: min(100%, 28rem);
  color: var(--text-muted) !important;
  cursor: pointer;
  box-sizing: border-box;
}

body.pd-mydisk-skin .pd-mydisk-content table input[type="file"].btn,
body.pd-mydisk-skin .pd-mydisk-content table input[type="file"].btn-light,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"].btn,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"].btn-light {
  background: rgba(0, 0, 0, 0.28) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: var(--text-muted) !important;
}

body.pd-mydisk-skin .pd-mydisk-content table input[type="file"]:focus,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"]:focus {
  outline: none;
  border-color: rgba(94, 161, 255, 0.45) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
  color: var(--text-primary) !important;
}

body.pd-mydisk-skin .pd-mydisk-content table input[type="file"]::file-selector-button,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"]::file-selector-button {
  margin-right: 0.65rem;
  padding: 0.42rem 0.88rem;
  border: 1px solid rgba(94, 161, 255, 0.45);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(79, 143, 249, 0.35), rgba(37, 99, 235, 0.42));
  color: #fff !important;
  font-weight: 600;
  font-size: 0.84rem;
  font-family: inherit;
  cursor: pointer;
}

body.pd-mydisk-skin .pd-mydisk-content table input[type="file"]:hover::file-selector-button,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"]:hover::file-selector-button {
  background: linear-gradient(180deg, rgba(96, 165, 250, 0.5), rgba(37, 99, 235, 0.55));
  border-color: rgba(147, 197, 253, 0.55);
}

body.pd-mydisk-skin .pd-mydisk-content table input[type="file"]::-webkit-file-upload-button,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"]::-webkit-file-upload-button {
  margin-right: 0.65rem;
  padding: 0.42rem 0.88rem;
  border: 1px solid rgba(94, 161, 255, 0.45);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(79, 143, 249, 0.35), rgba(37, 99, 235, 0.42));
  color: #fff !important;
  font-weight: 600;
  font-size: 0.84rem;
  font-family: inherit;
  cursor: pointer;
}

body.pd-mydisk-skin .pd-mydisk-content table input[type="file"]:hover::-webkit-file-upload-button,
body.pd-mydisk-skin .pd-mydisk-content #container .box_style input[type="file"]:hover::-webkit-file-upload-button {
  background: linear-gradient(180deg, rgba(96, 165, 250, 0.5), rgba(37, 99, 235, 0.55));
  border-color: rgba(147, 197, 253, 0.55);
}

body.pd-mydisk-skin .pd-mydisk-content .alert {
  border-radius: 12px;
}

body.pd-mydisk-skin .pd-mydisk-content .alert-danger {
  border: 1px solid rgba(248, 113, 113, 0.4);
  background: rgba(248, 113, 113, 0.12);
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-content .alert-warning {
  border: 1px solid rgba(251, 191, 36, 0.42);
  background: rgba(251, 191, 36, 0.1);
  color: var(--text-primary);
}

/* VIP 文件管理等页：Bootstrap 默认 success/info 仍为浅色底，在此统一为壳层深色提示条 */
body.pd-mydisk-skin .pd-mydisk-content .alert-success {
  border: 1px solid rgba(74, 222, 128, 0.38);
  background: rgba(74, 222, 128, 0.11);
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-content .alert-success img {
  margin-right: 0.4rem;
  vertical-align: -0.12em;
  opacity: 0.92;
}

body.pd-mydisk-skin .pd-mydisk-content .alert-info {
  border: 1px solid rgba(94, 161, 255, 0.4);
  background: rgba(94, 161, 255, 0.12);
  color: var(--text-primary);
}

/* 文件管理：类型图标 LineIcons（pd-file-ext-ico）；目录 lni-folder；操作列 LineIcons */
body.pd-mydisk-skin .pd-mydisk-content #f_table .pd-files-toolbar-ico {
  margin-right: 0.35rem;
  font-size: 1.05rem;
  vertical-align: -0.12em;
}

body.pd-mydisk-skin .pd-mydisk-content .pd-files-ico-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.38rem;
  height: 1.38rem;
  margin-right: 0.35rem;
  vertical-align: middle;
  flex-shrink: 0;
  border-radius: 6px;
  background: rgba(94, 161, 255, 0.12);
  border: 1px solid rgba(94, 161, 255, 0.22);
  box-sizing: border-box;
}

body.pd-mydisk-skin .pd-mydisk-content .pd-files-ico-wrap img {
  display: block;
  max-width: 0.82rem;
  max-height: 0.82rem;
  width: auto;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
  margin: 0;
  border: 0;
}

body.pd-mydisk-skin .pd-mydisk-content .pd-files-ico-wrap .pd-file-ext-ico {
  font-size: 0.82rem;
  line-height: 1;
  color: rgba(147, 197, 253, 0.95);
}

body.pd-mydisk-skin .pd-mydisk-content .pd-files-ico-wrap--folder .lni-folder {
  font-size: 0.82rem;
  line-height: 1;
  color: rgba(147, 197, 253, 0.95);
}

body.pd-mydisk-skin .pd-mydisk-content #f_table .pd-files-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.2rem;
  vertical-align: middle;
}

body.pd-mydisk-skin .pd-mydisk-content #f_table a.pd-files-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.42rem;
  height: 1.42rem;
  padding: 0;
  border-radius: 6px;
  border: 1px solid rgba(94, 161, 255, 0.2);
  background: rgba(94, 161, 255, 0.08);
  color: rgba(147, 197, 253, 0.92);
  text-decoration: none;
  box-sizing: border-box;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

body.pd-mydisk-skin .pd-mydisk-content #f_table a.pd-files-act:hover {
  background: rgba(59, 130, 246, 0.22);
  border-color: rgba(94, 161, 255, 0.38);
  color: #fff;
}

body.pd-mydisk-skin .pd-mydisk-content #f_table a.pd-files-act .lni {
  font-size: 0.88rem;
  line-height: 1;
}

/* 删除目录：危险操作，与默认蓝色操作区分 */
body.pd-mydisk-skin .pd-mydisk-content #f_table a.pd-files-act--danger {
  color: #fb7185 !important;
  border-color: rgba(251, 113, 133, 0.45) !important;
  background: rgba(248, 113, 113, 0.12) !important;
}

body.pd-mydisk-skin .pd-mydisk-content #f_table a.pd-files-act--danger:hover {
  color: #fecdd3 !important;
  border-color: rgba(252, 165, 165, 0.55) !important;
  background: rgba(248, 113, 113, 0.22) !important;
}

body.pd-mydisk-skin .pd-mydisk-content #f_table a.pd-files-act--danger .lni {
  color: inherit;
}

/* 会员区分页：multi() 输出的 Bootstrap ul.pagination，与主区深色卡片、强调色一致 */
body.pd-mydisk-skin .pd-mydisk-content ul.pagination {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 6px 22px rgba(0, 0, 0, 0.2);
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item {
  display: flex;
  align-items: stretch;
  margin: 0;
}

/* Total:&nbsp;<b>n</b> — PHP 将 page-link 类误挂在 li 上 */
body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item.page-link {
  padding: 0.42rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-muted);
  background: rgba(0, 0, 0, 0.22);
  border-right: 1px solid var(--border-subtle);
  white-space: nowrap;
  align-items: center;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item.page-link b {
  color: var(--accent-primary, #5ea1ff);
  font-weight: 700;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item > .page-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.05rem;
  min-height: 2.05rem;
  margin: 0 !important;
  padding: 0.38rem 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
  color: rgba(147, 197, 253, 0.9) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  border-right: 1px solid var(--border-subtle) !important;
  box-shadow: none !important;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item:last-child > .page-link {
  border-right: none !important;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item > .page-link:hover {
  z-index: 1;
  color: #fff !important;
  background: rgba(59, 130, 246, 0.18) !important;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item.active > .page-link {
  z-index: 2;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(79, 143, 249, 0.95), rgba(37, 99, 235, 0.98)) !important;
  border-color: transparent !important;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item.disabled > .page-link {
  color: var(--text-muted) !important;
  opacity: 0.42;
  background: transparent !important;
  pointer-events: none;
}

body.pd-mydisk-skin .pd-mydisk-content ul.pagination > li.page-item > .page-link:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(94, 161, 255, 0.35);
}

/* ========== 会员区子页：与 profile / menu=cp 主区对齐（动态列表、工单、计划选择等） ========== */

/* AJAX 列表：关注动态 #ctn、积分流水 tbody#ctn 等 */
body.pd-mydisk-skin .pd-mydisk-content #ctn {
  min-height: 1.5rem;
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .item {
  padding: 0.65rem 0.85rem;
  margin: 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .item:last-child {
  border-bottom: none;
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .item.color1 {
  background: rgba(255, 255, 255, 0.02);
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .item.color4 {
  background: transparent;
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .item a {
  color: rgba(147, 197, 253, 0.95);
  font-weight: 600;
  text-decoration: none;
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .item a:hover {
  color: #fff;
  text-decoration: underline;
}

body.pd-mydisk-skin .pd-mydisk-content #ctn .loading_box {
  padding: 1rem;
  text-align: center;
  color: var(--text-muted);
}

/* 工单对话：覆盖 my.css 浅色气泡 */
body.pd-mydisk-skin .pd-mydisk-content .ticket_box {
  max-height: min(70vh, 640px);
  padding: 0.85rem 0.65rem 1rem;
  margin: 0;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.2);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .time {
  color: var(--text-muted);
  font-style: normal;
  font-size: 0.78rem;
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .my .txt {
  background: rgba(59, 130, 246, 0.35);
  border: 1px solid rgba(94, 161, 255, 0.45);
  color: #fff;
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .his .txt {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .msg {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.4rem 0.55rem;
  margin: 0 0 0.85rem;
  padding: 0;
  float: none;
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .msg > img {
  float: none;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .msg > p.txt {
  float: none;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(520px, 100%);
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .msg > .time {
  flex: 1 0 100%;
  order: 3;
  margin: 0.2rem 0 0;
  text-align: right;
}

body.pd-mydisk-skin .pd-mydisk-content .ticket_box .his .msg > .time {
  text-align: left;
}

/* 标题下工具条（工单详情返回/回复等） */
body.pd-mydisk-skin .pd-mydisk-content h1 + p.h6 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: -0.25rem 0 1rem !important;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  color: var(--text-primary);
  font-size: 0.88rem;
  line-height: 1.45;
  word-break: break-word;
}

body.pd-mydisk-skin .pd-mydisk-content h1 + .mb-2 {
  margin-top: -0.35rem;
  margin-bottom: 1rem !important;
}

/* 排行榜等 .rank_box（my.css 灰底） */
body.pd-mydisk-skin .pd-mydisk-content .rank_box {
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--text-muted) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  padding: 0.55rem 0.65rem !important;
  margin: 0 !important;
}

body.pd-mydisk-skin .pd-mydisk-content .rank_box .txtred {
  color: #fca5a5 !important;
}

/* 表头行：tr.bold 或首行 td.bold */
body.pd-mydisk-skin .pd-mydisk-content table.td_line tr.bold td,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover tr.bold td,
body.pd-mydisk-skin .pd-mydisk-content table.td_line tr:first-child td.bold,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover tr:first-child td.bold {
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: rgba(59, 130, 246, 0.08);
  border-bottom: 1px solid var(--border-subtle);
}

/* 日收益 day_income：ECharts 所在行与画布（深色主区） */
body.pd-mydisk-skin .pd-mydisk-content table.td_line td.pd-mydisk-chart-cell {
  padding: 1rem 1rem 0.85rem !important;
  background: rgba(0, 0, 0, 0.32) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  vertical-align: top;
}

body.pd-mydisk-skin .pd-mydisk-content .pd-mydisk-chartbox {
  min-height: 400px;
  border-radius: 12px;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line tr.pd-day-income-chart-row + tr.bold td {
  border-top: 0;
}

/* 主区内表格文字链（非按钮）；排除 Bootstrap 分页 .page-link（由 ul.pagination 单独样式） */
body.pd-mydisk-skin .pd-mydisk-content table.td_line a:not(.btn):not(.pd-profile-action):not(.pd-files-act):not(.page-link),
body.pd-mydisk-skin .pd-mydisk-content table.table-hover a:not(.btn):not(.pd-files-act):not(.page-link) {
  color: rgba(147, 197, 253, 0.95);
  font-weight: 600;
  text-decoration: none;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line a:not(.btn):not(.pd-profile-action):not(.pd-files-act):not(.page-link):hover,
body.pd-mydisk-skin .pd-mydisk-content table.table-hover a:not(.btn):not(.pd-files-act):not(.page-link):hover {
  color: #fff;
  text-decoration: underline;
}

/* income_plans：plan.css 浅色卡片 → 暗色壳一致 */
body.pd-mydisk-skin .pd-mydisk-content .pay-box {
  padding: 0.25rem 0;
  overflow: visible;
}

/* 收益套餐表：外层 td_line 默认 overflow:hidden 会裁切长套餐卡，此处放开 */
body.pd-mydisk-skin .pd-mydisk-content table.td_line:has(ul.service-list.row) {
  overflow: visible;
}

body.pd-mydisk-skin .pd-mydisk-content table.td_line:has(ul.service-list.row) td {
  overflow: visible;
  vertical-align: top;
}

/* income_plans：套餐块一行三列（栅格 col-lg-4；抵消 plan.css 对 li 的 float/margin） */
body.pd-mydisk-skin .pd-mydisk-content ul.service-list.row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  overflow: visible;
}

body.pd-mydisk-skin .pd-mydisk-content ul.service-list.row > li {
  float: none !important;
  margin-right: 0 !important;
  display: flex;
  flex-direction: column;
}

body.pd-mydisk-skin .pd-mydisk-content ul.service-list.row > li .box {
  flex: 1 1 auto;
  flex-shrink: 0;
  width: 100%;
  overflow: visible;
  min-height: min-content;
}

body.pd-mydisk-skin .pd-mydisk-content .pay-table .pay-btn-row dd {
  width: 100% !important;
  max-width: 100%;
  float: none;
}

body.pd-mydisk-skin .pd-mydisk-content .service-list .box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-muted);
}

body.pd-mydisk-skin .pd-mydisk-content .service-list .box:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(94, 161, 255, 0.35);
}

body.pd-mydisk-skin .pd-mydisk-content .service-list .sel_box .box {
  background: rgba(251, 191, 36, 0.1);
  border-color: rgba(251, 191, 36, 0.45);
  box-shadow: 0 0 0 1px rgba(251, 191, 36, 0.12) inset;
}

body.pd-mydisk-skin .pd-mydisk-content .service-list .box .ipt-label,
body.pd-mydisk-skin .pd-mydisk-content .service-list .box .ctn {
  color: var(--text-muted);
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}

body.pd-mydisk-skin .pd-mydisk-content .service-list li .lightspot {
  color: var(--text-primary);
  border-bottom-color: var(--border-subtle);
}

body.pd-mydisk-skin .pd-mydisk-content .service-list .box .ipt-label em {
  color: #fdba74;
}

body.pd-mydisk-skin .pd-mydisk-content .pay_tips {
  border-color: rgba(94, 161, 255, 0.35) !important;
  background: rgba(59, 130, 246, 0.08);
  color: var(--text-muted);
  border-radius: 10px;
}

/* KindEditor 容器（公告等）与主区边框统一 */
body.pd-mydisk-skin .pd-mydisk-content .ke-container {
  border-radius: 10px !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  overflow: hidden;
}

/* Trumbowyg（修改文件 / 空间公告）：暗色编辑区与壳层对齐（trumbowyg.min.css 已含 .trumbowyg-dark 工具栏） */
body.pd-layer-iframe-body .trumbowyg-dark .trumbowyg-editor,
body.pd-mydisk-skin .trumbowyg-dark .trumbowyg-editor {
  background: #141418 !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

body.pd-layer-iframe-body .trumbowyg-dark .trumbowyg-editor a,
body.pd-mydisk-skin .trumbowyg-dark .trumbowyg-editor a {
  color: #7eb6ff !important;
}

body.pd-layer-iframe-body .trumbowyg-dark .trumbowyg-box,
body.pd-mydisk-skin .trumbowyg-dark .trumbowyg-box {
  border-radius: 10px;
  overflow: hidden;
  min-height: 180px;
}

/* ---------- 分享页：游客 / 注册 / VIP 对比表（默认浅色卡片；暗色壳下由文末 body.pd-site-shell 块覆盖） ---------- */
/* 主栏占满一行，避免 9+3 栅格右侧留白 */
.main_box .row .pd-viewfile-main {
  flex: 0 0 100%;
  max-width: 100%;
}

.pd-share-tier-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1rem 1.15rem 1.2rem;
  box-shadow: 0 6px 28px rgba(15, 23, 42, 0.1);
}

.pd-share-tier-meta {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: 0.85rem;
  font-size: 0.9rem;
  color: #0f172a;
}
.pd-share-tier-meta th,
.pd-share-tier-meta td {
  border: 1px solid #cbd5e1;
  padding: 0.45rem 0.7rem;
  text-align: left;
  color: #1e293b;
}
.pd-share-tier-meta th {
  width: 22%;
  max-width: 10rem;
  background: #f1f5f9;
  font-weight: 600;
  color: #0f172a;
}

.pd-share-tier-scroll {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fafafa;
}

.pd-share-tier-table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.875rem;
  color: #1e293b;
  background: #fff;
}
.pd-share-tier-table th,
.pd-share-tier-table td {
  border: 1px solid #cbd5e1;
  padding: 0.6rem 0.65rem;
  vertical-align: middle;
  text-align: center;
  color: #334155;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.pd-share-tier-table thead th {
  font-weight: 700;
  font-size: 0.8125rem;
  color: #0f172a;
  letter-spacing: 0.02em;
}
.pd-share-tier-table .pd-tier-feature,
.pd-share-tier-table thead th.pd-tier-feature {
  width: 22%;
  text-align: left;
  font-weight: 600;
  background: #f8fafc;
  white-space: nowrap;
  color: #0f172a;
}
.pd-share-tier-table thead th.pd-tier-col--guest {
  background: #eef2f6;
  color: #0f172a;
}
.pd-share-tier-table thead th.pd-tier-col--reg {
  background: #e8edf3;
  color: #0f172a;
}
.pd-share-tier-table thead th.pd-tier-col--vip {
  background: #d1fae5;
  color: #065f46;
  border-bottom-color: #34d399;
}
.pd-share-tier-table tbody td.pd-tier-col--guest {
  background: #f8fafc;
  color: #334155;
}
.pd-share-tier-table tbody td.pd-tier-col--reg {
  background: #f1f5f9;
  color: #334155;
}
.pd-share-tier-table tbody td.pd-tier-col--vip {
  background: #ecfdf5;
  color: #064e3b;
  border-left: 2px solid #10b981;
  border-right: 2px solid #10b981;
}
.pd-share-tier-table tbody tr:last-child td.pd-tier-col--vip {
  border-bottom: 2px solid #10b981;
}
.pd-share-tier-table thead th.pd-tier-col--vip {
  border-left: 2px solid #059669;
  border-right: 2px solid #059669;
  border-top: 2px solid #059669;
}

.pd-tier-col--current {
  outline: 2px solid #2563eb;
  outline-offset: -2px;
  position: relative;
  z-index: 1;
}

.pd-tier-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
}
.pd-tier-ico--ok {
  background: #16a34a;
  color: #fff;
}
.pd-tier-ico--no {
  background: #dc2626;
  color: #fff;
}

.pd-share-tier-actions td {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}
.pd-share-tier-actions .pd-tier-btn {
  border-radius: 999px;
  font-weight: 600;
  padding: 0.4rem 0.95rem;
  font-size: 0.8125rem;
  border: none;
  white-space: nowrap;
}
.pd-tier-btn--slow {
  background: #fb923c;
  color: #431407;
}
.pd-tier-btn--slow:hover {
  background: #f97316;
  color: #1c1917;
}
.pd-tier-btn--vip {
  background: #16a34a;
  color: #fff;
}
.pd-tier-btn--vip:hover {
  background: #15803d;
  color: #fff;
}

.pd-tier-countdown .display-4 {
  font-size: 2rem;
  font-weight: 700;
  color: #0f172a;
}

/* ---------- 文件页 viewfile / download：主内容区与整站深色一致 ---------- */
body.pd-site-shell .pd-app-main .container.main_box {
  background: var(--bg-elevated) !important;
  color: var(--text-primary);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  padding-left: 1rem;
  padding-right: 1rem;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 20px 50px rgba(0, 0, 0, 0.45);
}

/* ---------- VIP 购买页 vip.php（参考 Windfiles 定价卡：深色、强调价、清晰权益区） ---------- */
body.pd-site-shell .pd-app-main .pd-vip-page {
  padding-top: 0.35rem;
  padding-bottom: 2rem;
}

body.pd-site-shell .pd-app-main .pd-vip-page .common_tit {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-vip-hero {
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-subtle);
}

/* 与标题区分隔，避免首行套餐卡选中描边 / 阴影顶到分割线观感上「被挡住」 */
body.pd-site-shell .pd-app-main .pd-vip-page .pd-vip-pay-wrap {
  padding-top: 0.5rem;
  overflow: visible;
}

body.pd-site-shell .pd-app-main .pd-vip-hero-title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-vip-hero-accent {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-vip-hero-sub {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-vip-hero-lead {
  margin: 0;
  max-width: 42rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-grid {
  margin: 0 -0.5rem 0.5rem;
  padding-top: 0.35rem;
  justify-content: center;
  overflow: visible;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-col {
  list-style: none;
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-col:focus {
  outline: none;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-col:focus-visible .pd-vip-tier-card {
  box-shadow: 0 0 0 2px rgba(94, 161, 255, 0.45);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  border-radius: 14px;
  border: 1px solid var(--border-subtle) !important;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.2) 100%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.03) inset,
    0 12px 40px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-col:hover .pd-vip-tier-card {
  /* 不上移，避免与上方标题区分缝过小或父级裁切时顶边描边被「吃掉」 */
  transform: none;
  border-color: rgba(94, 161, 255, 0.35) !important;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-col.focus .pd-vip-tier-card {
  border-color: rgba(94, 161, 255, 0.75) !important;
  box-shadow:
    0 0 0 1px rgba(94, 161, 255, 0.25) inset,
    0 0 0 1px rgba(94, 161, 255, 0.35),
    0 16px 48px rgba(0, 0, 0, 0.45);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-ribbon {
  position: absolute;
  top: 0;
  right: 0;
  width: 5rem;
  height: 5rem;
  background: linear-gradient(135deg, transparent 50%, rgba(94, 161, 255, 0.12) 50%);
  pointer-events: none;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-card-inner {
  position: relative;
  z-index: 1;
  padding: 1.25rem 1.2rem 1.1rem;
  text-align: center;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-media {
  margin: 0 auto 0.65rem;
  min-height: 0;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-logo {
  display: block;
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

body.pd-site-shell .pd-app-main .pd-vip-tier-name {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.35;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-price-block {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.12rem 0.28rem;
  margin-bottom: 0.2rem;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-currency {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-amount {
  font-size: clamp(2rem, 4vw, 2.65rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-cycle {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-features {
  text-align: left;
  padding: 0.75rem 0.65rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.06);
  max-height: 11rem;
  overflow-y: auto;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-features-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: 0.35rem;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-features-body,
body.pd-site-shell .pd-app-main .pd-vip-tier-features-body p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-features-body p + p {
  margin-top: 0.4rem;
}

body.pd-site-shell .pd-app-main .pd-vip-tier-cta-hint {
  margin: 0.85rem 0 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(94, 161, 255, 0.85);
}

body.pd-site-shell .pd-app-main .pd-vip-tier-radio-wrap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

body.pd-site-shell .pd-app-main .pd-vip-empty {
  margin: 1rem 0;
  text-align: center;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel {
  margin-top: 0.5rem;
  padding: 1.25rem 0.25rem 0.25rem;
  border-top: 1px solid var(--border-subtle);
  clear: both;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin: 0 0 1rem;
  padding: 0;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel dt {
  float: none;
  width: auto;
  min-width: 5.5rem;
  padding: 0;
  text-align: left;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel dd {
  float: none;
  margin: 0;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-account {
  height: auto;
  line-height: 1.2;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-account strong {
  color: var(--accent-primary) !important;
  font-size: clamp(1.5rem, 3vw, 2rem);
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel .pay-btn-row {
  display: block;
  margin-bottom: 1rem;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel .pay-btn-row dt {
  display: none;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel .pay-btn-row dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel label {
  display: inline-flex !important;
  align-items: center;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.04);
  transition: border-color 0.15s ease, background 0.15s ease;
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel label:hover {
  border-color: rgba(94, 161, 255, 0.45);
  background: rgba(255, 255, 255, 0.07);
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel label.border-primary {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 1px rgba(94, 161, 255, 0.25);
}

body.pd-site-shell .pd-app-main .pd-vip-pay-panel label img {
  vertical-align: middle;
}

body.pd-site-shell .pd-app-main .pd-vip-page .btn-primary.btn-lg {
  border-radius: 10px;
  font-weight: 700;
  padding: 0.65rem 1.5rem;
  border: none;
  background: linear-gradient(135deg, var(--accent-primary), #3d7dd4);
  box-shadow: 0 8px 24px rgba(94, 161, 255, 0.28);
}

body.pd-site-shell .pd-app-main .pd-vip-page .btn-primary.btn-lg:hover {
  background: linear-gradient(135deg, var(--accent-hover), #4f8fe8);
}

body.pd-site-shell .pd-app-main .pd-vip-page #b_tips.alert-warning {
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.35);
  color: rgba(255, 255, 255, 0.88);
  border-radius: 10px;
}

body.pd-site-shell .pd-app-main .pd-vip-login-cta {
  margin-top: 0.5rem;
}

/* ---------- 个人空间 space.php / space_*.html ---------- */
body.pd-site-shell .pd-app-main .pd-space-page .common_tit {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-space-page .col-lg-12 > hr {
  border-top-color: var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-space-page .pd-space-layout {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  overflow: hidden;
}

body.pd-site-shell .pd-app-main .pd-space-page .pd-space-folder-col {
  border-right-color: var(--border-subtle) !important;
  background: rgba(0, 0, 0, 0.12);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

body.pd-site-shell .pd-app-main .pd-space-page .pd-space-files-col {
  padding: 0.75rem 1rem 1rem;
}

body.pd-site-shell .pd-app-main .pd-space-page .breakcrumb {
  margin-bottom: 0.65rem;
  padding: 0.5rem 0.65rem;
  background: rgba(0, 0, 0, 0.22);
  border-radius: 10px;
  border: 1px solid var(--border-subtle);
  border-bottom: 1px solid rgba(94, 161, 255, 0.28);
  color: var(--text-muted);
  font-size: 0.875rem;
}

body.pd-site-shell .pd-app-main .pd-space-page .breakcrumb a {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-space-page .breakcrumb a:hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .pd-space-page .card {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}

body.pd-site-shell .pd-app-main .pd-space-page .card-body {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-space-page .card-header.alert-primary {
  background: rgba(94, 161, 255, 0.12) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  color: var(--text-primary) !important;
}

body.pd-site-shell .pd-app-main .pd-space-page .card-header.alert-primary .pd-space-announce-ico {
  margin-right: 0.45rem;
  font-size: 1.12rem;
  vertical-align: -0.1em;
  color: var(--accent-primary);
  opacity: 0.95;
}

body.pd-site-shell .pd-app-main .pd-space-page .card-header.alert-warning {
  background: rgba(251, 191, 36, 0.1) !important;
  border-bottom: 1px solid rgba(251, 191, 36, 0.35) !important;
  color: #fde68a !important;
}

body.pd-site-shell .pd-app-main .pd-space-page table.table-hover {
  color: var(--text-primary);
  background: transparent;
}

body.pd-site-shell .pd-app-main .pd-space-page table.table-hover td,
body.pd-site-shell .pd-app-main .pd-space-page table.table-hover th {
  border-color: var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-space-page table.table-hover tbody tr:hover td {
  background: rgba(255, 255, 255, 0.05);
}

body.pd-site-shell .pd-app-main .pd-space-page table.table-hover tr.bold td {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-space-page .text-gray-800 {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree {
  font-size: 0.8125rem;
  line-height: 1.45;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree .treeNode {
  padding: 0.1rem 0;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree a.node {
  color: var(--accent-primary);
  text-decoration: none;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree a.node:hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .pd-space-page .tree a.nodeSel {
  color: var(--text-primary);
  font-weight: 600;
  background: rgba(94, 161, 255, 0.12);
  border-radius: 4px;
  padding: 0.05rem 0.25rem;
  text-decoration: none;
}

/* 个人空间左侧目录树：LineIcons 模式（tree.js useLineIconUI） */
body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni {
  line-height: 1.5;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .treeNode {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.12rem 0.28rem;
  padding: 0.14rem 0;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .pd-space-tree-indent {
  display: inline-block;
  width: 0.55rem;
  flex: 0 0 auto;
  min-height: 1rem;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .pd-space-tree-indent--guide {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  margin-left: 0.28rem;
  padding-left: 0.22rem;
  box-sizing: content-box;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni a.pd-space-tree-exp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  border-radius: 5px;
  border: 1px solid rgba(94, 161, 255, 0.22);
  background: rgba(94, 161, 255, 0.08);
  text-decoration: none;
  color: rgba(147, 197, 253, 0.88);
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni a.pd-space-tree-exp:hover {
  background: rgba(59, 130, 246, 0.2);
  border-color: rgba(94, 161, 255, 0.38);
  color: #fff;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .pd-space-tree-toggle-ico {
  font-size: 0.72rem;
  line-height: 1;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .pd-space-tree-exp--leaf {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .pd-space-tree-folder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.28rem;
  height: 1.28rem;
  flex: 0 0 auto;
  border-radius: 6px;
  background: rgba(94, 161, 255, 0.12);
  border: 1px solid rgba(94, 161, 255, 0.22);
  box-sizing: border-box;
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .pd-space-tree-folder-ico {
  font-size: 0.82rem;
  line-height: 1;
  color: rgba(147, 197, 253, 0.95);
}

body.pd-site-shell .pd-app-main .pd-space-page .tree.tree--lni .clip {
  width: 100%;
  flex-basis: 100%;
  margin: 0.1rem 0 0.15rem 0.35rem;
  padding-left: 0.45rem;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

body.pd-site-shell .pd-app-main .pd-space-page table.table-hover a:not(.btn):not(.page-link):not(.pd-files-act) {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-space-page table.table-hover a:not(.btn):not(.page-link):not(.pd-files-act):hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .pd-space-page .pagination li.page-item.page-link {
  color: var(--text-muted);
  background: transparent;
  border: none;
  padding-left: 0.25rem;
  padding-right: 0.5rem;
}

body.pd-site-shell .pd-app-main .pd-space-page .pagination .page-link {
  background: rgba(0, 0, 0, 0.2);
  border-color: var(--border-subtle);
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-space-page .pagination a.page-link:hover {
  background: rgba(94, 161, 255, 0.15);
  border-color: rgba(94, 161, 255, 0.35);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-space-page .pagination .page-item.active .page-link {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: #0b1220;
}

body.pd-site-shell .pd-app-main .pd-space-page #code {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  border-radius: 8px;
}

body.pd-site-shell .pd-app-main .pd-space-page #code:focus {
  border-color: rgba(94, 161, 255, 0.55);
  box-shadow: 0 0 0 2px rgba(94, 161, 255, 0.2);
  outline: none;
}

/* ---------- 全站搜索 search.php ---------- */
body.pd-site-shell .pd-app-main .pd-search-page {
  padding-top: 0.5rem;
  padding-bottom: 1.5rem;
}

body.pd-site-shell .pd-app-main .pd-search-head {
  margin-bottom: 1rem;
}

body.pd-site-shell .pd-app-main .pd-search-title {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-search-meta {
  margin: 0;
  font-size: 0.875rem;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-search-meta-kw {
  color: var(--accent-primary);
  font-weight: 600;
}

body.pd-site-shell .pd-app-main .pd-search-panel {
  padding: 1rem 1.1rem 1.15rem;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  background: rgba(0, 0, 0, 0.2);
}

body.pd-site-shell .pd-app-main .pd-search-form-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

@media (min-width: 576px) {
  body.pd-site-shell .pd-app-main .pd-search-form-row {
    flex-direction: row;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
  }
}

body.pd-site-shell .pd-app-main .pd-search-label {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}

body.pd-site-shell .pd-app-main .pd-search-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

body.pd-site-shell .pd-app-main .pd-search-input {
  flex: 1 1 12rem;
  min-width: 0;
  max-width: 100%;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  border-radius: 10px;
  padding: 0.5rem 0.75rem;
  font-size: 0.9375rem;
}

body.pd-site-shell .pd-app-main .pd-search-input::placeholder {
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-search-input:focus {
  border-color: rgba(94, 161, 255, 0.55);
  box-shadow: 0 0 0 2px rgba(94, 161, 255, 0.2);
  background: rgba(0, 0, 0, 0.35);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-search-captcha {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

body.pd-site-shell .pd-app-main .pd-search-captcha-input {
  width: 5.5rem;
  flex: 0 0 auto;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  border-radius: 10px;
  padding: 0.5rem 0.5rem;
  font-size: 0.9375rem;
}

body.pd-site-shell .pd-app-main .pd-search-captcha-input:focus {
  border-color: rgba(94, 161, 255, 0.55);
  box-shadow: 0 0 0 2px rgba(94, 161, 255, 0.2);
}

body.pd-site-shell .pd-app-main .pd-search-captcha-img {
  display: none;
  cursor: pointer;
  border-radius: 6px;
  border: 1px solid var(--border-subtle);
  vertical-align: middle;
}

body.pd-site-shell .pd-app-main .pd-search-submit {
  border-radius: 10px;
  font-weight: 600;
  padding: 0.5rem 1.1rem;
}

body.pd-site-shell .pd-app-main .pd-search-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-search-tag {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  font-size: 0.8125rem;
  border-radius: 999px;
  border: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--pd-shell-ease), background var(--pd-shell-ease),
    border-color var(--pd-shell-ease);
}

body.pd-site-shell .pd-app-main .pd-search-tag:hover {
  color: var(--text-primary);
  border-color: rgba(94, 161, 255, 0.45);
  background: rgba(94, 161, 255, 0.12);
  text-decoration: none;
}

body.pd-site-shell .pd-app-main .pd-search-results-wrap {
  margin-top: 1.25rem;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  background: rgba(0, 0, 0, 0.15);
}

body.pd-site-shell .pd-app-main .pd-search-results {
  margin-bottom: 0 !important;
}

body.pd-site-shell .pd-app-main .pd-search-results thead th {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
  font-weight: 600;
  font-size: 0.8125rem;
  border-bottom-color: var(--border-subtle) !important;
  vertical-align: middle;
}

body.pd-site-shell .pd-app-main .pd-search-results tbody td {
  vertical-align: middle;
  border-color: var(--border-subtle) !important;
}

body.pd-site-shell .pd-app-main .pd-search-results tbody tr:hover td {
  background-color: rgba(94, 161, 255, 0.08);
}

body.pd-site-shell .pd-app-main .pd-search-results tfoot td {
  border-top: 1px solid var(--border-subtle) !important;
  background: rgba(0, 0, 0, 0.12);
}

body.pd-site-shell .pd-app-main .pd-search-results .pd-search-col-name {
  width: 40%;
}

body.pd-site-shell .pd-app-main .pd-search-results .pd-search-col-time {
  min-width: 9rem;
}

body.pd-site-shell .pd-app-main .pd-search-results .txtgray {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .pd-search-results .txtred {
  color: #f87171 !important;
  font-weight: 600;
}

body.pd-site-shell .pd-app-main .pd-search-results a:not(.page-link) {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-search-results a:not(.page-link):hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .pd-search-empty {
  text-align: center;
  padding: 2rem 1rem !important;
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-search-pager {
  padding-top: 0.65rem !important;
  padding-bottom: 0.65rem !important;
}

body.pd-site-shell .pd-app-main .pd-search-pager .pagination {
  margin-bottom: 0;
  justify-content: center;
}

body.pd-site-shell .pd-app-main .pd-search-pager .page-link {
  background: rgba(0, 0, 0, 0.2);
  border-color: var(--border-subtle);
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-search-pager .page-link:hover {
  background: rgba(94, 161, 255, 0.15);
  border-color: rgba(94, 161, 255, 0.35);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-search-pager .page-item.active .page-link {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: #0b1220;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .breadcrumb {
  background: rgba(0, 0, 0, 0.22);
  border-radius: 10px;
  border-bottom: 1px solid rgba(94, 161, 255, 0.35) !important;
  border-top: 1px solid var(--border-subtle);
  border-left: 1px solid var(--border-subtle);
  border-right: 1px solid var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .breadcrumb .breadcrumb-item,
body.pd-site-shell .pd-app-main .pd-viewfile-main .breadcrumb span:not(a) {
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .breadcrumb a {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .breadcrumb a:hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .txtgray {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .file_desc {
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  border-color: var(--border-subtle);
  color: var(--text-muted);
  background: rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  overflow: hidden;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .file_desc .tit {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .file_desc .ctn {
  color: var(--text-primary);
  background: transparent;
  padding: 1rem 1.25rem;
  box-sizing: border-box;
}

/* 富文本/主题 assets/css/style.css 全局 p,h1…{color:#121212} 会盖过继承；编辑器内联 color 同理，故用 !important 保证深色壳可读 */
body.pd-site-shell .pd-app-main .pd-viewfile-main .file_desc .ctn :is(p, li, div, span, h1, h2, h3, h4, h5, h6, strong, em, blockquote, pre, code, u, s) {
  color: var(--text-primary) !important;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .file_desc .ctn a {
  color: var(--accent-primary) !important;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .file_desc .ctn a:hover {
  color: var(--accent-hover) !important;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main #addr_list .h4,
body.pd-site-shell .pd-app-main .pd-viewfile-main #addr_list .h6 {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main #addr_list .spinner-border {
  border-color: rgba(255, 255, 255, 0.12);
  border-right-color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .card {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .card-body {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .alert-danger {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .alert-warning {
  background: rgba(251, 191, 36, 0.1);
  border-color: rgba(251, 191, 36, 0.35);
  color: #fde68a;
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .cmt_u_box .cmt_title {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .cmt_u_box .cmt_cts {
  border-color: var(--border-subtle);
  background: rgba(255, 255, 255, 0.04);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .cmt_u_box .cmt_cts .cmt_content {
  background: rgba(0, 0, 0, 0.2);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-viewfile-main .cmt_box {
  border-color: var(--border-subtle);
  color: var(--text-muted);
  background: rgba(0, 0, 0, 0.15);
}

/* 下载第二/三页：网赚套餐「下载页代码 / 下载页顶代码」导向区（与详情页主区一致） */
body.pd-site-shell .pd-app-main .pd-viewfile-main .pd-plan-down-slot,
body.pd-site-shell .pd-app-main .pd-plan-down-slot {
  padding: 0.85rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-elevated);
  color: var(--text-primary);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 8px 28px rgba(0, 0, 0, 0.28);
}

body.pd-site-shell .pd-app-main .pd-plan-down-slot a {
  color: var(--accent-primary);
  text-decoration: none;
}

body.pd-site-shell .pd-app-main .pd-plan-down-slot a:hover {
  color: var(--accent-hover);
  text-decoration: underline;
}

body.pd-site-shell .pd-app-main .pd-plan-down-slot img {
  max-width: 100%;
  height: auto;
}

/* 分享对比表：暗色壳内统一为抬升深底 */
body.pd-site-shell .pd-app-main .pd-share-tier-wrap {
  background: var(--bg-elevated);
  color: var(--text-primary);
  border: 1px solid var(--border-subtle);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 14px 40px rgba(0, 0, 0, 0.4);
}

body.pd-site-shell .pd-app-main .pd-share-tier-meta {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-meta th,
body.pd-site-shell .pd-app-main .pd-share-tier-meta td {
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-meta th {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-meta td {
  background: rgba(0, 0, 0, 0.12);
}

body.pd-site-shell .pd-app-main .pd-share-tier-scroll {
  border-color: var(--border-subtle);
  background: rgba(0, 0, 0, 0.25);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table {
  color: var(--text-primary);
  background: var(--bg-elevated);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table th,
body.pd-site-shell .pd-app-main .pd-share-tier-table td {
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table thead th {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-tier-feature,
body.pd-site-shell .pd-app-main .pd-share-tier-table thead th.pd-tier-feature {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table thead th.pd-tier-col--guest {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table thead th.pd-tier-col--reg {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
}

/* VIP 列：整列柔光渐变 + 细边，避免每格粗青框切碎视觉 */
body.pd-site-shell .pd-app-main .pd-share-tier-table thead th.pd-tier-col--vip {
  position: relative;
  background: linear-gradient(
    165deg,
    rgba(52, 211, 153, 0.22) 0%,
    rgba(22, 163, 74, 0.12) 48%,
    rgba(6, 78, 59, 0.45) 100%
  );
  color: #ecfdf5;
  font-weight: 800;
  letter-spacing: 0.04em;
  border-left: 1px solid rgba(52, 211, 153, 0.35);
  border-right: 1px solid rgba(52, 211, 153, 0.35);
  border-top: 1px solid rgba(167, 243, 208, 0.2);
  border-bottom: 2px solid rgba(52, 211, 153, 0.32);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody td.pd-tier-col--guest {
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.88);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody td.pd-tier-col--reg {
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.88);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody td.pd-tier-col--vip {
  background: linear-gradient(
    180deg,
    rgba(34, 197, 94, 0.09) 0%,
    rgba(16, 185, 129, 0.045) 42%,
    rgba(6, 95, 70, 0.14) 100%
  );
  color: #d1fae5;
  border-left: 1px solid rgba(52, 211, 153, 0.22);
  border-right: 1px solid rgba(52, 211, 153, 0.22);
  border-top-color: rgba(255, 255, 255, 0.04);
  border-bottom-color: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(167, 243, 208, 0.05);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody tr:nth-child(even):not(.pd-share-tier-actions) td.pd-tier-col--vip {
  background: linear-gradient(
    180deg,
    rgba(34, 197, 94, 0.07) 0%,
    rgba(16, 185, 129, 0.035) 42%,
    rgba(6, 78, 59, 0.12) 100%
  );
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody tr:last-child td.pd-tier-col--vip {
  border-bottom-color: rgba(52, 211, 153, 0.22);
}

/* 当前套餐列：去掉蓝色 outline（整列蓝框与黑底 VIP 区冲突）；列底色已足够区分 */
body.pd-site-shell .pd-app-main .pd-tier-col--current {
  outline: none !important;
  outline-offset: 0;
}

body.pd-site-shell .pd-app-main .pd-tier-countdown .display-4 {
  color: var(--text-primary);
}

/* 对比表「选择下载模式」行：Bootstrap .btn 后加载会冲掉底色，需抬高选择器 + 实心按钮 */
body.pd-site-shell .pd-app-main .pd-share-tier-table tbody tr.pd-share-tier-actions td {
  background: rgba(0, 0, 0, 0.38) !important;
  color: var(--text-muted) !important;
  border-top: 1px solid var(--border-subtle);
  vertical-align: middle;
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody tr.pd-share-tier-actions td.pd-tier-feature {
  color: var(--text-primary) !important;
  font-weight: 600;
}

body.pd-site-shell .pd-app-main .pd-share-tier-table tbody tr.pd-share-tier-actions td.pd-tier-col--vip {
  background: linear-gradient(180deg, rgba(22, 163, 74, 0.24), rgba(0, 0, 0, 0.44)) !important;
  border-left: 1px solid rgba(52, 211, 153, 0.3);
  border-right: 1px solid rgba(52, 211, 153, 0.3);
  box-shadow: inset 0 1px 0 rgba(167, 243, 208, 0.12);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.5rem 1.15rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1.2;
  border-radius: 999px !important;
  border-width: 1px !important;
  border-style: solid !important;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.1) inset,
    0 4px 16px rgba(0, 0, 0, 0.35);
  transition:
    background 0.16s ease,
    color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.12s ease,
    border-color 0.16s ease;
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn:hover {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.14) inset,
    0 6px 20px rgba(0, 0, 0, 0.45);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn:focus {
  outline: none;
  box-shadow:
    0 0 0 2px rgba(94, 161, 255, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset,
    0 4px 16px rgba(0, 0, 0, 0.35);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn--slow {
  background: linear-gradient(165deg, #fdba74 0%, #fb923c 42%, #ea580c 100%) !important;
  background-color: #f97316 !important;
  color: #1a0a02 !important;
  border-color: rgba(255, 237, 213, 0.55) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.2) inset,
    0 4px 18px rgba(234, 88, 12, 0.55);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn--slow:hover {
  background: linear-gradient(165deg, #fed7aa 0%, #fb923c 38%, #ea580c 100%) !important;
  color: #0c0400 !important;
  border-color: rgba(255, 247, 237, 0.75) !important;
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn--vip {
  background: linear-gradient(165deg, #4ade80 0%, #22c55e 45%, #15803d 100%) !important;
  background-color: #16a34a !important;
  color: #ffffff !important;
  border-color: rgba(167, 243, 208, 0.55) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.18) inset,
    0 4px 18px rgba(22, 163, 74, 0.5);
}

body.pd-site-shell .pd-app-main .pd-share-tier-table .pd-share-tier-actions .btn.pd-tier-btn--vip:hover {
  background: linear-gradient(165deg, #86efac 0%, #22c55e 40%, #166534 100%) !important;
  color: #ffffff !important;
  border-color: rgba(209, 250, 229, 0.65) !important;
}

/* 表格外框与表头：略提亮分隔感 */
body.pd-site-shell .pd-app-main .pd-share-tier-scroll {
  border-radius: 12px;
}

body.pd-site-shell .pd-app-main .pd-share-tier-table thead th {
  font-size: 0.8125rem;
  letter-spacing: 0.03em;
  text-transform: none;
  border-bottom-width: 2px;
}

/* ---------- VIP 套餐 vip.php / 充值 pay.php（共用深色） ---------- */
body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) {
  padding-bottom: 1.25rem;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .common_tit {
  color: var(--text-primary);
  font-size: clamp(1.05rem, 1.85vw, 1.3rem);
  font-weight: 600;
  line-height: 1.45;
  margin-bottom: 0.35rem;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .common_tit .txtblue,
body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .common_tit .f18.txtblue {
  color: var(--accent-primary) !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .col-lg-12 > hr {
  border-top-color: var(--border-subtle);
  margin: 0.25rem 0 1rem;
  opacity: 1;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-area {
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-box {
  padding: 0.15rem 0 0.25rem;
  background: transparent;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) ul.service-list.row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
}

/* VIP 套餐：桌面一行 4 个（Grid 避免 flex gap 与 Bootstrap 列百分比叠加导致只能排 3 个） */
body.pd-site-shell .pd-app-main .pd-vip-page ul.service-list.row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}

@media (max-width: 991.98px) {
  body.pd-site-shell .pd-app-main .pd-vip-page ul.service-list.row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  body.pd-site-shell .pd-app-main .pd-vip-page ul.service-list.row {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.pd-site-shell .pd-app-main .pd-vip-page ul.service-list.row > li {
  max-width: none;
  width: auto;
  min-width: 0;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) ul.service-list.row > li {
  float: none !important;
  margin: 0 !important;
  padding: 0;
}

/* 仅针对 pay 等旧版「小方框」套餐块；排除 .pd-vip-tier-card，避免与 Windfiles VIP 卡双重阴影/边框造成选中「发胀」 */
body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list .box:not(.pd-vip-tier-card),
body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list li.focus .box:not(.pd-vip-tier-card) {
  width: 100% !important;
  max-width: 220px;
  margin: 0 auto 0.35rem !important;
  padding: 95px 5px 5px !important;
  background: rgba(0, 0, 0, 0.32) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  color: var(--text-muted) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 12px 32px rgba(0, 0, 0, 0.35);
}

body.pd-site-shell .pd-app-main .pd-vip-page .service-list .box,
body.pd-site-shell .pd-app-main .pd-vip-page .service-list li.focus .box {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 新版定价卡自带 .pd-vip-tier-card-inner 留白，勿沿用 pay.php 旧版 .box 的 95px 顶内边距 */
body.pd-site-shell .pd-app-main .pd-vip-page .service-list .pd-vip-tier-card.box {
  padding: 0 !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list .box:not(.pd-vip-tier-card):hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(94, 161, 255, 0.38) !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list li.focus .box:not(.pd-vip-tier-card) {
  background: rgba(94, 161, 255, 0.12) !important;
  border-color: rgba(94, 161, 255, 0.55) !important;
  box-shadow:
    0 0 0 2px rgba(94, 161, 255, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset,
    0 12px 36px rgba(0, 0, 0, 0.4);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list li .lightspot {
  color: var(--text-primary) !important;
  border-top-color: var(--border-subtle) !important;
  border-bottom-color: var(--border-subtle) !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list .box .ipt-label {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list .box .ipt-label em {
  color: #fb923c !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list .box .ctn {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .service-list .box .ctn b {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table {
  margin-top: 0.5rem;
  padding: 0.85rem 1rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  background: rgba(0, 0, 0, 0.22);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dl {
  padding-bottom: 0.65rem;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dt {
  color: var(--text-muted);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dd {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-account strong {
  color: #fb923c;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table .badge.badge-success {
  background: rgba(34, 197, 94, 0.2) !important;
  color: #bbf7d0 !important;
  border: 1px solid rgba(34, 197, 94, 0.45);
  font-weight: 600;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dl.pay-btn-row label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0.4rem 0.55rem 0 !important;
  padding: 0.35rem 0.55rem 0.35rem 0.4rem !important;
  vertical-align: middle;
  line-height: 1;
  border-radius: 10px !important;
  color: var(--text-muted);
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dl.pay-btn-row label.border-primary {
  border-color: rgba(94, 161, 255, 0.65) !important;
  background: rgba(94, 161, 255, 0.14) !important;
  color: var(--text-primary);
  box-shadow:
    0 0 0 1px rgba(94, 161, 255, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dl.pay-btn-row label > input[type="radio"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--accent-primary);
  flex-shrink: 0;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dl.pay-btn-row label > img {
  display: block;
  max-height: 34px;
  width: auto;
  max-width: 148px;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
  border-radius: 8px;
  padding: 3px 8px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.45);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .pay-table dl.pay-btn-row dd > input[type="radio"] + img {
  display: inline-block;
  vertical-align: middle;
  max-height: 34px;
  margin: 0 0.35rem 0.5rem 0;
  border-radius: 8px;
  padding: 3px 8px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.45);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) #b_tips.alert-warning,
body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) #b_tips1.alert-warning {
  background: rgba(251, 191, 36, 0.12) !important;
  border: 1px solid rgba(251, 191, 36, 0.35) !important;
  color: var(--text-primary) !important;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .btn.btn-warning {
  background: rgba(251, 191, 36, 0.2);
  border: 1px solid rgba(251, 191, 36, 0.45);
  color: #fef3c7;
}

body.pd-site-shell .pd-app-main :is(.pd-vip-page, .pd-pay-page) .btn.btn-warning:hover {
  background: rgba(251, 191, 36, 0.3);
  color: #fffbeb;
}

/* ---------- VIP 专档列表 vipfile.php ---------- */
body.pd-site-shell .pd-app-main .pd-vipfile-page .common_tit {
  color: var(--text-primary);
}

body.pd-site-shell .pd-app-main .pd-vipfile-page > .row > .col-lg-12 > hr {
  border-top-color: var(--border-subtle);
}

body.pd-site-shell .pd-app-main .pd-vipfile-table-wrap {
  margin-top: 0.25rem;
}

body.pd-site-shell .pd-app-main .pd-vipfile-table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

body.pd-site-shell .pd-app-main .pd-vipfile-table thead th.pd-vipfile-th {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--border-subtle);
  padding: 0.65rem 0.5rem;
  vertical-align: middle;
}

body.pd-site-shell .pd-app-main .pd-vipfile-table tbody td {
  border-color: var(--border-subtle);
  padding: 0.65rem 0.5rem;
  vertical-align: middle;
}

body.pd-site-shell .pd-app-main .pd-vipfile-table tbody tr:hover td {
  background: rgba(255, 255, 255, 0.04);
}

body.pd-site-shell .pd-app-main .pd-vipfile-table tbody td .txtgray {
  color: var(--text-muted) !important;
}

body.pd-site-shell .pd-app-main .pd-vipfile-table a:not(.pd-vipfile-dl-btn):not(.btn) {
  color: var(--accent-primary);
}

body.pd-site-shell .pd-app-main .pd-vipfile-table a:not(.pd-vipfile-dl-btn):not(.btn):hover {
  color: var(--accent-hover);
}

body.pd-site-shell .pd-app-main .pd-vipfile-dl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5rem;
  margin-bottom: 0.15rem;
  vertical-align: middle;
  font-weight: 600;
  border-radius: 8px;
  padding: 0.28rem 0.75rem;
  border: 1px solid rgba(167, 243, 208, 0.45);
  background: linear-gradient(165deg, #4ade80 0%, #22c55e 42%, #15803d 100%);
  color: #fff !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12) inset,
    0 2px 10px rgba(22, 163, 74, 0.35);
}

body.pd-site-shell .pd-app-main .pd-vipfile-dl-btn:hover {
  color: #fff !important;
  filter: brightness(1.06);
}

/* 前台列表（搜索、VIP 专档等）：文件名前缀类型图标，与会员区「文件管理」同系 */
body.pd-site-shell .pd-app-main .pd-files-ico-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.38rem;
  height: 1.38rem;
  margin-right: 0.35rem;
  vertical-align: middle;
  flex-shrink: 0;
  border-radius: 6px;
  background: rgba(94, 161, 255, 0.12);
  border: 1px solid rgba(94, 161, 255, 0.22);
  box-sizing: border-box;
}

body.pd-site-shell .pd-app-main .pd-files-ico-wrap img {
  display: block;
  max-width: 0.82rem;
  max-height: 0.82rem;
  width: auto;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
  margin: 0;
  border: 0;
}

body.pd-site-shell .pd-app-main .pd-files-ico-wrap .pd-file-ext-ico {
  font-size: 0.82rem;
  line-height: 1;
  color: rgba(147, 197, 253, 0.95);
}

body.pd-site-shell .pd-app-main .pd-files-ico-wrap--folder .lni-folder {
  font-size: 0.82rem;
  line-height: 1;
  color: rgba(147, 197, 253, 0.95);
}

/* 个人空间：复制等操作按钮，与会员区 #f_table .pd-files-act 一致 */
body.pd-site-shell .pd-app-main .pd-space-page a.pd-files-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.42rem;
  height: 1.42rem;
  padding: 0;
  border-radius: 6px;
  border: 1px solid rgba(94, 161, 255, 0.2);
  background: rgba(94, 161, 255, 0.08);
  color: rgba(147, 197, 253, 0.92);
  text-decoration: none;
  box-sizing: border-box;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

body.pd-site-shell .pd-app-main .pd-space-page a.pd-files-act:hover {
  background: rgba(59, 130, 246, 0.22);
  border-color: rgba(94, 161, 255, 0.38);
  color: #fff;
}

body.pd-site-shell .pd-app-main .pd-space-page a.pd-files-act .lni {
  font-size: 0.88rem;
  line-height: 1;
}

/* ---------- VIP 专档下载弹层 iframe（body.pd-layer-iframe-body） ---------- */
body.pd-layer-iframe-body .pd-vipfile-down-root {
  min-height: 2.5rem;
}

body.pd-layer-iframe-body .pd-vipfile-down-loading {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--text-muted);
  padding: 0.35rem 0;
}

body.pd-layer-iframe-body .pd-vipfile-down-panel {
  padding: 0.15rem 0 0.25rem;
}

body.pd-layer-iframe-body .pd-vipfile-down-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: stretch;
  justify-content: center;
}

body.pd-layer-iframe-body .pd-vipfile-down-item {
  flex: 1 1 42%;
  min-width: 200px;
  max-width: 100%;
  display: flex;
}

body.pd-layer-iframe-body .pd-vipfile-down-item .pd-vipfile-down-btn {
  width: 100%;
  justify-content: center;
}

body.pd-layer-iframe-body .pd-vipfile-down-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.85rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.3;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition:
    transform 0.12s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 4px 14px rgba(0, 0, 0, 0.35);
}

body.pd-layer-iframe-body .pd-vipfile-down-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  text-decoration: none !important;
  color: inherit;
}

body.pd-layer-iframe-body .pd-vipfile-down-btn--primary {
  background: linear-gradient(165deg, #4ade80 0%, #22c55e 45%, #166534 100%);
  color: #fff !important;
  border-color: rgba(167, 243, 208, 0.4);
}

body.pd-layer-iframe-body .pd-vipfile-down-btn--accent {
  background: linear-gradient(165deg, #22d3ee 0%, #0891b2 48%, #0e7490 100%);
  color: #ecfeff !important;
  border-color: rgba(165, 243, 252, 0.35);
}

body.pd-layer-iframe-body .pd-vipfile-down-fallback {
  width: 100%;
  text-align: center;
  border-radius: 10px;
  font-weight: 600;
}

body.pd-layer-iframe-body .pd-vipfile-down-msg,
body.pd-layer-iframe-body .pd-vipfile-down-panel .alert-danger {
  margin: 0;
  text-align: center;
  border-radius: 10px;
  background: rgba(248, 113, 113, 0.12) !important;
  border: 1px solid rgba(248, 113, 113, 0.35) !important;
  color: #fecaca !important;
}

body.pd-layer-iframe-body .pd-vipfile-down-loading .spinner-border {
  border-color: rgba(255, 255, 255, 0.12);
  border-right-color: var(--accent-primary);
}

/* ========== 免费慢速下载 layer：验证码 / 下载链接（避免过小与双滚动条） ========== */
/* 与 pdTierLayerCenter() 配合：取消 layui 默认负 margin；全程 overflow 可见，否则验证码通过后
   内容换成「套餐表 + 下载按钮」时不再匹配 :has(.pd-tier-cap--layer)，会被壳层 .layui-layer{overflow:hidden} 裁切 */
body.pd-site-shell .layui-layer.pd-tier-slow-layer,
body.pd-mydisk-skin .layui-layer.pd-tier-slow-layer {
  margin-left: 0 !important;
  margin-top: 0 !important;
  overflow: visible !important;
  height: auto !important;
  max-height: 90vh;
}

.pd-tier-slow-layer .layui-layer-title {
  padding: 0.85rem 1.25rem;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-bottom: 1px solid var(--border-subtle);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent);
}

.pd-tier-slow-layer .layui-layer-content {
  background: var(--bg-elevated);
  overflow: visible !important;
  height: auto !important;
  max-height: calc(90vh - 52px);
}

body.pd-site-shell .layui-layer.pd-tier-slow-layer .pd-tier-down-links .btn-success,
body.pd-mydisk-skin .layui-layer.pd-tier-slow-layer .pd-tier-down-links .btn-success {
  color: #fff !important;
  background-color: #16a34a !important;
  border-color: #15803d !important;
  font-weight: 600;
}

.pd-tier-result-phase--layer {
  overflow: visible;
  min-height: 0;
}

.pd-tier-cap.pd-tier-cap--layer {
  box-sizing: border-box;
  padding: 1.15rem 1.35rem 1.35rem;
  max-width: 100%;
  text-align: left;
}

.pd-tier-cap--layer .pd-tier-cap__lead {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--text-muted);
}

.pd-tier-cap--layer .pd-tier-cap__card {
  padding: 1rem 1rem 1.05rem;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 1px rgba(94, 161, 255, 0.08) inset, 0 12px 36px rgba(0, 0, 0, 0.35);
}

.pd-tier-cap--layer .pd-tier-cap__img-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.85rem 1rem;
}

.pd-tier-cap--layer .pd-tier-cap__visual {
  flex: 1 1 200px;
  min-width: 0;
  margin: 0;
  padding: 0.65rem 0.75rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
}

.pd-tier-cap--layer .pd-tier-cap__visual img {
  display: block;
  width: 100%;
  max-width: 280px;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;
  cursor: pointer;
}

.pd-tier-cap--layer .pd-tier-cap__reload-col {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.45rem;
  min-width: 6.5rem;
}

.pd-tier-cap--layer .pd-tier-cap__muted {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
}

.pd-tier-cap--layer .pd-tier-cap__reload {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.38rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--accent-primary);
  background: rgba(94, 161, 255, 0.12);
  border: 1px solid rgba(94, 161, 255, 0.35);
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pd-tier-cap--layer .pd-tier-cap__reload:hover {
  color: #fff;
  background: rgba(94, 161, 255, 0.35);
  border-color: rgba(94, 161, 255, 0.55);
}

.pd-tier-cap--layer .pd-tier-cap__reload-ico {
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
}

.pd-tier-cap--layer .pd-tier-cap__field {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.1);
}

.pd-tier-cap--layer .pd-tier-cap__label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.72);
}

.pd-tier-cap--layer .pd-tier-cap__input-wrap {
  margin: 0;
  max-width: none;
}

.pd-tier-cap--layer .pd-tier-cap__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.62rem 0.9rem;
  font-size: 1.05rem;
  line-height: 1.45;
  letter-spacing: 0.12em;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
}

.pd-tier-cap--layer .pd-tier-cap__input::placeholder {
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.35);
}

.pd-tier-cap--layer .pd-tier-cap__input:focus {
  outline: none;
  border-color: rgba(94, 161, 255, 0.55);
  box-shadow: 0 0 0 3px rgba(94, 161, 255, 0.18);
}

.pd-tier-cap--layer .pd-tier-cap__divider {
  height: 1px;
  margin: 1.15rem 0 0.85rem;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
}

.pd-tier-cap--layer .pd-tier-cap__btn-wrap {
  margin-top: 0;
  text-align: center;
}

.pd-tier-cap--layer .pd-tier-cap__submit {
  min-width: 88%;
  max-width: 100%;
  padding: 0.62rem 1.5rem;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: 0 8px 22px rgba(94, 161, 255, 0.28);
}

.pd-tier-cap--layer .pd-tier-cap__tip {
  margin-top: 0.65rem;
  min-height: 1.25rem;
  text-align: center;
  font-size: 0.82rem;
  color: #fecaca !important;
}

.pd-tier-down-links {
  padding: 0.75rem 0.5rem 1rem !important;
}
