/* ==========================================================================
   Cerk 加密系统（面板）UI 皮肤 —— 用于「授权系统 · 面板UI版」
   上半部分：直接取自面板 view/admin/index.html 的内联样式（侧边栏/分组标题/导航高亮）
   下半部分：按面板实测的视觉参数补齐（统计行、卡片、表格、按钮、logo）
   只改外观，不改任何业务逻辑
   ========================================================================== */
.is-hidden{display:none !important}.home-update-card{border:1px solid #e8ecf4;border-radius:16px;padding:22px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);box-shadow:0 8px 20px rgba(15,23,42,0.08);transition:box-shadow 0.2s ease,border-color 0.2s ease}.home-update-card.has-update{border-color:#c7d7ff;box-shadow:0 12px 26px rgba(59,130,246,0.15)}.home-update-info{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.home-update-primary{display:flex;align-items:center;gap:14px}.home-update-primary-icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#34d399,#4ade80);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px}.home-update-primary-label{font-size:13px;color:#8c98b1;letter-spacing:0.5px}.home-update-primary-value{font-size:22px;font-weight:600;color:#0f172a}.home-update-summary{min-width:160px;border-radius:14px;background:#eef4ff;padding:12px 18px;text-align:right}.home-update-summary .summary-label{font-size:12px;color:#7c8db0}.home-update-summary .summary-value{font-size:20px;font-weight:600;color:#1d4ed8}.home-update-empty{font-size:13px;color:#9aa6c2;padding:4px 2px}.home-update-actions{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px dashed #e0e6f1;padding-top:16px;gap:12px;flex-wrap:wrap}.home-update-hint{display:flex;align-items:center;gap:8px;color:#64748b;font-size:13px}.home-update-hint .hint-dot{width:8px;height:8px;background:#22d3ee;border-radius:50%;display:inline-flex}.home-update-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:28px;padding:10px 26px;font-size:14px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 10px 18px rgba(37,99,235,0.25)}.home-update-btn:hover{opacity:0.92}.home-update-btn:disabled{opacity:0.6;cursor:not-allowed;box-shadow:none}@media (max-width:768px){.home-update-card{padding:16px}.home-update-summary{width:100%;text-align:left}.home-update-actions{flex-direction:column;align-items:flex-start}.home-update-btn{width:100%;justify-content:center}}.layui-side .layui-side-scroll{display:flex;flex-direction:column;height:100%}.layui-side .layui-side-scroll .layui-nav{flex:1 1 auto}.nav-group-title{padding:12px 20px 6px;font-size:12px;color:#999;font-weight:600;letter-spacing:0.5px;display:block !important}@media screen and (min-width:769px){.admin-nav-mini .nav-group-title{display:none !important}}@media screen and (max-width:768px){.layui-side .nav-group-title{display:block !important}.admin-side-nav .nav-group-title{display:block !important}}.layui-nav-tree .layui-nav-item > a{display:flex;align-items:center;padding:0 20px;height:40px;line-height:40px;position:relative}.layui-nav-tree .layui-nav-item > a .layui-icon{font-size:16px;margin-right:10px;color:#666 !important;width:auto !important;height:auto !important;line-height:inherit !important;background:none !important;background-color:transparent !important;border-radius:0 !important;text-align:left !important}.layui-nav-tree .layui-nav-item > a cite{flex:1;font-style:normal}.layui-nav-tree .layui-nav-item > a:hover{background-color:#f5f5f5}.layui-nav-tree .layui-nav-item.layui-this > a,.layui-nav-tree .layui-nav-item > a.layui-this{background-color:#e6f7ff;color:#1890ff}.layui-nav-tree .layui-nav-item.layui-this > a .layui-icon{color:#1890ff;background:none !important;background-color:transparent !important}.layui-nav-tree .layui-nav-item.layui-this > a::before,.layui-nav-tree .layui-nav-item > a.layui-this::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#1890ff}.layui-side{background:#fff}.layui-side-scroll{background:#fff}.layui-nav-tree .layui-nav-item{margin:0}

/* ==========================================================================
   补充样式：数值全部按面板线上实测的参数对齐
   面板实测：body #f5f7f9 / .layui-fluid padding 15px / 卡片 radius 2px、边框 1px #e6e6e6、无阴影
             统计行 .data-row：白底 + 1px #e6e6e6 + radius 2px，每列 padding 18px 10px
             数字 22px/600（颜色 #1e9fff 等），标签 12px #999
             强调卡 .cloud-box：linear-gradient(135deg,#f7faff,#eef4ff) + 左侧 3px #1e9fff
   ========================================================================== */

/* 顶部 logo：面板 logo 为方形，限制高度避免拉伸 */
.layui-logo { display: flex; align-items: center; }
.layui-logo img { height: 30px; width: auto; max-width: 34px; margin-right: 8px; }
.layui-logo cite { font-size: 15px; font-weight: 600; }

/* 统计行（对应面板工作台的 .data-row） */
.ps-stats { display: flex; background: #fff; border: 1px solid #e6e6e6; border-radius: 2px; margin-bottom: 15px; }
.ps-stat { flex: 1 1 0; padding: 18px 10px; text-align: center; }
.ps-stat .ps-num { font-size: 22px; font-weight: 600; line-height: 1.25; }
.ps-stat .ps-txt { font-size: 12px; color: #999; margin-top: 4px; }
.ps-blue   { color: #1e9fff; }
.ps-green  { color: #16b777; }
.ps-orange { color: #ffb800; }
.ps-red    { color: #ff5722; }
.ps-purple { color: #a233c6; }
.ps-dark   { color: #2f4056; }

/* 卡片：与面板 .sysinfo-card 一致（白底 + 1px #e6e6e6 + 2px 圆角，无阴影） */
.layui-card { border-radius: 2px; border: 1px solid #e6e6e6; box-shadow: none; background: #fff; }
.layui-card-header { font-size: 14px; font-weight: 500; color: #333; border-bottom: 1px solid #f0f0f0; }

/* 强调卡（云账号/授权状态那种带左侧蓝条的观感） */
.ps-accent {
    background: linear-gradient(135deg, #f7faff, #eef4ff);
    border: none; border-left: 3px solid #1e9fff; border-radius: 2px;
    padding: 16px 20px;
}
.ps-accent .ps-accent-label { font-size: 12px; color: #8a94a6; }
.ps-accent .ps-accent-value { font-size: 26px; font-weight: 600; color: #1e9fff; line-height: 1.1; }

/* 表格 / 输入框：保持 layui 默认，仅统一边框色（与面板一致） */
.layui-table-view { border-radius: 0; }
.layui-table th { background: transparent !important; color: #666; font-weight: 400; }

/* 侧边栏分组标题在浅色背景下更清楚 */
.nav-group-title { color: #999; }

@media (max-width: 768px) {
    .ps-stats { flex-wrap: wrap; }
    .ps-stat { flex: 1 1 33%; }
}

/* ==========================================================================
   覆盖 easyweb 主题（theme-colorful）默认的深色侧边栏/顶栏，
   使观感与面板一致（白底侧边栏 + 浅色分组标题 + 蓝色高亮）
   面板实测：side/header #fff，nav item 高 40px、padding 5px 20px、高亮 #2d8cf0，
             nav 图标 #666 / 12px，分组标题 12px #999/600
   ========================================================================== */
.layui-layout-admin .layui-side,
.layui-layout-admin .layui-side-scroll,
.layui-side .layui-nav-tree { background: #fff !important; }
.layui-layout-admin .layui-header { background: #fff !important; }
.layui-layout-admin .layui-header .layui-nav .layui-nav-item > a { color: #333; }
.layui-layout-admin .layui-header .layui-nav .layui-nav-item > a:hover { color: #2d8cf0; }
.layui-nav-tree .layui-nav-item > a { height: 40px !important; line-height: 40px !important; padding: 5px 20px !important; color: #4a5568; }
.layui-nav-tree .layui-nav-item > a cite { color: inherit; font-size: 14px; }
.layui-nav-tree .layui-nav-item > a .layui-icon { color: #666 !important; font-size: 12px !important; }
.layui-nav-tree .layui-nav-item.layui-this > a,
.layui-nav-tree .layui-nav-item > a.layui-this { background-color: #e6f7ff !important; color: #2d8cf0 !important; }
.layui-nav-tree .layui-nav-item > a:hover { background-color: #f5f7fa !important; }
.layui-layout-admin .layui-footer { background: #fff; color: #999; }

/* ==========================================================================
   观感打磨层（v2）：让后台/用户中心看起来更精致
   目标：统一圆角与阴影、拉开层次、补上分隔线与交互反馈；不改任何布局结构
   ========================================================================== */

/* 顶栏：白底 + 细分隔 + 轻微投影，logo 区域加分隔线 */
.layui-layout-admin .layui-header { background: #fff !important; box-shadow: 0 1px 4px rgba(15, 23, 42, .06) !important; border-bottom: 1px solid #eef1f6 !important; }
.layui-layout-admin .layui-header .layui-logo { border-right: 1px solid #eef1f6 !important; color: #1f2d3d !important; background: #fff !important; }
.layui-layout-admin .layui-header .layui-nav .layui-nav-item > a { color: #4a5568; transition: color .15s ease, background-color .15s ease; border-radius: 6px; }
.layui-layout-admin .layui-header .layui-nav .layui-nav-item > a:hover { color: #2d8cf0; background: #f2f7ff; }
.layui-layout-admin .layui-header .layui-nav .layui-nav-img { border: 2px solid #eef1f6; }

/* 侧边栏：右分隔线 + 更清晰的分组标题 */
.layui-layout-admin .layui-side { border-right: 1px solid #eef1f6 !important; }
.nav-group-title { padding: 14px 20px 6px; font-size: 12px; letter-spacing: .6px; color: #9aa6c2; text-transform: none; }
.layui-nav-tree .layui-nav-item > a { border-radius: 0 20px 20px 0; margin-right: 8px; transition: background-color .15s ease, color .15s ease; }
.layui-nav-tree .layui-nav-item > a:hover { background: #f2f7ff !important; color: #2d8cf0 !important; }
.layui-nav-tree .layui-nav-item.layui-this > a { font-weight: 500; }
.layui-nav-tree .layui-nav-child dd a { border-radius: 0 18px 18px 0; margin-right: 8px; }
.layui-nav-tree .layui-nav-child dd a:hover { background: #f2f7ff !important; color: #2d8cf0 !important; }

/* 标签页：标准 easyweb 观感（底部细线 + 选中项蓝色下划线） */
.layui-layout-admin .layui-body { background: #f5f7f9; }
.layui-tab-title { border-bottom: 1px solid #eef1f6 !important; background: #fff !important; }
.layui-tab-title li { height: 40px; line-height: 40px; color: #4a5568; font-size: 13px; }
.layui-tab-title li:hover { color: #2d8cf0; }
.layui-tab-title .layui-this { color: #2d8cf0 !important; font-weight: 500; }
.layui-tab-title .layui-this:after { height: 100% !important; border: none !important; border-bottom: 2px solid #2d8cf0 !important; border-radius: 0 !important; }

/* 卡片：统一 10px 圆角 + 柔和阴影 + 标题字重 */
.layui-card { border-radius: 10px !important; border: 1px solid #eef1f6 !important; box-shadow: 0 6px 18px rgba(15, 23, 42, .05) !important; overflow: hidden; }
.layui-card-header { height: 48px; line-height: 48px; padding: 0 18px; font-size: 15px; font-weight: 600; color: #1f2d3d; background: #fff; border-bottom: 1px solid #f2f4f8 !important; }
.layui-card-body { padding: 18px; }

/* 表格：表头浅灰底 + 行悬浮 + 圆角外框 */
.layui-table-view { border-radius: 10px !important; border-color: #eef1f6 !important; overflow: hidden; }
.layui-table th { background: #fafbfd !important; color: #475569 !important; font-weight: 600 !important; height: 42px; }
.layui-table td { color: #4a5568; height: 42px; }
.layui-table tbody tr:hover { background: #f7faff !important; }
.layui-table-cell { line-height: 30px; }

/* 按钮：统一 6px 圆角 + 主按钮轻微投影 + 悬浮反馈 */
.layui-btn, .layui-btn-sm, .layui-btn-xs, .layui-btn-lg { border-radius: 6px; transition: opacity .15s ease, box-shadow .15s ease, transform .15s ease; }
.layui-btn:hover { opacity: .92; }
.layui-btn-normal, .layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm):not(.layui-btn-disabled) { box-shadow: 0 2px 6px rgba(45, 140, 240, .22); }
.layui-btn-primary { border-color: #e2e8f0; color: #4a5568; }
.layui-btn-primary:hover { border-color: #2d8cf0; color: #2d8cf0; }

/* 表单：圆角输入 + 聚焦高亮 */
.layui-input, .layui-select, .layui-textarea { border-radius: 6px; border-color: #e2e8f0; transition: border-color .15s ease, box-shadow .15s ease; }
.layui-input:focus, .layui-textarea:focus, .layui-select:focus { border-color: #2d8cf0 !important; box-shadow: 0 0 0 3px rgba(45, 140, 240, .12); }
.layui-form-label { color: #475569; }
.layui-form-select dl { border-radius: 8px; box-shadow: 0 8px 24px rgba(15, 23, 42, .12); border-color: #eef1f6; }

/* 徽标/标签：统一圆角 */
.layui-badge, .layui-badge-rim, .layui-btn-badge { border-radius: 10px; }
.encrypt-tag { display: inline-block; padding: 2px 8px; font-size: 10px; border-radius: 10px; margin-left: 8px; font-weight: 500; line-height: 1.2; }
.tag-blue { background: #1890ff; color: #fff; }
.tag-orange { background: #fa8c16; color: #fff; }
.tag-green { background: #52c41a; color: #fff; }

/* 页脚与滚动条 */
.layui-footer { border-top: 1px solid #eef1f6 !important; background: #fff !important; color: #9aa6c2 !important; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #d8dee9; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #c2cad8; }
::-webkit-scrollbar-track { background: transparent; }
