.console-login-shell {
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    padding: 36px 20px;
    background: #f2f4ff;
    color: #384056;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.console-login-shell *, .console-login-shell *::before, .console-login-shell *::after { box-sizing: border-box; }
.console-login-shell [hidden] { display: none !important; }
.console-login-card {
    position: relative;
    width: min(430px, 100%);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(46, 55, 89, .10);
}
.console-login-hero {
    position: relative;
    height: 156px;
    background: #8a9ee0 url("/static/console-login-landscape-v18.svg?v=20260915-login-18") center bottom / cover no-repeat;
}
.console-login-heading {
    position: absolute;
    top: 23px;
    right: 16px;
    left: 16px;
    margin: 0;
    color: #303958;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .16em;
    line-height: 1.3;
    text-align: center;
}
.console-login-brand {
    position: absolute;
    z-index: 1;
    top: 108px;
    left: 50%;
    display: grid;
    place-items: center;
    width: 96px;
    height: 96px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #fff;
    transform: translateX(-50%);
}
.console-login-brand img { display: block; width: 76px; height: auto; max-height: 40px; object-fit: contain; }
.console-login-body { padding: 76px 30px 54px; }
.console-login-form { margin: 0; }
.console-login-field { display: block; margin: 0 0 15px; font-size: 13px; font-weight: 400; }
.console-login-input-wrap {
    display: flex;
    align-items: center;
    height: 36px;
    min-width: 0;
    border: 1px solid #cfd5e4;
    border-radius: 0;
    background: #fff;
}
.console-login-input-wrap:focus-within { border-color: #6879cf; box-shadow: 0 0 0 2px rgba(105, 122, 212, .15); }
.console-login-icon {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    align-self: stretch;
    border-right: 1px solid #cfd5e4;
    color: #62656e;
}
.console-login-icon svg { display: block; width: 15px; height: 15px; fill: currentColor; }
.console-login-shell .console-login-input-wrap input {
    flex: 1;
    width: 0;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0 12px;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: #384056;
    font: inherit;
    font-size: 13px;
}
.console-login-input-wrap input::placeholder { color: #969dac; opacity: 1; }
.console-login-captcha-row { display: flex; align-items: stretch; gap: 8px; min-width: 0; }
.console-login-captcha-row .console-login-input-wrap { flex: 1; }
.console-login-captcha-refresh {
    flex: 0 0 92px;
    display: grid;
    place-items: center;
    width: 92px;
    min-height: 36px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d9deea;
    border-radius: 0;
    background: #f5f7fe;
    color: #656d85;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
}
.console-login-captcha-refresh img { display: block; width: 92px; height: 34px; object-fit: contain; }
.console-login-captcha-refresh:hover { border-color: #7389ea; }
.console-login-captcha-refresh:focus-visible, .console-login-submit:focus-visible { outline: 2px solid #4659b8; outline-offset: 3px; }
.console-login-captcha-status { min-height: 0; margin: -5px 0 12px; color: #aa342a; font-size: 12px; line-height: 1.4; }
.console-login-options { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin: 17px 0 14px; color: #8991a0; font-size: 13px; }
.console-login-options label { display: inline-flex; align-items: center; gap: 7px; min-height: 20px; margin: 0; cursor: pointer; }
.console-login-options input { width: 13px; height: 13px; margin: 0; accent-color: #7389ea; }
.console-login-submit {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 10px 16px;
    border: 0;
    border-radius: 5px;
    background: #7389ea;
    color: #fff;
    box-shadow: none;
    cursor: pointer;
    font: inherit;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: .3em;
}
.console-login-submit:hover { background: #637cde; }
.console-login-submit:disabled, .console-login-captcha-refresh:disabled { cursor: not-allowed; opacity: .65; }
.console-login-error { margin: 0 0 15px; padding: 10px 12px; border: 1px solid #f2c7c3; border-radius: 3px; background: #fff4f2; color: #aa342a; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.console-login-service-hint { margin: 0 0 14px; color: #8991a0; font-size: 12px; line-height: 1.5; }
.console-login-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 520px) {
    .console-login-shell { padding: 24px 16px; }
    .console-login-body { padding: 70px 24px 36px; }
    .console-login-input-wrap, .console-login-captcha-refresh { min-height: 44px; height: 44px; }
    .console-login-shell .console-login-input-wrap input { font-size: 16px; }
    .console-login-captcha-refresh img { height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .console-login-shell *, .console-login-shell *::before, .console-login-shell *::after { scroll-behavior: auto !important; transition: none !important; } }
@media (forced-colors: active) { .console-login-card, .console-login-input-wrap, .console-login-captcha-refresh { border: 1px solid CanvasText; } .console-login-submit { border: 1px solid ButtonText; } }
