/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* 主布局样式 */
.page[b-7l4pjp0wn3] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-7l4pjp0wn3] {
    flex: 1;
    background-color: #f3f4f8;
    display: flex;
    flex-direction: column;
}

.sidebar[b-7l4pjp0wn3] {
    background-color: #ffffff;
    border-right: 1px solid #e8ecf1;
}

.top-bar[b-7l4pjp0wn3] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 3.5rem;
    padding: 0 1.5rem;
    background-color: #ffffff;
    border-bottom: 1px solid #e8ecf1;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    flex-shrink: 0;
}

.top-bar-left[b-7l4pjp0wn3] {
    display: flex;
    align-items: center;
}

.top-bar-title[b-7l4pjp0wn3] {
    font-size: 1rem;
    font-weight: 600;
    color: #1e2130;
}

.top-bar-right[b-7l4pjp0wn3] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.top-bar-user[b-7l4pjp0wn3] {
    font-size: 0.875rem;
    color: #5a6070;
}

.logout-form[b-7l4pjp0wn3] {
    display: inline;
    margin: 0;
    padding: 0;
}

.top-bar-logout[b-7l4pjp0wn3] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #e5484d;
    text-decoration: none;
    padding: 0.35rem 0.85rem;
    border: 1px solid #ffccc7;
    border-radius: 6px;
    transition: all 0.2s ease;
    background: none;
    cursor: pointer;
    font-family: inherit;
}

.top-bar-logout:hover[b-7l4pjp0wn3] {
    background: #fff1f0;
    color: #cf1322;
    border-color: #ffa39e;
    text-decoration: none;
}

.content[b-7l4pjp0wn3] {
    padding: 1.5rem;
    flex: 1;
    position: relative;
    min-height: 0;
}

.content-card[b-7l4pjp0wn3] {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 16px rgba(0, 0, 0, 0.04);
    padding: 1.5rem 1.75rem;
    border: 1px solid #e8ecf1;
    overflow-y: auto;
}

.bottom-bar[b-7l4pjp0wn3] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5rem;
    font-size: 0.8rem;
    color: #8c93a0;
    background-color: #fafbfc;
    border-top: 1px solid #e8ecf1;
    flex-shrink: 0;
}

#blazor-error-ui[b-7l4pjp0wn3] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-7l4pjp0wn3] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.pwd-modal-overlay[b-7l4pjp0wn3] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.pwd-modal[b-7l4pjp0wn3] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
    width: 440px;
    max-width: 90vw;
    overflow: hidden;
}

.pwd-modal-header[b-7l4pjp0wn3] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 24px;
    background: linear-gradient(135deg, #667eea 0%, #5b7fff 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.pwd-modal-icon[b-7l4pjp0wn3] {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.pwd-modal-body[b-7l4pjp0wn3] {
    padding: 24px;
}

.pwd-modal-desc[b-7l4pjp0wn3] {
    font-size: 14px;
    color: #5a6070;
    margin: 0 0 20px 0;
    line-height: 1.6;
}

.pwd-modal-error[b-7l4pjp0wn3] {
    background: #fff2f0;
    border: 1px solid #ffccc7;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    color: #cf1322;
    margin-bottom: 16px;
}

.pwd-modal-success[b-7l4pjp0wn3] {
    background: #f6ffed;
    border: 1px solid #b7eb8f;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    color: #389e0d;
    margin-bottom: 16px;
}

.pwd-modal-field[b-7l4pjp0wn3] {
    margin-bottom: 16px;
}

.pwd-modal-field label[b-7l4pjp0wn3] {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #1e2130;
    margin-bottom: 6px;
}

.pwd-modal-input[b-7l4pjp0wn3] {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    font-size: 14px;
    color: #333;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    outline: none;
}

.pwd-modal-input:focus[b-7l4pjp0wn3] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 2px rgba(91, 127, 255, 0.15);
}

.pwd-modal-input[b-7l4pjp0wn3]::placeholder {
    color: #bfbfbf;
}

.pwd-modal-actions[b-7l4pjp0wn3] {
    margin-top: 24px;
}

.pwd-modal-btn[b-7l4pjp0wn3] {
    width: 100%;
    height: 42px;
    background: linear-gradient(135deg, #667eea 0%, #5b7fff 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
}

.pwd-modal-btn:hover[b-7l4pjp0wn3] {
    opacity: 0.9;
}

.pwd-modal-btn:disabled[b-7l4pjp0wn3] {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (min-width: 641px) {
    .page[b-7l4pjp0wn3] {
        flex-direction: row;
    }

    .sidebar[b-7l4pjp0wn3] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-bar[b-7l4pjp0wn3] {
        position: sticky;
        top: 0;
        z-index: 1;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* 导航菜单图标和样式 */
.navbar-toggler[b-xmqv9a6rjb] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: #4a5568;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.45%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(0, 0, 0, 0.04);
}

.navbar-toggler:checked[b-xmqv9a6rjb] {
    background-color: rgba(0, 0, 0, 0.08);
}

.top-row[b-xmqv9a6rjb] {
    min-height: 3.5rem;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #e8ecf1;
}

.navbar-brand[b-xmqv9a6rjb] {
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.nav-logo[b-xmqv9a6rjb] {
    height: 3.0rem;
    width: auto;
}

@keyframes brand-shimmer-b-xmqv9a6rjb {
    0% { background-position: 0% center; }
    100% { background-position: 100% center; }
}

.bi[b-xmqv9a6rjb] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-xmqv9a6rjb] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235a6070' viewBox='0 0 24 24'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'/%3E%3C/svg%3E");
}

.bi-gear-nav-menu[b-xmqv9a6rjb] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235a6070' viewBox='0 0 24 24'%3E%3Cpath d='M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.07.62-.07.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z'/%3E%3C/svg%3E");
}

.bi-puzzle-nav-menu[b-xmqv9a6rjb] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235a6070' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z'/%3E%3C/svg%3E");
}

.bi-version-nav-menu[b-xmqv9a6rjb] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235a6070' viewBox='0 0 24 24'%3E%3Cpath d='M21 16.5c0 .38-.21.71-.53.88l-7.9 4.44c-.16.12-.36.18-.57.18-.21 0-.41-.06-.57-.18l-7.9-4.44A.991.991 0 0 1 3 16.5v-9c0-.38.21-.71.53-.88l7.9-4.44c.16-.12.36-.18.57-.18.21 0 .41.06.57.18l7.9 4.44c.32.17.53.5.53.88v9M12 4.15 6.04 7.5 12 10.85l5.96-3.35L12 4.15M5 15.91l6 3.38v-6.71L5 9.21v6.7m8 3.38 6-3.38v-6.7l-6 3.36v6.72z'/%3E%3C/svg%3E");
}

.bi-announce-nav-menu[b-xmqv9a6rjb] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235a6070' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'/%3E%3C/svg%3E");
}

.bi-update-nav-menu[b-xmqv9a6rjb] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235a6070' viewBox='0 0 24 24'%3E%3Cpath d='M17.65 6.35A7.958 7.958 0 0012 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0112 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z'/%3E%3C/svg%3E");
}

.nav-item[b-xmqv9a6rjb] {
    font-size: 0.9rem;
    padding-bottom: 0.25rem;
}

    .nav-item:first-of-type[b-xmqv9a6rjb] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-xmqv9a6rjb] {
        padding-bottom: 1rem;
    }

    .nav-item[b-xmqv9a6rjb]  a {
        color: #5a6070;
        border-radius: 8px;
        height: 2.75rem;
        display: flex;
        align-items: center;
        line-height: 2.75rem;
        width: calc(100% - 1rem);
        padding: 0 1.5rem;
        margin: 0 0.5rem;
        font-weight: 500;
        transition: all 0.2s ease;
        position: relative;
    }

    .nav-item[b-xmqv9a6rjb]  a.active {
        background-color: rgba(91, 127, 255, 0.1);
        color: #3d5fd9;
    }

    .nav-item[b-xmqv9a6rjb]  a.active::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3px;
        height: 20px;
        background-color: #5b7fff;
        border-radius: 0 3px 3px 0;
    }

    .nav-item[b-xmqv9a6rjb]  a:hover {
        background-color: rgba(91, 127, 255, 0.06);
        color: #3d5fd9;
    }

    .nav-item[b-xmqv9a6rjb]  a.active:hover {
        background-color: rgba(91, 127, 255, 0.14);
        color: #3d5fd9;
    }

.nav-group-header[b-xmqv9a6rjb] {
    color: #5a6070;
    border-radius: 8px;
    height: 2.75rem;
    display: flex;
    align-items: center;
    width: calc(100% - 1rem);
    padding: 0 1.5rem;
    margin: 0 0.5rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
    position: relative;
}

.nav-group-header:hover[b-xmqv9a6rjb] {
    background-color: rgba(91, 127, 255, 0.06);
    color: #3d5fd9;
}

.nav-group-arrow[b-xmqv9a6rjb] {
    margin-left: auto;
    font-size: 0.95rem;
    font-weight: 700;
    color: #9ca3af;
    transition: transform 0.2s ease;
}

.nav-group-arrow.expanded[b-xmqv9a6rjb] {
    transform: rotate(90deg);
    color: #3d5fd9;
}

.nav-sub[b-xmqv9a6rjb] {
    overflow: hidden;
}

.sub-indent[b-xmqv9a6rjb] {
    display: inline-block;
    width: 1.25rem;
    margin-right: 0.75rem;
}

.nav-item .sub-link[b-xmqv9a6rjb] {
    padding-left: 3.5rem;
    font-size: 0.85rem;
}

.nav-scrollable[b-xmqv9a6rjb] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-xmqv9a6rjb] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-xmqv9a6rjb] {
        display: none;
    }

    .nav-scrollable[b-xmqv9a6rjb] {
        display: block;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* 重连提示模态框样式 */
.components-reconnect-first-attempt-visible[b-4g1scqntnk],
.components-reconnect-repeated-attempt-visible[b-4g1scqntnk],
.components-reconnect-failed-visible[b-4g1scqntnk],
.components-pause-visible[b-4g1scqntnk],
.components-resume-failed-visible[b-4g1scqntnk],
.components-rejoining-animation[b-4g1scqntnk] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-retrying[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-failed[b-4g1scqntnk],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-4g1scqntnk] {
    display: block;
}


#components-reconnect-modal[b-4g1scqntnk] {
    background-color: white;
    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-4g1scqntnk 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-4g1scqntnk 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-4g1scqntnk 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-4g1scqntnk]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-4g1scqntnk 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-4g1scqntnk {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-4g1scqntnk {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-4g1scqntnk {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-4g1scqntnk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-4g1scqntnk] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-4g1scqntnk] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-4g1scqntnk] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-4g1scqntnk] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-4g1scqntnk] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-4g1scqntnk] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-4g1scqntnk 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-4g1scqntnk] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-4g1scqntnk {
    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/Pages/AdminAccount.razor.rz.scp.css */
/* 管理员账号页面样式 */
.admin-page[b-qjsdcwgzgv] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    overflow: hidden;
}

.admin-topbar[b-qjsdcwgzgv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.admin-topbar-left[b-qjsdcwgzgv] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.admin-title-icon[b-qjsdcwgzgv] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.admin-title[b-qjsdcwgzgv] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

.admin-cards[b-qjsdcwgzgv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

.admin-card[b-qjsdcwgzgv] {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.admin-card-head[b-qjsdcwgzgv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(180deg, #fafbfd 0%, #f5f7fa 100%);
    border-bottom: 1px solid #eaedf2;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1e2130;
}

.admin-card-head svg[b-qjsdcwgzgv] {
    width: 18px;
    height: 18px;
    color: #5b7fff;
}

.admin-card-body[b-qjsdcwgzgv] {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.admin-log-card .admin-card-body[b-qjsdcwgzgv] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.admin-field[b-qjsdcwgzgv] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.admin-field label[b-qjsdcwgzgv] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
}

.admin-input[b-qjsdcwgzgv] {
    height: 36px;
    padding: 0 10px;
    font-size: 13px;
    border: 1.5px solid #d1d5db;
    border-radius: 6px;
    outline: none;
    color: #1e2130;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
}

.admin-input:focus[b-qjsdcwgzgv] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 3px rgba(91, 127, 255, 0.08);
}

.admin-input[b-qjsdcwgzgv]::placeholder {
    color: #b0b8c4;
}

.admin-input-disabled[b-qjsdcwgzgv] {
    background: #f5f6fa;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e8ecf1;
}

.admin-btn[b-qjsdcwgzgv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    background: linear-gradient(135deg, #5b7fff 0%, #4a6eeb 100%);
    color: #fff;
    width: 100%;
    margin-top: 0.25rem;
}

.admin-btn:hover[b-qjsdcwgzgv] {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(91, 127, 255, 0.3);
}

.admin-msg-inline[b-qjsdcwgzgv] {
    padding: 0.45rem 0.7rem;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 500;
}

.admin-msg-inline-success[b-qjsdcwgzgv] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.admin-msg-inline-error[b-qjsdcwgzgv] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

@media (max-width: 640px) {
    .admin-cards[b-qjsdcwgzgv] {
        grid-template-columns: 1fr;
    }
}

.admin-log-card[b-qjsdcwgzgv] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.admin-log-empty[b-qjsdcwgzgv] {
    text-align: center;
    padding: 1.5rem;
    color: #b0b8c4;
    font-size: 0.88rem;
}

.admin-log-table-wrap[b-qjsdcwgzgv] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.admin-log-table[b-qjsdcwgzgv] {
    width: 100%;
    border-collapse: collapse;
}

.admin-log-table thead[b-qjsdcwgzgv] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(180deg, #fafbfd 0%, #f5f7fa 100%);
    border-bottom: 1px solid #eaedf2;
}

.admin-log-table th[b-qjsdcwgzgv] {
    padding: 0.6rem 0.85rem;
    text-align: left;
    font-size: 0.76rem;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
}

.admin-log-table td[b-qjsdcwgzgv] {
    padding: 0.6rem 0.85rem;
    font-size: 0.84rem;
    color: #1e2130;
    border-bottom: 1px solid #f3f4f6;
    white-space: nowrap;
}

.admin-log-table tbody tr:hover[b-qjsdcwgzgv] {
    background: #fafbfd;
}

.admin-log-success[b-qjsdcwgzgv] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #059669;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 4px;
}

.admin-log-fail[b-qjsdcwgzgv] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #dc2626;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 4px;
}

.admin-log-ip[b-qjsdcwgzgv] {
    font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.82rem;
    color: #6b7280;
}

.admin-log-pagination[b-qjsdcwgzgv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding-top: 0.75rem;
}

.admin-log-page-btn[b-qjsdcwgzgv] {
    height: 30px;
    min-width: 30px;
    padding: 0 0.5rem;
    font-size: 0.78rem;
    font-weight: 500;
    color: #5a6070;
    background: #fff;
    border: 1.5px solid #e2e6ed;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.12s;
}

.admin-log-page-btn:hover:not(:disabled):not(.admin-log-page-btn-active)[b-qjsdcwgzgv] {
    border-color: #5b7fff;
    color: #5b7fff;
}

.admin-log-page-btn:disabled[b-qjsdcwgzgv] {
    opacity: 0.4;
    cursor: not-allowed;
}

.admin-log-page-btn-active[b-qjsdcwgzgv] {
    background: #5b7fff;
    border-color: #5b7fff;
    color: #fff;
}

.admin-log-page-ellipsis[b-qjsdcwgzgv] {
    padding: 0 0.2rem;
    color: #b0b8c4;
}

.admin-log-page-info[b-qjsdcwgzgv] {
    margin-left: 0.5rem;
    font-size: 0.78rem;
    color: #9ca3af;
}
/* /Components/Pages/Announcements.razor.rz.scp.css */
/* 公告管理页面样式 */
.sa-page[b-spakchv06e] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    overflow: hidden;
}

.sa-topbar[b-spakchv06e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sa-topbar-left[b-spakchv06e] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.sa-topbar-right[b-spakchv06e] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sa-title-icon[b-spakchv06e] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.sa-title[b-spakchv06e] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

.sa-create-btn[b-spakchv06e] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 34px;
    padding: 0 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.12s;
    background: #5b7fff;
    color: #fff;
}

.sa-create-btn:hover[b-spakchv06e] {
    background: #4a6ef0;
}

.sa-create-btn svg[b-spakchv06e] {
    width: 16px;
    height: 16px;
}

.sa-refresh-btn[b-spakchv06e] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 34px;
    padding: 0 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: 1.5px solid #e2e6ed;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.12s;
    background: #fff;
    color: #5a6070;
}

.sa-refresh-btn:hover[b-spakchv06e] {
    border-color: #5b7fff;
    color: #5b7fff;
}

.sa-refresh-btn svg[b-spakchv06e] {
    width: 16px;
    height: 16px;
}

/* 表格 */
.sa-table-wrap[b-spakchv06e] {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 12px;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    flex: 1;
    min-height: 0;
}

.sa-table[b-spakchv06e] {
    width: 100%;
    border-collapse: collapse;
}

.sa-table thead[b-spakchv06e] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(180deg, #fafbfd 0%, #f5f7fa 100%);
    border-bottom: 1px solid #eaedf2;
}

.sa-table th[b-spakchv06e] {
    padding: 0.75rem 1rem;
    text-align: center;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    letter-spacing: 0.3px;
}

.sa-table td[b-spakchv06e] {
    padding: 0.7rem 1rem;
    font-size: 0.88rem;
    color: #1e2130;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
    text-align: center;
}

.sa-table tbody tr:last-child td[b-spakchv06e] {
    border-bottom: 1px solid #f3f4f6;
}

.sa-table tbody tr:hover[b-spakchv06e] {
    background: #fafbfd;
}

.sa-row-id[b-spakchv06e] {
    color: #b0b8c4;
    font-size: 0.82rem;
}

.sa-row-title[b-spakchv06e] {
    text-align: left !important;
    font-weight: 600;
    color: #111827;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sa-row-author[b-spakchv06e] {
    color: #6b7280;
    font-size: 0.82rem;
}

.sa-row-time[b-spakchv06e] {
    color: #9ca3af;
    font-size: 0.82rem;
}

.sa-row-action[b-spakchv06e] {
    text-align: center !important;
    white-space: nowrap;
}

.sa-edit-btn[b-spakchv06e] {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #5b7fff;
    background: #eef1ff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.12s;
    margin-right: 0.3rem;
}

.sa-edit-btn:hover[b-spakchv06e] {
    background: #dde3ff;
}

.sa-delete-btn[b-spakchv06e] {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #ef4444;
    background: #fef2f2;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.12s;
}

.sa-delete-btn:hover[b-spakchv06e] {
    background: #fecaca;
}

/* 空状态 */
.sa-empty[b-spakchv06e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    gap: 0.5rem;
    min-height: 300px;
}

.sa-empty svg[b-spakchv06e] {
    width: 48px;
    height: 48px;
    color: #c7cdd6;
    margin-bottom: 0.25rem;
}

.sa-empty-title[b-spakchv06e] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #6b7280;
}

.sa-empty-desc[b-spakchv06e] {
    font-size: 0.82rem;
    color: #b0b8c4;
}

/* 弹窗 */
.sa-modal-overlay[b-spakchv06e] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: sa-fade-in-b-spakchv06e 0.15s ease;
}

@keyframes sa-fade-in-b-spakchv06e {
    from { opacity: 0; }
    to { opacity: 1; }
}

.sa-modal[b-spakchv06e] {
    background: #fff;
    border-radius: 14px;
    width: 520px;
    max-width: 92vw;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    animation: sa-scale-in-b-spakchv06e 0.15s ease;
}

.sa-modal-sm[b-spakchv06e] {
    width: 380px;
}

@keyframes sa-scale-in-b-spakchv06e {
    from { transform: scale(0.95); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.sa-modal-header[b-spakchv06e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f0f1f3;
}

.sa-modal-title[b-spakchv06e] {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.sa-modal-close[b-spakchv06e] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #9ca3af;
    font-size: 1.3rem;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.12s;
}

.sa-modal-close:hover[b-spakchv06e] {
    background: #f3f4f6;
    color: #374151;
}

.sa-modal-body[b-spakchv06e] {
    padding: 1.25rem;
}

.sa-modal-footer[b-spakchv06e] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid #f0f1f3;
}

/* 表单 */
.sa-form-group[b-spakchv06e] {
    margin-bottom: 1rem;
}

.sa-form-label[b-spakchv06e] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
}

.sa-form-input[b-spakchv06e] {
    width: 100%;
    height: 38px;
    padding: 0 0.75rem;
    font-size: 0.88rem;
    border: 1.5px solid #e2e6ed;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.12s;
    color: #1e2130;
    background: #fff;
    box-sizing: border-box;
}

.sa-form-input:focus[b-spakchv06e] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 3px rgba(91, 127, 255, 0.1);
}

.sa-form-textarea[b-spakchv06e] {
    width: 100%;
    padding: 0.6rem 0.75rem;
    font-size: 0.88rem;
    border: 1.5px solid #e2e6ed;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.12s;
    color: #1e2130;
    background: #fff;
    resize: vertical;
    font-family: inherit;
    line-height: 1.5;
    box-sizing: border-box;
}

.sa-form-textarea:focus[b-spakchv06e] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 3px rgba(91, 127, 255, 0.1);
}

.sa-form-error[b-spakchv06e] {
    font-size: 0.82rem;
    color: #ef4444;
    margin-top: 0.5rem;
}

/* 按钮 */
.sa-btn-cancel[b-spakchv06e] {
    height: 34px;
    padding: 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: 1.5px solid #e2e6ed;
    border-radius: 7px;
    background: #fff;
    color: #5a6070;
    cursor: pointer;
    transition: all 0.12s;
}

.sa-btn-cancel:hover[b-spakchv06e] {
    border-color: #c0c4cc;
}

.sa-btn-primary[b-spakchv06e] {
    height: 34px;
    padding: 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    background: #5b7fff;
    color: #fff;
    cursor: pointer;
    transition: all 0.12s;
}

.sa-btn-primary:hover[b-spakchv06e] {
    background: #4a6ef0;
}

.sa-btn-danger[b-spakchv06e] {
    height: 34px;
    padding: 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    background: #ef4444;
    color: #fff;
    cursor: pointer;
    transition: all 0.12s;
}

.sa-btn-danger:hover[b-spakchv06e] {
    background: #dc2626;
}

.sa-confirm-text[b-spakchv06e] {
    font-size: 0.88rem;
    color: #374151;
    line-height: 1.5;
}

@media (max-width: 720px) {
    .sa-topbar[b-spakchv06e] {
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
    }

    .sa-topbar-right[b-spakchv06e] {
        width: 100%;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* 首页 / 仪表盘样式 */
.home-page[b-iurwd9ek5o] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.home-topbar[b-iurwd9ek5o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.home-topbar-left[b-iurwd9ek5o] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.home-title-icon[b-iurwd9ek5o] {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

.home-title[b-iurwd9ek5o] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

.home-greeting[b-iurwd9ek5o] {
    font-size: 0.88rem;
    color: #6b7280;
    font-weight: 500;
}

.home-stats[b-iurwd9ek5o] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.home-stat-card[b-iurwd9ek5o] {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.home-stat-card:hover[b-iurwd9ek5o] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(91, 127, 255, 0.1);
}

.home-stat-icon-wrap[b-iurwd9ek5o] {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.home-stat-users .home-stat-icon-wrap[b-iurwd9ek5o] {
    background: linear-gradient(135deg, #eef1ff 0%, #e0e6ff 100%);
}

.home-stat-today .home-stat-icon-wrap[b-iurwd9ek5o] {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}

.home-stat-users .home-stat-icon[b-iurwd9ek5o] {
    width: 26px;
    height: 26px;
    color: #5b7fff;
}

.home-stat-today .home-stat-icon[b-iurwd9ek5o] {
    width: 26px;
    height: 26px;
    color: #16a34a;
}

.home-stat-info[b-iurwd9ek5o] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.home-stat-label[b-iurwd9ek5o] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #6b7280;
}

.home-stat-value[b-iurwd9ek5o] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

@media (max-width: 640px) {
    .home-stats[b-iurwd9ek5o] {
        grid-template-columns: 1fr;
    }

    .home-topbar[b-iurwd9ek5o] {
        flex-direction: column;
        gap: 0.5rem;
        align-items: flex-start;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* 登录页面样式 */
.login-page[b-bjce86pie3] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e9f2 100%);
}

.login-card[b-bjce86pie3] {
    width: 400px;
    padding: 2.5rem 2rem;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.login-header[b-bjce86pie3] {
    text-align: center;
    margin-bottom: 1rem;
}

    .login-logo[b-bjce86pie3] {
        height: 4rem;
        width: auto;
        margin-bottom: 1.25rem;
    }

    .login-header p[b-bjce86pie3] {
        font-size: 0.9rem;
        color: #8c93a0;
        margin: 0;
    }

    .login-subtitle[b-bjce86pie3] {
        font-size: 0.95rem !important;
        color: #5a6070 !important;
        line-height: 1.8;
    }

    .rainbow-text[b-bjce86pie3] {
        font-weight: 700;
        background: linear-gradient(90deg, #ff6b6b, #ffa94d, #ffd43b, #69db7c, #4dabf7, #9775fa, #f06595);
        background-size: 200% auto;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: login-brand-shimmer-b-bjce86pie3 3s ease-in-out infinite alternate;
    }

    @keyframes login-brand-shimmer-b-bjce86pie3 {
        0% { background-position: 0% center; }
        100% { background-position: 100% center; }
    }

.login-error[b-bjce86pie3] {
    background: #fff2f0;
    border: 1px solid #ffccc7;
    border-radius: 6px;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    color: #cf1322;
    font-size: 0.875rem;
}

.login-form[b-bjce86pie3] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.login-form input[type="text"][b-bjce86pie3],
.login-form input[type="password"][b-bjce86pie3] {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    font-size: 15px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    background: #fff;
    color: #2c3e50;
}

.login-form input[type="text"]:focus[b-bjce86pie3],
.login-form input[type="password"]:focus[b-bjce86pie3] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 2px rgba(91, 127, 255, 0.15);
}

.login-form input[type="text"][b-bjce86pie3]::placeholder,
.login-form input[type="password"][b-bjce86pie3]::placeholder {
    color: #bfbfbf;
}

.login-form button[type="submit"][b-bjce86pie3] {
    width: 100%;
    height: 44px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: #5b7fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: 0.25rem;
    letter-spacing: 2px;
}

.login-form button[type="submit"]:hover[b-bjce86pie3] {
    background: #4a6eeb;
}

.login-forgot[b-bjce86pie3] {
    text-align: right;
}

.forgot-link[b-bjce86pie3] {
    font-size: 0.85rem;
    color: #8c93a0;
    cursor: pointer;
    transition: color 0.2s;
}

.forgot-link:hover[b-bjce86pie3] {
    color: #5b7fff;
    text-decoration: underline;
}

.forgot-help[b-bjce86pie3] {
    padding: 1rem;
    background: #f0f5ff;
    border: 1px solid #d6e4ff;
    border-radius: 8px;
    font-size: 0.82rem;
    color: #3d5a80;
    line-height: 1.7;
}

.forgot-help p[b-bjce86pie3] {
    margin: 0 0 0.5rem 0;
}

.forgot-help ol[b-bjce86pie3] {
    margin: 0 0 0.75rem 0;
    padding-left: 1.25rem;
}

.forgot-help li[b-bjce86pie3] {
    margin-bottom: 0.35rem;
}

.forgot-help code[b-bjce86pie3] {
    background: #e6f0ff;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.8rem;
    color: #3d5fd9;
}

.forgot-default[b-bjce86pie3] {
    color: #2c3e50 !important;
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
/* 404 页面样式 */
.not-found-page[b-hsl26zep7b] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e9f2 100%);
}

.not-found-card[b-hsl26zep7b] {
    text-align: center;
    padding: 3rem 2rem;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.not-found-code[b-hsl26zep7b] {
    font-size: 6rem;
    font-weight: 800;
    background: linear-gradient(90deg, #5b7fff, #9775fa);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.1;
    margin-bottom: 0.5rem;
}

.not-found-card h3[b-hsl26zep7b] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e2130;
    margin: 0 0 0.5rem 0;
}

.not-found-card p[b-hsl26zep7b] {
    font-size: 0.9rem;
    color: #8c93a0;
    margin: 0 0 1.5rem 0;
}

.not-found-back[b-hsl26zep7b] {
    display: inline-block;
    padding: 0.5rem 1.5rem;
    background: #5b7fff;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background 0.2s;
}

.not-found-back:hover[b-hsl26zep7b] {
    background: #4a6eeb;
    text-decoration: none;
    color: #fff;
}
/* /Components/Pages/Plugins.razor.rz.scp.css */
/* Minecraft 插件管理页面样式 */
.plugin-page[b-lvftxof013] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    overflow: hidden;
}

.plugin-topbar[b-lvftxof013] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.plugin-topbar-left[b-lvftxof013] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.plugin-title-icon[b-lvftxof013] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.plugin-title[b-lvftxof013] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

.plugin-upload-btn[b-lvftxof013] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 36px;
    padding: 0 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    background: linear-gradient(135deg, #5b7fff 0%, #4a6eeb 100%);
    color: #fff;
}

.plugin-upload-btn:hover[b-lvftxof013] {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(91, 127, 255, 0.3);
}

.plugin-upload-btn svg[b-lvftxof013] {
    width: 16px;
    height: 16px;
}

/* 消息提示 */
.plugin-msg[b-lvftxof013] {
    padding: 0.6rem 1rem;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
}

.plugin-msg-success[b-lvftxof013] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.plugin-msg-error[b-lvftxof013] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

/* 空状态 */
.plugin-empty[b-lvftxof013] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    gap: 0.75rem;
    flex: 1;
    min-height: 300px;
}

.plugin-empty p[b-lvftxof013] {
    font-size: 1rem;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
}

.plugin-empty span[b-lvftxof013] {
    font-size: 0.85rem;
    color: #9ca3af;
}

/* 插件列表 */
.plugin-list[b-lvftxof013] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.plugin-card[b-lvftxof013] {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.plugin-card:hover[b-lvftxof013] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(91, 127, 255, 0.08);
}

.plugin-card-main[b-lvftxof013] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    min-width: 0;
}

.plugin-card-icon[b-lvftxof013] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: linear-gradient(135deg, #eef1ff 0%, #e0e6ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.plugin-card-icon svg[b-lvftxof013] {
    width: 22px;
    height: 22px;
    color: #5b7fff;
}

.plugin-card-info[b-lvftxof013] {
    flex: 1;
    min-width: 0;
}

.plugin-card-name[b-lvftxof013] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e2130;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.plugin-card-version[b-lvftxof013] {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #5b7fff;
    background: #eef1ff;
    border-radius: 10px;
    letter-spacing: 0.3px;
}

.plugin-card-desc[b-lvftxof013] {
    font-size: 0.82rem;
    color: #8c93a0;
    margin-top: 0.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.plugin-card-meta[b-lvftxof013] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 0.35rem;
}

.plugin-card-meta-item[b-lvftxof013] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.78rem;
    color: #9ca3af;
}

.plugin-card-meta-item svg[b-lvftxof013] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* 操作按钮 */
.plugin-card-actions[b-lvftxof013] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    margin-left: 1rem;
}

.plugin-action-btn[b-lvftxof013] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    height: 32px;
    padding: 0 0.75rem;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1.5px solid #e2e6ed;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.12s;
    background: #fff;
    color: #5a6070;
    text-decoration: none;
}

.plugin-action-btn svg[b-lvftxof013] {
    width: 14px;
    height: 14px;
}

.plugin-action-download:hover[b-lvftxof013] {
    border-color: #5b7fff;
    color: #5b7fff;
    background: #f8f9ff;
    text-decoration: none;
}

.plugin-action-edit:hover[b-lvftxof013] {
    border-color: #f59e0b;
    color: #d97706;
    background: #fffbeb;
}

.plugin-action-delete:hover[b-lvftxof013] {
    border-color: #ef4444;
    color: #dc2626;
    background: #fef2f2;
}

/* 模态框 */
.plugin-modal-overlay[b-lvftxof013] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.plugin-modal[b-lvftxof013] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
    width: 520px;
    max-width: 90vw;
    overflow: hidden;
}

.plugin-modal-sm[b-lvftxof013] {
    width: 400px;
}

.plugin-modal-header[b-lvftxof013] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #667eea 0%, #5b7fff 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.plugin-modal-header-danger[b-lvftxof013] {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.plugin-modal-icon[b-lvftxof013] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.plugin-modal-close[b-lvftxof013] {
    margin-left: auto;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.4rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: color 0.2s;
}

.plugin-modal-close:hover[b-lvftxof013] {
    color: #fff;
}

.plugin-modal-body[b-lvftxof013] {
    padding: 20px;
}

/* 表单字段 */
.plugin-field[b-lvftxof013] {
    margin-bottom: 14px;
}

.plugin-field label[b-lvftxof013] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 5px;
}

.plugin-field-required[b-lvftxof013] {
    color: #ef4444;
}

.plugin-input[b-lvftxof013] {
    width: 100%;
    height: 38px;
    padding: 0 12px;
    font-size: 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    color: #1e2130;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.plugin-input:focus[b-lvftxof013] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 3px rgba(91, 127, 255, 0.08);
}

.plugin-input[b-lvftxof013]::placeholder {
    color: #b0b8c4;
}

.plugin-textarea[b-lvftxof013] {
    width: 100%;
    padding: 8px 12px;
    font-size: 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    color: #1e2130;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
    resize: vertical;
    font-family: inherit;
}

.plugin-textarea:focus[b-lvftxof013] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 3px rgba(91, 127, 255, 0.08);
}

.plugin-textarea[b-lvftxof013]::placeholder {
    color: #b0b8c4;
}

.plugin-file-input[b-lvftxof013] {
    width: 100%;
}

.plugin-file-input[b-lvftxof013]  input[type="file"] {
    font-size: 0.85rem;
    color: #5a6070;
}

.plugin-file-name[b-lvftxof013] {
    display: block;
    margin-top: 5px;
    font-size: 0.8rem;
    color: #5b7fff;
    font-weight: 500;
}

/* 模态框按钮 */
.plugin-modal-actions[b-lvftxof013] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 20px;
}

.plugin-modal-btn[b-lvftxof013] {
    height: 36px;
    padding: 0 1.25rem;
    font-size: 0.85rem;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.plugin-modal-btn-cancel[b-lvftxof013] {
    background: #f3f4f6;
    color: #6b7280;
}

.plugin-modal-btn-cancel:hover[b-lvftxof013] {
    background: #e5e7eb;
}

.plugin-modal-btn-confirm[b-lvftxof013] {
    background: linear-gradient(135deg, #5b7fff 0%, #4a6eeb 100%);
    color: #fff;
}

.plugin-modal-btn-confirm:hover[b-lvftxof013] {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(91, 127, 255, 0.3);
}

.plugin-modal-btn-danger[b-lvftxof013] {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #fff;
}

.plugin-modal-btn-danger:hover[b-lvftxof013] {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(239, 68, 68, 0.3);
}

/* 删除确认文本 */
.plugin-delete-text[b-lvftxof013] {
    font-size: 0.9rem;
    color: #374151;
    line-height: 1.6;
    margin: 0.5rem 0 0;
}

.plugin-delete-text strong[b-lvftxof013] {
    color: #dc2626;
}

@media (max-width: 640px) {
    .plugin-card[b-lvftxof013] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .plugin-card-actions[b-lvftxof013] {
        margin-left: 0;
        width: 100%;
    }

    .plugin-topbar[b-lvftxof013] {
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
    }

    .plugin-card-meta[b-lvftxof013] {
        flex-wrap: wrap;
        gap: 0.5rem;
    }
}
/* /Components/Pages/SakBotUpdateManager.razor.rz.scp.css */
/* SakBot 更新管理页 */
.su-page[b-5hfawq797q] { display: flex; flex-direction: column; height: 100%; gap: 1rem; }

.su-topbar[b-5hfawq797q] { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.su-topbar-left[b-5hfawq797q] { display: flex; align-items: center; gap: 0.6rem; }
.su-title-icon[b-5hfawq797q] { width: 24px; height: 24px; color: #22c55e; }
.su-title[b-5hfawq797q] { font-size: 1.2rem; font-weight: 600; color: #111827; }

.su-content[b-5hfawq797q] { display: grid; grid-template-columns: 320px 1fr; gap: 1rem; flex: 1; min-height: 0; }

/* 面板 */
.su-panel[b-5hfawq797q] { background: #fff; border: 1px solid #e8ecf1; border-radius: 12px; display: flex; flex-direction: column; overflow: hidden; }
.su-panel-header[b-5hfawq797q] { padding: 0.85rem 1.25rem; border-bottom: 1px solid #f0f1f3; background: linear-gradient(180deg, #fafbfd 0%, #f5f7fa 100%); flex-shrink: 0; }
.su-panel-title[b-5hfawq797q] { font-size: 0.88rem; font-weight: 600; color: #111827; }

/* 版本列表 */
.su-version-list[b-5hfawq797q] { flex: 1; overflow-y: auto; padding: 0.5rem; display: flex; flex-direction: column; gap: 0.35rem; }
.su-empty[b-5hfawq797q] { padding: 2rem 1rem; text-align: center; font-size: 0.82rem; color: #b0b8c4; }

.su-version-item[b-5hfawq797q] { display: flex; align-items: center; justify-content: space-between; padding: 0.65rem 0.85rem; border-radius: 8px; cursor: pointer; transition: background 0.12s; border: 1px solid transparent; }
.su-version-item:hover[b-5hfawq797q] { background: #f8f9ff; }
.su-version-item.selected[b-5hfawq797q] { background: #f0f4ff; border-color: #91caff; }

.su-version-info[b-5hfawq797q] { display: flex; flex-direction: column; gap: 0.15rem; }
.su-version-tag[b-5hfawq797q] { font-size: 0.9rem; font-weight: 700; color: #111827; }
.su-version-secret[b-5hfawq797q] { font-size: 0.72rem; color: #b0b8c4; font-family: monospace; }

.su-badge-ready[b-5hfawq797q] { font-size: 0.7rem; font-weight: 600; color: #22c55e; background: #f0fdf4; padding: 0.15rem 0.55rem; border-radius: 4px; white-space: nowrap; }
.su-badge-none[b-5hfawq797q] { font-size: 0.7rem; font-weight: 600; color: #b0b8c4; background: #f5f5f5; padding: 0.15rem 0.55rem; border-radius: 4px; white-space: nowrap; }

/* 占位 */
.su-placeholder[b-5hfawq797q] { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; color: #b0b8c4; font-size: 0.85rem; }
.su-placeholder svg[b-5hfawq797q] { width: 40px; height: 40px; }

/* 详情 */
.su-detail-panel[b-5hfawq797q] { padding: 1.25rem; }
.su-detail-header[b-5hfawq797q] { margin-bottom: 1rem; }
.su-detail-title[b-5hfawq797q] { font-size: 1rem; font-weight: 700; color: #111827; }

/* 更新包信息卡片 */
.su-update-card[b-5hfawq797q] { background: #f8f9ff; border: 1px solid #dde3ff; border-radius: 10px; padding: 1rem; margin-bottom: 1.25rem; }
.su-update-row[b-5hfawq797q] { display: flex; justify-content: space-between; align-items: flex-start; padding: 0.35rem 0; }
.su-update-row + .su-update-row[b-5hfawq797q] { border-top: 1px solid #edf0f8; }
.su-update-label[b-5hfawq797q] { font-size: 0.78rem; font-weight: 600; color: #6b7280; flex-shrink: 0; margin-right: 1rem; }
.su-update-value[b-5hfawq797q] { font-size: 0.8rem; color: #374151; word-break: break-all; text-align: right; }
.su-hash[b-5hfawq797q] { font-family: monospace; font-size: 0.72rem; }

.su-update-actions[b-5hfawq797q] { margin-top: 0.75rem; display: flex; gap: 0.5rem; }

.su-no-update[b-5hfawq797q] { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 2rem; color: #b0b8c4; font-size: 0.85rem; margin-bottom: 1rem; }
.su-no-update svg[b-5hfawq797q] { width: 32px; height: 32px; }

/* 按钮 */
.su-btn[b-5hfawq797q] { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.4rem 0.85rem; font-size: 0.78rem; font-weight: 600; border: none; border-radius: 6px; cursor: pointer; transition: background 0.12s; }
.su-btn-danger[b-5hfawq797q] { color: #ef4444; background: #fef2f2; }
.su-btn-danger:hover[b-5hfawq797q] { background: #fee2e2; }

/* 上传 */
.su-upload-area[b-5hfawq797q] { padding-top: 1rem; border-top: 1px solid #f0f1f3; }
.su-upload-title[b-5hfawq797q] { font-size: 0.85rem; font-weight: 600; color: #374151; margin-bottom: 0.35rem; }
.su-upload-hint[b-5hfawq797q] { font-size: 0.75rem; color: #b0b8c4; margin-bottom: 0.75rem; line-height: 1.5; }
.su-upload-hint code[b-5hfawq797q] { background: #f0f1f3; padding: 0.1rem 0.35rem; border-radius: 3px; font-size: 0.72rem; }

.su-upload-row[b-5hfawq797q] { display: flex; align-items: center; gap: 0.75rem; }
.su-file-input[b-5hfawq797q]  input[type="file"] { font-size: 0.82rem; }

.su-upload-msg[b-5hfawq797q] { font-size: 0.82rem; font-weight: 500; }
.su-msg-ok[b-5hfawq797q] { color: #22c55e; }
.su-msg-err[b-5hfawq797q] { color: #ef4444; }

@media (max-width: 800px) {
    .su-content[b-5hfawq797q] { grid-template-columns: 1fr; }
    .su-version-list[b-5hfawq797q] { max-height: 200px; }
}
/* /Components/Pages/SakBotVersion.razor.rz.scp.css */
/* SakBot 版本管理页面样式 */
.sv-page[b-k9ljuqykxn] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    overflow: hidden;
}

.sv-topbar[b-k9ljuqykxn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sv-topbar-left[b-k9ljuqykxn] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.sv-topbar-right[b-k9ljuqykxn] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sv-title-icon[b-k9ljuqykxn] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.sv-title[b-k9ljuqykxn] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

.sv-create-btn[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 34px;
    padding: 0 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.12s;
    background: #5b7fff;
    color: #fff;
}

.sv-create-btn:hover[b-k9ljuqykxn] {
    background: #4a6ef0;
}

.sv-create-btn svg[b-k9ljuqykxn] {
    width: 16px;
    height: 16px;
}

.sv-refresh-btn[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 34px;
    padding: 0 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: 1.5px solid #e2e6ed;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.12s;
    background: #fff;
    color: #5a6070;
}

.sv-refresh-btn:hover[b-k9ljuqykxn] {
    border-color: #5b7fff;
    color: #5b7fff;
}

.sv-refresh-btn svg[b-k9ljuqykxn] {
    width: 16px;
    height: 16px;
}

/* 表格 */
.sv-table-wrap[b-k9ljuqykxn] {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 12px;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    flex: 1;
    min-height: 0;
}

.sv-table[b-k9ljuqykxn] {
    width: 100%;
    border-collapse: collapse;
}

.sv-table thead[b-k9ljuqykxn] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(180deg, #fafbfd 0%, #f5f7fa 100%);
    border-bottom: 1px solid #eaedf2;
}

.sv-table th[b-k9ljuqykxn] {
    padding: 0.75rem 1rem;
    text-align: center;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    letter-spacing: 0.3px;
}

.sv-table td[b-k9ljuqykxn] {
    padding: 0.7rem 1rem;
    font-size: 0.88rem;
    color: #1e2130;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
    text-align: center;
}

.sv-table tbody tr:last-child td[b-k9ljuqykxn] {
    border-bottom: 1px solid #f3f4f6;
}

.sv-table tbody tr:hover[b-k9ljuqykxn] {
    background: #fafbfd;
}

/* 序号 */
.sv-row-id[b-k9ljuqykxn] {
    color: #b0b8c4;
    font-size: 0.82rem;
}

/* 版本 */
.sv-version-badge-sm[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #5b7fff;
    background: #eef1ff;
    border-radius: 10px;
    letter-spacing: 0.3px;
}

/* 密钥 */
.sv-row-key[b-k9ljuqykxn] {
    text-align: left !important;
}

.sv-key-cell[b-k9ljuqykxn] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.sv-key-value[b-k9ljuqykxn] {
    font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.82rem;
    color: #6b7280;
    background: #f5f7fa;
    padding: 2px 8px;
    border-radius: 4px;
    word-break: break-all;
}

.sv-key-toggle[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    border-radius: 6px;
    flex-shrink: 0;
    transition: all 0.12s;
}

.sv-key-toggle:hover[b-k9ljuqykxn] {
    background: #f3f4f6;
    color: #5b7fff;
}

/* 使用总数量 */
.sv-row-count[b-k9ljuqykxn] {
    font-weight: 600;
    font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
}

/* 在线用户数量 */
.sv-online-count[b-k9ljuqykxn] {
    color: #22c55e;
    font-weight: 600;
    font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
}

/* 编辑按钮 */
.sv-row-action[b-k9ljuqykxn] {
    text-align: center !important;
}

.sv-edit-btn[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    padding: 4px 14px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #5b7fff;
    background: #eef1ff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.12s;
}

.sv-edit-btn:hover[b-k9ljuqykxn] {
    background: #dde3ff;
}

/* 实例 ID */
.sv-row-instance[b-k9ljuqykxn] {
    font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.82rem;
    color: #6b7280;
}

/* IP */
.sv-row-ip[b-k9ljuqykxn] {
    font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
    font-size: 0.82rem;
    color: #6b7280;
}

/* 时间 */
.sv-row-time[b-k9ljuqykxn] {
    color: #9ca3af;
    font-size: 0.82rem;
}

/* 状态 */
.sv-status-online[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 2px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #22c55e;
    background: #f0fdf4;
    border-radius: 10px;
    white-space: nowrap;
}

.sv-status-online[b-k9ljuqykxn]::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
}

.sv-status-offline[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 2px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #9ca3af;
    background: #f9fafb;
    border-radius: 10px;
    white-space: nowrap;
}

.sv-status-offline[b-k9ljuqykxn]::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d1d5db;
}

/* 空状态 */
.sv-empty[b-k9ljuqykxn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    gap: 0.5rem;
    min-height: 300px;
}

.sv-empty svg[b-k9ljuqykxn] {
    width: 48px;
    height: 48px;
    color: #c7cdd6;
    margin-bottom: 0.25rem;
}

.sv-empty-title[b-k9ljuqykxn] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #6b7280;
}

.sv-empty-desc[b-k9ljuqykxn] {
    font-size: 0.82rem;
    color: #b0b8c4;
}

/* 弹窗 */
.sv-modal-overlay[b-k9ljuqykxn] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: sv-fade-in-b-k9ljuqykxn 0.15s ease;
}

@keyframes sv-fade-in-b-k9ljuqykxn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.sv-modal[b-k9ljuqykxn] {
    background: #fff;
    border-radius: 14px;
    width: 420px;
    max-width: 92vw;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    animation: sv-scale-in-b-k9ljuqykxn 0.15s ease;
}

.sv-modal-wide[b-k9ljuqykxn] {
    width: 720px;
}

.sv-modal-sm[b-k9ljuqykxn] {
    width: 380px;
}

@keyframes sv-scale-in-b-k9ljuqykxn {
    from { transform: scale(0.95); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.sv-modal-header[b-k9ljuqykxn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f0f1f3;
}

.sv-modal-title[b-k9ljuqykxn] {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.sv-modal-close[b-k9ljuqykxn] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #9ca3af;
    font-size: 1.3rem;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.12s;
}

.sv-modal-close:hover[b-k9ljuqykxn] {
    background: #f3f4f6;
    color: #374151;
}

.sv-modal-body[b-k9ljuqykxn] {
    padding: 1.25rem;
}

.sv-modal-footer[b-k9ljuqykxn] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid #f0f1f3;
}

/* 表单 */
.sv-form-group[b-k9ljuqykxn] {
    margin-bottom: 1rem;
}

.sv-form-label[b-k9ljuqykxn] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
}

.sv-form-input-wrap[b-k9ljuqykxn] {
    position: relative;
    display: flex;
    align-items: center;
}

.sv-form-input-wrap .sv-form-input[b-k9ljuqykxn] {
    padding-right: 2.2rem;
}

.sv-form-input-wrap .sv-key-toggle[b-k9ljuqykxn] {
    position: absolute;
    right: 2px;
}

.sv-form-input[b-k9ljuqykxn] {
    width: 100%;
    height: 38px;
    padding: 0 0.75rem;
    font-size: 0.88rem;
    border: 1.5px solid #e2e6ed;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.12s;
    color: #1e2130;
    background: #fff;
}

.sv-form-input:focus[b-k9ljuqykxn] {
    border-color: #5b7fff;
    box-shadow: 0 0 0 3px rgba(91, 127, 255, 0.1);
}

.sv-form-error[b-k9ljuqykxn] {
    font-size: 0.82rem;
    color: #ef4444;
    margin-top: 0.5rem;
}

/* 按钮 */
.sv-btn-cancel[b-k9ljuqykxn] {
    height: 34px;
    padding: 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: 1.5px solid #e2e6ed;
    border-radius: 7px;
    background: #fff;
    color: #5a6070;
    cursor: pointer;
    transition: all 0.12s;
}

.sv-btn-cancel:hover[b-k9ljuqykxn] {
    border-color: #c0c4cc;
}

.sv-btn-primary[b-k9ljuqykxn] {
    height: 34px;
    padding: 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    background: #5b7fff;
    color: #fff;
    cursor: pointer;
    transition: all 0.12s;
}

.sv-btn-primary:hover[b-k9ljuqykxn] {
    background: #4a6ef0;
}

.sv-btn-danger[b-k9ljuqykxn] {
    height: 34px;
    padding: 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    background: #ef4444;
    color: #fff;
    cursor: pointer;
    transition: all 0.12s;
}

.sv-btn-danger:hover[b-k9ljuqykxn] {
    background: #dc2626;
}

/* 编辑弹窗操作按钮 */
.sv-edit-actions[b-k9ljuqykxn] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.sv-action-btn[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 6px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1.5px solid #e2e6ed;
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
    transition: all 0.12s;
    color: #5a6070;
}

.sv-action-btn svg[b-k9ljuqykxn] {
    width: 16px;
    height: 16px;
}

.sv-action-btn:hover[b-k9ljuqykxn] {
    border-color: #5b7fff;
    color: #5b7fff;
}

.sv-action-log[b-k9ljuqykxn] {
    color: #5b7fff;
    border-color: #dde3ff;
    background: #f8f9ff;
}

.sv-action-log:hover[b-k9ljuqykxn] {
    background: #eef1ff;
    border-color: #5b7fff;
}

.sv-action-reset[b-k9ljuqykxn] {
    color: #f59e0b;
    border-color: #fef3c7;
    background: #fffbeb;
}

.sv-action-reset:hover[b-k9ljuqykxn] {
    background: #fef3c7;
    border-color: #f59e0b;
}

.sv-action-delete[b-k9ljuqykxn] {
    color: #ef4444;
    border-color: #fecaca;
    background: #fef2f2;
}

.sv-action-delete:hover[b-k9ljuqykxn] {
    background: #fecaca;
    border-color: #ef4444;
}

/* 日志区域 */
.sv-log-section[b-k9ljuqykxn] {
    margin-top: 0.5rem;
}

.sv-log-title[b-k9ljuqykxn] {
    font-size: 0.88rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
}

.sv-log-empty[b-k9ljuqykxn] {
    text-align: center;
    padding: 2rem;
    color: #b0b8c4;
    font-size: 0.88rem;
}

.sv-log-table-wrap[b-k9ljuqykxn] {
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #e8ecf1;
    border-radius: 10px;
}

/* 确认文本 */
.sv-confirm-text[b-k9ljuqykxn] {
    font-size: 0.88rem;
    color: #374151;
    line-height: 1.5;
}

@media (max-width: 720px) {
    .sv-topbar[b-k9ljuqykxn] {
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
    }

    .sv-topbar-right[b-k9ljuqykxn] {
        width: 100%;
    }

    .sv-modal-wide[b-k9ljuqykxn] {
        width: 98vw;
    }
}

/* XOR 编码结果 */
.sv-encode-success[b-k9ljuqykxn] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #16a34a;
    margin-bottom: 0.5rem;
}

.sv-encode-hint[b-k9ljuqykxn] {
    font-size: 0.78rem;
    color: #6b7280;
    margin-bottom: 0.75rem;
    line-height: 1.5;
}

.sv-encode-code-wrap[b-k9ljuqykxn] {
    text-align: left;
    max-height: 200px;
    overflow-y: auto;
    background: #1e1e2e;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

.sv-encode-code[b-k9ljuqykxn] {
    margin: 0;
    font-family: 'Cascadia Code', 'Fira Code', 'JetBrains Mono', Consolas, monospace;
    font-size: 0.78rem;
    line-height: 1.6;
    color: #cdd6f4;
    white-space: pre;
}

.sv-btn-copy[b-k9ljuqykxn] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 32px;
    padding: 0 0.9rem;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid #5b7fff;
    border-radius: 6px;
    background: #eef1ff;
    color: #5b7fff;
    cursor: pointer;
    transition: all 0.12s;
}

.sv-btn-copy:hover[b-k9ljuqykxn] {
    background: #dce4ff;
}

.sv-copy-msg[b-k9ljuqykxn] {
    margin-left: 0.6rem;
    font-size: 0.8rem;
    color: #16a34a;
    font-weight: 600;
    vertical-align: middle;
}

/* 密钥列复制按钮 */
.sv-key-copy-enc[b-k9ljuqykxn] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e4ea;
    border-radius: 4px;
    background: #f8f9fb;
    color: #8b94a3;
    cursor: pointer;
    padding: 0;
    margin-left: 2px;
}

.sv-key-copy-enc:hover[b-k9ljuqykxn] {
    background: #eef1ff;
    color: #5b7fff;
    border-color: #c7d2fe;
}
