/* === 可道云 UI 美化 - 现代化视觉优化 === */

/* ========== 全局变量 ========== */
:root {
  --primary: #4f8cf7;
  --primary-hover: #3b7de6;
  --primary-light: #eef4ff;
  --radius: 10px;
  --radius-sm: 6px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);
  --transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========== 全局字体 & 抗锯齿 ========== */
body, button, input, select, textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ========== 顶部导航栏 - 玻璃拟态 ========== */
#page-desktop .topbar,
#app.app-desktop .topbar {
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 1px 8px rgba(0,0,0,.04) !important;
}

.dark-mode #app.app-desktop .topbar,
.dark-mode #page-desktop .topbar {
  background: rgba(30,30,30,0.8) !important;
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

#app.app-desktop .topbar .content {
  border-bottom: none !important;
}

/* 顶部菜单按钮 */
#app.app-desktop .topbar .content .topbar-menu {
  color: #555 !important;
  border-radius: 8px !important;
  transition: all var(--transition) !important;
}
#app.app-desktop .topbar .content .topbar-menu:hover,
#app.app-desktop .topbar .content .topbar-menu.this {
  background: rgba(79,140,247,.1) !important;
  color: var(--primary) !important;
  text-shadow: none !important;
}

/* ========== 侧边栏美化 ========== */
.frame-main .sidebar,
.app-sidebar,
.desktop-left-menu {
  background: #fafbfc !important;
  border-right: 1px solid rgba(0,0,0,.04) !important;
}

.dark-mode .frame-main .sidebar,
.dark-mode .app-sidebar {
  background: #1a1a1a !important;
  border-right: 1px solid rgba(255,255,255,.04) !important;
}

/* 侧边栏项目 */
.sidebar .menu-item,
.sidebar .nav-item,
.frame-main .sidebar a {
  border-radius: var(--radius-sm) !important;
  margin: 2px 8px !important;
  transition: all var(--transition) !important;
}

.sidebar .menu-item:hover,
.sidebar .nav-item:hover,
.frame-main .sidebar a:hover {
  background: rgba(79,140,247,.08) !important;
}

.sidebar .menu-item.active,
.sidebar .nav-item.active,
.frame-main .sidebar a.active,
.frame-main .sidebar a.this {
  background: var(--primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(79,140,247,.3) !important;
}

/* ========== 应用卡片 (桌面) ========== */
.app-content .app-list .app-li {
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
}

.app-content .app-list .app-li:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.04) !important;
  border-color: rgba(79,140,247,.2) !important;
}

.app-content .app-list .app-li .icon {
  border-radius: 12px 12px 0 0 !important;
  background: linear-gradient(135deg, #eef4ff 0%, #f5f8ff 100%) !important;
}

/* ========== 按钮美化 ========== */
.kui-btn,
.btn {
  border-radius: 8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  transition: all var(--transition) !important;
  box-shadow: var(--shadow-sm) !important;
}

.kui-btn:hover,
.btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow) !important;
}

.kui-btn:active,
.btn:active {
  transform: translateY(0) !important;
}

/* 主按钮 */
.kui-btn-blue,
.kui-btn-normal,
.btn-primary {
  background: linear-gradient(135deg, #5b9cf5 0%, #4f8cf7 100%) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(79,140,247,.3) !important;
}

.kui-btn-blue:hover,
.kui-btn-normal:hover,
.btn-primary:hover {
  background: linear-gradient(135deg, #4f8cf7 0%, #3b7de6 100%) !important;
  box-shadow: 0 4px 16px rgba(79,140,247,.4) !important;
}

/* ========== 弹窗美化 ========== */
.dialog-content,
.kui-dialog,
.dialog-container {
  border-radius: 14px !important;
  box-shadow: var(--shadow-lg) !important;
  overflow: hidden !important;
}

.dialog-title,
.dialog-header {
  background: #fafbfc !important;
  border-bottom: 1px solid rgba(0,0,0,.04) !important;
  font-weight: 600 !important;
  padding: 16px 20px !important;
}

.dialog-body,
.dialog-form-body {
  padding: 20px !important;
}

.dialog-footer {
  background: #fafbfc !important;
  border-top: 1px solid rgba(0,0,0,.04) !important;
  padding: 12px 20px !important;
}

/* 弹窗遮罩 */
.dialog-bg-blur,
.dialog-mask {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  background: rgba(0,0,0,.25) !important;
}

/* ========== 文件列表 ========== */
.file-list .file-item,
.file-list-list .item {
  border-radius: 8px !important;
  margin: 2px 4px !important;
  transition: all var(--transition) !important;
  border: 1px solid transparent !important;
}

.file-list .file-item:hover,
.file-list-list .item:hover {
  background: rgba(79,140,247,.04) !important;
  border-color: rgba(79,140,247,.1) !important;
}

.file-list .file-item.selected,
.file-list .file-item.this,
.file-list-list .item.selected,
.file-list-list .item.this {
  background: rgba(79,140,247,.08) !important;
  border-color: rgba(79,140,247,.2) !important;
  box-shadow: var(--shadow-sm) !important;
}

/* ========== 搜索框美化 ========== */
input[type="search"],
input[type="text"],
.search-input,
.kod-search input {
  border-radius: 10px !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  padding: 8px 16px !important;
  transition: all var(--transition) !important;
  background: rgba(0,0,0,.02) !important;
}

input[type="search"]:focus,
input[type="text"]:focus,
.search-input:focus-within {
  border-color: var(--primary) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(79,140,247,.15) !important;
  outline: none !important;
}

/* ========== 自定义滚动条 ========== */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.15);
  border-radius: 3px;
  transition: background var(--transition);
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,.25);
}

.dark-mode ::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.15);
}

.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,.25);
}

/* ========== 右键菜单美化 ========== */
.contextmenu,
.dropdown-menu,
.menu-context {
  border-radius: 10px !important;
  box-shadow: var(--shadow-lg) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  overflow: hidden !important;
  padding: 6px !important;
}

.contextmenu .menu-item,
.dropdown-menu > li > a {
  border-radius: 6px !important;
  margin: 2px 0 !important;
  padding: 8px 16px !important;
  transition: all var(--transition) !important;
}

.contextmenu .menu-item:hover,
.dropdown-menu > li > a:hover {
  background: rgba(79,140,247,.08) !important;
  color: var(--primary) !important;
}

/* ========== 路径导航美化 ========== */
.path-navi,
.breadcrumb-path,
.toolbar-path {
  background: rgba(0,0,0,.02) !important;
  border-radius: 10px !important;
  padding: 4px 8px !important;
  border: 1px solid rgba(0,0,0,.04) !important;
}

/* ========== 登录页美化 ========== */
.login-page,
.user-login-page,
body.user-login {
  background: linear-gradient(135deg, #f0f5ff 0%, #e8f0fe 40%, #f5f0ff 100%) !important;
}

.login-box,
.login-container,
.login-form {
  border-radius: 16px !important;
  box-shadow: var(--shadow-lg) !important;
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,.8) !important;
}

.login-box .login-logo {
  border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
}

/* ========== 加载动画优化 ========== */
.loading-body div {
  border-radius: 12px !important;
  box-shadow: var(--shadow) !important;
  opacity: 0.9 !important;
}

/* ========== 标签/徽章 ========== */
.badge, .label, .tag {
  border-radius: 6px !important;
  font-weight: 500 !important;
  padding: 3px 10px !important;
}

/* ========== 表格美化 ========== */
table.table {
  border-radius: 10px !important;
  overflow: hidden !important;
}

table.table thead th {
  background: #f8fafc !important;
  border-bottom: 2px solid rgba(79,140,247,.1) !important;
  font-weight: 600 !important;
  color: #555 !important;
}

/* ========== Tab切换 ========== */
.dialog-tab .tab-item,
.nav-tabs > li > a {
  border-radius: 8px 8px 0 0 !important;
  transition: all var(--transition) !important;
}

.nav-tabs > li.active > a {
  color: var(--primary) !important;
  border-bottom-color: var(--primary) !important;
}

/* ========== 开关/滑块美化 ========== */
input[type="checkbox"] {
  accent-color: var(--primary) !important;
}

/* ========== 工具栏 ========== */
.toolbar {
  padding: 10px 16px !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(0,0,0,.04) !important;
}

.toolbar-item {
  border-radius: 8px !important;
  transition: all var(--transition) !important;
}

.toolbar-item:hover {
  background: rgba(79,140,247,.08) !important;
  color: var(--primary) !important;
}

/* ========== 提示/消息框 ========== */
.kui-notify-item,
.notify,
.alert {
  border-radius: 10px !important;
  box-shadow: var(--shadow) !important;
}

/* ========== 暗色模式增强 ========== */
.dark-mode .app-content .app-list .app-li {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.06) !important;
}

.dark-mode .dialog-content {
  background: #1e1e1e !important;
}

.dark-mode input[type="text"],
.dark-mode input[type="search"] {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: #ddd !important;
}

.dark-mode .toolbar {
  background: #1a1a1a !important;
  border-bottom-color: rgba(255,255,255,.04) !important;
}

/* ========== 渐进式显示动画 ========== */
.dialog-content {
  animation: dialogIn 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes dialogIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.app-li, .file-item, .toolbar-item {
  animation: fadeInUp 0.3s ease-out both;
}

/* ========== 图标美化 ========== */

/* 全局图标渲染优化 */
.ri-lg, .ri-xl, .ri-xxs, .ri-xs, .ri-sm, .ri-1x,
.ri-2x, .ri-3x, .ri-4x, .ri-5x,
[class^="ri-"], [class*=" ri-"],
.kod-svg-font, [class^="kod-"], [class*=" kod-"] {
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* 图标通用过渡动效 */
[class^="ri-"], [class*=" ri-"],
.kod-svg-font, [class*=" kod-"] {
  transition: color 0.2s ease, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease !important;
}

/* 可点击图标的悬停效果 */
a [class^="ri-"], a [class*=" ri-"],
a .kod-svg-font,
button [class^="ri-"], button [class*=" ri-"],
.kod-toolbar-item [class^="ri-"],
.toolbar-item [class^="ri-"],
.toolbar-item [class*=" ri-"],
.toolbar-item .kod-svg-font {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ========== 侧边栏图标 ========== */
/* 让侧边栏菜单图标更大更有呼吸感 */
.frame-main-explorer .sidebar [class^="ri-"],
.frame-main-explorer .sidebar [class*=" ri-"],
.sidebar-nav [class^="ri-"],
.sidebar-nav [class*=" ri-"],
.left-menu [class^="ri-"],
.left-menu [class*=" ri-"],
.desktop-left-menu [class^="ri-"],
.desktop-left-menu [class*=" ri-"],
.frame-main .sidebar .menu-item [class^="ri-"],
.frame-main .sidebar .nav-item [class^="ri-"] {
  font-size: 1.15em !important;
  width: 1.3em !important;
  vertical-align: -0.1em !important;
}

/* 侧边栏激活状态的图标 */
.frame-main .sidebar .active [class^="ri-"],
.frame-main .sidebar .this [class^="ri-"],
.frame-main .sidebar a.active [class^="ri-"],
.frame-main .sidebar a.this [class^="ri-"],
.sidebar .menu-item.active [class^="ri-"],
.sidebar .nav-item.active [class^="ri-"],
.desktop-left-menu .active [class^="ri-"] {
  color: #fff !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15)) !important;
}

/* ========== 顶部导航图标 ========== */
.topbar-menu [class^="ri-"],
.topbar-menu [class*=" ri-"],
.topbar-menu .kod-svg-font {
  font-size: 1.2em !important;
  transition: all 0.2s ease !important;
}

.topbar-menu:hover [class^="ri-"],
.topbar-menu:hover [class*=" ri-"],
.topbar-menu.this [class^="ri-"],
.topbar-menu.this [class*=" ri-"] {
  transform: scale(1.08) !important;
  color: var(--primary) !important;
}

/* ========== 工具栏图标增强 ========== */
.toolbar-item [class^="ri-"],
.toolbar-item [class*=" ri-"],
.toolbar-item .kod-svg-font,
.toolbar-group [class^="ri-"],
.toolbar-group [class*=" ri-"],
.toolbar .kod-svg-font {
  font-size: 1.25em !important;
  vertical-align: -0.12em !important;
}

.toolbar-item:hover [class^="ri-"],
.toolbar-item:hover [class*=" ri-"],
.toolbar-item:hover .kod-svg-font {
  transform: scale(1.1) !important;
  color: var(--primary) !important;
}

.toolbar-item:active [class^="ri-"],
.toolbar-item:active [class*=" ri-"] {
  transform: scale(0.95) !important;
}

/* ========== 文件类型图标颜色 ========== */
/* 文件夹 - 暖金色 */
[class*="kod-folder"]:before,
.ri-folder-fill:before, .ri-folder-line:before,
.ri-folder-2-fill:before, .ri-folder-2-line:before,
.ri-folder-3-fill:before, .ri-folder-3-line:before,
.ri-folder-4-fill:before, .ri-folder-4-line:before,
.ri-folder-5-fill:before, .ri-folder-5-line:before {
  color: #f5a623 !important;
}

/* 图片文件 */
[class*="kod-image"]:before,
[class*="kod-picture"]:before,
[class*="kod-photo"]:before,
[class*="kod-jpg"]:before,
.ri-image-fill:before, .ri-image-line:before,
.ri-gallery-fill:before, .ri-gallery-line:before,
.ri-landscape-fill:before, .ri-landscape-line:before,
.ri-camera-fill:before, .ri-camera-line:before {
  color: #f06292 !important;
}

/* 视频文件 */
.kod-video:before, .kod-movie:before, .kod-MP4:before,
.ri-video-fill:before, .ri-video-line:before,
.ri-film-fill:before, .ri-film-line:before,
.ri-movie-fill:before, .ri-movie-line:before {
  color: #7c4dff !important;
}

/* 音频文件 */
[class*="kod-music"]:before, .kod-media:before,
.ri-music-fill:before, .ri-music-line:before,
.ri-music-2-fill:before, .ri-music-2-line:before,
.ri-headphone-fill:before, .ri-headphone-line:before,
.ri-volume-up-fill:before, .ri-volume-up-line:before {
  color: #ff6d3f !important;
}

/* 文档文件 */
.kod-doc:before, .kod-file-doc:before,
.kod-Icon-wenjianleixing-word:before,
.ri-file-text-fill:before, .ri-file-text-line:before,
.ri-file-word-fill:before, .ri-file-word-line:before,
.ri-article-fill:before, .ri-article-line:before {
  color: #4f8cf7 !important;
}

/* PDF */
.kod-pdf:before, .kod-pdf2:before,
.kod-Icon-wenjianleixing-pdf:before,
.ri-file-pdf-fill:before, .ri-file-pdf-line:before {
  color: #f44336 !important;
}

/* Excel/表格 */
.kod-excel:before, .kod-Icon-wenjianleixing-Excel:before,
.ri-file-excel-fill:before, .ri-file-excel-line:before,
.ri-table-fill:before, .ri-table-line:before {
  color: #4caf50 !important;
}

/* PPT/演示 */
.kod-ppt:before, .kod-ppt2:before,
.kod-Icon-wenjianleixing-ppt:before,
.ri-file-ppt-fill:before, .ri-file-ppt-line:before,
.ri-slideshow-fill:before, .ri-slideshow-line:before {
  color: #ff7043 !important;
}

/* 压缩包 */
[class*="kod-zip"]:before,
.ri-file-zip-fill:before, .ri-file-zip-line:before,
.ri-archive-fill:before, .ri-archive-line:before {
  color: #8d6e63 !important;
}

/* 代码文件 */
.kod-code:before, .kod-clean_code:before,
.ri-code-fill:before, .ri-code-line:before,
.ri-code-s-fill:before, .ri-code-s-line:before,
.ri-terminal-fill:before, .ri-terminal-line:before,
.ri-braces-fill:before, .ri-braces-line:before {
  color: #26a69a !important;
}

/* 分享/链接 */
.kod-share:before, .kod-share-link:before,
.kod-share-link-self:before, .kod-share-link-copy:before,
.kod-share-square-blue:before, .kod-share-square-green:before,
.kod-icon_share:before, .kod-chain:before, .kod-link:before,
.ri-share-fill:before, .ri-share-line:before,
.ri-share-forward-fill:before, .ri-share-forward-line:before,
.ri-link:before, .ri-links-fill:before, .ri-links-line:before {
  color: #4f8cf7 !important;
}

/* 设置/工具 */
.kod-setting:before, .kod-icon_set:before, .kod-icon_set1:before,
.ri-settings-fill:before, .ri-settings-line:before,
.ri-settings-2-fill:before, .ri-settings-2-line:before,
.ri-tools-fill:before, .ri-tools-line:before {
  color: #78909c !important;
}

/* 删除/关闭 */
.kod-delete:before, .kod-close:before, .kod-icon_close:before,
.ri-delete-bin-fill:before, .ri-delete-bin-line:before,
.ri-close-fill:before, .ri-close-line:before,
.ri-close-circle-fill:before, .ri-close-circle-line:before {
  color: #ef5350 !important;
}

/* 用户/人 */
.kod-user:before, .kod-user1:before, .kod-user2:before,
.kod-user-circle:before, .kod-icon_group:before,
.ri-user-fill:before, .ri-user-line:before,
.ri-user-3-fill:before, .ri-user-3-line:before,
.ri-group-fill:before, .ri-group-line:before,
.ri-team-fill:before, .ri-team-line:before {
  color: #42a5f5 !important;
}

/* 下载/上传 */
.kod-download:before, .kod-icon_download:before,
.kod-icon_download1:before, .kod-icon_upload1:before,
.ri-download-fill:before, .ri-download-line:before,
.ri-download-2-fill:before, .ri-download-2-line:before,
.ri-upload-fill:before, .ri-upload-line:before,
.ri-upload-2-fill:before, .ri-upload-2-line:before {
  color: #4f8cf7 !important;
}

/* 搜索 */
.kod-icon_search:before,
.ri-search-fill:before, .ri-search-line:before,
.ri-search-2-fill:before, .ri-search-2-line:before {
  color: #78909c !important;
}

/* 时间/时钟 */
.kod-icon_time:before, .kod-icon_alarm:before,
.ri-time-fill:before, .ri-time-line:before,
.ri-timer-fill:before, .ri-timer-line:before,
.ri-alarm-fill:before, .ri-alarm-line:before {
  color: #ffa726 !important;
}

/* 回收站 */
.kod-huishouzhan:before, .kod-huishouzhan2:before,
.ri-delete-bin-5-fill:before, .ri-delete-bin-5-line:before,
.ri-recycle-fill:before, .ri-recycle-line:before {
  color: #bdbdbd !important;
}

/* 收藏/星标 */
.kod-shoucang:before, .kod-shoucang2:before, .kod-shoucang3:before,
.kod-magic-star:before, .kod-magic-star1:before, .kod-magic-star2:before,
.kod-icon_collect:before,
.ri-star-fill:before, .ri-star-line:before,
.ri-heart-fill:before, .ri-heart-line:before {
  color: #ffc107 !important;
}

/* 锁/安全 */
.kod-icon_lock:before, .kod-icon_unlock:before,
.kod-folder-safe:before,
.ri-lock-fill:before, .ri-lock-line:before,
.ri-lock-2-fill:before, .ri-lock-2-line:before,
.ri-shield-fill:before, .ri-shield-line:before,
.ri-shield-check-fill:before, .ri-shield-check-line:before {
  color: #ffa726 !important;
}

/* 通知/消息 */
.kod-icon_message1:before, .kod-icon_mail_receive:before,
.kod-icon_mail_unread:before, .kod-icon_tips:before,
.ri-notification-fill:before, .ri-notification-line:before,
.ri-message-fill:before, .ri-message-line:before,
.ri-mail-fill:before, .ri-mail-line:before {
  color: #26c6da !important;
}

/* ========== 常用图标大小统一 ========== */
/* 文件列表中的图标 */
.file-list [class^="ri-"], .file-list [class*=" ri-"],
.file-list .kod-svg-font,
.file-item [class^="ri-"], .file-item [class*=" ri-"] {
  font-size: 1.2em !important;
  vertical-align: -0.1em !important;
}

/* 图标列表视图 - 大图标 */
.file-list-icon .file-item [class^="ri-"],
.file-list-icon .file-item [class*=" ri-"],
.file-list-icon .file-item [class^="kod-"],
.file-thumb [class^="ri-"], .file-thumb [class*=" ri-"] {
  font-size: 2em !important;
}

/* 详情列表中的小图标 */
.file-list-list .file-item [class^="ri-"],
.file-list-list .file-item [class*=" ri-"] {
  font-size: 1em !important;
}

/* ========== 应用桌面卡片图标 ========== */
.app-content .app-list .app-li .icon [class^="ri-"],
.app-content .app-list .app-li [class^="ri-"],
.app-content .app-list .app-li .icon .kod-svg-font {
  font-size: 2.5em !important;
  color: var(--primary) !important;
  opacity: 0.85 !important;
}

.app-content .app-list .app-li:hover [class^="ri-"],
.app-content .app-list .app-li:hover .icon .kod-svg-font {
  opacity: 1 !important;
  transform: scale(1.08) !important;
}

/* ========== 弹窗标题图标 ========== */
.dialog-title [class^="ri-"],
.dialog-title [class*=" ri-"],
.dialog-header [class^="ri-"],
.dialog-header [class*=" ri-"],
.dialog-form-title [class^="ri-"],
.dialog-form-title [class*=" ri-"] {
  font-size: 1.3em !important;
  vertical-align: -0.15em !important;
  margin-right: 6px !important;
  color: var(--primary) !important;
}

/* ========== 按钮内图标 ========== */
button [class^="ri-"], button [class*=" ri-"],
.btn [class^="ri-"], .btn [class*=" ri-"],
.kui-btn [class^="ri-"], .kui-btn [class*=" ri-"],
a.btn [class^="ri-"], a.btn [class*=" ri-"] {
  margin-right: 4px !important;
  font-size: 1.1em !important;
  vertical-align: -0.12em !important;
}

/* ========== 提示/通知图标 ========== */
.kui-notify-item .icon [class^="ri-"],
.kui-notify-item .icon [class*=" ri-"],
.alert [class^="ri-"], .alert [class*=" ri-"],
.notify [class^="ri-"], .notify [class*=" ri-"] {
  font-size: 1.3em !important;
  margin-right: 8px !important;
}

/* 成功图标绿色 */
.alert-success [class^="ri-"], .alert-success [class*=" ri-"],
.kui-notify-item.success [class^="ri-"],
.success .kod-svg-font, .kod-success:before {
  color: #4caf50 !important;
}

/* 错误图标红色 */
.alert-danger [class^="ri-"], .alert-danger [class*=" ri-"],
.kui-notify-item.error [class^="ri-"],
.error .kod-svg-font {
  color: #f44336 !important;
}

/* 警告图标橙色 */
.alert-warning [class^="ri-"], .alert-warning [class*=" ri-"],
.warning .kod-svg-font {
  color: #ff9800 !important;
}

/* 信息图标蓝色 */
.alert-info [class^="ri-"], .alert-info [class*=" ri-"],
.info .kod-svg-font {
  color: #2196f3 !important;
}

/* ========== 空状态图标 ========== */
.empty-page [class^="ri-"],
.empty-page [class*=" ri-"],
.empty-msg [class^="ri-"],
.empty-msg [class*=" ri-"],
.kod-empty:before, .kod--emptypage:before,
.kod-Empty-collection:before,
.ri-inbox-fill:before, .ri-inbox-line:before,
.ri-emotion-sad-fill:before, .ri-emotion-sad-line:before {
  color: #ccc !important;
  font-size: 3em !important;
  opacity: 0.6 !important;
}

/* ========== 加载/同步动画图标 ========== */
.ri-loader-fill:before, .ri-loader-line:before,
.ri-refresh-fill:before, .ri-refresh-line:before,
.ri-restart-fill:before, .ri-restart-line:before,
.kod-cloud-sync:before, .kod-Sync:before {
  animation: iconSpin 1.4s linear infinite !important;
  display: inline-block !important;
}

@keyframes iconSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ========== 脉冲提示图标 ========== */
.ri-notification-3-fill:before,
.ri-notification-3-line:before {
  animation: iconPulse 2s ease-in-out infinite !important;
}

@keyframes iconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

/* ========== 点击反馈微动效 ========== */
.kui-btn:active [class^="ri-"],
.kui-btn:active [class*=" ri-"],
.kui-btn:active .kod-svg-font {
  transform: scale(0.9) !important;
}

/* ========== 右键菜单图标 ========== */
.contextmenu .menu-item [class^="ri-"],
.contextmenu .menu-item [class*=" ri-"],
.contextmenu .menu-item .kod-svg-font,
.contextmenu [class^="ri-"],
.contextmenu [class*=" ri-"],
.dropdown-menu [class^="ri-"],
.dropdown-menu [class*=" ri-"] {
  font-size: 1.15em !important;
  margin-right: 8px !important;
  vertical-align: -0.1em !important;
  width: 1.3em !important;
  text-align: center !important;
}

/* 菜单项悬停时图标变色 */
.contextmenu .menu-item:hover [class^="ri-"],
.contextmenu .menu-item:hover [class*=" ri-"],
.contextmenu .menu-item:hover .kod-svg-font,
.dropdown-menu li:hover [class^="ri-"],
.dropdown-menu li:hover [class*=" ri-"] {
  color: var(--primary) !important;
}

/* ========== 暗色模式图标适配 ========== */
.dark-mode [class^="ri-"],
.dark-mode [class*=" ri-"],
.dark-mode .kod-svg-font,
.dark-mode .toolbar-item [class^="ri-"],
.dark-mode .toolbar-item [class*=" ri-"] {
  color: rgba(255,255,255,0.65) !important;
}

.dark-mode .sidebar .active [class^="ri-"],
.dark-mode .sidebar .this [class^="ri-"] {
  color: #fff !important;
}

.dark-mode .toolbar-item:hover [class^="ri-"],
.dark-mode .toolbar-item:hover [class*=" ri-"] {
  color: var(--primary) !important;
}

/* 暗色模式下的文件类型图标保持颜色 */
.dark-mode [class*="kod-folder"]:before { color: #ffc107 !important; }
.dark-mode [class*="kod-image"]:before,
.dark-mode [class*="kod-picture"]:before,
.dark-mode [class*="kod-photo"]:before,
.dark-mode .kod-jpg:before { color: #f48fb1 !important; }
.dark-mode .kod-video:before, .dark-mode .kod-movie:before,
.dark-mode .kod-MP4:before { color: #b39ddb !important; }
.dark-mode .kod-doc:before { color: #81d4fa !important; }
.dark-mode .kod-pdf:before, .dark-mode .kod-pdf2:before { color: #ef9a9a !important; }
.dark-mode .kod-excel:before { color: #a5d6a7 !important; }
.dark-mode .kod-ppt:before, .dark-mode .kod-ppt2:before { color: #ffab91 !important; }
.dark-mode [class*="kod-zip"]:before { color: #bcaaa4 !important; }
.dark-mode .kod-code:before { color: #80cbc4 !important; }
.dark-mode .kod-share:before, .dark-mode .kod-share-link:before,
.dark-mode .kod-chain:before, .dark-mode .kod-link:before { color: #81d4fa !important; }
.dark-mode .kod-delete:before, .dark-mode .kod-close:before { color: #ef9a9a !important; }
.dark-mode .kod-shoucang:before, .dark-mode .kod-shoucang2:before,
.dark-mode .kod-magic-star:before, .dark-mode .kod-magic-star1:before { color: #ffe082 !important; }
.dark-mode .kod-huishouzhan:before, .dark-mode .kod-huishouzhan2:before { color: #757575 !important; }
.dark-mode .kod-setting:before { color: #b0bec5 !important; }

/* ========== 响应式微调 ========== */
@media (max-width: 768px) {
  .app-content {
    left: 0 !important;
  }
  .dialog-content {
    border-radius: 10px !important;
    margin: 10px !important;
  }
}

/* ========== 登录页输入框修复 - 图标遮挡文字 ========== */
.page-model-login .loginbox .inputs .input-item input {
  padding-left: 56px !important;
  text-indent: 4px !important;
}
/* 非 loginbox 模式也修复 */
.page-model-login .inputs .input-item input {
  padding-left: 46px !important;
  text-indent: 4px !important;
}
/* 暗色模式输入框 */
.dark-mode .page-model-login .loginbox .inputs .input-item input {
  padding-left: 56px !important;
  text-indent: 4px !important;
}
