body {
    line-height: 0.7
}

.btn,
.form-control,
.input-group-prepend,
.input-group-append,
.input-group>.form-control,
.input-group>.input-group-append>.btn,
.input-group>.input-group-append>.input-group-text,
.input-group>.input-group-prepend>.btn,
.input-group>.input-group-prepend>.input-group-text,
.nav-tabs,
.nav-tabs .nav-link,
.login-banner,
.modal-content,
.social-list-item,
.login_right,
.select2-container--default .select2-selection--single,
.select2-dropdown,
.slider-verify-container,
#slider-verify-email,
#slider-verify-phone {
    border-radius: 0 !important
}

/* 电脑端圆角覆盖（媒体查询在后） */
@media (min-width: 769px) {
    /* 主容器 - 新增透明虚化效果 */
    .login_right,
    .modal-content {
        border-radius: 12px !important;
        overflow: hidden;
        /* 新增虚化效果 */
        background: rgba(255, 255, 255, 0.85) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        transition: all 0.3s ease;
    }

    /* 鼠标悬停时恢复效果 */
    .login_right:hover,
    .modal-content:hover {
        background: rgba(255, 255, 255, 1) !important;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
    }

    /* 基础元素 */
    .btn:not(.input-group-prepend > .btn):not(.input-group-append > .btn),
    .form-control:not(.input-group > .form-control) {
        border-radius: 6px !important;
    }

    /* 组合输入框特殊处理 */
    .input-group > .form-control:first-child {
        border-radius: 6px 0 0 6px !important;
    }
    
    .input-group-append > .btn:last-child {
        border-radius: 0 6px 6px 0 !important;
    }
}

.slider-verify-wrap,
.slider-verify-progress,
.slider-verify-block {
    border-radius: 0 !important
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    border-radius: 0
}

.logo.text-center {
    margin-bottom: 30px
}

.logo.text-center h1 {
    font-size: 32px;
    color: var(--text-color);
    font-weight: 500;
    margin: 0
}

.list-inline-item .icon {
    width: 2rem;
    height: 2rem
}

.input-group-prepend {
    width: 100px
}

.allow_login_code_captcha {
    display: none
}

.form-control,
.input-group-append {
    height: 40px
}

.login_right {
    padding: 40px;
    width: 75% !important;
    margin-left: auto;
    padding-bottom: 25px
}

.auth-full-page-content {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: url('/themes/clientarea/Q3user/assets/images/login-1_compressed.png') center center / cover no-repeat fixed
}

.login-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    height: 100vh;
    display: flex;
    align-items: flex-start;
    padding-top: 15vh;
    position: relative
}

.login-row {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 100%
}

.login-col-left {
    width: 45%;
    height: auto;
    max-width: 540px;
    position: relative
}

.login-banner {
    border-radius: 10px;
    overflow: hidden;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center
}

.login-banner img {
    max-width: 100%;
    height: auto;
    object-fit: contain
}

.login-col-right {
    width: 55%
}

.slider-verify-container {
    margin: 15px 0
}

.other-login-title {
    position: relative;
    text-align: center;
    margin-bottom: 20px
}

.other-login-title:before,
.other-login-title:after {
    content: '';
    position: absolute;
    top: 50%;
    width: 120px;
    height: 0.5px;
    background: rgba(232, 232, 232, 0.8)
}

.other-login-title:before {
    left: 50%;
    margin-left: -140px
}

.other-login-title:after {
    right: 50%;
    margin-right: -140px
}

.other-login-title span {
    display: inline-block;
    padding: 0 20px;
    color: #999;
    font-size: 12px;
    background: #fff;
    position: relative;
    z-index: 1
}

.agreement-divider {
    width: 100%;
    height: 0.5px;
    background: rgba(232, 232, 232, 0.8);
    margin: 20px 0 0 0
}

.form-group {
    position: relative
}

/* 输入框图标样式 */
.form-group .input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    z-index: 2;
    display: flex;
    align-items: center
}

.form-group .input-icon svg {
    width: 16px;
    height: 16px
}

.form-group label+.input-icon {
    top: calc(100% - 20px)
}

.form-group .d-flex+.input-icon {
    top: 38px
}

.input-group .input-icon {
    position: absolute;
    left: 110px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4
}

.form-control {
    padding-left: 40px !important
}

.input-group .form-control {
    padding-left: 40px !important
}

.input-group-prepend {
    width: 100px;
    margin-right: 0 !important
}

.input-group .input-icon {
    z-index: 5
}

.input-group-prepend .form-control {
    text-align: left;
    padding-left: 12px !important
}

.allow_login_code_captcha .input-group .input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4
}

.system-logo {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 100
}

.system-logo img {
    height: 45px;
    width: auto
}

.footer-info {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    padding: 15px 0;
    text-align: center;
    font-size: 12px;
    color: #666;
    line-height: 1.8
}

.footer-info p {
    margin: 0
}

.footer-info img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 5px
}

.footer-info .divider {
    display: inline-block;
    margin: 0 8px;
    color: #999
}

/* 手机端适配 (≤768px) */
@media (max-width: 768px) {
  body {
    line-height: 1.5 !important;
  }

  /* 隐藏输入框图标 */
  .form-group .input-icon,
  .input-group .input-icon {
      display: none !important;
  }

  /* 调整输入框padding */
  .form-control,
  .input-group .form-control {
      padding-left: 12px !important;
  }

  /* 布局调整 */
  .auth-full-page-content {
    background: #f8f9fa !important;
    align-items: flex-start !important;
  }

  .login-container {
    height: auto !important;
    padding-top: 8vh !important;
    align-items: center !important;
  }

  .login-col-left {
    display: none !important;
  }

  .login-col-right {
    width: 100% !important;
    margin-top: 0 !important;
  }

  .login_right {
    width: 100% !important;
    margin-left: 0 !important;
    padding: 30px 20px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    background: #fff;
    border-radius: 0 !important;
  }

  .input-group-prepend {
    width: 25% !important;
    min-width: 80px;
  }

  .form-control {
    font-size: 16px !important;
    height: 44px !important;
    border-radius: 0 !important;
  }

  .system-logo {
    position: absolute;
    top: 15px;
    left: 15px;
  }
  .system-logo img {
    height: 36px !important;
  }

  .footer-info {
    position: static;
    margin-top: 30px;
    background: transparent;
  }

  .other-login-title:before,
  .other-login-title:after {
    width: 20% !important;
    margin: 0 !important;
  }
}

/* 超小屏幕优化 (≤480px) */
@media (max-width: 480px) {
  .login-container {
    padding-top: 2vh !important;
  }

  .login_right {
    padding: 25px 15px !important;
  }

  .logo.text-center h1 {
    font-size: 24px !important;
  }

  .input-group-prepend {
    width: 30% !important;
    font-size: 14px !important;
  }
}