@import '_content/BootstrapBlazor.IconPark/BootstrapBlazor.IconPark.e5xrun5tg8.bundle.scp.css';
@import '_content/BootstrapBlazor.Region/BootstrapBlazor.Region.c0qs0enpk0.bundle.scp.css';

/* /Components/Childs/Account/LoginVisual.razor.rz.scp.css */
/* 各轨道独立缓慢旋转，保留设计稿的核心呼吸效果。 */
.rtr-spin[b-prwhaj8qmv] {
    transform-origin: 360px 356px;
    animation: rtr-turn-b-prwhaj8qmv 80s linear infinite;
}

.rtr-counter[b-prwhaj8qmv] {
    transform-origin: 360px 356px;
    animation: rtr-turn-b-prwhaj8qmv 112s linear infinite reverse;
}

.rtr-scan[b-prwhaj8qmv] {
    transform-origin: 360px 356px;
    animation: rtr-turn-b-prwhaj8qmv 26s linear infinite;
}

.rtr-orbit[b-prwhaj8qmv] {
    transform-origin: 0 0;
    animation: rtr-turn-b-prwhaj8qmv 15s linear infinite;
}

.rtr-orbit-slow[b-prwhaj8qmv] {
    transform-origin: 0 0;
    animation: rtr-turn-b-prwhaj8qmv 23s linear infinite reverse;
}

.rtr-heart[b-prwhaj8qmv] {
    animation: rtr-pulse-b-prwhaj8qmv 5s ease-in-out infinite;
}

.rtr-spark[b-prwhaj8qmv] {
    animation: rtr-pulse-b-prwhaj8qmv 4s ease-in-out infinite alternate;
}

/* 浅色皮肤使用蓝青玻璃，让球体与背景保持清晰层次。 */
html[data-bs-theme="light"] .visual[b-prwhaj8qmv] {
    --rtr-glass-start: #81bec6;
    --rtr-glass-middle: #b9dde1;
    --rtr-glass-edge: #d3e9eb;
    --rtr-core-fill: #2a7680;
}

html[data-bs-theme="light"] .reactor > svg[b-prwhaj8qmv] {
    filter: brightness(.82) saturate(1.4);
}

.motion-off .reactor[b-prwhaj8qmv],
.motion-paused .reactor[b-prwhaj8qmv] {
    transform: none !important;
}

.motion-off .rtr-spin[b-prwhaj8qmv],
.motion-off .rtr-counter[b-prwhaj8qmv],
.motion-off .rtr-scan[b-prwhaj8qmv],
.motion-off .rtr-orbit[b-prwhaj8qmv],
.motion-off .rtr-orbit-slow[b-prwhaj8qmv],
.motion-off .rtr-heart[b-prwhaj8qmv],
.motion-off .rtr-spark[b-prwhaj8qmv],
.motion-paused .rtr-spin[b-prwhaj8qmv],
.motion-paused .rtr-counter[b-prwhaj8qmv],
.motion-paused .rtr-scan[b-prwhaj8qmv],
.motion-paused .rtr-orbit[b-prwhaj8qmv],
.motion-paused .rtr-orbit-slow[b-prwhaj8qmv],
.motion-paused .rtr-heart[b-prwhaj8qmv],
.motion-paused .rtr-spark[b-prwhaj8qmv] {
    animation-play-state: paused !important;
}

@keyframes rtr-turn-b-prwhaj8qmv {
    to {
        transform: rotate(360deg);
    }
}

@keyframes rtr-pulse-b-prwhaj8qmv {
    0%, 100% {
        opacity: .6;
    }

    50% {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rtr-spin[b-prwhaj8qmv],
    .rtr-counter[b-prwhaj8qmv],
    .rtr-scan[b-prwhaj8qmv],
    .rtr-orbit[b-prwhaj8qmv],
    .rtr-orbit-slow[b-prwhaj8qmv],
    .rtr-heart[b-prwhaj8qmv],
    .rtr-spark[b-prwhaj8qmv] {
        animation: none;
    }

    .reactor[b-prwhaj8qmv] {
        transform: none !important;
    }
}
/* /Components/Childs/Common/Selects/NewMultiSelect.razor.rz.scp.css */
[b-417vfwzgyh] .multi-select {
    --bb-multi-select-min-height: 35px;
    --bb-multi-select-max-height: 65px;
    --bb-multi-select-button-bg-color: rgba(var(--bs-body-color-rgb), .15);
    --bb-multi-select-button-hover-bg-color: rgba(var(--bs-body-color-rgb), .3);
    --bb-multi-select-item-margin-x: 3px;
    --bb-multi-select-item-margin-y: 3px;
    --bb-multi-select-item-max-width: 130px;
    --bb-multi-select-item-padding: 2px 6px;
    width: 100%;
    position: relative;

    .dropdown-toggle {
        border: 1px solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        min-height: var(--bb-multi-select-min-height);
        max-height: var(--bb-multi-select-max-height);
        overflow: auto;
        cursor: pointer;
        transition: border 0.15s ease-in-out;

        &.is-fixed {
            --bb-multi-select-max-height: var(--bb-multi-select-min-height);
        }

        &.is-single-line[b-417vfwzgyh] {
            height: var(--bb-multi-select-min-height);
            overflow-y: hidden;
            overflow-x: hidden;

            &:hover {
                overflow-x: auto;
            }

            .multi-select-items[b-417vfwzgyh] {
                display: flex;
                flex-wrap: nowrap;
                width: fit-content;
            }
        }

        &:not(.disabled):hover[b-417vfwzgyh] {
            border: 1px solid var(--bb-border-hover-color);
        }

        &.disabled[b-417vfwzgyh] {
            background-color: var(--bs-secondary-bg);
        }
    }

    .multi-select-item-group[b-417vfwzgyh] {
        margin-inline-end: var(--bb-multi-select-item-margin-x);
        margin-block-end: var(--bb-multi-select-item-margin-y);
    }

    .multi-select-items[b-417vfwzgyh] {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        padding-top: var(--bb-multi-select-item-margin-y);
        padding-left: var(--bb-multi-select-item-margin-x);
        width: calc(100% - var(--bb-select-append-width));

        span {
            border: solid 1px var(--bs-border-color);
            border-radius: var(--bs-border-radius);
            padding: var(--bb-multi-select-item-padding);
            background-color: var(--bb-multi-select-button-bg-color);
        }

        .multi-select-item[b-417vfwzgyh] {
            display: inline-block;
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
            max-width: var(--bb-multi-select-item-max-width);
        }

        .multi-select-item-group[b-417vfwzgyh] {
            display: inline-flex;
            position: relative;

            + .multi-select-input {
                padding: 3px 6px;
            }
        }

        .multi-select-close[b-417vfwzgyh] {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
            margin-inline-end: -1px;
            transition: color .3s linear, background-color .3s linear;
        }
    }

    :not(.disabled) .multi-select-items .multi-select-close:hover[b-417vfwzgyh] {
        background-color: var(--bb-multi-select-button-hover-bg-color);
    }

    .multi-select-ph[b-417vfwzgyh] {
        padding: 0 1rem;
        line-height: var(--bb-height);
        position: absolute;
    }

    .multi-select-input[b-417vfwzgyh] {
        border: none;
        outline: none;
        appearance: none;
        padding: 3px 12px;
        background-color: transparent;
        flex: 1;
        width: 1%;
        min-width: 1rem;
        margin-block-end: var(--bb-multi-select-item-margin-y);
    }
}

/* 原生输入节点直接匹配当前组件作用域，避免依赖祖先 ::deep。 */
.multi-select .multi-select-input[b-417vfwzgyh] {
    color: var(--bs-body-color);
}

.multi-select .multi-select-ph[b-417vfwzgyh] {
    color: var(--bs-secondary-color);
}

[b-417vfwzgyh] .dropdown-menu {
    &.is-fixed-toolbar {
        --bb-dropdown-max-height: 330px;
        --bb-dropdown-toolbar-height: 38px;

        .dropdown-menu-body {
            max-height: calc(var(--bb-dropdown-max-height) - var(--bb-dropdown-toolbar-height));
        }
    }

    &.is-fixed-search.is-fixed-toolbar[b-417vfwzgyh] {
        .dropdown-menu-body {
            max-height: calc(var(--bb-dropdown-max-height) - var(--bb-select-search-height) - var(--bb-dropdown-toolbar-height));
        }
    }

    .toolbar[b-417vfwzgyh] {
        --bb-multi-select-toolbar-padding: 0 16px 8px 16px;
        --bb-multi-select-toolbar-button-padding: 3px 10px;
        padding: var(--bb-multi-select-toolbar-padding);
        white-space: nowrap;
        border-block-end: var(--bs-border-width) solid var(--bb-select-search-border-color);
        margin-block-end: var(--bb-select-search-margin-bottom);

        .btn {
            padding: var(--bb-multi-select-toolbar-button-padding);
            border: 1px solid var(--bs-border-color);
            transition: border-color .3s linear, color .3s linear;

            &:hover {
                border: 1px solid var(--bb-border-hover-color);
                color: var(--bs-primary);
            }

            &:not(:last-child)[b-417vfwzgyh] {
                margin-inline-end: .5rem;
            }
        }
    }
}

[b-417vfwzgyh] .dropdown-item .multi-select-item {
    display: flex;
    align-items: center;

    > span {
        margin-left: 0.75rem;
    }
}
/* /Components/Childs/Customers/CustomerLifecycleOverview.razor.rz.scp.css */
.lifecycle-overview[b-l625ld7uho] {
    margin-bottom: 1.5rem;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-header {
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.lifecycle-title[b-l625ld7uho] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0 0 0.4rem;
    border-left: 4px solid var(--bs-primary);
    padding-left: 0.65rem;
    font-size: 1.15rem;
    font-weight: 700;
}

.lifecycle-subtitle[b-l625ld7uho],
.lifecycle-updated[b-l625ld7uho],
.lifecycle-note[b-l625ld7uho] {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
    line-height: 1.65;
}

.lifecycle-total[b-l625ld7uho] {
    margin: 0 0 0.2rem;
    font-size: 0.85rem;
}

.lifecycle-total strong[b-l625ld7uho] {
    margin: 0 0.3rem;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
}

/* Row 由组件生成栅格包裹层，只调整该概览的响应式列宽。 */
.lifecycle-overview[b-l625ld7uho]  .lifecycle-grid > .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-grid > .row > * {
    width: 100%;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-card {
    --lifecycle-accent: #087e9c;
    --lifecycle-tint: color-mix(in srgb, var(--lifecycle-accent) 10%, var(--bs-body-bg));
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--lifecycle-accent);
    border-radius: 10px;
    box-shadow: 0 0.15rem 1rem rgba(58, 59, 69, 0.08);
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-active {
    --lifecycle-accent: #23804f;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-loyal {
    --lifecycle-accent: #7850b4;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-dormant {
    --lifecycle-accent: #ad651b;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-churned {
    --lifecycle-accent: #c34450;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-invalid {
    --lifecycle-accent: #697582;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-card .card-header {
    border-bottom: 0;
    background: var(--lifecycle-tint);
    padding: 1rem;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-card .card-body {
    padding: 1rem;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-card .card-footer {
    border-top: 0;
    background: transparent;
    padding: 0 1rem 1rem;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 2rem;
    border-color: var(--lifecycle-accent);
    border-radius: 6px;
    background: var(--lifecycle-tint);
    color: var(--lifecycle-accent);
    font-size: 0.78rem;
    text-decoration: none;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-link:hover {
    background: var(--lifecycle-accent);
    color: var(--lifecycle-contrast, #fff);
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-link:focus-visible {
    outline: 2px solid var(--lifecycle-accent);
    outline-offset: 2px;
}

.lifecycle-link-pending[b-l625ld7uho] {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
}

.lifecycle-category-title[b-l625ld7uho] {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-badge {
    background-color: var(--lifecycle-accent) !important;
    color: var(--lifecycle-contrast, #fff);
    font-size: 0.7rem;
    font-weight: 500;
}

.lifecycle-overview[b-l625ld7uho]  .lifecycle-metric {
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.lifecycle-count[b-l625ld7uho] {
    color: var(--lifecycle-accent);
    font-size: 2rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.lifecycle-count-unit[b-l625ld7uho] {
    margin-left: 0.25rem;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
}

.lifecycle-percentage[b-l625ld7uho] {
    color: var(--lifecycle-accent);
    font-size: 0.85rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.lifecycle-description[b-l625ld7uho] {
    min-height: 2.9em;
    margin: 0 0 0.9rem;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
    line-height: 1.45;
}

.lifecycle-action[b-l625ld7uho] {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.6;
}

.lifecycle-action strong[b-l625ld7uho] {
    display: inline-block;
    margin-bottom: 0.15rem;
    font-size: 0.73rem;
    color: var(--bs-secondary-color);
    font-weight: 600;
}

.lifecycle-note[b-l625ld7uho] {
    margin-top: 1rem;
}

@media (min-width: 576px) {
    .lifecycle-overview[b-l625ld7uho]  .lifecycle-grid > .row > * {
        width: 50%;
    }
}

@media (min-width: 992px) {
    .lifecycle-overview[b-l625ld7uho]  .lifecycle-grid > .row > * {
        width: 33.333333%;
    }
}

@media (min-width: 1600px) {
    .lifecycle-overview[b-l625ld7uho]  .lifecycle-grid > .row > * {
        width: 16.66666667%;
    }
}

/* 分类色随暗色模式提亮，按钮和徽章使用深色文字。 */
[data-bs-theme="dark"] .lifecycle-overview[b-l625ld7uho]  .lifecycle-card {
    --lifecycle-accent: #6edff6;
    --lifecycle-contrast: var(--bs-body-bg);
}

[data-bs-theme="dark"] .lifecycle-overview[b-l625ld7uho]  .lifecycle-active {
    --lifecycle-accent: #75b798;
}

[data-bs-theme="dark"] .lifecycle-overview[b-l625ld7uho]  .lifecycle-loyal {
    --lifecycle-accent: #b99cdf;
}

[data-bs-theme="dark"] .lifecycle-overview[b-l625ld7uho]  .lifecycle-dormant {
    --lifecycle-accent: #e4a55e;
}

[data-bs-theme="dark"] .lifecycle-overview[b-l625ld7uho]  .lifecycle-churned {
    --lifecycle-accent: #ea868f;
}

[data-bs-theme="dark"] .lifecycle-overview[b-l625ld7uho]  .lifecycle-invalid {
    --lifecycle-accent: #adb5bd;
}
/* /Components/Childs/SK/SkSyncDialog.razor.rz.scp.css */
.sk-sync-window[b-ux80pebdby]  .sk-sync-loading {
    min-height: 20rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-heading {
    gap: .35rem 1.25rem;
    padding: .25rem .15rem .6rem;
    margin-bottom: .6rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-flow,
.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-reference,
.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-flow {
    gap: .75rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-model {
    flex: 1 1 12rem;
    min-width: 0;
}

.sk-sync-model-name[b-ux80pebdby] {
    margin: 0;
    overflow: hidden;
    font-size: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-reference {
    gap: .75rem;
    white-space: nowrap;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-heading-actions {
    flex-wrap: wrap;
    gap: .25rem .5rem;
    margin-inline-start: auto;
}

.sk-sync-eyebrow[b-ux80pebdby] {
    color: var(--bs-primary);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    white-space: nowrap;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-columns {
    align-items: flex-start;
    gap: 1rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-overview {
    position: sticky;
    top: 0;
    flex: 0 0 31%;
    min-width: 280px;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-main {
    flex: 1 1 0;
    min-width: 0;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-summary-card {
    border-top: 3px solid var(--bs-primary);
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-summary-card > .card-body {
    max-height: 38vh;
    overflow-y: auto;
    padding: .6rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-activity-card > .card-body {
    max-height: 24vh;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-summary-line {
    width: 100%;
}

.sk-sync-summary-value[b-ux80pebdby] {
    display: block;
    min-width: 0;
    flex: 1 1 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.sk-sync-source-icon[b-ux80pebdby] {
    margin-top: .2rem;
    font-size: .75rem;
}

.sk-sync-source-internal[b-ux80pebdby] {
    color: #0d6efd;
}

.sk-sync-source-model[b-ux80pebdby] {
    color: #198754;
}

.sk-sync-source-mixed[b-ux80pebdby] {
    color: #a56822;
}

.sk-sync-source-input[b-ux80pebdby] {
    color: #d65d08;
}

.sk-sync-source-generated[b-ux80pebdby] {
    color: #8450c8;
}

.sk-sync-source-rule[b-ux80pebdby] {
    color: #6c757d;
}

.sk-sync-source-remote[b-ux80pebdby] {
    color: #078194;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-stepper {
    margin: .25rem 0 .6rem;
    overflow-x: auto;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-operation-card > .card-header {
    padding: .5rem .75rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-step-heading {
    width: 100%;
    min-width: 0;
    gap: .25rem 1.25rem;
}

.sk-sync-step-title[b-ux80pebdby] {
    font-size: .9rem;
    white-space: nowrap;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-step-description {
    flex: 1 1 15rem;
    min-width: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-operation-card > .card-body {
    min-height: 330px;
    padding: 1.1rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-operation-card > .card-footer {
    padding: .75rem 1rem;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-message {
    margin-bottom: .85rem;
    line-height: 1.65;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-selection-summary,
.sk-sync-window[b-ux80pebdby]  .sk-sync-file-confirm,
.sk-sync-window[b-ux80pebdby]  .sk-sync-recovery {
    padding: .85rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    background: var(--bs-tertiary-bg);
    overflow-wrap: anywhere;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-media-table td {
    overflow-wrap: anywhere;
}

.sk-sync-window[b-ux80pebdby]  .sk-sync-actions {
    gap: .35rem 0;
}

@media (max-width: 991.98px) {
    .sk-sync-window[b-ux80pebdby]  .sk-sync-columns {
        flex-direction: column !important;
    }

    .sk-sync-window[b-ux80pebdby]  .sk-sync-overview,
    .sk-sync-window[b-ux80pebdby]  .sk-sync-main {
        position: static;
        flex-basis: auto;
        width: 100%;
        min-width: 0;
    }

    .sk-sync-window[b-ux80pebdby]  .sk-sync-summary-card > .card-body {
        max-height: 18rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sk-sync-window[b-ux80pebdby]  .progress-bar-animated {
        animation: none;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* 自定义账号内容沿用组件库顶栏文字色，避免继承下拉按钮的正文色。 */
.header-account-name[b-kod0rnfb0x] {
    color: var(--bb-layout-header-color, #fff);
}
/* /Components/Layout/PageLayout.razor.rz.scp.css */
/* 登录页的布局与皮肤样式由 Login 组件统一管理。 */
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-mpcg683zxv],
.components-reconnect-repeated-attempt-visible[b-mpcg683zxv],
.components-reconnect-failed-visible[b-mpcg683zxv],
.components-pause-visible[b-mpcg683zxv],
.components-resume-failed-visible[b-mpcg683zxv],
.components-rejoining-animation[b-mpcg683zxv] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-retrying[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-failed[b-mpcg683zxv],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-mpcg683zxv] {
    display: block;
}


#components-reconnect-modal[b-mpcg683zxv] {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-mpcg683zxv 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-mpcg683zxv 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-mpcg683zxv 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-mpcg683zxv]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-mpcg683zxv 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-mpcg683zxv {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-mpcg683zxv {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-mpcg683zxv {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-mpcg683zxv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-mpcg683zxv] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-mpcg683zxv] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-mpcg683zxv] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-mpcg683zxv] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-mpcg683zxv] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-mpcg683zxv] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-mpcg683zxv 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-mpcg683zxv] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-mpcg683zxv {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/ThemeSwitcher.razor.rz.scp.css */
.bizdata-theme-switcher[b-xfmkbsiary] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    white-space: nowrap;
}

.theme-label[b-xfmkbsiary] {
    font-size: 0.875rem;
}

/* 中英文皮肤名称需要更宽的文字列，选中图标固定在菜单右侧。 */
.bizdata-theme-switcher[b-xfmkbsiary]  .bb-theme-mode {
    --bb-theme-mode-width: 12rem;
    --bb-theme-mode-label-width: auto;
}

.bizdata-theme-switcher[b-xfmkbsiary]  .dropdown-item > span {
    flex: 1 0 auto;
}

.bizdata-theme-switcher[b-xfmkbsiary]  .dropdown-item > i {
    flex-shrink: 0;
}

.bizdata-theme-switcher[b-xfmkbsiary]  .dropdown-toggle {
    color: inherit;
    padding: 0.375rem 0.5rem;
}

.bizdata-theme-switcher[b-xfmkbsiary]  .dropdown-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* 组件库还支持 Auto，本项目的入口只提供两种明确皮肤。 */
.bizdata-theme-switcher[b-xfmkbsiary]  li:has([data-bb-theme-value="auto"]) {
    display: none;
}
/* /Components/Pages/Admin/Dashbord.razor.rz.scp.css */
.dashboard-overview[b-oxi1fig9kg] {
    margin-bottom: 1.75rem;
}

.overview-title[b-oxi1fig9kg] {
    margin: 0 0 0.4rem;
    border-left: 4px solid var(--bs-primary);
    padding-left: 0.65rem;
    font-size: 1.15rem;
    font-weight: 700;
}

.overview-subtitle[b-oxi1fig9kg] {
    margin: 0 0 1.25rem;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
    line-height: 1.65;
}

/* Row 组件生成列包裹层；大屏四列，中屏两列，小屏一列。 */
.dashboard-overview[b-oxi1fig9kg]  .overview-grid > .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-grid > .row > * {
    width: 100%;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-card {
    --overview-accent: #087e9c;
    --overview-tint: color-mix(in srgb, var(--overview-accent) 10%, var(--bs-body-bg));
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--overview-accent);
    border-radius: 10px;
    box-shadow: 0 0.15rem 1rem rgba(58, 59, 69, 0.08);
}

.dashboard-overview[b-oxi1fig9kg]  .overview-customer {
    --overview-accent: #ad651b;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-data {
    --overview-accent: #7850b4;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-finance {
    --overview-accent: #23804f;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-card .card-header {
    border-bottom: 0;
    background: var(--overview-tint);
    padding: 1rem;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-card .card-body {
    padding: 1rem;
}

.overview-card-title[b-oxi1fig9kg] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.overview-icon[b-oxi1fig9kg] {
    color: var(--overview-accent);
    font-size: 1.2rem;
    opacity: 0.65;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-count {
    display: block;
    color: var(--overview-accent);
    font-size: 2rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.overview-main-label[b-oxi1fig9kg] {
    margin: 0.4rem 0 0;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
    line-height: 1.45;
}

/* 统一子指标间距，保留状态语义色与既有金额格式。 */
.dashboard-overview[b-oxi1fig9kg]  .overview-metrics {
    margin-top: 0.9rem;
    border-top: 1px solid var(--bs-border-color);
    padding-top: 0.9rem;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-metrics > .row {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.65rem;
}

.dashboard-overview[b-oxi1fig9kg]  .overview-metrics > .row > * {
    width: 50%;
}

/* 本月消费独占一行，当前余额与当前欠费继续并排展示。 */
.dashboard-overview[b-oxi1fig9kg]  .overview-finance .overview-metrics > .row > :nth-child(3) {
    width: 100%;
}

.overview-stat[b-oxi1fig9kg] {
    margin: 0;
    line-height: 1.45;
}

.overview-stat strong[b-oxi1fig9kg] {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.overview-label[b-oxi1fig9kg] {
    display: block;
    margin-top: 0.15rem;
    color: var(--bs-secondary-color);
    font-size: 0.78rem;
}

@media (min-width: 576px) {
    .dashboard-overview[b-oxi1fig9kg]  .overview-grid > .row > * {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .dashboard-overview[b-oxi1fig9kg]  .overview-grid > .row > * {
        width: 25%;
    }
}

/* 暗色模式保留分类色，并提高数字与图标的对比度。 */
[data-bs-theme="dark"] .dashboard-overview[b-oxi1fig9kg]  .overview-card {
    --overview-accent: #6edff6;
}

[data-bs-theme="dark"] .dashboard-overview[b-oxi1fig9kg]  .overview-customer {
    --overview-accent: #e4a55e;
}

[data-bs-theme="dark"] .dashboard-overview[b-oxi1fig9kg]  .overview-data {
    --overview-accent: #b99cdf;
}

[data-bs-theme="dark"] .dashboard-overview[b-oxi1fig9kg]  .overview-finance {
    --overview-accent: #75b798;
}
/* /Components/Pages/Admin/DataAnalysis/BusinessStatus.razor.rz.scp.css */
.body[b-nkuwd0m2hf] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.stat-card[b-nkuwd0m2hf] {
    text-align: center;
    padding: 15px;
}

.stat-number[b-nkuwd0m2hf] {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 10px 0;
}

.stat-title[b-nkuwd0m2hf] {
    color: var(--bs-secondary-color);
    font-size: 0.9rem;
}

.trend-up[b-nkuwd0m2hf] {
    color: var(--bs-success-text-emphasis);
}

.trend-down[b-nkuwd0m2hf] {
    color: var(--bs-danger-text-emphasis);
}

.date-filter[b-nkuwd0m2hf] {
    background-color: var(--bs-body-bg);
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.chart-container[b-nkuwd0m2hf] {
    height: 400px;
    width: 100%;
}
/* /Components/Pages/Admin/DataAnalysis/ModelDistribution.razor.rz.scp.css */
.body[b-liov89aqwo] {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--bs-tertiary-bg);
}

.stat-card[b-liov89aqwo] {
    text-align: center;
    padding: 15px;
}

.stat-number[b-liov89aqwo] {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 10px 0;
}

.stat-title[b-liov89aqwo] {
    color: var(--bs-secondary-color);
    font-size: 0.9rem;
    font-weight: 500;
}

.chart-container[b-liov89aqwo] {
    height: 400px;
    width: 100%;
    padding: 15px;
}

.card-header[b-liov89aqwo] {
    font-weight: 600;
    color: var(--bs-primary-text-emphasis);
}
/* /Components/Pages/Admin/DataPush/LocalData.razor.rz.scp.css */
.dir-style:hover[b-h6ap3v2yoa] {
    color: #3366FF
}

[b-h6ap3v2yoa] .table-cell{
    display:block;
}
/* /Components/Pages/Admin/DataPush/SFTP_DFYX.razor.rz.scp.css */
.dir-style:hover[b-c5vb7jyeg7] {
    color: #3366FF
}

[b-c5vb7jyeg7] .table-cell{
    display:block;
}
/* /Components/Pages/Admin/SystemBaseDataManage/DeliveryArchive.razor.rz.scp.css */
/* 沿用系统表格密度，用窄色条突出交付覆盖概况。 */
.delivery-archive[b-a6r4xzo62x]  .archive-metric {
    border-top: 3px solid var(--bs-primary);
    height: 100%;
}

.delivery-archive[b-a6r4xzo62x]  .table td {
    vertical-align: middle;
}

.delivery-archive[b-a6r4xzo62x]  .tab-content {
    min-height: 26rem;
}
/* /Components/Pages/Admin/SystemManage/AccessStatistics.razor.rz.scp.css */
.access-page[b-n94ko44bnt] {
    min-width: 0;
    max-width: 100%;
    padding-bottom: 1.5rem;
}

.access-page[b-n94ko44bnt]  .access-page-header {
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.access-page-title[b-n94ko44bnt] {
    margin: 0 0 0.4rem;
    border-left: 4px solid var(--bs-primary);
    padding-left: 0.65rem;
    font-size: 1.35rem;
    font-weight: 700;
}

.access-subtitle[b-n94ko44bnt],
.access-updated-label[b-n94ko44bnt],
.access-metric-note[b-n94ko44bnt],
.access-card-period[b-n94ko44bnt],
.access-distribution-note[b-n94ko44bnt],
.access-table-note[b-n94ko44bnt] {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
    line-height: 1.65;
}

.access-updated[b-n94ko44bnt] {
    margin: 0.2rem 0 0;
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

/* Row 组件生成栅格；概览与分布在窄屏依次折行。 */
.access-page[b-n94ko44bnt]  .access-summary-grid > .row,
.access-page[b-n94ko44bnt]  .access-distribution-grid > .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.access-page[b-n94ko44bnt]  .access-summary-grid > .row > *,
.access-page[b-n94ko44bnt]  .access-distribution-grid > .row > * {
    width: 100%;
    min-width: 0;
}

.access-page[b-n94ko44bnt]  .access-distribution-grid {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.access-page[b-n94ko44bnt]  .access-card {
    --access-accent: #087e9c;
    --access-tint: color-mix(in srgb, var(--access-accent) 10%, var(--bs-body-bg));
    height: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--access-accent);
    border-radius: 10px;
    box-shadow: 0 0.15rem 1rem rgba(58, 59, 69, 0.08);
}

.access-page[b-n94ko44bnt]  .access-today {
    --access-accent: #23804f;
}

.access-page[b-n94ko44bnt]  .access-week {
    --access-accent: #ad651b;
}

.access-page[b-n94ko44bnt]  .access-month,
.access-page[b-n94ko44bnt]  .access-system-distribution {
    --access-accent: #7850b4;
}

.access-page[b-n94ko44bnt]  .access-card .card-header {
    border-bottom: 0;
    background: var(--access-tint);
    padding: 1rem;
}

.access-page[b-n94ko44bnt]  .access-card .card-header > .bb-stack {
    width: 100%;
    gap: 0.75rem;
}

.access-page[b-n94ko44bnt]  .access-card .card-body {
    min-width: 0;
    padding: 1rem;
}

.access-page[b-n94ko44bnt]  .access-card .card-footer {
    border-top: 0;
    background: transparent;
    padding: 0 1rem 1rem;
}

.access-card-title[b-n94ko44bnt] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.access-card-icon[b-n94ko44bnt] {
    color: var(--access-accent);
    font-size: 1.2rem;
    opacity: 0.65;
}

.access-metric[b-n94ko44bnt] {
    margin: 0 0 0.55rem;
    line-height: 1.1;
}

.access-metric strong[b-n94ko44bnt] {
    color: var(--access-accent);
    font-size: 2rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.access-metric > span[b-n94ko44bnt] {
    margin-left: 0.4rem;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
}

.access-page[b-n94ko44bnt]  .access-distribution-table {
    min-width: 0;
    max-width: 100%;
    max-height:300px;
}

.access-page[b-n94ko44bnt]  .access-distribution-table th,
.access-page[b-n94ko44bnt]  .access-visit-table th {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 600;
}

.access-page[b-n94ko44bnt]  .access-distribution-table td {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    vertical-align: middle;
    font-size: 0.82rem;
}

.access-distribution-count[b-n94ko44bnt],
.access-distribution-share[b-n94ko44bnt] {
    font-variant-numeric: tabular-nums;
}

.access-distribution-share[b-n94ko44bnt] {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--access-accent);
    font-size: 0.78rem;
    font-weight: 600;
}

.access-page[b-n94ko44bnt]  .access-distribution-progress {
    min-width: 3.5rem;
    max-width: 8rem;
    background: var(--bs-tertiary-bg);
}

.access-page[b-n94ko44bnt]  .access-distribution-progress .progress-bar {
    background-color: var(--access-accent) !important;
}

.access-page[b-n94ko44bnt]  .access-table-summary {
    gap: 0.75rem;
    margin: 1rem 0;
}

.access-history-note[b-n94ko44bnt] {
    margin: 1rem 0;
}

.access-page[b-n94ko44bnt]  .access-visit-table {
    min-width: 0;
    max-width: 100%;
}

.access-page[b-n94ko44bnt]  .access-visit-table td {
    padding: 0.8rem 0.6rem;
    vertical-align: top;
}

.access-cell[b-n94ko44bnt] {
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.55;
}

.access-cell strong[b-n94ko44bnt],
.access-visit-time strong[b-n94ko44bnt] {
    display: block;
    color: var(--bs-body-color);
    font-size: 0.85rem;
    font-weight: 600;
}

.access-cell-secondary[b-n94ko44bnt] {
    display: block;
    margin-top: 0.2rem;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    white-space: normal;
    overflow-wrap: anywhere;
}

.access-ip-address[b-n94ko44bnt],
.access-duration[b-n94ko44bnt] {
    color: var(--bs-body-color);
    font-family: var(--bs-font-monospace);
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.access-duration[b-n94ko44bnt] {
    font-weight: 600;
    white-space: nowrap;
}

.access-page[b-n94ko44bnt]  .access-role-badge {
    max-width: 100%;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: normal;
    overflow-wrap: anywhere;
}

.access-visit-time[b-n94ko44bnt] {
    display: block;
    line-height: 1.45;
    font-variant-numeric: tabular-nums;
}

.access-session-times[b-n94ko44bnt] {
    margin: 0;
    line-height: 1.6;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

.access-session-times > span[b-n94ko44bnt] {
    display: block;
    white-space: normal;
}

.access-session-times small[b-n94ko44bnt] {
    display: inline-block;
    margin-right: 0.45rem;
    color: var(--bs-secondary-color);
}

@media (min-width: 576px) {
    .access-page[b-n94ko44bnt]  .access-summary-grid > .row > * {
        width: 50%;
    }
}

@media (min-width: 992px) {
    .access-page[b-n94ko44bnt]  .access-distribution-grid > .row > * {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .access-page[b-n94ko44bnt]  .access-summary-grid > .row > * {
        width: 25%;
    }
}

/* 主题切换保持同一配色，并提高暗色背景下的数字对比度。 */
[data-bs-theme="dark"] .access-page[b-n94ko44bnt]  .access-card {
    --access-accent: #6edff6;
}

[data-bs-theme="dark"] .access-page[b-n94ko44bnt]  .access-today {
    --access-accent: #75b798;
}

[data-bs-theme="dark"] .access-page[b-n94ko44bnt]  .access-week {
    --access-accent: #e4a55e;
}

[data-bs-theme="dark"] .access-page[b-n94ko44bnt]  .access-month,
[data-bs-theme="dark"] .access-page[b-n94ko44bnt]  .access-system-distribution {
    --access-accent: #b99cdf;
}
/* /Components/Pages/Admin/SystemManage/SystemSettings.razor.rz.scp.css */
.system-settings[b-6orc49151c] {
    --settings-radius: 0.75rem;
    min-width: 0;
    max-width: 1440px;
    padding: 0.75rem 1rem 1.5rem;
}

.system-settings[b-6orc49151c]  .settings-page-header {
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.settings-page-title[b-6orc49151c] {
    margin: 0 0 0.5rem;
    border-left: 4px solid var(--bs-primary);
    padding-left: 0.75rem;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.settings-page-description[b-6orc49151c],
.settings-save-hint[b-6orc49151c],
.settings-section-description[b-6orc49151c],
.system-settings[b-6orc49151c]  .settings-card-description,
.system-settings[b-6orc49151c]  .settings-field-description,
.settings-save-description[b-6orc49151c] {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: 0.8125rem;
    line-height: 1.7;
}

.settings-save-hint[b-6orc49151c] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* 页签作为分区导航，卡片承担内容层级，沿用系统的主题色。 */
.system-settings[b-6orc49151c]  .settings-tabs > .tabs-header {
    border-bottom: 1px solid var(--bs-border-color);
    background: transparent;
}

.system-settings[b-6orc49151c]  .settings-tabs > .tabs-header .tabs-item {
    padding: 0.9rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.system-settings[b-6orc49151c]  .settings-tabs > .tabs-body {
    border: 0;
    padding: 0;
    background: transparent;
}

.system-settings[b-6orc49151c]  .settings-tabs .tabs-body-content {
    background: transparent;
}

.settings-section-description[b-6orc49151c] {
    margin: 1.25rem 0;
}

.system-settings[b-6orc49151c]  .settings-card-grid > .row,
.system-settings[b-6orc49151c]  .settings-field-grid > .row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1.25rem;
}

.system-settings[b-6orc49151c]  .settings-card-grid > .row > *,
.system-settings[b-6orc49151c]  .settings-field-grid > .row > * {
    width: 100%;
    min-width: 0;
}

.system-settings[b-6orc49151c]  .settings-card {
    height: 100%;
    min-width: 0;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--settings-radius);
    background: var(--bs-body-bg);
    box-shadow: 0 3px 16px rgba(25, 39, 52, 0.035);
}

.system-settings[b-6orc49151c]  .settings-card > .card-header {
    display: block;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    border-radius: var(--settings-radius) var(--settings-radius) 0 0;
    padding: 1.1rem 1.25rem;
    background: color-mix(in srgb, var(--bs-primary) 3%, var(--bs-body-bg));
}

.system-settings[b-6orc49151c]  .settings-card-title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 0.35rem;
    color: var(--bs-emphasis-color);
    font-size: 0.9375rem;
    font-weight: 650;
    line-height: 1.5;
}

.system-settings[b-6orc49151c]  .settings-card-title > i {
    width: 1.1rem;
    color: var(--bs-primary);
    text-align: center;
}

.system-settings[b-6orc49151c]  .settings-card > .card-body {
    min-width: 0;
    padding: 1.25rem;
}

.system-settings[b-6orc49151c]  .settings-fields {
    gap: 1.25rem;
}

.system-settings[b-6orc49151c]  .settings-fields > *,
.system-settings[b-6orc49151c]  .settings-template-header > :first-child {
    min-width: 0;
}

.system-settings[b-6orc49151c]  .form-label {
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    white-space: normal;
}

.system-settings[b-6orc49151c]  .form-control {
    min-width: 0;
    border-radius: 0.4rem;
    font-size: 0.875rem;
}

.system-settings[b-6orc49151c]  .settings-switch-row {
    gap: 1rem;
    min-width: 0;
}

.system-settings[b-6orc49151c]  .settings-switch-row > :first-child {
    min-width: 0;
    flex: 1;
}

.system-settings[b-6orc49151c]  .settings-switch-row > :last-child,
.system-settings[b-6orc49151c]  .settings-template-header > :last-child {
    flex-shrink: 0;
}

.system-settings[b-6orc49151c]  .settings-field-title {
    margin: 0 0 0.3rem;
    color: var(--bs-body-color);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.5;
}

.system-settings[b-6orc49151c]  .settings-switch-divider {
    border-top: 1px solid var(--bs-border-color-translucent);
    padding-top: 1.25rem;
}

.system-settings[b-6orc49151c]  .settings-pause-row {
    border: 1px solid var(--bs-warning-border-subtle);
    border-radius: 0.5rem;
    padding: 0.9rem;
    background: var(--bs-warning-bg-subtle);
}

.system-settings[b-6orc49151c]  .settings-pause-row .settings-field-title {
    color: var(--bs-warning-text-emphasis);
}

.system-settings[b-6orc49151c]  .settings-template-header {
    gap: 1rem;
    width: 100%;
}

.system-settings[b-6orc49151c]  .settings-template-editor {
    min-height: 11rem;
    line-height: 1.7;
    resize: vertical;
}

.system-settings[b-6orc49151c]  .settings-template-context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.5rem;
    margin: 0.9rem 0 0;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    line-height: 1.6;
}

.system-settings[b-6orc49151c]  .settings-template-context > code {
    max-width: 100%;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 0.25rem;
    padding: 0.1rem 0.4rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: 0.7rem;
    overflow-wrap: anywhere;
}

/* 保存栏在较长的模板页签中随滚动停靠，始终提供统一保存入口。 */
.system-settings[b-6orc49151c]  .settings-save-bar {
    position: sticky;
    bottom: 0;
    z-index: 5;
    gap: 1rem;
    margin-top: 1.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--settings-radius);
    padding: 1rem 1.25rem;
    background: var(--bs-body-bg);
    box-shadow: 0 -4px 18px rgba(25, 39, 52, 0.04);
}

.settings-save-title[b-6orc49151c] {
    margin: 0 0 0.25rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.system-settings[b-6orc49151c]  .settings-save-bar .btn {
    min-width: 10rem;
    padding: 0.65rem 1.15rem;
}

@media (min-width: 768px) {
    .system-settings[b-6orc49151c]  .settings-card-grid > .row > *,
    .system-settings[b-6orc49151c]  .settings-field-grid > .row > * {
        width: 50%;
    }

    .system-settings[b-6orc49151c]  .settings-model-grid > .row > :last-child {
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .system-settings[b-6orc49151c]  .settings-account-grid > .row > * {
        width: 33.333333%;
    }
}

@media (max-width: 767.98px) {
    .system-settings[b-6orc49151c] {
        padding: 0.5rem 0.75rem 1rem;
    }

    .system-settings[b-6orc49151c]  .settings-tabs > .tabs-header .tabs-item {
        padding: 0.85rem 0.5rem;
        font-size: 0.8125rem;
    }

    .system-settings[b-6orc49151c]  .settings-tabs .tabs-item-body > i {
        display: none;
    }

    .system-settings[b-6orc49151c]  .settings-card > .card-header,
    .system-settings[b-6orc49151c]  .settings-card > .card-body {
        padding: 1rem;
    }

    .system-settings[b-6orc49151c]  .settings-save-bar {
        padding: 1rem;
    }

    .system-settings[b-6orc49151c]  .settings-save-bar > *,
    .system-settings[b-6orc49151c]  .settings-save-bar .btn {
        width: 100%;
    }
}
/* /Components/Pages/Comm/ModelTasks.razor.rz.scp.css */
.detail-content[b-w4wgm90fpq] {
    padding: 5px;
    overflow: hidden;
    transition: all 0.3s ease;
    width: 100%;
    background-color: var(--bs-tertiary-bg);
    font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif;
    font-size: 0.9rem;
}

.info-card[b-w4wgm90fpq] {
    background: var(--bs-body-bg);
    border-radius: 6px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
    padding: 12px;
    height: 100%;
    margin-bottom: 10px;
}

.info-group[b-w4wgm90fpq] {
    margin-bottom: 10px;
}

.info-label[b-w4wgm90fpq] {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    margin-bottom: 2px;
}

.info-value[b-w4wgm90fpq] {
    font-weight: 500;
    color: var(--bs-body-color);
    font-size: 14px;
}

.status-badge[b-w4wgm90fpq] {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-active[b-w4wgm90fpq] {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success-text-emphasis);
}

.status-pending[b-w4wgm90fpq] {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

.section-title[b-w4wgm90fpq] {
    font-size: 0.85rem;
    color: var(--bs-primary-text-emphasis);
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--bs-border-color);
}

.rotate-icon[b-w4wgm90fpq] {
    transition: transform 0.3s;
}

    .rotate-icon.rotated[b-w4wgm90fpq] {
        transform: rotate(180deg);
    }

.progress[b-w4wgm90fpq] {
    height: 6px;
}

.btn-sm[b-w4wgm90fpq] {
    padding: 3px 8px;
    font-size: 0.8rem;
}

.badge[b-w4wgm90fpq] {
    font-size: 0.75rem;
}

.action-buttons[b-w4wgm90fpq] {
    white-space: nowrap;
}

/* 两列布局样式 */
.two-column-layout[b-w4wgm90fpq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

    .two-column-layout .info-group[b-w4wgm90fpq] {
        margin-bottom: 12px;
    }

/* 三列布局样式 */
.three-column-layout[b-w4wgm90fpq] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

    .three-column-layout .info-group[b-w4wgm90fpq] {
        margin-bottom: 12px;
    }

/* 响应式调整 */
@media (max-width: 768px) {
    .two-column-layout[b-w4wgm90fpq] {
        grid-template-columns: 1fr;
    }
}

.updated-model-tag[b-w4wgm90fpq] {
    border: 1px solid;
    border-color: transparent;
    border-radius: 3px;
    display:block;
    height: 26px;
    font-size: 1.4rem;
    line-height: initial;
}

    .updated-model-tag:hover[b-w4wgm90fpq] {
        background-color: rgba(var(--bs-body-color-rgb), 0.04);
        border-color: coral;
    }

.sk-status-badge[b-w4wgm90fpq] {
    font-size: 0.75rem;
    padding: 4px 5px;
    border-radius: 4px;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
}
/* /Components/Pages/Comm/ModelTasksInternal.razor.rz.scp.css */
.detail-content[b-9amg9rhi27] {
    padding: 5px;
    overflow: hidden;
    transition: all 0.3s ease;
    width: 100%;
    background-color: var(--bs-tertiary-bg);
    font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif;
    font-size: 0.85rem;
}

.info-card[b-9amg9rhi27] {
    background: var(--bs-body-bg);
    border-radius: 6px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
    padding: 5px 10px;
    height: 100%;
    margin-bottom: 10px;
}

.info-group[b-9amg9rhi27] {
    margin-bottom: 10px;
}

.info-label[b-9amg9rhi27] {
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    margin-bottom: 2px;
}

.info-value[b-9amg9rhi27] {
    font-weight: 500;
    color: var(--bs-body-color);
    font-size: 12px;
}

.status-badge[b-9amg9rhi27] {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-active[b-9amg9rhi27] {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success-text-emphasis);
}

.status-pending[b-9amg9rhi27] {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
}

.section-title[b-9amg9rhi27] {
    font-size: 0.85rem;
    color: var(--bs-primary-text-emphasis);
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--bs-border-color);
}

.rotate-icon[b-9amg9rhi27] {
    transition: transform 0.3s;
}

    .rotate-icon.rotated[b-9amg9rhi27] {
        transform: rotate(180deg);
    }

.progress[b-9amg9rhi27] {
    height: 6px;
}

.btn-sm[b-9amg9rhi27] {
    padding: 3px 8px;
    font-size: 0.8rem;
}

.badge[b-9amg9rhi27] {
    font-size: 0.75rem;
}

.action-buttons[b-9amg9rhi27] {
    white-space: nowrap;
}

/* 两列布局样式 */
.two-column-layout[b-9amg9rhi27] {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

    .two-column-layout .info-group[b-9amg9rhi27] {
        margin-bottom: 12px;
    }

/* 三列布局样式 */
.three-column-layout[b-9amg9rhi27] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

    .three-column-layout .info-group[b-9amg9rhi27] {
        margin-bottom: 12px;
    }

/* 响应式调整 */
@media (max-width: 768px) {
    .two-column-layout[b-9amg9rhi27] {
        grid-template-columns: 1fr;
    }
}

.updated-model-tag[b-9amg9rhi27] {
    border: 1px solid;
    border-color: transparent;
    border-radius: 3px;
    display:block;
    height: 26px;
    font-size: 1.4rem;
    line-height: initial;
}

    .updated-model-tag:hover[b-9amg9rhi27] {
        background-color: rgba(var(--bs-body-color-rgb), 0.04);
        border-color: coral;
    }

.sk-status-badge[b-9amg9rhi27] {
    font-size: 0.75rem;
    padding: 4px 5px;
    border-radius: 4px;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
}
/* /Components/Pages/Cus/CustomerCenter/AccountInfo.razor.rz.scp.css */

body[b-7y51brkv2q] {
    background-color: var(--bs-tertiary-bg);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding: 20px;
}

.profile-header[b-7y51brkv2q] {
    background: linear-gradient(135deg, var(--bb-primary-color, var(--bs-primary)), #4395e9);
    color: white;
    border-radius: 10px;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: var(--bb-card-shadow);
}

.info-item[b-7y51brkv2q] {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.info-label[b-7y51brkv2q] {
    font-weight: 600;
    color: var(--bs-secondary-color);
    min-width: 120px;
}

.info-value[b-7y51brkv2q] {
    color: var(--bs-body-color);
    flex: 1;
}

.logo-container[b-7y51brkv2q] {
    width: 120px;
    height: 120px;
    border-radius: 10px;
    overflow: hidden;
    border: 3px solid var(--bs-border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-tertiary-bg);
    cursor: pointer;
    transition: all 0.3s ease;
}

    .logo-container:hover[b-7y51brkv2q] {
        border-color: var(--bb-primary-color, var(--bs-primary));
    }

.logo-img[b-7y51brkv2q] {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.edit-icon[b-7y51brkv2q] {
    color: var(--bs-secondary-color);
    cursor: pointer;
    margin-left: 0.5rem;
    transition: color 0.2s;
}

    .edit-icon:hover[b-7y51brkv2q] {
        color: var(--bs-warning);
    }

/* /Components/Pages/Cus/CustomerCenter/BdPoint.razor.rz.scp.css */

.info-item[b-j47ty184i8] {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.info-label[b-j47ty184i8] {
    font-weight: 600;
    color: var(--bs-secondary-color);
    min-width: 120px;
}

.info-value[b-j47ty184i8] {
    color: var(--bs-body-color);
    flex: 1;
}
/* /Components/Pages/Cus/Helper/HelpCreateModel.razor.rz.scp.css */
.help-page[b-5q34u8n9v1]  .markdown-body {
    padding: 16px 24px;
    line-height: 1.7;
    color: var(--bs-body-color);
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

.help-page[b-5q34u8n9v1]  .markdown-body h1,
.help-page[b-5q34u8n9v1]  .markdown-body h2,
.help-page[b-5q34u8n9v1]  .markdown-body h3,
.help-page[b-5q34u8n9v1]  .markdown-body h4 {
    margin-top: 24px;
    margin-bottom: 16px;
    font-weight: 600;
    line-height: 1.25;
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 0.3em;
}

.help-page[b-5q34u8n9v1]  .markdown-body h1 {
    font-size: 1.8em;
    color: var(--bs-primary-text-emphasis);
}

.help-page[b-5q34u8n9v1]  .markdown-body h2 {
    font-size: 1.5em;
    color: var(--bs-primary-text-emphasis);
}

.help-page[b-5q34u8n9v1]  .markdown-body h3 {
    font-size: 1.25em;
    border-bottom: none;
}

.help-page[b-5q34u8n9v1]  .markdown-body p {
    margin-bottom: 12px;
}

.help-page[b-5q34u8n9v1]  .markdown-body img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: 4px;
    margin: 8px 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.help-page[b-5q34u8n9v1]  .markdown-body ul,
.help-page[b-5q34u8n9v1]  .markdown-body ol {
    padding-left: 2em;
    margin-bottom: 12px;
}

.help-page[b-5q34u8n9v1]  .markdown-body code {
    padding: 0.2em 0.4em;
    background-color: rgba(var(--bs-body-color-rgb), 0.05);
    border-radius: 3px;
    font-size: 85%;
}

.help-page[b-5q34u8n9v1]  .markdown-body pre {
    padding: 16px;
    overflow: auto;
    background-color: var(--bs-tertiary-bg);
    border-radius: 6px;
}

.help-page[b-5q34u8n9v1]  .markdown-body blockquote {
    padding: 0 1em;
    color: var(--bs-secondary-color);
    border-left: 0.25em solid var(--bs-border-color);
    margin: 0 0 12px 0;
}

.help-page[b-5q34u8n9v1]  .markdown-body table {
    border-collapse: collapse;
    margin: 12px 0;
    width: 100%;
}

.help-page[b-5q34u8n9v1]  .markdown-body table th,
.help-page[b-5q34u8n9v1]  .markdown-body table td {
    padding: 8px 12px;
    border: 1px solid var(--bs-border-color);
}

.help-page[b-5q34u8n9v1]  .markdown-body table th {
    background-color: var(--bs-tertiary-bg);
    font-weight: 600;
}

.help-page[b-5q34u8n9v1]  .markdown-body hr {
    height: 0.25em;
    margin: 24px 0;
    background-color: var(--bs-border-color);
    border: 0;
}

/* /Components/Pages/Login.razor.rz.scp.css */
/* 页面主体沿用设计稿双栏，页脚随文流滚动。 */
.login-page .shell[b-rn368tup2e] {
    position: relative;
    z-index: 1;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    max-width: 1720px;
    margin: 0 auto;
    padding: 0 64px;
}

.login-page .mono[b-rn368tup2e] {
    font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
    font-weight: 400;
}

.login-page .icon[b-rn368tup2e] {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
}

.login-page button:focus-visible[b-rn368tup2e],
.login-page a:focus-visible[b-rn368tup2e],
.login-page[b-rn368tup2e]  button:focus-visible {
    outline: 2px solid var(--login-mint);
    outline-offset: 4px;
}

.login-page .topbar[b-rn368tup2e] {
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid var(--login-line);
}

.login-page .brand[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.login-page .brand-mark[b-rn368tup2e] {
    width: 39px;
    height: 39px;
    color: var(--login-mint);
    flex-shrink: 0;
}

.login-page .brand-name[b-rn368tup2e] {
    font-size: 23px;
    letter-spacing: 3px;
    font-weight: 650;
    line-height: 1;
}

.login-page .brand-sub[b-rn368tup2e] {
    font-size: 10px;
    letter-spacing: 2px;
    color: var(--login-muted);
    margin-top: 8px;
}

.login-page .brand-divider[b-rn368tup2e] {
    width: 1px;
    height: 26px;
    background: var(--login-line);
    margin: 0 8px 0 14px;
}

.login-page .product-name[b-rn368tup2e] {
    font-size: 13px;
    color: var(--login-muted);
    letter-spacing: 2px;
}

.login-page .top-right[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}

.login-page .secure-note[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--login-muted);
    letter-spacing: 1px;
}

.login-page .secure-note .icon[b-rn368tup2e] {
    width: 14px;
    height: 14px;
    color: var(--login-mint);
}

.login-page[b-rn368tup2e]  .motion-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    background: transparent;
    border: 0;
    padding: 9px 0;
    color: var(--login-muted);
    font-size: 11px;
    cursor: pointer;
}

.login-page[b-rn368tup2e]  .toggle-track {
    width: 25px;
    height: 14px;
    position: relative;
    border: 1px solid var(--login-mint);
    border-radius: 20px;
    background: color-mix(in srgb, var(--login-mint) 18%, transparent);
}

.login-page[b-rn368tup2e]  .toggle-track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 13px;
    width: 6px;
    height: 6px;
    background: var(--login-mint);
    border-radius: 50%;
    transition: left 0.2s;
}

.login-page[b-rn368tup2e]  .motion-toggle[aria-pressed="false"] .toggle-track {
    border-color: var(--login-muted);
    background: transparent;
}

.login-page[b-rn368tup2e]  .motion-toggle[aria-pressed="false"] .toggle-track::after {
    left: 4px;
    background: var(--login-muted);
}

/* 复用组件库主题菜单，仅覆盖登录页按钮的外观。 */
.login-page .login-theme-switcher[b-rn368tup2e] {
    color: var(--login-muted);
}

.login-page[b-rn368tup2e]  .login-theme-switcher .theme-label {
    font-size: 11px;
}

.login-page[b-rn368tup2e]  .login-theme-switcher .dropdown-toggle {
    color: var(--login-muted);
    padding: 5px 8px;
    border: 1px solid var(--login-line);
    border-radius: 6px;
    background: transparent;
}

.login-page .main[b-rn368tup2e] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 424px;
    align-items: center;
    gap: 80px;
    padding: 38px 18px 38px 0;
    min-height: 590px;
}

.login-page .hero[b-rn368tup2e] {
    position: relative;
    min-height: 546px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    isolation: isolate;
    min-width: 0;
}

.login-page .hero-copy[b-rn368tup2e] {
    position: relative;
    z-index: 2;
    padding-top: 3px;
}

.login-page .eyebrow[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 10px;
    letter-spacing: 3px;
    color: var(--login-muted);
}

.login-page .eyebrow[b-rn368tup2e]::before {
    content: "";
    width: 27px;
    height: 1px;
    background: var(--login-mint);
}

.login-page h1[b-rn368tup2e] {
    font-size: clamp(40px, 4.5vw, 68px);
    line-height: 1.27;
    letter-spacing: -2px;
    font-weight: 500;
    margin: 22px 0 15px;
    max-width: 680px;
    color: var(--login-ink);
}

.login-page .headline-accent[b-rn368tup2e] {
    color: var(--login-mint);
    background: linear-gradient(110deg, var(--login-mint), var(--login-cyan));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.login-page .hero-desc[b-rn368tup2e] {
    font-size: 13px;
    color: var(--login-muted);
    letter-spacing: 1.2px;
    line-height: 1.9;
    margin: 0;
    max-width: 470px;
}

.login-page .hero-desc .sep[b-rn368tup2e] {
    padding: 0 10px;
    color: var(--login-muted);
    opacity: 0.65;
}

/* 固定文字区域宽度，使中文、英文及退格状态保持同一布局。 */
.login-page .media-typewriter[b-rn368tup2e] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 16px 0 0;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1px;
}

.login-page .media-label[b-rn368tup2e] {
    color: var(--login-muted);
    font-size: 11px;
    white-space: nowrap;
}

.login-page .media-value[b-rn368tup2e] {
    min-width: 8em;
    min-height: 1.8em;
    color: var(--login-mint);
    text-align: left;
    white-space: nowrap;
}

.login-page .media-value[b-rn368tup2e]  .typed-cursor {
    color: var(--login-cyan);
}

.login-page[b-rn368tup2e]  .visual {
    position: absolute;
    width: clamp(420px, 40vw, 610px);
    height: clamp(420px, 40vw, 610px);
    left: 50%;
    top: 100px;
    transform: translateX(-50%);
    z-index: -1;
    opacity: 0.94;
    perspective: 900px;
    pointer-events: none;
}

.login-page[b-rn368tup2e]  .reactor {
    width: 100%;
    height: 100%;
    transition: transform 0.8s var(--login-ease);
    transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
    transform-style: preserve-3d;
    filter: var(--login-core-filter);
}

.login-page[b-rn368tup2e]  .reactor > svg {
    width: 100%;
    height: 100%;
    display: block;
}

.login-page[b-rn368tup2e]  .core-halo {
    position: absolute;
    left: 22%;
    top: 24%;
    width: 56%;
    height: 56%;
    border-radius: 50%;
    background: radial-gradient(circle, var(--login-aura), transparent 66%);
    filter: blur(15px);
}

.login-page[b-rn368tup2e]  .visual::after {
    content: "";
    position: absolute;
    width: 68%;
    height: 9%;
    left: 16%;
    bottom: 4%;
    background: var(--login-aura);
    filter: blur(32px);
    border-radius: 50%;
}

.login-page[b-rn368tup2e]  .visual-tag {
    position: absolute;
    z-index: 3;
    font-size: 9px;
    line-height: 1.8;
    letter-spacing: 1.6px;
    color: var(--login-muted);
}

.login-page[b-rn368tup2e]  .visual-tag strong {
    display: block;
    font-weight: 400;
    color: var(--login-mint);
    font-size: 11px;
    letter-spacing: 2px;
}

.login-page[b-rn368tup2e]  .visual-tag::before {
    content: "";
    width: 27px;
    height: 1px;
    background: var(--login-line);
    position: absolute;
    top: 13px;
}

.login-page[b-rn368tup2e]  .tag-a {
    right: 0;
    top: 200px;
    text-align: left;
}

.login-page[b-rn368tup2e]  .tag-a::before {
    left: -39px;
}

.login-page[b-rn368tup2e]  .tag-b {
    left: 1%;
    bottom: 127px;
}

.login-page[b-rn368tup2e]  .tag-b::before {
    right: -39px;
}

.login-page[b-rn368tup2e]  .tag-dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--login-mint);
    margin-right: 6px;
    box-shadow: 0 0 9px var(--login-mint);
}

.login-page .hero-bottom[b-rn368tup2e] {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 20px;
    padding-top: 0;
}

.login-page .hero-index[b-rn368tup2e] {
    font-size: 11px;
    color: var(--login-ink);
    letter-spacing: 1px;
    border-right: 1px solid var(--login-line);
    padding-right: 18px;
    line-height: 1.6;
}

.login-page .hero-index span[b-rn368tup2e] {
    color: var(--login-muted);
}

.login-page .hero-bottom-text[b-rn368tup2e] {
    font-size: 10px;
    letter-spacing: 2px;
    color: var(--login-muted);
    line-height: 1.8;
}

.login-page .hero-bottom-text b[b-rn368tup2e] {
    color: var(--login-ink);
    font-size: 12px;
    letter-spacing: 1.4px;
    font-weight: 400;
    display: block;
}

.login-page .tiny-arrow[b-rn368tup2e] {
    width: 25px;
    height: 25px;
    color: var(--login-mint);
    margin-left: auto;
    margin-right: 18px;
}

.login-page .login-wrap[b-rn368tup2e] {
    position: relative;
    isolation: isolate;
    min-width: 0;
}

.login-page .login-wrap[b-rn368tup2e]::before {
    content: "";
    position: absolute;
    inset: -1px -1px 32px;
    border: 1px solid var(--login-card-edge);
    border-radius: 20px;
    z-index: -1;
    pointer-events: none;
}

.login-page .login-wrap[b-rn368tup2e]::after {
    content: "";
    position: absolute;
    top: -1px;
    left: 45px;
    width: 94px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--login-mint), transparent);
    box-shadow: 0 0 12px var(--login-aura);
    pointer-events: none;
}

/* Card 和输入框保留组件库行为，外观通过祖先限定的 ::deep 调整。 */
.login-page[b-rn368tup2e]  .login-card {
    --bs-card-bg: transparent;
    --bs-card-color: var(--login-ink);
    --bs-card-border-color: transparent;
    --bs-card-border-radius: 19px;
    background: var(--login-card-bg);
    color: var(--login-ink);
    border: 1px solid var(--login-card-edge);
    border-radius: 19px;
    box-shadow: var(--login-card-shadow);
    position: relative;
    overflow: hidden;
}

.login-page[b-rn368tup2e]  .login-card > .card-body {
    padding: 31px 36px 25px;
}

.login-page .card-grid[b-rn368tup2e] {
    position: absolute;
    right: -12px;
    top: -12px;
    width: 150px;
    height: 140px;
    opacity: 0.3;
    background-image: radial-gradient(var(--login-muted) 1px, transparent 1px);
    background-size: 11px 11px;
    mask-image: linear-gradient(225deg, #000, transparent 70%);
    pointer-events: none;
}

.login-page .card-overline[b-rn368tup2e] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 9px;
    letter-spacing: 2px;
    color: var(--login-muted);
}

.login-page .card-overline .icon[b-rn368tup2e] {
    width: 16px;
    height: 16px;
    color: var(--login-mint);
}

.login-page .card-overline span:first-child[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.login-page .mini-square[b-rn368tup2e] {
    width: 5px;
    height: 5px;
    background: var(--login-mint);
    display: inline-block;
}

.login-page .card-title[b-rn368tup2e] {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 1px;
    margin: 20px 0 8px;
    line-height: 1.4;
    color: var(--login-ink);
}

.login-page .card-subtitle[b-rn368tup2e] {
    font-size: 12px;
    line-height: 1.7;
    color: var(--login-muted);
    margin: 0;
}

.login-page .login-method[b-rn368tup2e] {
    border-bottom: 1px solid var(--login-line);
    margin: 25px 0 22px;
    color: var(--login-ink);
    font-size: 12px;
}

.login-page .login-method span[b-rn368tup2e] {
    display: inline-block;
    position: relative;
    padding-bottom: 13px;
}

.login-page .login-method span[b-rn368tup2e]::after {
    content: "";
    position: absolute;
    bottom: -1px;
    height: 2px;
    left: 0;
    right: 0;
    background: var(--login-mint);
}

.login-page .field[b-rn368tup2e] {
    margin-bottom: 18px;
}

.login-page .field-label[b-rn368tup2e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: var(--login-ink);
    margin-bottom: 8px;
}

.login-page .field-label .mono[b-rn368tup2e] {
    font-size: 8px;
    letter-spacing: 1.5px;
    color: var(--login-muted);
}

.login-page .input-wrap[b-rn368tup2e] {
    min-height: 46px;
    position: relative;
    border: 1px solid var(--login-input-border);
    background: var(--login-input-bg);
    border-radius: 7px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 13px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.login-page .input-wrap:focus-within[b-rn368tup2e] {
    border-color: var(--login-mint);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--login-mint) 13%, transparent);
}

.login-page .input-wrap > .icon[b-rn368tup2e] {
    width: 16px;
    height: 16px;
    color: var(--login-muted);
}

.login-page .input-wrap > i.icon[b-rn368tup2e] {
    height: auto;
    font-size: 15px;
    text-align: center;
}

.login-page[b-rn368tup2e]  .input-wrap .form-control,
.login-page[b-rn368tup2e]  .input-wrap .login-input {
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    background-color: transparent;
    color: var(--login-input-ink);
    -webkit-text-fill-color: var(--login-input-ink);
    font-size: 13px;
    padding: 10px 0;
    min-height: 44px;
    margin-bottom: 0;
    letter-spacing: 0.4px;
    box-shadow: none;
}

/* app.css 的全局占位色带 important，此处仅对登录输入框恢复主题色。 */
.login-page[b-rn368tup2e]  .input-wrap .form-control::placeholder {
    color: var(--login-input-placeholder) !important;
    -webkit-text-fill-color: var(--login-input-placeholder);
    opacity: 1;
}

.login-page[b-rn368tup2e]  .input-wrap .form-control:-webkit-autofill {
    -webkit-text-fill-color: var(--login-input-ink);
    box-shadow: 0 0 0 50px var(--login-input-bg) inset;
    caret-color: var(--login-input-ink);
}

.login-page[b-rn368tup2e]  .input-wrap .form-control:focus {
    color: var(--login-input-ink);
    background-color: transparent;
    box-shadow: none;
}

.login-page[b-rn368tup2e]  .input-wrap .input-group,
.login-page[b-rn368tup2e]  .input-wrap .form-control-wrapper {
    min-width: 0;
    width: 100%;
}

.login-page .input-wrap:has(.is-invalid)[b-rn368tup2e] {
    border-color: var(--login-error);
}

.login-page[b-rn368tup2e]  .login-card .invalid-feedback,
.login-page[b-rn368tup2e]  .login-card .validation-message {
    color: var(--login-error);
    font-size: 11px;
}

.login-page .form-meta[b-rn368tup2e] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 2px 0 22px;
    font-size: 11px;
    color: var(--login-muted);
    gap: 7px;
}

.login-page .text-link[b-rn368tup2e] {
    padding: 0;
    background: none;
    border: 0;
    color: var(--login-muted);
    font-size: 11px;
    text-decoration: none;
    cursor: pointer;
}

.login-page .text-link:hover[b-rn368tup2e] {
    color: var(--login-mint);
}

.login-page[b-rn368tup2e]  .submit {
    --bs-btn-color: var(--login-accent-ink);
    --bs-btn-hover-color: var(--login-accent-ink);
    --bs-btn-active-color: var(--login-accent-ink);
    --bs-btn-disabled-color: var(--login-accent-ink);
    --bs-btn-border-color: var(--login-accent-border);
    --bs-btn-hover-border-color: var(--login-accent-border);
    position: relative;
    min-height: 49px;
    width: 100%;
    padding: 0 18px;
    border: 1px solid var(--login-accent-border);
    border-radius: 7px;
    background: var(--login-accent-bg);
    color: var(--login-accent-ink);
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-shadow: 0 0 24px var(--login-aura);
    transition: transform 0.2s, box-shadow 0.2s;
    overflow: hidden;
}

.login-page[b-rn368tup2e]  .submit::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, 0.3) 47%, transparent 67%);
    transform: translateX(-150%);
    pointer-events: none;
}

.login-page[b-rn368tup2e]  .submit:hover {
    color: var(--login-accent-ink);
    background: var(--login-accent-bg);
    box-shadow: 0 0 27px var(--login-aura);
    transform: translateY(-1px);
}

.login-page[b-rn368tup2e]  .submit:hover::before {
    animation: login-button-sheen-b-rn368tup2e 0.8s var(--login-ease);
}

.login-page[b-rn368tup2e]  .submit:active {
    transform: translateY(0);
}

.login-page[b-rn368tup2e]  .submit:disabled {
    color: var(--login-accent-ink);
    background: var(--login-accent-bg);
    opacity: 0.8;
    transform: none;
}

.login-page .card-footer[b-rn368tup2e] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    color: var(--login-muted);
    font-size: 10px;
    margin-top: 22px;
    padding: 17px 0 0;
    border-top: 1px solid var(--login-line);
    background: transparent;
    letter-spacing: 0.3px;
}

.login-page .card-footer .icon[b-rn368tup2e] {
    width: 12px;
    height: 12px;
}

.login-page .card-outside[b-rn368tup2e] {
    margin: 19px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 9px;
    color: var(--login-muted);
    letter-spacing: 1px;
}

.login-page .card-outside span:first-child[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.login-page .card-outside .icon[b-rn368tup2e] {
    width: 11px;
    height: 11px;
    color: var(--login-mint);
}

.login-page .footer[b-rn368tup2e] {
    background: transparent;
    position: relative;
    width: 100%;
    min-height: 82px;
    border-top: 1px solid var(--login-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 0;
    font-size: 10px;
    color: var(--login-muted);
    letter-spacing: 0.4px;
}

.login-page .footer-left[b-rn368tup2e],
.login-page .footer-right[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.login-page .footer-left[b-rn368tup2e] {
    min-width: 0;
}

.login-page .footer-right[b-rn368tup2e] {
    flex-shrink: 0;
    justify-content: flex-end;
}

.login-page .footer-status[b-rn368tup2e] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.login-page .status-led[b-rn368tup2e] {
    width: 5px;
    height: 5px;
    background: var(--login-mint);
    box-shadow: 0 0 8px var(--login-aura);
    border-radius: 50%;
    flex-shrink: 0;
}

.login-page .footer-line[b-rn368tup2e] {
    width: 1px;
    height: 12px;
    background: var(--login-line);
}

.login-page .footer-caption[b-rn368tup2e] {
    color: var(--login-muted);
    font-size: 9px;
    letter-spacing: 2px;
}

.login-page .footer .link[b-rn368tup2e],
.login-page .footer a[b-rn368tup2e] {
    color: var(--login-muted);
    text-decoration: none;
}

.login-page .footer a:hover[b-rn368tup2e] {
    color: var(--login-mint);
}

.login-page .copyright[b-rn368tup2e] {
    line-height: 1.8;
}

.login-page.boot .hero-copy[b-rn368tup2e],
.login-page.boot .login-wrap[b-rn368tup2e],
.login-page.boot .hero-bottom[b-rn368tup2e] {
    animation: login-reveal-b-rn368tup2e 1s var(--login-ease) both;
}

.login-page.boot .login-wrap[b-rn368tup2e] {
    animation-delay: 0.12s;
}

.login-page.boot .hero-bottom[b-rn368tup2e] {
    animation-delay: 0.2s;
}

.login-page.boot[b-rn368tup2e]  .visual {
    animation: login-core-reveal-b-rn368tup2e 1.8s var(--login-ease) both;
}

@keyframes login-button-sheen-b-rn368tup2e {
    to {
        transform: translateX(150%);
    }
}

@keyframes login-reveal-b-rn368tup2e {
    from {
        opacity: 0;
        transform: translateY(17px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes login-core-reveal-b-rn368tup2e {
    from {
        opacity: 0;
        transform: translateX(-50%) scale(0.9);
    }

    to {
        opacity: 0.94;
        transform: translateX(-50%) scale(1);
    }
}

@media (min-width: 1600px) {
    .login-page .main[b-rn368tup2e] {
        gap: 118px;
        padding-right: 50px;
        min-height: 770px;
    }

    .login-page .hero[b-rn368tup2e] {
        min-height: 680px;
    }

    .login-page[b-rn368tup2e]  .visual {
        top: 140px;
        width: 650px;
        height: 650px;
    }

    .login-page h1[b-rn368tup2e] {
        font-size: 74px;
    }
}

@media (max-width: 1200px) {
    .login-page .shell[b-rn368tup2e] {
        padding: 0 38px;
    }

    .login-page .main[b-rn368tup2e] {
        grid-template-columns: minmax(0, 1fr) 395px;
        gap: 36px;
        padding-right: 0;
    }

    .login-page[b-rn368tup2e]  .login-card > .card-body {
        padding: 32px;
    }

    .login-page[b-rn368tup2e]  .visual {
        width: 490px;
        height: 490px;
        top: 130px;
    }

    .login-page[b-rn368tup2e]  .tag-a {
        right: -5px;
        top: 215px;
    }

    .login-page[b-rn368tup2e]  .tag-b {
        bottom: 94px;
    }

    .login-page .hero-desc[b-rn368tup2e] {
        font-size: 12px;
    }

    .login-page .hero-desc .sep[b-rn368tup2e] {
        padding: 0 4px;
    }

    .login-page h1[b-rn368tup2e] {
        font-size: 49px;
    }

    .login-page .footer-caption[b-rn368tup2e],
    .login-page .secure-note[b-rn368tup2e] {
        display: none;
    }
}

@media (max-width: 980px) {
    .login-page .shell[b-rn368tup2e] {
        padding: 0 26px;
    }

    .login-page .product-name[b-rn368tup2e],
    .login-page .brand-divider[b-rn368tup2e] {
        display: none;
    }

    .login-page .main[b-rn368tup2e] {
        grid-template-columns: minmax(0, 1fr) 370px;
        gap: 23px;
        min-height: 650px;
    }

    .login-page .hero[b-rn368tup2e] {
        min-height: 545px;
    }

    .login-page h1[b-rn368tup2e] {
        font-size: 40px;
        letter-spacing: -1px;
    }

    .login-page .hero-desc[b-rn368tup2e] {
        font-size: 11px;
        max-width: 270px;
    }

    .login-page .hero-desc .sep[b-rn368tup2e] {
        display: none;
    }

    .login-page .hero-desc .second-desc[b-rn368tup2e] {
        display: block;
    }

    .login-page .eyebrow[b-rn368tup2e] {
        font-size: 8px;
        letter-spacing: 1.9px;
    }

    .login-page[b-rn368tup2e]  .visual {
        width: 415px;
        height: 415px;
        top: 167px;
        left: 46%;
    }

    .login-page[b-rn368tup2e]  .visual-tag,
    .login-page .tiny-arrow[b-rn368tup2e] {
        display: none;
    }

    .login-page .hero-bottom-text[b-rn368tup2e] {
        font-size: 8px;
        letter-spacing: 1px;
    }

    .login-page .hero-bottom-text b[b-rn368tup2e] {
        font-size: 10px;
    }

    .login-page .hero-index[b-rn368tup2e] {
        font-size: 9px;
    }

    .login-page[b-rn368tup2e]  .login-card > .card-body {
        padding: 30px;
    }

    .login-page .footer[b-rn368tup2e] {
        font-size: 9px;
    }

    .login-page .footer-left[b-rn368tup2e],
    .login-page .footer-right[b-rn368tup2e] {
        gap: 14px;
    }
}

@media (max-width: 760px) {
    .login-page .shell[b-rn368tup2e] {
        padding: 0 22px;
    }

    .login-page .topbar[b-rn368tup2e] {
        min-height: 82px;
        gap: 14px;
    }

    .login-page .brand-name[b-rn368tup2e] {
        font-size: 19px;
        letter-spacing: 2px;
    }

    .login-page .brand-mark[b-rn368tup2e] {
        width: 32px;
        height: 32px;
    }

    .login-page .brand-sub[b-rn368tup2e] {
        font-size: 8px;
        letter-spacing: 1.3px;
    }

    .login-page .top-right[b-rn368tup2e] {
        gap: 14px;
    }

    .login-page[b-rn368tup2e]  .motion-toggle {
        font-size: 10px;
    }

    .login-page .main[b-rn368tup2e] {
        display: flex;
        flex-direction: column;
        gap: 31px;
        padding: 38px 0;
        min-height: 0;
    }

    .login-page .hero[b-rn368tup2e] {
        min-height: 337px;
        width: 100%;
        max-width: 430px;
        align-self: center;
    }

    .login-page .hero-copy[b-rn368tup2e] {
        text-align: center;
    }

    .login-page .media-typewriter[b-rn368tup2e] {
        justify-content: center;
        margin-top: 12px;
        font-size: 12px;
    }

    .login-page .eyebrow[b-rn368tup2e] {
        justify-content: center;
        font-size: 8px;
        letter-spacing: 2px;
    }

    .login-page .eyebrow[b-rn368tup2e]::before {
        width: 16px;
    }

    .login-page h1[b-rn368tup2e] {
        font-size: 37px;
        line-height: 1.3;
        margin: 18px 0 10px;
    }

    .login-page .hero-desc[b-rn368tup2e] {
        font-size: 10px;
        max-width: none;
        letter-spacing: 0.9px;
    }

    .login-page .hero-desc .sep[b-rn368tup2e] {
        display: inline;
        padding: 0 6px;
    }

    .login-page .hero-desc .second-desc[b-rn368tup2e] {
        display: inline;
    }

    .login-page[b-rn368tup2e]  .visual {
        width: 340px;
        height: 340px;
        top: 105px;
        left: 50%;
        opacity: 0.75;
    }

    .login-page.boot[b-rn368tup2e]  .visual {
        animation: none;
    }

    .login-page .hero-bottom[b-rn368tup2e] {
        display: none;
    }

    .login-page .login-wrap[b-rn368tup2e] {
        width: 100%;
        max-width: 424px;
    }

    .login-page .card-title[b-rn368tup2e] {
        font-size: 28px;
    }

    .login-page .card-outside[b-rn368tup2e] {
        font-size: 8px;
        margin-top: 15px;
        letter-spacing: 0.3px;
    }

    .login-page .footer[b-rn368tup2e] {
        min-height: 80px;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        padding: 18px 0;
        font-size: 8px;
        letter-spacing: 0.2px;
        text-align: center;
    }

    .login-page .footer-left[b-rn368tup2e],
    .login-page .footer-right[b-rn368tup2e] {
        justify-content: center;
        gap: 12px;
    }

    .login-page .footer-line[b-rn368tup2e] {
        height: 9px;
    }

    .login-page .card-footer[b-rn368tup2e] {
        font-size: 9px;
    }

    .login-page[b-rn368tup2e]  .input-wrap .form-control,
    .login-page[b-rn368tup2e]  .input-wrap .login-input {
        font-size: 16px;
        min-height: 46px;
    }

    .login-page .input-wrap[b-rn368tup2e] {
        min-height: 48px;
    }
}

@media (max-width: 575px) {
    .login-page[b-rn368tup2e]  .login-theme-switcher .theme-label,
    .login-page[b-rn368tup2e]  .motion-toggle .toggle-text {
        display: none;
    }
}

@media (max-width: 380px) {
    .login-page .shell[b-rn368tup2e] {
        padding: 0 17px;
    }

    .login-page .brand[b-rn368tup2e] {
        gap: 9px;
    }

    .login-page .brand-name[b-rn368tup2e] {
        font-size: 17px;
        letter-spacing: 1px;
    }

    .login-page .brand-mark[b-rn368tup2e] {
        width: 28px;
        height: 28px;
    }

    .login-page .brand-sub[b-rn368tup2e] {
        font-size: 7px;
        letter-spacing: 1px;
    }

    .login-page .top-right[b-rn368tup2e] {
        gap: 10px;
    }

    .login-page .main[b-rn368tup2e] {
        padding-top: 32px;
    }

    .login-page .hero[b-rn368tup2e] {
        min-height: 319px;
    }

    .login-page h1[b-rn368tup2e] {
        font-size: 32px;
    }

    .login-page[b-rn368tup2e]  .visual {
        width: 310px;
        height: 310px;
        top: 115px;
    }

    .login-page[b-rn368tup2e]  .login-card > .card-body {
        padding: 27px 24px;
    }

    .login-page .card-title[b-rn368tup2e] {
        font-size: 26px;
    }

    .login-page .footer-left[b-rn368tup2e] {
        gap: 8px;
    }

    .login-page .card-outside[b-rn368tup2e] {
        font-size: 7px;
    }
}


.login-page[b-rn368tup2e]  .motion-toggle:hover,
.login-page[b-rn368tup2e]  .motion-toggle:active {
    color: var(--login-mint);
    text-decoration: none;
}

.login-page[b-rn368tup2e]  .motion-toggle[aria-pressed="false"] {
    opacity: 0.65;
}

.login-page[b-rn368tup2e]  .motion-toggle .btn-icon {
    font-size: 12px;
}

.login-page[b-rn368tup2e]  .submit .btn-icon {
    order: 2;
    margin-left: 8px;
    margin-right: 0;
}

/* Button 的图标直接渲染为 i 元素，按设计稿放在按钮右侧。 */
.login-page[b-rn368tup2e]  .submit > i {
    position: absolute;
    right: 16px;
    margin: 0;
    width: 18px;
}

@media (max-width: 575px) {
    .login-page[b-rn368tup2e]  .motion-toggle .btn-text {
        display: none;
    }
}

.login-page .field-label[b-rn368tup2e]  label {
    margin: 0;
    font-size: inherit;
    font-weight: 400;
    color: var(--login-ink);
}

/* 密码显示按钮使用组件库 Button，尺寸限定于输入框内。 */
.login-page[b-rn368tup2e]  .input-wrap .eye {
    width: 28px;
    height: 32px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--login-muted);
    box-shadow: none;
    text-decoration: none;
}

.login-page[b-rn368tup2e]  .input-wrap .eye:hover,
.login-page[b-rn368tup2e]  .input-wrap .eye:active {
    color: var(--login-mint);
    background: transparent;
    text-decoration: none;
}

.login-page[b-rn368tup2e]  .input-wrap .eye .btn-icon {
    margin: 0;
    font-size: 15px;
}

.login-page[b-rn368tup2e]  .form-meta .text-link {
    font-size: 11px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--login-muted);
    text-decoration: none;
}

.login-page[b-rn368tup2e]  .form-meta .text-link:hover {
    color: var(--login-mint);
}



