/* Telepoint reference-style login. Lightweight: one 30 KB WebP artwork, CSS-only decoration. */
:root { --tp-blue:#0877df; --tp-deep:#0754b8; --tp-ink:#0d2a58; --tp-muted:#5d769f; }
body.ez-main-background { overflow-x:hidden; }
body.ez-main-background header {
    height:98px;
    background:linear-gradient(100deg,#057be7 0%,#075dc8 100%)!important;
    box-shadow:0 2px 8px rgba(7,64,139,.12);
}
body.ez-main-background header .ez-wrap { height:98px; }
body.ez-main-background header #ez-logo-wrap { margin-top:8px; }
body.ez-main-background header #ez-logo-wrap a { width:300px; height:82px; }
body.ez-main-background header #ez-logo-wrap a img { width:270px; height:auto; margin-top:0; }
body.ez-main-background header nav { margin-top:23px; }
body.ez-main-background header nav a { font-weight:600; }
body.ez-main-background header nav a .fa { margin-right:7px; }
body.ez-main-background header nav #ez-menu-main-items { border:0; background:transparent; }
body.ez-main-background header nav #ez-menu-main-items li { border:1px solid rgba(255,255,255,.55); border-radius:10px; padding:0 14px; margin-left:10px; }
body.ez-main-background header nav #ez-menu-main-items .ez-separator { display:none; }
body.ez-main-background header nav #ez-menu-main-items .signup-link { background:#fff; }
body.ez-main-background header nav #ez-menu-main-items .signup-link a { color:#0562ce; }
.login-refresh {
    position:relative;
    top:0!important;
    isolation:isolate;
    min-height:745px;
    padding:58px 24px 34px;
    overflow:hidden;
    background:
      radial-gradient(circle at 1px 1px,rgba(67,145,238,.34) 2px,transparent 2.5px) calc(100% - 48px) 138px/22px 22px no-repeat,
      radial-gradient(circle at 1px 1px,rgba(67,145,238,.25) 2px,transparent 2.5px) 18px calc(100% - 96px)/22px 22px no-repeat,
      linear-gradient(115deg,#f2fbff 0%,#eaf7ff 48%,#f7fbff 100%);
    box-sizing:border-box;
}
.login-refresh:before {
    content:""; position:absolute; z-index:-1; width:720px; height:720px; right:-435px; bottom:-305px;
    border-radius:50%; background:linear-gradient(145deg,#49a0ff 0%,#0f5deb 72%); transform:rotate(-8deg);
}
.login-refresh:after {
    content:""; position:absolute; z-index:-1; width:560px; height:560px; left:-300px; top:-265px;
    border-radius:50%; border:70px solid rgba(255,255,255,.30);
}
.login-refresh * { box-sizing:border-box; }
.login-refresh .login-shell {
    width:100%; max-width:1265px; min-height:650px; margin:0 auto; display:grid;
    grid-template-columns:minmax(0,1fr) 610px; gap:78px; align-items:start;
}
.login-refresh .login-intro { position:relative; min-height:650px; padding:3px 0 0 15px; }
.login-refresh .login-kicker {
    display:flex; align-items:center; gap:12px; margin:0 0 11px; color:#087bf0; font-size:19px; line-height:1.3; font-weight:700;
}
.login-refresh .login-kicker .fa {
    display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:12px;
    color:#fff; background:linear-gradient(145deg,#32b3ff,#0877df); box-shadow:0 0 0 7px rgba(41,165,244,.10);
}
.login-refresh .login-intro h1 { margin:0 0 12px; color:var(--tp-ink); font-size:52px; line-height:1.08; letter-spacing:-1.5px; font-weight:700; }
.login-refresh .login-intro h1 span { color:#086cec; }
.login-refresh .login-description { margin:0; color:var(--tp-muted); font-size:19px; line-height:1.55; }
.login-refresh .login-points { position:relative; z-index:2; width:300px; margin:28px 0 0; padding:0; list-style:none; }
.login-refresh .login-points li { display:flex; align-items:center; gap:15px; margin:15px 0; color:#496584; font-size:16px; line-height:1.32; }
.login-refresh .point-icon {
    flex:0 0 44px; width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
    color:#fff; font-size:19px; border:7px solid rgba(255,255,255,.66); box-shadow:0 2px 8px rgba(31,96,171,.13);
}
.login-refresh .point-icon.blue { background:#25a9f3; }
.login-refresh .point-icon.green { background:#39c58a; }
.login-refresh .point-icon.purple { background:#6858e9; }
.login-refresh .login-art { position:absolute; z-index:1; width:450px; height:auto; left:190px; bottom:-20px; border-radius:28px; mix-blend-mode:multiply; }
.login-refresh .login-card {
    width:100%; min-height:642px; padding:45px 40px 31px; border:1px solid rgba(207,225,244,.7); border-radius:20px;
    background:rgba(255,255,255,.94); box-shadow:0 14px 40px rgba(20,80,145,.12); backdrop-filter:blur(3px);
}
.login-refresh .login-card-header { display:flex; align-items:center; gap:18px; margin-bottom:11px; }
.login-refresh .login-user-icon {
    width:57px; height:57px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
    color:#165bc6; background:linear-gradient(145deg,#edf2ff,#fff); font-size:28px; box-shadow:0 5px 16px rgba(21,90,197,.10);
}
.login-refresh .login-card-header h2 { margin:0; color:#0c2c5c; font-size:42px; line-height:1; font-weight:700; }
.login-refresh .login-card-subtitle { margin:0 0 29px; color:#5c77a0; font-size:17px; }
.login-refresh .login-message { margin:0 0 16px; padding:10px 13px; border-radius:8px; font-size:14px; }
.login-refresh .login-message.error { color:#a5271f; background:#fce9e7; border:1px solid #f4c7c3; }
.login-refresh .login-message.success { color:#246b49; background:#e8f1ec; border:1px solid #c7dfd1; }
.login-refresh .login-field { margin-bottom:23px; }
.login-refresh .login-field label { display:block; margin:0 0 9px; color:#0c2b57; font-size:15px; line-height:1.4; font-weight:700; }
.login-refresh .login-input-wrap { position:relative; }
.login-refresh .login-input-wrap > .fa { position:absolute; z-index:2; left:18px; top:50%; transform:translateY(-50%); color:#154d91; font-size:21px; }
body.ez-main-background .login-refresh .login-field input {
    width:100%; height:60px; margin:0; padding:0 50px 0 54px; border:1px solid #a9c9eb; border-radius:11px;
    color:#17345e; background:#fff; font-size:16px; line-height:60px; box-shadow:0 2px 9px rgba(23,89,164,.05); transition:border-color .15s,box-shadow .15s;
}
body.ez-main-background .login-refresh .login-field input::placeholder { color:#8195b4; }
body.ez-main-background .login-refresh .login-field input:focus { outline:none; border-color:#087aed; box-shadow:0 0 0 3px rgba(8,122,237,.13); }
.login-refresh .password-toggle { position:absolute; z-index:3; right:10px; top:8px; width:44px; height:44px; border:0; border-radius:8px; color:#24558f; background:transparent; cursor:pointer; font-size:17px; }
.login-refresh .password-toggle:hover { background:#edf6ff; }
.login-refresh .login-options { display:flex; justify-content:space-between; align-items:center; margin:-2px 0 26px; color:#17345e; font-size:15px; }
.login-refresh .remember { display:flex; align-items:center; gap:8px; cursor:pointer; }
body.ez-main-background .login-refresh .remember input { width:20px; height:20px; margin:0; accent-color:#0878e7; }
.login-refresh .forgot-placeholder { color:#0871e5; }
.login-refresh .login-submit {
    width:100%; min-height:66px; border:0; border-radius:13px; color:#fff; background:linear-gradient(100deg,#1289f2,#0759ed);
    box-shadow:0 9px 20px rgba(8,101,231,.22); font-size:19px; line-height:66px; font-weight:700; cursor:pointer; transition:filter .15s,transform .15s;
}
.login-refresh .login-submit .fa { margin-right:9px; }
.login-refresh .login-submit:hover { filter:brightness(.96); }
.login-refresh .login-submit:active { transform:translateY(1px); }
.login-refresh .login-submit:focus { outline:3px solid rgba(8,119,223,.25); outline-offset:3px; }
.login-refresh .login-divider { display:flex; align-items:center; gap:15px; margin:29px 0 21px; color:#8aa0bf; font-size:13px; font-weight:700; }
.login-refresh .login-divider:before,.login-refresh .login-divider:after { content:""; height:1px; flex:1; background:#dce7f3; }
.login-refresh .login-note { margin:0; color:#6982a8; font-size:14px; line-height:1.55; text-align:center; }
.login-notices { position:relative; z-index:2; }
@media (max-width:1100px) {
    .login-refresh .login-shell { max-width:960px; grid-template-columns:minmax(0,1fr) 500px; gap:35px; }
    .login-refresh .login-intro h1 { font-size:44px; }
    .login-refresh .login-art { width:440px; left:105px; }
}
@media (max-width:800px) {
    body.ez-main-background header { height:84px; }
    body.ez-main-background header .ez-wrap { height:84px; }
    body.ez-main-background header #ez-logo-wrap { margin-top:10px; }
    body.ez-main-background header #ez-logo-wrap a { width:210px; height:64px; }
    body.ez-main-background header #ez-logo-wrap a img { width:205px; }
    .login-refresh { min-height:auto; padding:40px 20px 48px; }
    .login-refresh .login-shell { max-width:540px; min-height:0; grid-template-columns:1fr; gap:28px; }
    .login-refresh .login-intro { min-height:0; padding:0; text-align:center; }
    .login-refresh .login-kicker { justify-content:center; }
    .login-refresh .login-intro h1 { font-size:38px; }
    .login-refresh .login-description { font-size:16px; }
    .login-refresh .login-points,.login-refresh .login-art { display:none; }
    .login-refresh .login-card { min-height:0; padding:32px 28px; }
}
@media (max-width:480px) {
    .login-refresh { padding:28px 16px 38px; }
    .login-refresh .login-kicker { font-size:15px; }
    .login-refresh .login-kicker .fa { width:32px; height:32px; }
    .login-refresh .login-intro h1 { font-size:32px; }
    .login-refresh .login-card { padding:27px 20px; border-radius:15px; }
    .login-refresh .login-card-header h2 { font-size:32px; }
    .login-refresh .login-user-icon { width:48px; height:48px; font-size:23px; }
    body.ez-main-background .login-refresh .login-field input { height:54px; line-height:54px; font-size:15px; }
    .login-refresh .login-options { font-size:14px; }
    .login-refresh .login-submit { min-height:56px; line-height:56px; }
    .desktop-only { display:none; }
}
@media (prefers-reduced-motion:reduce) { .login-refresh * { transition:none!important; } }
