/* 字体 */
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-Regular.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Regular.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-Black.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Black.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-Bold.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Bold.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-ExtraBold.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-ExtraBold.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-ExtraLight.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-ExtraLight.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-ExtraLight.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-Light.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Light.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-Medium.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Medium.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-SemiBold.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-SemiBold.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "Noto Sans SC";
    src: url("../fonts/Noto_Sans_SC/static/NotoSansSC-Thin.woff2") format("woff2"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Thin.woff") format("woff"), url("../fonts/Noto_Sans_SC/static/NotoSansSC-Thin.ttf") format("truetype");
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-BoldItalic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-MediumItalic.woff2") format("woff2");
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter_EN/Inter-SemiBoldItalic.woff2") format("woff2");
    font-weight: 600;
    font-style: italic;
}

* {
    margin: 0px;
    padding: 0px;
    font-size: 11px;
}

ul {
    list-style: none;
}

a,
.text-link,
a.text-link {
  /*color: var(--primary-colors-primary-green-100, #549b35);*/
  color: var(--link-text-color);
  font-family: var(--en-text-xs-font-family, 'Inter', sans-serif);
  font-weight: var(--en-text-xs-font-weight, 500);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

a:hover,
.text-link:hover,
a.text-link:hover {
  /*color: #3d7a28;*/
  text-decoration: underline;
  font-weight: 600;
}

html{
    --ant-primary-color: #0840f8 !important;
}

/*a:visited {*/
/*    color: currentColor;*/
/*}*/

/*a:hover {*/
/*    color: currentColor;*/
/*}*/

/*a:active {*/
/*    color: currentColor;*/
/*}*/

/*a:focus {*/
/*    color: currentColor;*/
/*}*/

button {
    cursor: pointer;
}

button:focus-visible {
    outline: none;
}

input:focus-visible {
    outline: none;
}

button[disabled] {
    cursor: no-drop;
    color: #bebebe !important;
}

/* 去除edge自带的小眼睛*/
input[type="password"]::-ms-reveal {
    display: none;
}

input[type="password"]::-ms-clear {
    display: none;
}

input[type="password"]::-o-clear {
    display: none;
}
/* 统一密码掩码样式，覆盖 iOS 原生横杠/方块 */
input[type="password"] {
  /* 关键：强制使用标准密码掩码（黑点） */
  -webkit-text-security: disc !important;
  text-security: disc !important;
  /* 阻止 Safari 自动填充时使用系统密码字体（它会用横杠/圆圈替代黑点） */
  font-family: inherit !important;
}

/* 兼容自动填充状态，防止样式被覆盖 */
input[type="password"]:-webkit-autofill,
input[type="password"]:-webkit-autofill:focus,
input[type="password"]:-webkit-autofill:active {
  -webkit-text-security: disc !important;
  text-security: disc !important;
  font-family: inherit !important;
}

/* iOS 密码掩码修复动画由 login.html 中 JS 仅在 iOS 设备上动态注入，见 login.html iOS 判断块 */

/* Common Layout Styles */

html {
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;

    --primary-color: #004085;
    --btn-primary-color: var(--primary-color);
    --btn-primary-color-hover: var(--primary-color);
    --link-primary-color: var(--primary-color);
    --link-primary-color-active: var(--primary-color);
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-family);
    /* background: var(--colors-base-white, #ffffff); */
    background: var(--colors-basic-bg-grey, #F7F7F7);
    min-height: 100vh;
}

body.lang-en *,
body.lang-en-us * {
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

body.lang-zh *,
body.lang-cn *,
body.lang-zh-cn * {
    --font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-family: var(--font-family);
}

/* Page Wrapper */
.page-wrapper,
.page-wrapper * {
    box-sizing: border-box;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
    position: relative;
    background-image: url(../images/background.png);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

/* Header */
.header {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    position: relative;
}

.nav {
    background: var(--colors-base-white, #ffffff);
    border-bottom: 1px solid var(--primary-colors-brand-grey-20, #f2f2f2);
    padding: 0 80px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 60px;
    position: relative;
    margin: 0 auto;
}

.logo {
    flex-shrink: 0;
    width: 139px;
    height: 34px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 139/34;
}

.logo-svg {
    width: 100.01%;
    height: 99.69%;
    position: absolute;
    right: -0.01%;
    left: 0%;
    bottom: 0.31%;
    top: 0%;
    overflow: visible;
}

.nav-actions {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    height: 32px;
    position: relative;
}

/* Main Content Area */
.main-content {
    width: 100%;
    height: calc(100vh - 60px);
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 100px 60px;
}

.content-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 544px;
    gap: 16px;
}

/* Footer */
.footer {
    padding: 32px 0;
    display: flex;
    flex-direction: row;
    gap: 2px;
    align-items: center;
    justify-content: center;
    width: 100%;
    /* position: absolute; */
    /* left: 0; */
    /* bottom: 0; */
    flex-shrink: 0;
}

.footer-text {
    text-align: center;
    font-family: var(--en-text-xs-font-family, 'Inter', sans-serif);
    font-size: var(--en-text-xs-font-size, 10px);
    line-height: var(--en-text-xs-line-height, 14px);
    font-weight: var(--en-text-xs-font-weight, 500);
    position: relative;
    max-width: 1200px;
    padding: 0 60px;
}

.common-title {
    text-align: center;
    color: var(--color-page-title-color, #3E3A39)  !important;
    font-family: var(--en-text-2xl-font-family) !important;
    font-size: var(--en-text-2xl-font-size, 24px) !important;
    line-height: var(--en-text-2xl-line-height, 40px) !important;
    font-weight: var(--en-text-2xl-font-weight, 700) !important;
}

/* Responsive Design for Common Layouts */
@media (max-width: 1600px) {
    .nav {
        padding: 0 60px;
    }
}

@media (max-width: 1200px) {
    .nav {
        padding: 0 40px;
    }

    .footer-text {
        padding: 0 40px;
    }
}

@media (max-width: 768px) {
    .nav {
        padding: 0 40px;
    }

    .main-content {
        padding: 80px 40px;
    }

    .footer-text {
        padding: 0 40px;
    }
}

@media (max-width: 480px) {
    .nav {
        padding: 0 20px;
        height: 60px;
    }

    .logo {
        width: 120px;
        height: 29px;
    }

    .main-content {
        padding: 60px 20px;
    }

    .footer-text {
        padding: 0 20px;
        font-size: 9px;
        line-height: 13px;
    }
}
