:root{--login-bg:#071727;--login-card:#071426;--login-line:#174563;--login-main:#24cbd4;--login-main-2:#25add8;--login-text:#eef6ff;--login-muted:#8196ad}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:"Microsoft YaHei",Inter,Arial,sans-serif;color:var(--login-text)}
.team-login-page{display:grid;place-items:center;padding:32px 18px;background:linear-gradient(135deg,#071c28 0%,#061321 52%,#071426 100%)}
.team-login-card{width:min(590px,100%);padding:42px 44px;border:1px solid rgba(45,169,202,.28);border-radius:30px;background:rgba(5,17,32,.88);box-shadow:0 28px 90px rgba(0,0,0,.36);backdrop-filter:blur(14px)}
.team-brand-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:30px}.team-logo{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;font-size:27px;font-weight:900;color:#04141c;background:linear-gradient(135deg,#38d7db,var(--login-main-2));box-shadow:0 13px 35px rgba(36,203,212,.22)}.team-brand-row strong{font-size:27px;letter-spacing:.2px}
.team-login-heading{text-align:center;margin-bottom:30px}.team-login-heading h1{margin:0;color:var(--login-main);font-size:38px;line-height:1.2}.team-login-heading p{margin:8px 0 0;color:var(--login-muted);font-size:16px;font-weight:700}
.team-login-card form{display:grid;gap:20px}.team-login-card label{display:grid;gap:9px;font-size:16px;font-weight:800;color:#d6e5f5}.team-login-card input{width:100%;height:66px;border:1px solid var(--login-line);background:#06182a;color:#fff;border-radius:19px;padding:0 20px;font-size:17px;outline:none;transition:.2s}.team-login-card input::placeholder{color:#667e97}.team-login-card input:focus{border-color:var(--login-main);box-shadow:0 0 0 3px rgba(36,203,212,.11)}.team-login-card button{height:65px;border:0;border-radius:19px;background:linear-gradient(90deg,var(--login-main),var(--login-main-2));font-size:19px;font-weight:900;color:#03131b;cursor:pointer;box-shadow:0 16px 45px rgba(26,183,214,.17)}
.team-alert{padding:12px 15px;border-radius:12px;background:rgba(244,63,94,.12);border:1px solid rgba(244,63,94,.28);color:#fecdd3;margin-bottom:20px;text-align:center}.team-alert.success{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.32);color:#a7f3d0}
.team-register-line{display:flex;justify-content:center;gap:12px;margin:26px 0;color:var(--login-muted)}.team-register-line a{color:var(--login-main);font-weight:800;text-decoration:none}.team-secondary{display:flex;align-items:center;justify-content:center;height:61px;margin-top:17px;border:1px solid #1c405d;border-radius:17px;background:#0a2036;color:#dceaff;text-decoration:none;font-size:18px;font-weight:800;transition:.2s}.team-secondary:hover{border-color:var(--login-main);background:#0b2842}
@media(max-width:640px){.team-login-page{padding:18px 12px}.team-login-card{padding:31px 22px;border-radius:23px}.team-logo{width:48px;height:48px;border-radius:14px}.team-brand-row strong{font-size:22px}.team-login-heading h1{font-size:31px}.team-login-card input{height:58px;border-radius:15px}.team-login-card button,.team-secondary{height:57px;border-radius:15px}}


/* 团队主题变量：后台可分别设置背景色和主按钮色。 */
html, body,
.team-login-page {
    background: var(--team-background, #07111F) !important;
}
.team-login-page::before {
    background:
        radial-gradient(circle at 14% 10%, rgba(var(--team-button-rgb, 34,203,220), .20), transparent 34%),
        radial-gradient(circle at 86% 18%, rgba(var(--team-button-rgb, 34,203,220), .10), transparent 30%),
        var(--team-background, #07111F) !important;
}
.team-logo,
.logo,
.brand-mark {
    background: var(--team-button, #22CBDC) !important;
    border-color: rgba(var(--team-button-rgb, 34,203,220), .48) !important;
}
button,
.btn:not(.gray):not(.danger),
input[type="submit"],
.team-login-card button {
    background: var(--team-button, #22CBDC) !important;
    border-color: var(--team-button, #22CBDC) !important;
}
a,
.team-register-line a,
.nav a.active {
    color: var(--team-button, #22CBDC);
}
