/* ============================================================
   宝盘用户端 · 暖纸设计系统（覆盖层，加载于 style.css / redesign.css 之后）
   调色：暖纸底 + 琥珀主色 + 翡翠点缀；宋体大标题；圆角 / 柔和阴影
   图标：内联 SVG sprite（#i-<faname>），禁 Font Awesome / 外部字体
   ============================================================ */

:root{
  --bp-paper:#FAF7F2; --bp-paper-2:#F4EEE4; --bp-paper-3:#EFE7D8;
  --bp-ink:#1B1712; --bp-ink-2:#4A4138; --bp-ink-soft:#7A6F60; --bp-ink-faint:#A99A86;
  --bp-amber:#B8874C; --bp-amber-2:#A06F33; --bp-amber-soft:#F6ECDD;
  --bp-jade:#4E7A64; --bp-jade-soft:#E6F0EA;
  --bp-line:#EAE0D2; --bp-line-strong:#DDCFB8;
  --bp-surface:#FFFFFF;
  --bp-red:#B4452F; --bp-red-soft:#F7E8E3;
  --bp-shadow-sm:0 1px 3px rgba(27,23,18,.05);
  --bp-shadow:0 8px 28px rgba(27,23,18,.06);
  --bp-shadow-lg:0 20px 50px rgba(27,23,18,.10);
  --bp-r-lg:20px; --bp-r-md:14px; --bp-r-sm:10px;
  --bp-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bp-serif:"Songti SC","STSong","SimSun",serif;
}

/* ---------- SVG 图标基础（替换 FA） ---------- */
svg.ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.125em;overflow:visible}
.ic-spin{animation:bp-spin 1s linear infinite}
@keyframes bp-spin{to{transform:rotate(360deg)}}

/* 原 FA 尺寸语境：<i> 被替换为 svg 后，按原位置补尺寸 */
.logo-icon svg.ic{width:22px;height:22px}
.footer-logo-icon svg.ic{width:20px;height:20px}
.social-icon svg.ic{width:18px;height:18px}
.workspace-link svg.ic{width:17px;height:17px;font-size:15px}
.brand-mark svg.ic{width:18px;height:18px}
.sidebar-storage-icon svg.ic{width:16px;height:16px}
.sidebar-profile button svg.ic{width:15px;height:15px}
.topbar-avatar svg.ic{width:15px;height:15px}
.workspace-breadcrumb svg.ic{width:8px;height:8px}
.secure-label svg.ic{width:12px;height:12px}
.stat-symbol svg.ic{width:15px;height:15px}
.panel-heading-icon svg.ic{width:15px;height:15px}
.quick-link svg.ic{width:15px;height:15px}
.quick-link>i svg.ic{width:9px;height:9px}
.text-link svg.ic{width:10px;height:10px}
.cloud-illustration svg.ic{width:34px;height:34px}
.file-icon svg.ic{width:46px;height:46px}
.file-actions button svg.ic{width:14px;height:14px}
.empty-state svg.ic{width:56px;height:56px}
.loading-state svg.ic{width:40px;height:40px}
.upload-area svg.ic{width:46px;height:46px}
.upload-item-icon svg.ic{width:22px;height:22px}
.search-box svg.ic{width:14px;height:14px}
.modal-header svg.ic{width:18px;height:18px}
.files-header h1 svg.ic,.settings-header h1 svg.ic{width:24px;height:24px}
.auth-logo svg.ic{width:22px;height:22px}
.auth-scenery-logo svg.ic{width:20px;height:20px}
.auth-scenery-points svg.ic{width:13px;height:13px}
.hero-badge svg.ic,.eyebrow svg.ic{width:11px;height:11px}
.wave svg.ic{width:20px;height:20px}
.header-actions .btn svg.ic{width:13px;height:13px}
.stat-card-foot a svg.ic{width:9px;height:9px}
.sidebar-storage>a svg.ic{width:9px;height:9px}

/* ---------- 加载进度条 ---------- */
.loading-bar{background:linear-gradient(90deg,var(--bp-amber),var(--bp-jade))}

/* ---------- 导航栏 ---------- */
.navbar{background:rgba(250,247,242,.92);border-bottom:1px solid var(--bp-line);box-shadow:0 1px 2px rgba(27,23,18,.04)}
.logo{color:var(--bp-ink)}
.logo-icon{background:linear-gradient(145deg,#C49A5E,#A06F33);box-shadow:0 12px 20px -12px var(--bp-amber)}
.nav-links a{color:var(--bp-ink-2)}
.nav-links a:hover,.nav-links a.active{color:var(--bp-amber-2)}
.auth-buttons .btn{font-size:14px}
.btn{border-radius:var(--bp-r-sm);font-weight:600}
.btn-outline{background:transparent;border:1.5px solid var(--bp-line-strong);color:var(--bp-ink-2)}
.btn-outline:hover{border-color:var(--bp-amber);color:var(--bp-amber-2);background:var(--bp-amber-soft)}
.btn-primary{background:linear-gradient(135deg,#C49A5E 0%,#A06F33 100%);color:#fff;box-shadow:0 4px 12px rgba(160,111,51,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(160,111,51,.45)}
.btn-primary:active{transform:translateY(0)}
.btn-danger{background:var(--bp-red);box-shadow:0 4px 12px rgba(180,69,47,.35)}
.btn-danger:hover{background:#9c3a27}

/* ---------- 回到顶部 ---------- */
.back-to-top{background:linear-gradient(135deg,#C49A5E 0%,#A06F33 100%);box-shadow:0 8px 24px rgba(160,111,51,.4)}
.back-to-top:hover{box-shadow:0 12px 32px rgba(160,111,51,.5)}

/* ---------- Toast ---------- */
.toast{background:var(--bp-surface);color:var(--bp-ink);border:1px solid var(--bp-line);box-shadow:var(--bp-shadow-lg);border-radius:var(--bp-r-md)}
.toast.success{border-left:4px solid var(--bp-jade)}
.toast.error{border-left:4px solid var(--bp-red)}
.toast.info{border-left:4px solid var(--bp-amber)}

/* ---------- 页脚（暖深棕，非冷蓝） ---------- */
.footer{background:linear-gradient(135deg,#241F18 0%,#332A20 100%);color:#CBBda8}
.footer-logo{color:#fff}
.footer-logo-icon{background:linear-gradient(145deg,#C49A5E,#A06F33)}
.footer-desc{color:#A89A86}
.social-icon{background:rgba(255,255,255,.07);color:#CBBda8}
.social-icon:hover{background:var(--bp-amber);color:#fff}
.footer-section h4{color:#F3EADb}
.footer-links a{color:#A89A86}
.footer-links a:hover{color:var(--bp-amber)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.footer-copyright,.footer-links-bottom a{color:#8A7E6C}
.footer-links-bottom a:hover{color:var(--bp-amber)}

/* ---------- 表单 ---------- */
.form-label{color:var(--bp-ink-2)}
.form-input{border:2px solid var(--bp-line);border-radius:var(--bp-r-sm);background:var(--bp-paper)}
.form-input:focus{outline:none;border-color:var(--bp-amber);background:#fff;box-shadow:0 0 0 4px rgba(184,135,76,.12)}
.form-input::placeholder{color:var(--bp-ink-faint)}

/* ---------- 模态框 ---------- */
.modal{background:rgba(27,23,18,.45)}
.modal-content{background:var(--bp-surface);border-radius:var(--bp-r-lg);box-shadow:var(--bp-shadow-lg);border:1px solid var(--bp-line)}
.modal-header{border-bottom:1px solid var(--bp-line)}
.modal-header h3{color:var(--bp-ink);font-family:var(--bp-serif);font-weight:600}
.modal-close{color:var(--bp-ink-soft)}
.modal-close:hover{background:var(--bp-paper-2);color:var(--bp-ink)}
.modal-footer{border-top:1px solid var(--bp-line)}
.modal .btn{border-radius:var(--bp-r-sm);font-size:14px}
.modal .form-input{border-radius:var(--bp-r-sm)}

/* ---------- 文件管理 ---------- */
.files-header h1{color:var(--bp-ink);font-family:var(--bp-serif)}
.header-actions .btn{height:39px;padding:0 14px;border-radius:var(--bp-r-sm);font-size:13px;box-shadow:none}
.header-actions .btn-outline{border-color:var(--bp-line-strong);background:#fff;color:var(--bp-ink-2)}
.header-actions .btn-primary{background:linear-gradient(135deg,#C49A5E,#A06F33)}
.breadcrumb-nav{background:var(--bp-surface);border:1px solid var(--bp-line);border-radius:var(--bp-r-md);box-shadow:var(--bp-shadow-sm)}
.breadcrumb-item{color:var(--bp-ink-soft)}
.breadcrumb-item:hover{color:var(--bp-amber-2)}
.breadcrumb-item.active{color:var(--bp-ink)}
.breadcrumb-separator{color:var(--bp-line-strong)}
.storage-overview{background:linear-gradient(120deg,#C49A5E 0%,#A06F33 60%,#8a5e2c 100%);border-radius:var(--bp-r-lg);color:#fff;border:1px solid #b98f53}
.storage-bar{background:rgba(255,255,255,.32)}
.storage-bar-fill{background:#fff}
.file-count{color:#fff}
.files-toolbar{}
.search-box input{border:1px solid var(--bp-line);border-radius:var(--bp-r-sm);background:var(--bp-paper)}
.search-box input:focus{outline:none;border-color:var(--bp-amber);box-shadow:0 0 0 3px rgba(184,135,76,.12)}
.search-box svg.ic{color:var(--bp-ink-faint)}
.filter-group select{border:1px solid var(--bp-line);border-radius:var(--bp-r-sm);color:var(--bp-ink-2)}
.view-btn{border:1px solid var(--bp-line);border-radius:var(--bp-r-sm);background:#fff;color:var(--bp-ink-2)}
.view-btn:hover{background:var(--bp-paper-2)}
.view-btn.active{background:var(--bp-amber);color:#fff;border-color:var(--bp-amber)}
.files-grid{}
.file-card{background:var(--bp-surface);border:1px solid var(--bp-line);border-radius:var(--bp-r-md);box-shadow:var(--bp-shadow-sm)}
.file-card:hover{box-shadow:var(--bp-shadow);transform:translateY(-2px)}
.folder-card{border-color:#E4D2B4;background:linear-gradient(135deg,#FBF4E7 0%,#F6EAD2 100%)}
.folder-card:hover{border-color:var(--bp-amber);box-shadow:0 4px 12px rgba(184,135,76,.18)}
.file-icon{background:var(--bp-paper-2);color:var(--bp-amber-2)}
.file-name{color:var(--bp-ink)}
.file-meta{color:var(--bp-ink-faint)}
.file-actions button{border:1px solid var(--bp-line);border-radius:var(--bp-r-sm);background:#fff;color:var(--bp-ink-soft)}
.file-actions button:hover{background:var(--bp-paper-2);color:var(--bp-amber-2)}
.upload-area{border:2px dashed var(--bp-line-strong);border-radius:var(--bp-r-md);background:var(--bp-paper)}
.upload-area:hover,.upload-area.dragover{border-color:var(--bp-amber);background:var(--bp-amber-soft)}
.upload-area svg.ic{color:var(--bp-ink-faint)}
.upload-area p{color:var(--bp-ink-soft)}
.upload-item{border:1px solid var(--bp-line);border-radius:var(--bp-r-sm);background:var(--bp-surface)}
.upload-item-icon{color:var(--bp-ink-faint)}
.upload-item-name{color:var(--bp-ink)}
.upload-item-size{color:var(--bp-ink-faint)}
.upload-item-progress{background:var(--bp-line)}
.upload-item-progress-fill{background:linear-gradient(90deg,var(--bp-amber),var(--bp-jade))}
.empty-state{color:var(--bp-ink-faint)}
.empty-state svg.ic{color:var(--bp-amber);opacity:.85}
.loading-state{color:var(--bp-ink-faint)}
.loading-state svg.ic{color:var(--bp-amber)}

/* ============================================================
   工作空间（覆盖 redesign.css 的紫色）
   ============================================================ */
body.workspace-mode{background:var(--bp-paper-2)}
.workspace-shell{background:var(--bp-paper)}
.workspace-sidebar{background:linear-gradient(180deg,#FBF8F3 0%,#F4EEE4 100%);border-right:1px solid var(--bp-line)}
.workspace-brand{color:var(--bp-ink)}
.brand-mark{background:linear-gradient(145deg,#C49A5E,#A06F33);color:#fff;box-shadow:0 6px 14px rgba(160,111,51,.30)}
.workspace-brand small{color:var(--bp-ink-faint)}
.workspace-link{color:var(--bp-ink-soft)}
.workspace-link>i{color:var(--bp-ink-faint)}
.workspace-link:hover{background:var(--bp-paper-2);color:var(--bp-amber-2)}
.workspace-link.active{background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.workspace-link.active>i{color:var(--bp-amber)}
.sidebar-arrow{color:var(--bp-amber)}
.sidebar-caption{color:var(--bp-ink-faint)}
.sidebar-storage{border:1px solid var(--bp-line);background:linear-gradient(145deg,#FBF6EC,#F4ECDD)}
.sidebar-storage-icon{background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.sidebar-storage strong{color:var(--bp-ink-2)}
.sidebar-storage>span{color:var(--bp-ink-soft)}
.sidebar-storage>a{color:var(--bp-amber-2)}
.sidebar-profile{border-top:1px solid var(--bp-line)}
.profile-avatar,.topbar-avatar{background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.sidebar-profile button{color:var(--bp-ink-soft)}
.sidebar-profile button:hover{background:var(--bp-paper-2);color:var(--bp-red)}
.workspace-main{background:var(--bp-paper)}
.workspace-topbar{background:rgba(250,247,242,.9);border-bottom:1px solid var(--bp-line)}
.workspace-breadcrumb{color:var(--bp-ink-soft)}
.workspace-breadcrumb svg.ic{color:var(--bp-line-strong)}
.workspace-breadcrumb strong{color:var(--bp-ink-2)}
.secure-label{color:var(--bp-ink-soft)}
.secure-label svg.ic{color:var(--bp-jade)}
.workspace-page-content{opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}
.workspace-page-content.show{opacity:1;transform:none}
.workspace-welcome h1{color:var(--bp-ink);font-family:var(--bp-serif);letter-spacing:-.4px}
.workspace-welcome p{color:var(--bp-ink-soft)}
.eyebrow{color:var(--bp-ink-soft)}
.eyebrow-dot{background:var(--bp-jade);box-shadow:0 0 0 4px var(--bp-jade-soft)}
.wave{color:var(--bp-amber)}
.workspace-primary-btn{background:linear-gradient(110deg,#C49A5E,#A06F33);box-shadow:0 7px 15px rgba(160,111,51,.30);border-radius:var(--bp-r-sm);font-size:13px}
.workspace-primary-btn:hover{transform:translateY(-1px);box-shadow:0 9px 17px rgba(160,111,51,.40)}

/* 仪表盘 */
.dashboard-stat-card,.dashboard-panel{background:var(--bp-surface);border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);box-shadow:var(--bp-shadow-sm)}
.dashboard-stat-card{box-shadow:var(--bp-shadow-sm)}
.stat-card-top{color:var(--bp-ink-soft)}
.stat-symbol{background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.stat-symbol.violet{color:var(--bp-amber-2);background:var(--bp-amber-soft)}
.stat-symbol.blue{color:var(--bp-jade);background:var(--bp-jade-soft)}
.stat-symbol.amber{color:var(--bp-amber-2);background:var(--bp-amber-soft)}
.dashboard-stat-card>strong{color:var(--bp-ink)}
.stat-card-foot{color:var(--bp-ink-faint)}
.stat-card-foot b{color:var(--bp-ink-2)}
.stat-card-foot a{color:var(--bp-amber-2)}
.dashboard-progress{background:var(--bp-paper-3)}
.dashboard-progress span{background:linear-gradient(90deg,#C49A5E,#A06F33)}
.dashboard-panel{box-shadow:var(--bp-shadow-sm)}
.panel-heading h2{color:var(--bp-ink);font-family:var(--bp-serif)}
.panel-kicker{color:var(--bp-ink-faint)}
.panel-heading-icon{background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.panel-heading-icon.green{background:var(--bp-jade-soft);color:var(--bp-jade)}
.quick-link{border-top:1px solid var(--bp-line)}
.quick-link strong{color:var(--bp-ink-2)}
.quick-link small{color:var(--bp-ink-faint)}
.quick-link svg.ic{color:var(--bp-ink-faint)}
.quick-link:hover strong{color:var(--bp-amber-2)}
.quick-link-icon{background:var(--bp-paper-2)}
.quick-link-icon.folder{color:var(--bp-amber-2);background:var(--bp-amber-soft)}
.quick-link-icon.plan{color:var(--bp-amber-2);background:var(--bp-amber-soft)}
.quick-link-icon.settings{color:var(--bp-jade);background:var(--bp-jade-soft)}
.storage-panel{background:var(--bp-surface)}
.storage-panel>p{color:var(--bp-ink-soft)}
.text-link{color:var(--bp-amber-2)}
.cloud-illustration{color:var(--bp-amber)}
.cloud-orbit{border-color:var(--bp-line)}
.cloud-core{background:linear-gradient(145deg,#C49A5E,#A06F33);color:#fff}

/* workspace 内文件页 */
.workspace-page-content .files-header h1{color:var(--bp-ink)}
.workspace-page-content .storage-overview{border:1px solid #b98f53;background:linear-gradient(120deg,#C49A5E 0%,#A06F33 70%,#8a5e2c 100%);color:#fff;box-shadow:var(--bp-shadow-sm)}
.workspace-page-content .storage-overview:after{color:#efe3cf}
.workspace-page-content .storage-used{color:#fff}
.workspace-page-content .storage-used:before{color:rgba(255,255,255,.8)}
.workspace-page-content .storage-bar{background:rgba(255,255,255,.32)}
.workspace-page-content .storage-bar-fill{background:#fff}
.workspace-page-content .storage-percent{color:rgba(255,255,255,.85)}
.workspace-page-content .header-actions .btn-primary{background:linear-gradient(110deg,#C49A5E,#A06F33)}
.workspace-page-content .empty-state{border:1px dashed var(--bp-line-strong);background:var(--bp-surface);color:var(--bp-ink-soft)}
.workspace-page-content .empty-state>svg.ic{color:var(--bp-amber);opacity:.8}

/* 设置页 */
.workspace-page-content .settings-header h1{color:var(--bp-ink);font-family:var(--bp-serif)}
.workspace-page-content .settings-section{border:1px solid var(--bp-line)!important;background:var(--bp-surface);box-shadow:var(--bp-shadow-sm)}
.workspace-page-content .settings-section h3{color:var(--bp-ink)}

/* ============================================================
   公开落地页（覆盖 redesign.css 紫色 public-mode）
   ============================================================ */
body.public-mode .navbar{background:rgba(250,247,242,.94);border-bottom:1px solid var(--bp-line);box-shadow:none}
.public-mode .logo{color:var(--bp-ink);font-family:var(--bp-serif)}
.public-mode .logo-icon{background:linear-gradient(145deg,#C49A5E,#A06F33)}
.public-mode .nav-links a{color:var(--bp-ink-2)}
.public-mode .nav-links a:hover{color:var(--bp-amber-2)}
.public-mode .auth-buttons .btn{border-radius:var(--bp-r-sm)}
.public-mode .auth-buttons .btn-primary{background:linear-gradient(135deg,#C49A5E,#A06F33);color:#fff}
.public-mode .auth-buttons .btn-outline{border-color:var(--bp-line-strong);color:var(--bp-ink-2)}
.public-mode .auth-buttons .btn-outline:hover{background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.public-mode .hero{border:1px solid var(--bp-line);border-radius:var(--bp-r-lg);background:radial-gradient(ellipse at 79% 42%,#F6ECDD 0,#FBF6EC 30%,#fff 70%);box-shadow:var(--bp-shadow)}
.public-mode .hero-title{color:var(--bp-ink);font-family:var(--bp-serif);letter-spacing:-.8px}
.public-mode .hero-desc{color:var(--bp-ink-soft)}
.public-mode .hero-badge{border:1px solid #E4D2B4;background:var(--bp-amber-soft);color:var(--bp-amber-2)}
.public-mode .hero-visual{border-radius:var(--bp-r-lg)}
.public-mode .disk-card{border:1px solid var(--bp-line);border-radius:var(--bp-r-md);background:var(--bp-surface);box-shadow:var(--bp-shadow)}
.public-mode .features-grid{}
.public-mode .feature-card{border:1px solid var(--bp-line);border-radius:var(--bp-r-md);box-shadow:var(--bp-shadow-sm)}
.public-mode .feature-card:hover{box-shadow:var(--bp-shadow)}
.public-mode .cta-section{border-radius:var(--bp-r-lg);background:linear-gradient(120deg,#C49A5E 0%,#A06F33 100%);color:#fff;box-shadow:var(--bp-shadow)}

/* ============================================================
   登录 / 注册（auth-mode）
   ============================================================ */
body.auth-mode{background:var(--bp-paper)}
body.auth-mode .navbar .logo{color:var(--bp-ink)}
body.auth-mode .logo-icon{background:linear-gradient(145deg,#C49A5E,#A06F33)}
.auth-logo{background:linear-gradient(145deg,#C49A5E,#A06F33);color:#fff;box-shadow:0 9px 20px rgba(160,111,51,.30)}
.auth-title{color:var(--bp-ink);font-family:var(--bp-serif)}
.auth-subtitle{color:var(--bp-ink-soft)}
.form-label{color:var(--bp-ink-2)}
.auth-mode .form-input{border:1px solid var(--bp-line);border-radius:var(--bp-r-sm);background:var(--bp-paper);color:var(--bp-ink)}
.auth-mode .form-input:focus{border-color:var(--bp-amber);background:#fff;box-shadow:0 0 0 3px var(--bp-amber-soft);outline:0}
.auth-mode form .btn{background:linear-gradient(135deg,#C49A5E,#A06F33);box-shadow:0 8px 18px rgba(160,111,51,.35);border-radius:var(--bp-r-sm)}
.auth-link{color:var(--bp-ink-soft)}
.auth-link a{color:var(--bp-amber-2)}
.auth-mode:has(.page-register) .benefits{border:1px solid var(--bp-line);background:var(--bp-paper-2)}
.auth-mode:has(.page-register) .benefits h3{color:var(--bp-amber-2)}
.auth-mode:has(.page-register) .benefits li{color:var(--bp-ink-soft)}
.auth-mode:has(.page-register) .benefits li svg.ic{color:var(--bp-jade)}

/* 登录场景背景：暖琥珀 → 陶土（非紫） */
.auth-scenery{background:linear-gradient(145deg,#A06F33 0%,#B8874C 52%,#C9A36A 100%);color:#fff}
.auth-orb{border:1px solid rgba(255,255,255,.22)}
.auth-scenery-grid{opacity:.14;background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px)}
.auth-scenery-logo{border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.2)}
.auth-scenery-copy h2{color:#fff;font-family:var(--bp-serif)}
.auth-scenery-copy p{color:#fdf3e6}
.auth-scenery-points span{color:#fdf3e6}
.auth-scenery-points svg.ic{color:#fbe9cf}
.auth-scenery-note{color:rgba(253,243,230,.6)}
