/* ============================================================
   登录页样式
   ============================================================ */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scrollbar-gutter: stable;
}

body {
  font-family: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont,
    'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  color: #222;
  margin: 0;
  background: #fff;
  min-height: 100vh;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---- 左上角Logo 样式已移至 /css/kream-header.css（所有页面共用） ---- */

/* ---- 内容容器 ---- */
.content {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
}

@media (min-width: 961px) {
  .content {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 768px) {
  .content {
    padding: 0 24px;
  }
  .content .login-area {
    padding: 50px 0 87px;
    width: 100%;
  }
  .content .login-title {
    padding-bottom: 40px;
  }
}

@media (max-width: 450px) {
  .content {
    padding: 0 16px;
  }
}

/* ---- 登录区域 ---- */
.login-area {
  margin: 0 auto;
  padding: 100px 0 160px;
  width: 400px;
}

/* ---- 登录标题（Logo + VIP + 副标题）---- */
.login-title {
  width: 100%;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 表格布局：table-cell 永不换行，兼容性最好；避免被其他 CSS 覆盖 */
.login-logo-wrap {
  display: table !important;
  table-layout: fixed;
  margin: 0 auto 8px;
  border-collapse: collapse;
}

.login-logo-wrap > .login-logo,
.login-logo-wrap > .login-vip {
  display: table-cell !important;
  vertical-align: middle;
}

.login-logo-wrap > .login-logo {
  width: 130px;
  padding: 0;
}

.login-logo-wrap > .login-vip {
  width: 24px;
  height: 24px;
  padding-left: 8px;
  color: #222;
}

.login-subtitle {
  font-size: 11px;
  letter-spacing: 1.2px;
  color: #222;
  font-weight: 700;
}

/* ---- 输入框组 ---- */
.input_box {
  padding: 10px 0 14px;
  position: relative;
}

.input_box .input_title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.07px;
  line-height: 18px;
  color: #222;
}

.input_box .input_item {
  position: relative;
}

.input_box .input_txt {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ebebeb;
  font-size: 15px;
  letter-spacing: -0.15px;
  line-height: 22px;
  padding: 8px 0;
  outline: none;
  background: transparent;
  color: #222;
  font-family: inherit;
  transition: border-color 0.2s;
}

.input_box .input_txt::placeholder {
  color: #bcbcbc;
}

.input_box .input_txt:focus {
  border-bottom-color: #222;
}

/* 覆盖浏览器自动填表（密码管理器）的默认蓝底，保持与页面一致 */
.input_box .input_txt:-webkit-autofill,
.input_box .input_txt:-webkit-autofill:hover,
.input_box .input_txt:-webkit-autofill:focus,
.input_box .input_txt:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 100px #fff inset;
  box-shadow: 0 0 0 100px #fff inset;
  -webkit-text-fill-color: #222;
  caret-color: #222;
  transition: background-color 5000s ease-in-out 0s;
}

@supports (-moz-appearance: none) {
  .input_box .input_txt:-moz-autofill,
  .input_box .input_txt:-moz-autofill-preview {
    filter: none;
    background-color: #fff;
  }
}

/* 错误状态 */
.input_box.has_error .input_txt {
  border-bottom-color: #ef6253;
}

.input_box .input_error {
  display: none;
  color: #f15746;
  font-size: 11px;
  line-height: 16px;
  margin-top: 4px;
}

.input_box.has_error .input_error {
  display: block;
}

/* ---- 登录按钮 ---- */
.login-btn-box {
  padding-top: 20px;
}

.btn {
  align-items: center;
  background-color: #fff;
  color: rgba(34, 34, 34, 0.8);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  text-align: center;
  vertical-align: middle;
  border: none;
  font-family: inherit;
}

.btn.full {
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  height: 52px;
  letter-spacing: -0.16px;
  width: 100%;
}

.btn.solid {
  background-color: #222;
  color: #fff;
  font-weight: 700;
}

.btn.solid:hover {
  background-color: #333;
}

.btn.solid:active {
  background-color: rgba(34, 34, 34, 0.8);
  color: rgba(255, 255, 255, 0.8);
}

.btn.solid.disabled,
.btn.solid:disabled {
  background-color: rgba(34, 34, 34, 0.2);
  color: #fff;
  cursor: default;
  font-weight: 400;
}

/* ---- 登录错误消息 ---- */
.login-error-msg {
  display: none;
  background: #fff0f0;
  color: #f15746;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 18px;
  margin-bottom: 10px;
  text-align: center;
}

.login-error-msg.show {
  display: block;
}

/* ---- 加载状态 ---- */
.btn.loading {
  position: relative;
  color: transparent !important;
}

.btn.loading::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ---- 隐藏文字（无障碍）---- */
.blind {
  position: absolute;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}

/* 临时禁用 Pretendard，使用系统默认字体看效果（恢复时删掉下面这段即可） */
body, .login-area {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
