/* ============================================
   Kuka Tech云盘 v2.0 - 全局样式
   设计风格：阿里云盘 简洁专业风
   无渐变、无emoji、黑白灰 + 蓝色强调
   ============================================ */

/* ---- Design Tokens ---- */
:root{
    --brand:#3370ff;
    --brand-hover:#2860e0;
    --brand-light:#e8f0fe;
    --brand-bg:#f5f7fb;
    --text-1:#1a1a1a;
    --text-2:#555;
    --text-3:#888;
    --text-4:#bbb;
    --border:#e8eaed;
    --border-light:#f0f1f2;
    --bg:#f5f6f7;
    --bg-card:#fff;
    --shadow-sm:0 1px 3px rgba(0,0,0,.04);
    --shadow-md:0 4px 16px rgba(0,0,0,.06);
    --shadow-lg:0 12px 32px rgba(0,0,0,.08);
    --radius-sm:6px;
    --radius:8px;
    --radius-lg:12px;
    --radius-xl:16px;
}

/* ---- 动画 ---- */
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInLeft { from{opacity:0;transform:translateX(-12px)} to{opacity:1;transform:translateX(0)} }
@keyframes scaleIn { from{opacity:0;transform:scale(.94)} to{opacity:1;transform:scale(1)} }
@keyframes slideDown { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes checkPop { 0%{transform:scale(0)} 60%{transform:scale(1.25)} 100%{transform:scale(1)} }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes pulse-soft { 0%,100%{opacity:1} 50%{opacity:.6} }
@keyframes ripple { to{transform:scale(4);opacity:0} }

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px;scroll-behavior:smooth}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;
    color:#333;background:#f5f6f7;line-height:1.6;
    -webkit-font-smoothing:antialiased;
    animation:fadeIn .35s ease;
    min-height:100vh;
}
a{color:#3370ff;text-decoration:none;transition:color .15s}
a:hover{color:#1e5ad4}
img{max-width:100%;display:block}
ul,ol{list-style:none}
input,button,select,textarea{font-family:inherit}

/* ============================================
   Layout - 网盘式布局
   ============================================ */
.pan-layout{display:flex;min-height:100vh;animation:fadeIn .35s ease}
.pan-main{flex:1;display:flex;flex-direction:column;min-width:0}

/* ---- 左侧边栏 ---- */
.pan-sidebar{
    width:200px;background:#fff;border-right:1px solid #e8eaed;
    flex-shrink:0;display:flex;flex-direction:column;
    animation:fadeInLeft .35s ease;
    position:sticky;top:0;height:100vh;overflow-y:auto;
}
.pan-sidebar-logo{
    padding:20px 18px 16px;font-size:1.1rem;font-weight:700;color:#1a1a1a;
    display:flex;align-items:center;gap:10px;
    border-bottom:1px solid #f0f1f2;
}
.pan-sidebar-logo img{width:28px;height:28px;border-radius:4px}
.pan-sidebar-nav{padding:8px 0;flex:1}
.pan-sidebar-nav .nav-label{
    padding:8px 18px 4px;font-size:.72rem;color:#aaa;font-weight:600;
    text-transform:uppercase;letter-spacing:1px;
}
.pan-nav-item{
    display:flex;align-items:center;gap:10px;padding:10px 18px;
    color:#555;font-size:.88rem;transition:all .15s;
    border-radius:0;position:relative;cursor:pointer;
}
.pan-nav-item:hover{background:#f5f6f7;color:#333}
.pan-nav-item.active{
    background:#e8f0fe;color:#3370ff;font-weight:600;
}
.pan-nav-item.active::before{
    content:'';position:absolute;left:0;top:8px;bottom:8px;
    width:3px;background:#3370ff;border-radius:0 3px 3px 0;
}
.pan-nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pan-nav-badge{
    margin-left:auto;background:#e8eaed;color:#888;font-size:.7rem;
    padding:1px 8px;border-radius:10px;font-weight:600;
}
.pan-sidebar-footer{
    padding:14px 18px;border-top:1px solid #f0f1f2;
    font-size:.75rem;color:#bbb;
}

/* ---- 顶部栏 ---- */
.pan-topbar{
    height:52px;background:#fff;border-bottom:1px solid #e8eaed;
    display:flex;align-items:center;padding:0 20px;gap:16px;
    flex-shrink:0;position:sticky;top:0;z-index:50;
}
.pan-topbar-logo{display:none;font-size:1.1rem;font-weight:700;color:#1a1a1a}
.pan-topbar-center{flex:1;display:flex;align-items:center;max-width:480px}
.pan-search-box{
    flex:1;display:flex;align-items:center;background:#f5f6f7;
    border:1px solid transparent;border-radius:8px;padding:0 12px;height:36px;
    transition:all .2s;
}
.pan-search-box:focus-within{background:#fff;border-color:#3370ff;box-shadow:0 0 0 2px rgba(51,112,255,.1)}
.pan-search-box svg{width:16px;height:16px;color:#999;flex-shrink:0}
.pan-search-input{
    flex:1;border:none;background:transparent;padding:0 8px;font-size:.88rem;
    outline:none;color:#333;height:100%;
}
.pan-search-input::placeholder{color:#bbb}
.pan-topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto}
.pan-user-btn{
    display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;
    cursor:pointer;transition:background .15s;font-size:.88rem;color:#555;
}
.pan-user-btn:hover{background:#f5f6f7}
.pan-user-avatar{
    width:32px;height:32px;border-radius:50%;background:#3370ff;
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:.8rem;font-weight:600;flex-shrink:0;
}
.pan-user-name{font-weight:500}

/* ---- 内容主体 ---- */
.pan-content{
    flex:1;padding:0;overflow-y:auto;
    animation:fadeInUp .4s ease;
}
.pan-content-inner{padding:24px 28px;max-width:1200px;margin:0 auto}

/* ---- 面包屑 ---- */
.pan-breadcrumb{
    display:flex;align-items:center;gap:6px;margin-bottom:20px;font-size:.85rem;color:#888;
}
.pan-breadcrumb a{color:#888}
.pan-breadcrumb a:hover{color:#3370ff}
.pan-breadcrumb .sep{color:#d0d4d9;user-select:none}

/* ---- 页面标题 ---- */
.pan-page-title{
    font-size:1.3rem;font-weight:700;color:#1a1a1a;margin-bottom:4px;
    display:flex;align-items:center;gap:10px;
}
.pan-page-subtitle{font-size:.85rem;color:#888;margin-bottom:24px}

/* ---- 工具栏 ---- */
.pan-toolbar{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:16px;flex-wrap:wrap;gap:10px;
}
.pan-toolbar-left{display:flex;align-items:center;gap:8px}
.pan-toolbar-right{display:flex;align-items:center;gap:8px}

/* ---- 文件列表 - 网盘风格 ---- */
.pan-file-list{
    background:#fff;border:1px solid #e8eaed;border-radius:10px;
    overflow:hidden;animation:fadeIn .4s ease;
}
.pan-file-list .list-header{
    display:flex;align-items:center;padding:10px 16px;
    background:#fafbfc;border-bottom:1px solid #e8eaed;
    font-size:.78rem;color:#888;font-weight:600;user-select:none;
}
.pan-file-list .list-header .col-check{width:40px;text-align:center}
.pan-file-list .list-header .col-name{flex:1;padding-left:4px}
.pan-file-list .list-header .col-size{width:100px;text-align:right}
.pan-file-list .list-header .col-type{width:80px;text-align:center}
.pan-file-list .list-header .col-date{width:140px;text-align:right;padding-right:8px}
.pan-file-list .list-header .col-actions{width:120px;text-align:right}

.pan-file-row{
    display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #f5f6f7;
    transition:background .15s;cursor:pointer;font-size:.88rem;
}
.pan-file-row:last-child{border-bottom:none}
.pan-file-row:hover{background:#f8f9fa}
.pan-file-row .col-check{width:40px;text-align:center}
.pan-file-row .col-check input[type="checkbox"]{width:15px;height:15px;cursor:pointer;accent-color:#3370ff}
.pan-file-row .col-name{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.pan-file-row .col-size{width:100px;text-align:right;color:#888;font-size:.82rem}
.pan-file-row .col-type{width:80px;text-align:center;color:#888;font-size:.82rem}
.pan-file-row .col-date{width:140px;text-align:right;color:#888;font-size:.82rem;padding-right:8px}
.pan-file-row .col-actions{width:120px;text-align:right}

.file-icon-sm{
    width:32px;height:32px;border-radius:6px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:.75rem;font-weight:700;
}
.file-icon-sm.type-doc{background:#e8f0fe;color:#3370ff}
.file-icon-sm.type-xls{background:#e6f4ea;color:#188038}
.file-icon-sm.type-ppt{background:#fef7ee;color:#e8952b}
.file-icon-sm.type-pdf{background:#fef0ef;color:#d93025}
.file-icon-sm.type-img{background:#fce8e6;color:#d93025}
.file-icon-sm.type-video{background:#f3e8fd;color:#7b2bcc}
.file-icon-sm.type-zip{background:#fff3e0;color:#e65100}
.file-icon-sm.type-file{background:#e8eaed;color:#555}

.file-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.file-name-text:hover{color:#3370ff}

/* ---- 空状态 ---- */
.pan-empty{
    text-align:center;padding:80px 20px;animation:fadeIn .5s ease;
}
.pan-empty-icon{width:64px;height:64px;margin:0 auto 16px;background:#f5f6f7;border-radius:50%;display:flex;align-items:center;justify-content:center}
.pan-empty-icon svg{width:28px;height:28px;color:#d0d4d9}
.pan-empty h3{font-size:1rem;color:#888;font-weight:500;margin-bottom:6px}
.pan-empty p{font-size:.85rem;color:#bbb;margin-bottom:20px}

/* ---- 统计卡片 ---- */
.pan-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px}
.pan-stat-card{
    background:#fff;border:1px solid #e8eaed;border-radius:10px;
    padding:18px 20px;transition:all .25s;
    animation:fadeInUp .4s ease both;
}
.pan-stat-card:nth-child(1){animation-delay:0s}
.pan-stat-card:nth-child(2){animation-delay:.06s}
.pan-stat-card:nth-child(3){animation-delay:.12s}
.pan-stat-card:nth-child(4){animation-delay:.18s}
.pan-stat-card:nth-child(5){animation-delay:.24s}
.pan-stat-card:nth-child(6){animation-delay:.30s}
.pan-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.06);border-color:#d0d4d9}
.pan-stat-value{font-size:1.6rem;font-weight:700;color:#1a1a1a;line-height:1.2}
.pan-stat-label{font-size:.78rem;color:#888;margin-top:4px;font-weight:500}

/* ---- 按钮 ---- */
.pan-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:8px 20px;border:1px solid #d0d4d9;border-radius:8px;
    background:#fff;color:#555;font-size:.88rem;font-weight:500;
    cursor:pointer;transition:all .2s;position:relative;overflow:hidden;
    text-decoration:none;user-select:none;
}
.pan-btn:hover{background:#f5f6f7;border-color:#bbb;transform:translateY(-1px)}
.pan-btn:active{transform:translateY(0)}
.pan-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}

.pan-btn-primary{background:#3370ff;color:#fff;border-color:#3370ff;box-shadow:0 2px 8px rgba(51,112,255,.25)}
.pan-btn-primary:hover{background:#2860e0;border-color:#2860e0;box-shadow:0 4px 16px rgba(51,112,255,.35)}
.pan-btn-sm{padding:5px 14px;font-size:.8rem;border-radius:6px}
.pan-btn-lg{padding:12px 28px;font-size:.95rem;border-radius:10px}
.pan-btn-block{width:100%;display:flex}
.pan-btn-danger{color:#d93025;border-color:#d93025}
.pan-btn-danger:hover{background:#fef0ef;border-color:#d93025}
.pan-btn-warning{color:#e8952b;border-color:#e8952b}
.pan-btn-warning:hover{background:#fef7ee;border-color:#e8952b}
.pan-btn-success{color:#188038;border-color:#188038}
.pan-btn-success:hover{background:#eef7f0;border-color:#188038}

.pan-btn .ripple-effect{
    position:absolute;border-radius:50%;background:rgba(255,255,255,.35);
    transform:scale(0);animation:ripple .6s linear;pointer-events:none;
}

/* ---- 表格 - 网盘风格 ---- */
.pan-table-wrap{
    background:#fff;border:1px solid #e8eaed;border-radius:10px;overflow:hidden;
    animation:fadeIn .4s ease;
}
.pan-table{width:100%;border-collapse:collapse;font-size:.86rem}
.pan-table th{
    padding:11px 16px;text-align:left;background:#fafbfc;
    border-bottom:1px solid #e8eaed;color:#888;font-weight:600;
    font-size:.76rem;white-space:nowrap;
}
.pan-table td{padding:12px 16px;border-bottom:1px solid #f5f6f7;color:#333;vertical-align:middle}
.pan-table tr:last-child td{border-bottom:none}
.pan-table tbody tr{transition:background .15s}
.pan-table tbody tr:hover td{background:#f8f9fa}
.pan-table tbody tr{animation:fadeIn .3s ease both}
.pan-table tbody tr:nth-child(1){animation-delay:0s}
.pan-table tbody tr:nth-child(2){animation-delay:.04s}
.pan-table tbody tr:nth-child(3){animation-delay:.08s}
.pan-table tbody tr:nth-child(4){animation-delay:.12s}
.pan-table tbody tr:nth-child(5){animation-delay:.16s}
.pan-table tbody tr:nth-child(6){animation-delay:.20s}
.pan-table tbody tr:nth-child(7){animation-delay:.24s}
.pan-table tbody tr:nth-child(8){animation-delay:.28s}

/* ---- 标签 ---- */
.pan-tag{
    display:inline-block;padding:2px 10px;border-radius:10px;
    font-size:.72rem;font-weight:600;letter-spacing:.3px;
}
.pan-tag-green{background:#e6f4ea;color:#188038}
.pan-tag-orange{background:#fef7ee;color:#e8952b}
.pan-tag-gray{background:#f0f1f2;color:#888}
.pan-tag-red{background:#fef0ef;color:#d93025}
.pan-tag-blue{background:#e8f0fe;color:#3370ff}
.pan-tag-lock{background:#fef7ee;color:#e8952b}

/* ---- 分页 ---- */
.pan-pagination{
    display:flex;align-items:center;justify-content:center;gap:5px;
    margin-top:20px;animation:fadeIn .4s ease;
}
.pan-page-btn{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:34px;height:34px;padding:0 8px;border:1px solid #d0d4d9;
    border-radius:6px;color:#555;font-size:.84rem;font-weight:500;
    transition:all .15s;background:#fff;
}
.pan-page-btn:hover{background:#f5f6f7;border-color:#bbb;transform:translateY(-1px)}
.pan-page-btn.active{background:#3370ff;color:#fff;border-color:#3370ff;box-shadow:0 2px 8px rgba(51,112,255,.25)}

/* ---- 输入框 ---- */
.pan-input{
    width:100%;padding:10px 14px;border:1px solid #d0d4d9;border-radius:8px;
    font-size:.88rem;outline:none;background:#fff;color:#333;transition:all .2s;
}
.pan-input:focus{border-color:#3370ff;box-shadow:0 0 0 3px rgba(51,112,255,.08)}
.pan-input::placeholder{color:#bbb}
select.pan-input{
    cursor:pointer;appearance:none;-webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;
}
textarea.pan-input{resize:vertical;min-height:80px}

/* ---- 表单 ---- */
.pan-form-group{margin-bottom:18px}
.pan-form-group label{display:block;font-size:.85rem;color:#555;margin-bottom:7px;font-weight:600}
.pan-form-hint{font-size:.75rem;color:#999;margin-top:4px}
.pan-form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}

/* ---- 卡片 ---- */
.pan-card{
    background:#fff;border:1px solid #e8eaed;border-radius:10px;
    padding:24px;margin-bottom:20px;animation:fadeInUp .4s ease;
}
.pan-card-title{
    font-size:1rem;font-weight:700;color:#1a1a1a;margin-bottom:18px;
    padding-bottom:12px;border-bottom:1px solid #f0f1f2;
    display:flex;align-items:center;gap:8px;
}
.pan-card-title::before{content:'';display:inline-block;width:4px;height:16px;background:#3370ff;border-radius:2px}

/* ---- 提示 ---- */
.pan-alert{
    padding:13px 18px;border-radius:8px;margin-bottom:16px;
    font-size:.85rem;font-weight:500;animation:slideDown .3s ease;
}
.pan-alert-success{background:#e6f4ea;color:#188038;border:1px solid #ceead6}
.pan-alert-error{background:#fef0ef;color:#d93025;border:1px solid #fce8e6}
.pan-alert-info{background:#e8f0fe;color:#3370ff;border:1px solid #d2e3fc}

/* ---- 弹出层 ---- */
.pan-modal-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;
    display:flex;align-items:center;justify-content:center;
    animation:fadeIn .2s ease;
}
.pan-modal{
    background:#fff;border-radius:12px;width:90%;max-width:520px;
    max-height:85vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.15);
    animation:scaleIn .3s ease;
}
.pan-modal-header{
    padding:20px 24px 0;font-size:1.05rem;font-weight:700;color:#1a1a1a;
    display:flex;align-items:center;justify-content:space-between;
}
.pan-modal-close{
    width:28px;height:28px;border-radius:6px;border:none;background:#f5f6f7;
    cursor:pointer;font-size:1rem;color:#888;display:flex;align-items:center;
    justify-content:center;transition:all .15s;
}
.pan-modal-close:hover{background:#e8eaed;color:#333}
.pan-modal-body{padding:20px 24px}
.pan-modal-footer{
    padding:16px 24px;border-top:1px solid #f0f1f2;
    display:flex;gap:10px;justify-content:flex-end;
}

/* ---- 切换开关 ---- */
.pan-toggle{
    display:flex;background:#f0f1f2;border-radius:8px;padding:3px;
}
.pan-toggle-item{
    padding:7px 18px;border-radius:6px;font-size:.84rem;font-weight:500;
    color:#888;cursor:pointer;transition:all .15s;user-select:none;
}
.pan-toggle-item:hover{color:#555}
.pan-toggle-item.active{background:#fff;color:#333;box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* ---- 进度条 ---- */
.pan-progress{height:5px;background:#e8eaed;border-radius:3px;overflow:hidden}
.pan-progress-bar{height:100%;background:#3370ff;border-radius:3px;transition:width .5s ease}

/* ---- 加载 ---- */
.pan-spinner{
    width:22px;height:22px;border:2.5px solid #e8eaed;
    border-top-color:#3370ff;border-radius:50%;animation:spin .6s linear infinite;
}
.pan-spinner-lg{width:36px;height:36px;border-width:3px}

/* ---- 骨架屏 ---- */
.pan-skeleton{
    background:linear-gradient(90deg,#f0f1f2 25%,#e8eaed 37%,#f0f1f2 63%);
    background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:4px;
}

/* ---- 筛选栏 ---- */
.pan-filter-bar{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:16px;gap:12px;flex-wrap:wrap;
}

/* ---- 响应式 ---- */
@media(max-width:768px){
    .pan-sidebar{display:none}
    .pan-topbar-logo{display:block}
    .pan-content-inner{padding:16px}
    .pan-stats{grid-template-columns:repeat(2,1fr);gap:8px}
    .pan-table-wrap{overflow-x:auto}
    .pan-form-row{grid-template-columns:1fr}
    .pan-toolbar{flex-direction:column;align-items:flex-start}
    .pan-search-box{max-width:100%}
}

/* ---- 辅助 ---- */
.pan-text-center{text-align:center}
.pan-text-right{text-align:right}
.pan-text-danger{color:#d93025}
.pan-text-warning{color:#e8952b}
.pan-text-success{color:#188038}
.pan-text-info{color:#3370ff}
.pan-text-muted{color:#888}
.pan-mt-0{margin-top:0}
.pan-mt-1{margin-top:8px}
.pan-mt-2{margin-top:16px}
.pan-mt-3{margin-top:24px}
.pan-mb-0{margin-bottom:0}
.pan-mb-1{margin-bottom:8px}
.pan-mb-2{margin-bottom:16px}
.pan-mb-3{margin-bottom:24px}
.pan-flex{display:flex}
.pan-flex-center{display:flex;align-items:center}
.pan-flex-between{display:flex;align-items:center;justify-content:space-between}
.pan-gap-1{gap:8px}
.pan-gap-2{gap:16px}
.pan-gap-3{gap:24px}
.pan-meta-sep{margin:0 8px;color:#d0d4d9;user-select:none}

/* ---- 隐藏滚动条(可选) ---- */
.pan-hide-scroll::-webkit-scrollbar{width:0;height:0}

/* ============================================
   营销页 / Hero / 特性区
   ============================================ */
.kk-hero{
    padding:72px 28px 56px;text-align:center;max-width:960px;margin:0 auto;
    animation:fadeInUp .5s ease;
}
.kk-hero-logo{
    width:64px;height:64px;border-radius:16px;background:#fff;
    display:inline-flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow-md);margin-bottom:24px;
    animation:float 3s ease-in-out infinite;
}
.kk-hero-title{
    font-size:2.4rem;font-weight:800;color:var(--text-1);
    letter-spacing:-.5px;margin-bottom:14px;line-height:1.2;
}
.kk-hero-subtitle{
    font-size:1.05rem;color:var(--text-3);margin-bottom:36px;
    max-width:560px;margin-left:auto;margin-right:auto;line-height:1.7;
}
.kk-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.kk-features{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;max-width:960px;margin:0 auto;padding:0 28px 64px;
}
.kk-feature{
    background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
    padding:28px 24px;transition:all .3s;
    animation:fadeInUp .5s ease both;
}
.kk-feature:nth-child(1){animation-delay:.05s}
.kk-feature:nth-child(2){animation-delay:.15s}
.kk-feature:nth-child(3){animation-delay:.25s}
.kk-feature:nth-child(4){animation-delay:.35s}
.kk-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent}
.kk-feature-icon{
    width:44px;height:44px;border-radius:10px;background:var(--brand-light);
    color:var(--brand);display:flex;align-items:center;justify-content:center;
    margin-bottom:16px;
}
.kk-feature-title{font-size:1rem;font-weight:700;color:var(--text-1);margin-bottom:6px}
.kk-feature-desc{font-size:.85rem;color:var(--text-3);line-height:1.6}

.kk-footer{
    border-top:1px solid var(--border-light);padding:24px 28px;
    text-align:center;color:var(--text-4);font-size:.8rem;
    background:#fff;
}

/* ============================================
   登录/注册 分栏布局
   ============================================ */
.kk-auth{
    display:flex;min-height:100vh;background:var(--bg);
}
.kk-auth-aside{
    width:42%;background:#1a1a1a;color:#fff;
    display:flex;flex-direction:column;justify-content:center;
    padding:64px 56px;position:relative;overflow:hidden;
    animation:fadeInLeft .5s ease;
}
.kk-auth-aside::before{
    content:'';position:absolute;top:-80px;right:-80px;
    width:240px;height:240px;border-radius:50%;
    border:1px solid rgba(51,112,255,.15);
}
.kk-auth-aside::after{
    content:'';position:absolute;bottom:-100px;left:-60px;
    width:200px;height:200px;border-radius:50%;
    border:1px solid rgba(51,112,255,.1);
}
.kk-auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:48px;position:relative;z-index:1}
.kk-auth-brand-logo{
    width:40px;height:40px;border-radius:10px;background:var(--brand);
    display:flex;align-items:center;justify-content:center;
}
.kk-auth-brand-name{font-size:1.15rem;font-weight:700;letter-spacing:.3px}
.kk-auth-headline{
    font-size:2rem;font-weight:800;line-height:1.3;margin-bottom:18px;
    position:relative;z-index:1;
}
.kk-auth-tagline{
    font-size:.95rem;color:#aaa;line-height:1.8;margin-bottom:40px;
    position:relative;z-index:1;
}
.kk-auth-points{position:relative;z-index:1}
.kk-auth-point{
    display:flex;align-items:center;gap:12px;padding:10px 0;
    color:#ccc;font-size:.9rem;
}
.kk-auth-point-dot{
    width:24px;height:24px;border-radius:50%;background:rgba(51,112,255,.2);
    color:var(--brand);display:flex;align-items:center;justify-content:center;
    flex-shrink:0;font-size:.7rem;font-weight:700;
}

.kk-auth-main{
    flex:1;display:flex;align-items:center;justify-content:center;
    padding:48px 28px;animation:fadeIn .5s ease;
}
.kk-auth-card{
    width:100%;max-width:400px;
}
.kk-auth-card-title{font-size:1.5rem;font-weight:700;color:var(--text-1);margin-bottom:6px}
.kk-auth-card-subtitle{font-size:.9rem;color:var(--text-3);margin-bottom:36px}
.kk-auth-form .form-group{margin-bottom:20px}
.kk-auth-form label{display:block;font-size:.85rem;color:var(--text-2);margin-bottom:8px;font-weight:600}
.kk-auth-form .form-input{
    width:100%;padding:13px 16px;border:1px solid #d0d4d9;border-radius:var(--radius);
    font-size:.92rem;outline:none;background:#fff;transition:all .2s;
}
.kk-auth-form .form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(51,112,255,.1)}
.kk-auth-submit{
    width:100%;padding:13px;background:var(--brand);color:#fff;border:none;
    border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;
    margin-top:8px;transition:all .2s;box-shadow:0 2px 8px rgba(51,112,255,.25);
}
.kk-auth-submit:hover{background:var(--brand-hover);box-shadow:0 4px 16px rgba(51,112,255,.35);transform:translateY(-1px)}
.kk-auth-submit:active{transform:translateY(0)}
.kk-auth-error{
    padding:12px 16px;background:#fef0ef;color:#d93025;border-radius:var(--radius);
    font-size:.85rem;margin-bottom:20px;text-align:center;font-weight:500;
    animation:slideDown .3s ease;
}
.kk-auth-footer{
    text-align:center;margin-top:24px;font-size:.85rem;color:var(--text-3);
}
.kk-auth-footer a{color:var(--brand);font-weight:600}
.kk-auth-footer a:hover{color:var(--brand-hover)}

@media(max-width:768px){
    .kk-auth-aside{display:none}
    .kk-hero{padding:48px 20px 32px}
    .kk-hero-title{font-size:1.8rem}
    .kk-hero-subtitle{font-size:.95rem}
    .kk-features{padding:0 20px 40px}
}

/* ---- 网格视图文件卡 ---- */
.pan-file-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:14px;
}
.pan-file-card{
    background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
    padding:20px 16px;text-align:center;cursor:pointer;transition:all .2s;
    animation:fadeInUp .4s ease both;
}
.pan-file-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--brand)}
.pan-file-card .file-icon-sm{margin:0 auto 12px;width:48px;height:48px;border-radius:10px;font-size:.85rem}
.pan-file-card .file-name-text{font-size:.82rem;display:block;text-align:center}
.pan-file-card .file-meta-sm{font-size:.72rem;color:var(--text-4);margin-top:4px}

/* ---- 升级页面定价卡 ---- */
.kk-price-card{
    background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);
    overflow:hidden;transition:all .3s;animation:fadeInUp .4s ease both;
    display:flex;flex-direction:column;
}
.kk-price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.kk-price-card.current{border:2px solid var(--brand);box-shadow:0 4px 20px rgba(51,112,255,.12)}
.kk-price-header{padding:24px 20px;text-align:center;border-bottom:1px solid var(--border-light)}
.kk-price-name{font-size:1.05rem;font-weight:700;color:var(--text-1);margin-bottom:10px}
.kk-price-value{display:flex;align-items:baseline;justify-content:center}
.kk-price-symbol{font-size:.85rem;color:var(--text-3);margin-right:2px;font-weight:500}
.kk-price-num{font-size:2rem;font-weight:800;color:var(--text-1);line-height:1}
.kk-price-unit{font-size:.8rem;color:var(--text-3);margin-left:3px}
.kk-price-body{padding:18px 20px;flex:1}
.kk-price-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:.83rem;color:var(--text-2)}
.kk-price-foot{padding:18px 20px;border-top:1px solid var(--border-light)}