@use './variables.module.scss' as *;
@use './mixin.scss';
@use './transition.scss';
@use './element-ui.scss';
@use './sidebar.scss';
@use './btn.scss';
@use './ruoyi.scss';
@use 'animate.css';
@use 'element-plus/dist/index.css';

body {
  height: 100%;
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family:
    Helvetica Neue,
    Helvetica,
    PingFang SC,
    Hiragino Sans GB,
    Microsoft YaHei,
    Arial,
    sans-serif;
}

label {
  font-weight: 700;
}

html {
  height: 100%;
  box-sizing: border-box;
}

html.dark .svg-icon,
html.dark svg {
  fill: var(--el-text-color-regular);
}

#app {
  height: 100%;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

.no-padding {
  padding: 0px !important;
}

.padding-content {
  padding: 4px 0;
}

a:focus,
a:active {
  outline: none;
}

a,
a:focus,
a:hover {
  cursor: pointer;
  color: inherit;
  text-decoration: none;
}

div:focus {
  outline: none;
}

.fr {
  float: right;
}

.fl {
  float: left;
}

.pr-5 {
  padding-right: 5px;
}

.pl-5 {
  padding-left: 5px;
}

.block {
  display: block;
}

.pointer {
  cursor: pointer;
}

.inlineBlock {
  display: block;
}

.clearfix {
  &:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: ' ';
    clear: both;
    height: 0;
  }
}

aside {
  background: #eef1f6;
  padding: 8px 24px;
  margin-bottom: 20px;
  border-radius: 2px;
  display: block;
  line-height: 32px;
  font-size: 16px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  color: #2c3e50;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  a {
    color: #337ab7;
    cursor: pointer;

    &:hover {
      color: rgb(32, 160, 255);
    }
  }
}

//main-container全局样式
.app-container {
  padding: 20px;
}

// --- 旗舰设计语言 - 现代卡片规范 ---
.app-container {
  padding: 1.25rem;
  background-color: #f6f8fb;
  min-height: calc(100vh - 84px);
}

.modern-card {
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.03) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  background: #ffffff;
  overflow: visible; // 允许阴影溢出显示
  margin-bottom: 1.25rem;

  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px 0 rgba(0, 0, 0, 0.08) !important;
  }

  :deep(.el-card__header) {
    padding: 16px 20px !important;
    border-bottom: 1px solid #f0f2f5 !important;
    background: #ffffff;
    font-size: 16px;
    font-weight: 600;
    color: #303133;
  }

  :deep(.el-card__body) {
    padding: 20px !important;
  }
}

// 搜索面板特化样式
.search-card {
  @extend .modern-card;
  margin-bottom: 1rem;
  
  // 紧凑型按钮组样式
  .el-form-item {
    margin-bottom: 0px !important;
    margin-right: 18px !important;
  }
}

// 全局表格优化
.el-table {
  border-radius: 8px;
  overflow: hidden;
  --el-table-header-bg-color: #f8faff;
  
  th.el-table__cell {
    background-color: #f8faff !important;
    color: #606266;
    font-weight: 700;
    height: 48px;
  }
  
  td.el-table__cell {
    padding: 10px 0;
  }
}

// 统一按钮平滑动画
.el-button {
  border-radius: 6px;
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  
  &:hover:not(.is-disabled):not(.el-button--link) {
    transform: translateY(-1px);
    filter: brightness(1.05);
  }
  
  &:active:not(.is-disabled) {
    transform: scale(0.96);
  }
}

// 搜索显隐过渡
.search-wrapper {
  margin-bottom: 0px;
  overflow: hidden;
}

.components-container {
  margin: 30px 50px;
  position: relative;
}

.text-center {
  text-align: center;
}

.sub-navbar {
  height: 50px;
  line-height: 50px;
  position: relative;
  width: 100%;
  text-align: right;
  padding-right: 20px;
  transition: 600ms ease position;
  background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);

  .subtitle {
    font-size: 20px;
    color: #fff;
  }

  &.draft {
    background: #d0d0d0;
  }

  &.deleted {
    background: #d0d0d0;
  }
}

.link-type,
.link-type:focus {
  color: #337ab7;
  cursor: pointer;

  &:hover {
    color: rgb(32, 160, 255);
  }
}

.filter-container {
  padding-bottom: 10px;

  .filter-item {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 10px;
  }
}
