/* ===========================================================
   子比授权插件 - 前台样式 (frontend.css)
   =========================================================== */

.zibll-auth-user-center,
.zibll-auth-buy-box,
.zibll-auth-check-box {
    font-size: 14px;
}

.zibll-auth-record-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.zibll-auth-record-item {
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.zibll-auth-record-item .badge {
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 12px;
}

.zibll-auth-record-item .badge.c-green { background: #e6f7ee; color: #16a34a; }
.zibll-auth-record-item .badge.c-orange { background: #fff4e5; color: #f59e0b; }
.zibll-auth-record-item .badge.c-red   { background: #fdeaea; color: #ef4444; }

.zibll-auth-key {
    background: #f5f5f5;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    word-break: break-all;
}

.zibll-auth-package-item {
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 8px 12px;
    cursor: pointer;
    transition: border-color .2s;
}

.zibll-auth-package-item:hover {
    border-color: #4f7cff;
}

.zibll-auth-buy-msg,
.zibll-auth-card-msg,
.zibll-auth-promo-msg,
.zibll-auth-check-msg {
    min-height: 18px;
}

.zibll-auth-buy-box .but,
.zibll-auth-check-box .but {
    border-radius: 6px;
}

.zibll-auth-buy-box .form-control,
.zibll-auth-check-box .form-control {
    height: 36px;
}

/* 通用提示色 */
.zibll-auth-ok { color: #16a34a; }
.zibll-auth-err { color: #ef4444; }

/* ===========================================================
   原授权系统风格购买弹窗（.zibll-auth-pay-form / .zibll-auth-pkg-*）
   =========================================================== */
.zibll-auth-pay-form {
    padding: 4px;
}

/* 套餐区小标题 */
.zibll-auth-pkg-section-title {
    font-size: 14px;
    color: #555;
    margin: 6px 0 10px;
    font-weight: 600;
}

/* 套餐网格 */
.zibll-auth-pkg-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}

/* 套餐卡片 */
.zibll-auth-pkg-card {
    position: relative;
    flex: 1 1 calc(50% - 10px);
    min-width: calc(50% - 10px);
    box-sizing: border-box;
    border: 1px solid #eee;
    background: #fff;
    border-radius: 10px;
    padding: 12px 10px 10px;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, transform .15s;
    overflow: hidden;
}

.zibll-auth-pkg-card:hover {
    border-color: #ff5b5b;
    box-shadow: 0 2px 10px rgba(255, 91, 91, .12);
}

.zibll-auth-pkg-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* 选中态（由 JS 切换 .is-checked class） */
.zibll-auth-pkg-card.is-checked {
    border-color: #ff4d4f;
    background: linear-gradient(180deg, #fff5f5 0%, #fff 100%);
    box-shadow: 0 4px 14px rgba(255, 77, 79, .18);
}

.zibll-auth-pkg-card.is-checked .zibll-auth-pkg-check {
    background: #ff4d4f;
    color: #fff;
}

/* 兼容纯 CSS 方式（如果 JS 没加载） */
.zibll-auth-pkg-card input[type="radio"]:checked ~ .zibll-auth-pkg-check {
    background: #ff4d4f;
    color: #fff;
}

/* 站长推荐 角标 */
.zibll-auth-pkg-recommend {
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, #ff7a45, #ff4d4f);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    padding: 4px 8px 5px;
    border-radius: 10px 0 10px 0;
    font-weight: 600;
}

.zibll-auth-pkg-card.is-recommend {
    border-color: #ff5b5b;
}

/* 选中后右上角小对勾 */
.zibll-auth-pkg-check {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    background: #f3f3f3;
    color: #fff;
    font-size: 11px;
    transition: background .15s;
}

.zibll-auth-pkg-card.is-checked .zibll-auth-pkg-check {
    background: #ff4d4f;
}

/* 价格 */
.zibll-auth-pkg-price {
    color: #ff4d4f;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 20px;
}

.zibll-auth-pkg-mark {
    font-size: 13px;
    margin-right: 1px;
    font-weight: 600;
}

/* 套餐名称 */
.zibll-auth-pkg-name {
    color: #555;
    font-size: 13px;
    margin-top: 4px;
}

/* 服务说明 */
.zibll-auth-pkg-service {
    background: #f7f8fa;
    border-radius: 8px;
    padding: 10px 12px;
    color: #666;
    font-size: 12px;
    line-height: 1.9;
    margin-top: 10px;
}

.zibll-auth-pkg-service span {
    color: #333;
    font-weight: 600;
    margin-right: 4px;
}

/* 支付按钮容器 */
.zibll-auth-pkg-paybtn-wrap {
    margin-top: 12px;
}

.zibll-auth-pkg-paybtn-wrap .but,
.zibll-auth-pkg-paybtn-wrap button[type="submit"] {
    width: 100%;
    background: linear-gradient(90deg, #ff9a44, #ff4d4f);
    border: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 12px 0;
    border-radius: 30px;
    box-shadow: 0 6px 16px rgba(255, 91, 91, .25);
    transition: transform .15s, box-shadow .15s;
    cursor: pointer;
}

.zibll-auth-pkg-paybtn-wrap .but:hover,
.zibll-auth-pkg-paybtn-wrap button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(255, 91, 91, .35);
}

/* 购买弹窗优惠码 */
.zibll-auth-pkg-promo {
    display: flex;
    gap: 8px;
    margin: 8px 0 6px;
}
.zibll-auth-pkg-promo-input {
    flex: 1;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.4;
    outline: none;
}
.zibll-auth-pkg-promo-input:focus {
    border-color: #4f7cff;
}
.zibll-auth-pkg-promo .but {
    white-space: nowrap;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 14px;
}
.zibll-auth-pkg-promo-msg {
    min-height: 18px;
}
.zibll-auth-pkg-promo-price {
    font-size: 13px;
    color: #ff4d4f;
    margin: 4px 0 8px;
    font-weight: 600;
}

@media (max-width: 480px) {
    .zibll-auth-pkg-card {
        flex: 1 1 100%;
        min-width: 100%;
    }
}

/* ===========================================================
   代理查询弹窗 + Toast 提示
   =========================================================== */
.zibll-auth-agent-modal {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    color: #333;
    box-shadow: 0 16px 50px rgba(0, 0, 0, .18);
}

body.dark-theme .zibll-auth-agent-modal,
body.night .zibll-auth-agent-modal {
    background: #2c2f36;
    color: #e6e6e6;
    box-shadow: 0 16px 50px rgba(0, 0, 0, .35);
}

.zibll-auth-agent-modal .modal-dialog {
    max-width: 380px;
}

.zibll-auth-agent-modal-header {
    position: relative;
    text-align: center;
    padding: 28px 20px 22px;
    background: linear-gradient(180deg, #4a90c7 0%, #357abd 100%);
}

body.dark-theme .zibll-auth-agent-modal-header,
body.night .zibll-auth-agent-modal-header {
    background: linear-gradient(180deg, #3b5d7d 0%, #2c2f36 100%);
}

.zibll-auth-agent-modal-icon {
    width: 48px;
    height: 48px;
    line-height: 48px;
    border-radius: 50%;
    background: #4aa3df;
    color: #fff;
    font-size: 22px;
    margin: 0 auto 10px;
    text-align: center;
}

.zibll-auth-agent-modal-title {
    font-size: 18px;
    font-weight: 500;
    color: #4aa3df;
}

.zibll-auth-agent-modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, .55);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
}

.zibll-auth-agent-modal-close:hover {
    color: rgba(255, 255, 255, .9);
}

.zibll-auth-agent-modal-body {
    padding: 18px 22px 24px;
}

.zibll-auth-agent-modal-tip {
    color: #ff5a7a;
    font-size: 13px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.zibll-auth-agent-modal-tip i {
    font-size: 14px;
}

.zibll-auth-agent-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.zibll-auth-agent-field label {
    display: block;
    font-size: 13px;
    color: #666;
    margin-bottom: 8px;
}

body.dark-theme .zibll-auth-agent-field label,
body.night .zibll-auth-agent-field label {
    color: #b0b3b8;
}

.zibll-auth-agent-field .form-control {
    height: 42px;
    background: #f5f6f7;
    border: 1px solid #e0e0e0;
    color: #333;
    border-radius: 6px;
    font-size: 14px;
}

body.dark-theme .zibll-auth-agent-field .form-control,
body.night .zibll-auth-agent-field .form-control {
    background: #23262c;
    border-color: #3a3e45;
    color: #e6e6e6;
}

.zibll-auth-agent-field .form-control:focus {
    border-color: #ff6b6b;
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 107, 107, .15);
}

.zibll-auth-agent-field select.form-control {
    appearance: auto;
}

.zibll-auth-agent-field select.form-control option {
    background: #fff;
    color: #333;
}

body.dark-theme .zibll-auth-agent-field select.form-control option,
body.night .zibll-auth-agent-field select.form-control option {
    background: #23262c;
    color: #e6e6e6;
}

.zibll-auth-agent-submit {
    width: 100%;
    height: 44px;
    border: none;
    border-radius: 22px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 6px;
    background: linear-gradient(90deg, #ff7a45, #ff4d4f);
    box-shadow: 0 6px 16px rgba(255, 77, 79, .28);
    transition: opacity .2s, transform .2s;
}

.zibll-auth-agent-submit:hover {
    opacity: .95;
    transform: translateY(-1px);
}

.zibll-auth-agent-submit:disabled {
    opacity: .7;
    cursor: not-allowed;
    transform: none;
}

/* 右下角 Toast */
.zibll-auth-agent-toast {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 99999;
    display: none;
    align-items: flex-start;
    gap: 12px;
    min-width: 260px;
    max-width: 400px;
    padding: 16px 44px 16px 18px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.6;
    box-shadow: 0 12px 36px rgba(0, 0, 0, .22);
    animation: zibllAuthToastIn .28s cubic-bezier(.175, .885, .32, 1.275);
    word-break: break-word;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .06);
}

.zibll-auth-agent-toast.show {
    display: flex;
}

.zibll-auth-agent-toast.success i {
    color: #2b7de9;
}

.zibll-auth-agent-toast.error i {
    color: #d9534f;
}

.zibll-auth-agent-toast i {
    font-size: 22px;
    flex-shrink: 0;
    margin-top: 1px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zibll-auth-agent-toast span {
    flex: 1;
    color: #333;
    padding-top: 1px;
}

.zibll-auth-toast-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    color: #999;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: background .15s, color .15s;
}

.zibll-auth-toast-close:hover {
    color: #555;
    background: rgba(0, 0, 0, .06);
}

@keyframes zibllAuthToastIn {
    from { opacity: 0; transform: translateY(14px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 480px) {
    .zibll-auth-agent-toast {
        right: 12px;
        left: 12px;
        bottom: 12px;
        max-width: none;
        border-radius: 10px;
    }
}

/* ===========================================================
   /account/ 官方授权查询页面
   =========================================================== */
.zibll-auth-account-wrap {
    min-height: 70vh;
    padding: 60px 15px 100px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: var(--body-bg-color, #f5f6f7);
}

.zibll-auth-account-box {
    width: 100%;
    max-width: 480px;
    text-align: center;
    background: var(--main-bg-color, #fff);
    border-radius: 20px;
    padding: 40px 34px 44px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .08);
    position: relative;
    overflow: hidden;
}

/* [ui-fix] 移除 /account/ 卡片顶部彩色渐变条（用户要求去掉，2026-09-02）
.zibll-auth-account-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #4facfe, #00c6c6, #4facfe);
    background-size: 200% 100%;
    animation: zibll-auth-shimmer 3s linear infinite;
}
*/

body.dark-theme .zibll-auth-account-box,
body.night .zibll-auth-account-box {
    box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}

.zibll-auth-account-brand {
    margin-bottom: 18px;
}

.zibll-auth-account-brand img {
    max-height: 50px;
    width: auto;
}

.zibll-auth-account-logo-link {
    display: inline-block;
    text-decoration: none;
}

.zibll-auth-account-logo-text {
    font-size: 26px;
    font-weight: 700;
    color: var(--main-color, #333);
}

.zibll-auth-account-hero {
    margin-bottom: 30px;
}

.zibll-auth-account-badge,
.zibll-auth-license-badge {
    width: 70px;
    height: 70px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #fff;
    background: linear-gradient(135deg, #4facfe 0%, #2b7de9 50%, #00c6c6 100%);
    box-shadow: 0 8px 24px rgba(43, 125, 233, .35);
    position: relative;
}

.zibll-auth-account-badge::after,
.zibll-auth-license-badge::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(43, 125, 233, .15);
    animation: zibll-auth-pulse 2s ease-out infinite;
}

.zibll-auth-account-title,
.zibll-auth-license-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--main-color, #333);
    margin-bottom: 8px;
    letter-spacing: .3px;
}

.zibll-auth-account-subtitle,
.zibll-auth-license-subtitle {
    font-size: 13px;
    color: var(--muted-2-color, #888);
    line-height: 1.6;
}

.zibll-auth-account-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 24px;
    text-align: left;
}

.zibll-auth-field-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--main-color, #333);
    margin-bottom: 8px;
}

.zibll-auth-field-label i {
    color: #2b7de9;
    font-size: 14px;
}

.zibll-auth-input-wrap {
    position: relative;
}

.zibll-auth-input-wrap .zibll-auth-input-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #2b7de9;
    font-size: 15px;
    pointer-events: none;
    z-index: 1;
}

.zibll-auth-account-field .form-control {
    height: 52px;
    width: 100%;
    background: var(--main-bg-color, #fff);
    border: 1px solid #e4e6eb;
    color: var(--main-color, #333);
    border-radius: 12px;
    font-size: 15px;
    padding: 0 16px;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.zibll-auth-account-field .form-control:focus {
    border-color: #4facfe;
    box-shadow: 0 0 0 3px rgba(79, 172, 254, .12);
    outline: none;
}

.zibll-auth-input-wrap .form-control {
    padding-left: 42px;
}

body.dark-theme .zibll-auth-account-field .form-control,
body.night .zibll-auth-account-field .form-control {
    background: var(--main-bg-color, #2c2f36);
    border-color: #3a3e45;
    color: #e6e6e6;
}

body.dark-theme .zibll-auth-account-field .form-control:focus,
body.night .zibll-auth-account-field .form-control:focus {
    border-color: #4facfe;
    box-shadow: 0 0 0 3px rgba(79, 172, 254, .18);
}

.zibll-auth-account-field select.form-control {
    appearance: auto;
    padding-right: 12px;
    cursor: pointer;
}

.zibll-auth-account-field select.form-control option {
    background: var(--main-bg-color, #fff);
    color: var(--main-color, #333);
}

body.dark-theme .zibll-auth-account-field select.form-control option,
body.night .zibll-auth-account-field select.form-control option {
    background: #2c2f36;
    color: #e6e6e6;
}

.zibll-auth-account-submit {
    width: 100%;
    height: 52px;
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    background: linear-gradient(90deg, #4facfe, #2b7de9);
    background-size: 200% 100%;
    box-shadow: 0 8px 22px rgba(43, 125, 233, .32);
    transition: all .25s ease;
    position: relative;
    overflow: hidden;
    margin-top: 4px;
}

.zibll-auth-account-submit::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
    transition: left .5s;
}

.zibll-auth-account-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(43, 125, 233, .4);
    background-position: 100% 0;
}

.zibll-auth-account-submit:hover::after {
    left: 100%;
}

.zibll-auth-account-submit:active {
    transform: translateY(0);
}

.zibll-auth-account-submit:disabled {
    opacity: .75;
    cursor: not-allowed;
    transform: none;
    box-shadow: 0 4px 12px rgba(43, 125, 233, .2);
}

@keyframes zibll-auth-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@keyframes zibll-auth-pulse {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.25); opacity: 0; }
}

/* 正版查询（官方授权查询）面板 */
.zibll-auth-license-panel {
    padding: 28px 26px 30px;
    background: var(--main-bg-color, #fff);
    border-radius: 16px;
}

.zibll-auth-license-hero {
    text-align: center;
    margin-bottom: 26px;
}

.zibll-auth-license-badge {
    width: 62px;
    height: 62px;
    font-size: 28px;
}

.zibll-auth-license-badge::after {
    inset: -3px;
}

.zibll-auth-license-title {
    font-size: 20px;
}

.zibll-auth-license-panel .zibll-auth-account-form {
    max-width: 480px;
    margin: 0 auto 22px;
}

/* 用户中心九宫格：右侧面板舞台（AJAX 注入，覆盖默认内容区，不离开 /user/ 页面） */
#zibll-auth-panel-stage {
    display: none;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
    overflow: hidden;
    position: relative;
}
.zibll-auth-panel-bar {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    background: #fff;
    border-bottom: 1px solid #eee;
    z-index: 2;
}
.zibll-auth-panel-title { font-size: 16px; font-weight: 600; color: #333; }
.zibll-auth-panel-close {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 50%;
    background: #f2f3f5;
    color: #666;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s;
}
.zibll-auth-panel-close:hover { background: #e4e6eb; }
.zibll-auth-panel-body { padding: 20px; }
.zibll-auth-panel-loading .zibll-auth-panel-body { text-align: center; color: #999; padding-top: 60px; }
.zibll-auth-loading { color: #999; }

/* 查询结果：错误 */
.zibll-auth-account-result {
    animation: zibll-auth-fade-in .35s ease;
}

.zibll-auth-account-error {
    color: #ff5a5a;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
    padding: 16px 18px;
    background: rgba(255, 90, 90, .08);
    border-radius: 12px;
    font-weight: 500;
}

body.dark-theme .zibll-auth-account-error,
body.night .zibll-auth-account-error {
    background: rgba(255, 90, 90, .12);
}

.zibll-auth-account-error i {
    font-size: 20px;
}

/* 查询结果：成功 */
.zibll-auth-account-success-title {
    color: #52c41a;
    font-size: 19px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 18px;
}

.zibll-auth-account-success-title i {
    font-size: 24px;
}

.zibll-auth-account-success-card {
    background: linear-gradient(135deg, #f6ffed 0%, #ffffff 100%);
    border: 1px solid #b7eb8f;
    border-radius: 14px;
    padding: 22px 24px;
    text-align: left;
    box-shadow: 0 4px 16px rgba(82, 196, 26, .1);
    position: relative;
    overflow: hidden;
}

.zibll-auth-account-success-card::before {
    content: none;
}

body.dark-theme .zibll-auth-account-success-card,
body.night .zibll-auth-account-success-card {
    background: linear-gradient(135deg, #1a2e12 0%, #2c2f36 100%);
    border-color: #49aa19;
    box-shadow: 0 4px 16px rgba(82, 196, 26, .15);
}

.zibll-auth-account-info-row {
    font-size: 14px;
    color: var(--muted-2-color, #666);
    line-height: 2.2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px dashed rgba(0, 0, 0, .06);
    padding: 2px 0;
}

.zibll-auth-account-info-row:last-child {
    border-bottom: none;
}

.zibll-auth-account-info-row span {
    color: var(--main-color, #333);
    flex-shrink: 0;
}

.zibll-auth-account-info-row > *:last-child {
    flex: 1;
    text-align: right;
    word-break: break-all;
}

.zibll-auth-account-info-row b,
.zibll-auth-account-info-row strong {
    font-weight: 600;
}

.zibll-auth-account-info-row b.ok {
    color: #52c41a;
}

.zibll-auth-account-info-row b.expired {
    color: #ff5a5a;
}

.zibll-auth-account-info-row b.abnormal {
    color: #ff7a45;
}

@keyframes zibll-auth-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 入群审核：错误态 / 成功态（182） */
.zibll-auth-group-state-error,
.zibll-auth-group-state-success {
    margin-top: 18px;
    text-align: center;
}

/* 错误态 */
.zibll-auth-group-state-error {
    padding: 28px 20px 30px;
    background: rgba(255, 90, 90, .06);
    border: 1px solid rgba(255, 90, 90, .18);
    border-radius: 16px;
    animation: zibll-auth-fade-in .3s ease;
}

.zibll-auth-group-error-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 90, 90, .12);
    color: #ff5a5a;
    font-size: 40px;
    animation: zibll-auth-pop .35s ease;
}

.zibll-auth-group-error-text {
    font-size: 16px;
    font-weight: 600;
    color: #ff4d4f;
    margin-bottom: 18px;
    line-height: 1.5;
}

.zibll-auth-group-reinput-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    border: none;
    border-radius: 22px;
    background: linear-gradient(135deg, #ff7a7a, #ff5a5a);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .15s, box-shadow .2s, opacity .2s;
    box-shadow: 0 6px 16px rgba(255, 90, 90, .28);
}
.zibll-auth-group-reinput-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(255, 90, 90, .36);
}
.zibll-auth-group-reinput-btn:active {
    transform: translateY(0);
    opacity: .9;
}

/* 成功态 */
.zibll-auth-group-state-success {
    text-align: left;
    animation: zibll-auth-fade-in .3s ease;
}

.zibll-auth-group-success-head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 17px;
    font-weight: 700;
    color: #52c41a;
    margin: 4px 0 16px;
}
.zibll-auth-group-success-head i {
    font-size: 22px;
}

.zibll-auth-group-pkg {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    font-size: 12px;
    font-weight: 500;
    color: #2b7de9;
    background: rgba(43, 125, 233, .1);
    border-radius: 10px;
    vertical-align: middle;
}

/* 入群方式 / 验证记录 区块 */
.zibll-auth-group-join,
.zibll-auth-group-history {
    margin-top: 16px;
    background: #f8fafc;
    border: 1px solid #eef1f5;
    border-radius: 14px;
    padding: 14px 18px;
}
.zibll-auth-group-join-title {
    font-size: 14px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.zibll-auth-group-join-title i {
    color: #2b7de9;
}
.zibll-auth-group-tip {
    margin-top: 12px;
    font-size: 13px;
    color: #8a94a6;
    line-height: 1.6;
    background: #f3f6fa;
    border-radius: 10px;
    padding: 10px 14px;
    display: flex;
    gap: 6px;
}
.zibll-auth-group-tip i {
    color: #2b7de9;
    margin-top: 2px;
}

/* 验证记录时间线 */
.zibll-auth-group-history-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.zibll-auth-group-history-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 13px;
    border-bottom: 1px dashed rgba(0, 0, 0, .06);
}
.zibll-auth-group-history-list li:last-child {
    border-bottom: none;
}
.zibll-auth-group-history-list .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    background: #ff5a5a;
}
.zibll-auth-group-history-list li.is-ok .dot {
    background: #52c41a;
}
.zibll-auth-group-history-list .h-order {
    font-weight: 600;
    color: #333;
    flex: 1;
    text-align: left;
    word-break: break-all;
}
.zibll-auth-group-history-list .h-label {
    color: #ff5a5a;
    flex-shrink: 0;
}
.zibll-auth-group-history-list li.is-ok .h-label {
    color: #52c41a;
}
.zibll-auth-group-history-list .h-time {
    color: #aab2c0;
    flex-shrink: 0;
    font-size: 12px;
}

/* 卡密兑换号查询结果卡片（187） */
.zibll-auth-group-redeem-card {
    background: #fff;
    border: 1px solid #e8ecf1;
    border-radius: 14px;
    padding: 22px 24px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .05);
    text-align: left;
    animation: zibll-auth-fade-in .3s ease;
}
.zibll-auth-group-redeem-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    font-size: 14px;
    color: #555;
    border-bottom: 1px dashed rgba(0, 0, 0, .06);
}
.zibll-auth-group-redeem-row:last-of-type {
    border-bottom: none;
}
.zibll-auth-group-redeem-row span {
    flex-shrink: 0;
    width: 70px;
    color: #8a94a6;
}
.zibll-auth-group-redeem-row strong {
    font-weight: 600;
    color: #333;
    word-break: break-all;
}
.zibll-auth-group-copy-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 14px;
    padding: 8px 18px;
    border-radius: 20px;
    background: rgba(43, 125, 233, .1);
    color: #2b7de9;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.zibll-auth-group-copy-order:hover {
    background: #2b7de9;
    color: #fff;
    text-decoration: none;
}
body.dark-theme .zibll-auth-group-redeem-card,
body.night .zibll-auth-group-redeem-card {
    background: #2a2e36;
    border-color: #3a3f48;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .2);
}
body.dark-theme .zibll-auth-group-redeem-row,
body.night .zibll-auth-group-redeem-row {
    border-bottom-color: rgba(255, 255, 255, .08);
    color: #c5c9d0;
}
body.dark-theme .zibll-auth-group-redeem-row strong,
body.night .zibll-auth-group-redeem-row strong {
    color: #e8eaed;
}
body.dark-theme .zibll-auth-group-copy-order,
body.night .zibll-auth-group-copy-order {
    background: rgba(43, 125, 233, .22);
    color: #7cb3ff;
}
body.dark-theme .zibll-auth-group-copy-order:hover,
body.night .zibll-auth-group-copy-order:hover {
    background: #2b7de9;
    color: #fff;
}

/* 该订单号处理记录列表（186） */
.zibll-auth-group-order-history {
    margin-top: 10px;
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #eef1f5;
    border-radius: 10px;
}
.zibll-auth-group-order-history-item {
    font-size: 13px;
    color: #555;
    line-height: 1.7;
    word-break: break-all;
}
.zibll-auth-group-order-history-item + .zibll-auth-group-order-history-item {
    border-top: 1px dashed rgba(0, 0, 0, .06);
    padding-top: 6px;
    margin-top: 6px;
}
body.dark-theme .zibll-auth-group-order-history,
body.night .zibll-auth-group-order-history {
    background: #2a2e36;
    border-color: #3a3f48;
}
body.dark-theme .zibll-auth-group-order-history-item,
body.night .zibll-auth-group-order-history-item {
    color: #c5c9d0;
}
body.dark-theme .zibll-auth-group-order-history-item + .zibll-auth-group-order-history-item,
body.night .zibll-auth-group-order-history-item + .zibll-auth-group-order-history-item {
    border-top-color: rgba(255, 255, 255, .08);
}

/* 动画 */
@keyframes zibll-auth-pop {
    0% { transform: scale(.6); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* 暗色主题适配 */
body.dark-theme .zibll-auth-group-state-error,
body.night .zibll-auth-group-state-error {
    background: rgba(255, 90, 90, .12);
    border-color: rgba(255, 90, 90, .28);
}
body.dark-theme .zibll-auth-group-join,
body.night .zibll-auth-group-join,
body.dark-theme .zibll-auth-group-history,
body.night .zibll-auth-group-history {
    background: #2a2e36;
    border-color: #3a3f48;
}
body.dark-theme .zibll-auth-group-join-title,
body.night .zibll-auth-group-join-title,
body.dark-theme .zibll-auth-group-history .zibll-auth-group-join-title,
body.night .zibll-auth-group-history .zibll-auth-group-join-title {
    color: #e8eaed;
}
body.dark-theme .zibll-auth-group-tip,
body.night .zibll-auth-group-tip {
    background: #2a2e36;
    color: #9aa3b2;
}
body.dark-theme .zibll-auth-group-history-list li,
body.night .zibll-auth-group-history-list li {
    border-bottom-color: rgba(255, 255, 255, .08);
}
body.dark-theme .zibll-auth-group-history-list .h-order,
body.night .zibll-auth-group-history-list .h-order {
    color: #e8eaed;
}
body.dark-theme .zibll-auth-group-pkg,
body.night .zibll-auth-group-pkg {
    background: rgba(43, 125, 233, .22);
    color: #7cb3ff;
}

/* 响应式 */
@media (max-width: 480px) {
    .zibll-auth-group-error-text {
        font-size: 15px;
    }
    .zibll-auth-group-error-icon {
        width: 66px;
        height: 66px;
        font-size: 34px;
    }
    .zibll-auth-group-state-error {
        padding: 22px 14px 24px;
    }
    .zibll-auth-group-join,
    .zibll-auth-group-history {
        padding: 12px 14px;
    }
}

@media (max-width: 480px) {
    .zibll-auth-account-wrap {
        padding: 30px 12px 60px;
    }
    .zibll-auth-account-box {
        padding: 32px 22px 36px;
        border-radius: 16px;
    }
    .zibll-auth-account-title,
    .zibll-auth-license-title {
        font-size: 18px;
    }
    .zibll-auth-license-panel {
        padding: 22px 18px 24px;
    }
    .zibll-auth-account-badge,
    .zibll-auth-license-badge {
        width: 56px;
        height: 56px;
        font-size: 24px;
    }
}

/* 域名绑定/变更弹窗 - 授权码与状态展示 */
.zibll-auth-domain-info {
    font-size: 13px;
    line-height: 1.6;
}
.zibll-auth-domain-info-label {
    color: #999;
    margin-right: 4px;
}
.zibll-auth-domain-info-val {
    color: #333;
    font-weight: 500;
    word-break: break-all;
}
.zibll-auth-domain-info-val.c-yellow { color: #d48806; }
.zibll-auth-domain-info-val.c-green-2 { color: #16a34a; }

/* ===========================================================
   用户中心首页：产品授权管理横幅 + 授权中心九宫格
   =========================================================== */
.zibll-auth-uc-banner {
    border-radius: 12px;
    overflow: hidden;
    /* uc-blue] 三色断点平滑过渡，避免窄栏里蓝→青硬过渡看起来「像直接切断」 */
    background: linear-gradient(135deg, #2b95ff 0%, #1aa6e6 52%, #00c6c6 100%);
    box-shadow: 0 4px 16px rgba(43, 149, 255, 0.25);
    position: relative;
}
.zibll-auth-uc-banner::before,
.zibll-auth-uc-banner::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    pointer-events: none;
}
.zibll-auth-uc-banner::before {
    width: 160px;
    height: 160px;
    bottom: -60px;
    right: -40px;
}
.zibll-auth-uc-banner::after {
    width: 100px;
    height: 100px;
    bottom: -20px;
    right: 70px;
}
.zibll-auth-uc-banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 28px;
    position: relative;
    z-index: 1;
}
.zibll-auth-uc-banner-text {
    color: #fff;
    flex: 1;
}
.zibll-auth-uc-banner-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 6px;
}
.zibll-auth-uc-banner-desc {
    font-size: 13px;
    opacity: 0.9;
    margin-bottom: 14px;
}
.zibll-auth-uc-banner-btn {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: #2b95ff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all .2s;
}
.zibll-auth-uc-banner-btn:hover {
    background: #f5faff;
    color: #1a7de6;
}
/* 783] 左侧产品授权管理横幅暗夜适配：降低饱和度 + 按钮改为深色底 */
body.dark-theme .zibll-auth-uc-banner,
body.night .zibll-auth-uc-banner {
    background: linear-gradient(135deg, #1a5fb4 0%, #176e9c 52%, #0e7a7a 100%);
    box-shadow: 0 4px 16px rgba(0,0,0,.35);
}
body.dark-theme .zibll-auth-uc-banner-btn,
body.night .zibll-auth-uc-banner-btn {
    background: rgba(30,30,30,.85);
    color: #8ec5ff;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
body.dark-theme .zibll-auth-uc-banner-btn:hover,
body.night .zibll-auth-uc-banner-btn:hover {
    background: rgba(40,40,40,.95);
    color: #a8d4ff;
}
.zibll-auth-uc-banner-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    color: #2b95ff;
    flex-shrink: 0;
    margin-left: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.zibll-auth-uc-banner-favicon {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

.zibll-auth-uc-grid {
    border-radius: 12px;
    padding: 18px 20px;
}
.zibll-auth-uc-grid-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #333;
}
.zibll-auth-uc-grid-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.zibll-auth-uc-grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px 8px;
    border-radius: 10px;
    text-decoration: none;
    color: #555;
    transition: background .2s;
}
.zibll-auth-uc-grid-item:hover {
    background: #f5f7fa;
    color: #333;
    transform: translateY(-2px);
}
.zibll-auth-uc-grid-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 8px;
    transition: transform .2s, box-shadow .2s;
}
.zibll-auth-uc-grid-item:hover .zibll-auth-uc-grid-icon {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.zibll-auth-uc-grid-item span {
    font-size: 12px;
}

@media (max-width: 640px) {
    .zibll-auth-uc-grid-body {
        grid-template-columns: repeat(3, 1fr);
    }
    .zibll-auth-uc-banner-inner {
        padding: 18px 20px;
    }
    .zibll-auth-uc-banner-title {
        font-size: 18px;
    }
    .zibll-auth-uc-banner-icon {
        width: 54px;
        height: 54px;
        font-size: 26px;
    }
    .zibll-auth-uc-banner-favicon {
        width: 100%;
        height: 100%;
    }
}

/* ===========================================================
   手机版用户中心：手风琴导航（300）
   =========================================================== */
@media (max-width: 768px) {
    .zibll-auth-uc-grid-body {
        display: flex;
        flex-direction: column;
        gap: 0;
        background: var(--main-bg-color, #fff);
        border-radius: 10px;
        box-shadow: 0 1px 3px rgba(0,0,0,.04);
    }
    .zibll-auth-uc-grid-item {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        padding: 11px 12px;
        border-radius: 0;
        border-bottom: 1px solid var(--body-bg-color, #f0f1f4);
        min-height: 48px;
        position: relative;
        text-align: left;
    }
    .zibll-auth-uc-grid-item:first-child {
        border-radius: 10px 10px 0 0;
    }
    .zibll-auth-uc-grid-item:last-child {
        border-bottom: none;
        border-radius: 0 0 10px 10px;
    }
    .zibll-auth-uc-grid-item:first-child:last-child {
        border-radius: 10px;
    }
    .zibll-auth-uc-grid-item:hover {
        transform: none;
    }
    .zibll-auth-uc-grid-item:active {
        background: #f5f7ff;
    }
    .zibll-auth-uc-grid-item.active {
        background: #f5f7ff;
        color: #3b6cff;
        border-bottom-color: #e8ecff;
    }
    .zibll-auth-uc-grid-icon {
        width: 32px;
        height: 32px;
        font-size: 15px;
        margin: 0 10px 0 0;
        flex-shrink: 0;
    }
    .zibll-auth-uc-grid-item.active .zibll-auth-uc-grid-icon {
        transform: scale(1.05);
        box-shadow: 0 2px 8px rgba(59, 108, 255, 0.15);
    }
    .zibll-auth-uc-grid-label {
        flex: 1;
        font-size: 14px;
        font-weight: 500;
    }
    .zibll-auth-uc-grid-arrow {
        font-size: 16px;
        color: var(--muted-2-color, #bbb);
        margin-left: 8px;
        transition: transform .25s ease;
        flex-shrink: 0;
    }
    .zibll-auth-uc-grid-item.active .zibll-auth-uc-grid-arrow {
        transform: rotate(180deg);
        color: #3b6cff;
    }
    .zibll-auth-uc-accordion-content {
        overflow: hidden;
        background: var(--body-bg-color, #f7f8fa);
        border-bottom: 1px solid var(--body-bg-color, #f0f1f4);
    }
    .zibll-auth-uc-accordion-content .zibll-auth-uc-accordion-close {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        width: 100%;
        padding: 10px;
        border: none;
        background: transparent;
        color: var(--muted-color, #888);
        font-size: 13px;
        cursor: pointer;
        border-bottom: 1px dashed var(--body-bg-color, #e5e7eb);
    }
    .zibll-auth-uc-accordion-content .zibll-auth-uc-accordion-close i {
        font-size: 16px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-tab-panel {
        display: block !important;
        padding: 10px 12px 14px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-tab-panel .zib-widget {
        margin-bottom: 0;
        box-shadow: none;
        border-radius: 0;
        background: transparent;
        padding: 0;
    }
    /* 手风琴内面板元素整体缩小，减少一屏长度 */
    .zibll-auth-uc-accordion-content .zibll-auth-section-heading,
    .zibll-auth-uc-accordion-content .zibll-auth-help-title,
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-title,
    .zibll-auth-uc-accordion-content .zibll-auth-download-title,
    .zibll-auth-uc-accordion-content .zibll-auth-license-title,
    .zibll-auth-uc-accordion-content .zibll-auth-promo-section-title,
    .zibll-auth-uc-accordion-content .zibll-auth-tickets-title {
        font-size: 16px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-faq-card {
        padding: 12px;
        margin-bottom: 10px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-download-card,
    .zibll-auth-uc-accordion-content .zibll-auth-product-card,
    .zibll-auth-uc-accordion-content .zibll-auth-domain-card {
        padding: 12px;
        margin-bottom: 10px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager {
        padding: 0;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-header {
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 12px;
        padding-bottom: 10px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-title {
        font-size: 16px;
        padding-bottom: 4px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-filter {
        padding: 12px;
        gap: 10px;
        margin-bottom: 12px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-field {
        flex: 1 1 100%;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-field label {
        font-size: 13px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-field input[type="text"],
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-field select {
        flex: 1;
        min-width: 0;
        padding: 8px 10px;
        font-size: 13px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-btn {
        padding: 8px 14px;
        font-size: 13px;
    }
    /* 授权管理表格：移动端转为卡片布局 */
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table thead {
        display: none;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table,
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table tbody,
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table tr,
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td {
        display: block;
        width: 100%;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table tr {
        background: var(--main-bg-color, #fff);
        border-radius: 10px;
        padding: 12px;
        margin-bottom: 10px;
        box-shadow: 0 1px 3px rgba(0,0,0,.05);
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: right;
        padding: 8px 0;
        border-bottom: 1px solid var(--body-bg-color, #f0f1f4);
        font-size: 13px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td:last-child {
        border-bottom: none;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td::before {
        content: attr(data-label);
        flex-shrink: 0;
        text-align: left;
        color: var(--muted-color, #888);
        font-size: 12px;
        margin-right: 12px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td[data-label="操作"],
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td[data-label="授权管理"] {
        justify-content: flex-end;
        gap: 8px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td[data-label="操作"]::before,
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td[data-label="授权管理"]::before {
        display: none;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table-btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    .zibll-auth-uc-accordion-content .zibll-auth-quota-badge {
        padding: 2px 6px;
        font-size: 11px;
        min-width: 36px;
    }
    body.dark-theme .zibll-auth-uc-accordion-content,
    body.night .zibll-auth-uc-accordion-content {
        background: #272a30;
        border-color: #33363d;
    }
    body.dark-theme .zibll-auth-uc-grid-item.active,
    body.night .zibll-auth-uc-grid-item.active {
        background: #2a2e38;
        color: #6b8cff;
    }
    body.dark-theme .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table tr,
    body.night .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table tr {
        background: #2c2f36;
    }
    body.dark-theme .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td,
    body.night .zibll-auth-uc-accordion-content .zibll-auth-user-manager-table td {
        border-color: #3a3d45;
    }
}

/* 用户中心左侧边栏窄版 */
.zibll-auth-uc-sidebar-banner .zibll-auth-uc-banner-inner {
    padding: 16px 18px;
}
.zibll-auth-uc-sidebar-banner .zibll-auth-uc-banner-title {
    font-size: 17px;
}
.zibll-auth-uc-sidebar-banner .zibll-auth-uc-banner-desc {
    font-size: 12px;
    margin-bottom: 10px;
}
.zibll-auth-uc-sidebar-banner .zibll-auth-uc-banner-icon {
    width: 52px;
    height: 52px;
    font-size: 24px;
    margin-left: 12px;
}
.zibll-auth-uc-sidebar-banner .zibll-auth-uc-banner-favicon {
    width: 100%;
    height: 100%;
}
.zibll-auth-uc-sidebar-banner .zibll-auth-uc-banner-btn {
    padding: 4px 10px;
    font-size: 12px;
}

.zibll-auth-uc-sidebar-grid {
    padding: 12px 14px;
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-title {
    font-size: 14px;
    margin-bottom: 10px;
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-title:hover {
    color: var(--theme-color, #3b82f6);
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-body {
    gap: 8px;
    overflow: hidden;
    transition: max-height .3s ease, opacity .2s ease;
}
/* 348] 折叠状态：body 隐藏，箭头旋向上 */
.zibll-auth-uc-sidebar-grid.is-collapsed .zibll-auth-uc-grid-body {
    max-height: 0 !important;
    opacity: 0;
    margin-top: 0;
    pointer-events: none;
}
.zibll-auth-uc-sidebar-grid.is-collapsed .zibll-auth-uc-grid-title {
    margin-bottom: 0;
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-toggle-icon {
    transition: transform .25s ease;
}
.zibll-auth-uc-sidebar-grid.is-collapsed .zibll-auth-uc-grid-toggle-icon {
    transform: rotate(-90deg);
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-item {
    padding: 10px 4px;
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-icon {
    width: 34px;
    height: 34px;
    font-size: 16px;
    margin-bottom: 6px;
}
.zibll-auth-uc-sidebar-grid .zibll-auth-uc-grid-item span {
    font-size: 11px;
}

/* ===========================================================
   盗版举报弹窗（高优先级覆盖 Bootstrap modal 默认样式）
   =========================================================== */
#zibll-auth-report-modal .modal-content.zibll-auth-report-modal {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    color: #333;
    box-shadow: 0 16px 50px rgba(0,0,0,.18);
}
body.dark-theme #zibll-auth-report-modal .modal-content.zibll-auth-report-modal,
body.night #zibll-auth-report-modal .modal-content.zibll-auth-report-modal {
    background: #2c2f36;
    color: #e6e6e6;
    box-shadow: 0 16px 50px rgba(0,0,0,.35);
}
#zibll-auth-report-modal .modal-dialog { max-width: 340px; margin: 18px auto; }
#zibll-auth-report-modal .zibll-auth-report-modal-header {
    position: relative;
    text-align: center;
    padding: 14px 16px 10px;
    background: linear-gradient(180deg,#ff8a8a 0%,#ff5a7a 100%);
    border-bottom: none;
}
body.dark-theme #zibll-auth-report-modal .zibll-auth-report-modal-header,
body.night #zibll-auth-report-modal .zibll-auth-report-modal-header {
    background: linear-gradient(180deg,#8b4a55 0%,#5a2f38 100%);
}
#zibll-auth-report-modal .zibll-auth-report-modal-icon {
    width: 32px; height: 32px; line-height: 32px;
    border-radius: 50%; background: #fff; color: #ff5a7a;
    font-size: 16px; margin: 0 auto 6px; text-align: center;
}
#zibll-auth-report-modal .zibll-auth-report-modal-title {
    font-size: 15px; font-weight: 500; color: #fff;
}
#zibll-auth-report-modal .zibll-auth-report-modal-close {
    position: absolute; top: 6px; right: 8px;
    background: transparent; border: none;
    color: rgba(255,255,255,.75); font-size: 20px;
    line-height: 1; cursor: pointer; padding: 0;
    width: 26px; height: 26px;
}
#zibll-auth-report-modal .zibll-auth-report-modal-close:hover { color: rgba(255,255,255,1); }
#zibll-auth-report-modal .zibll-auth-report-modal-body {
    padding: 12px 16px 14px;
}
#zibll-auth-report-modal .zibll-auth-report-field { margin-bottom: 10px; }
#zibll-auth-report-modal .zibll-auth-report-field label {
    display: block; font-size: 12px; color: #666; margin-bottom: 4px;
}
body.dark-theme #zibll-auth-report-modal .zibll-auth-report-field label,
body.night #zibll-auth-report-modal .zibll-auth-report-field label { color: #b0b3b8; }
#zibll-auth-report-modal .zibll-auth-report-field .form-control {
    height: 34px; background: #f5f6f7; border: 1px solid #e0e0e0;
    color: #333; border-radius: 6px; font-size: 13px;
    width: 100%; padding: 5px 10px;
}
body.dark-theme #zibll-auth-report-modal .zibll-auth-report-field .form-control,
body.night #zibll-auth-report-modal .zibll-auth-report-field .form-control {
    background: #23262c; border-color: #3a3e45; color: #e6e6e6;
}
#zibll-auth-report-modal .zibll-auth-report-field .form-control:focus {
    border-color: #ff6b6b; outline: none;
    box-shadow: 0 0 0 2px rgba(255,107,107,.15);
}
#zibll-auth-report-modal .zibll-auth-report-field select.form-control { appearance: auto; }
#zibll-auth-report-modal .zibll-auth-report-field select.form-control option {
    background: #fff; color: #333;
}
body.dark-theme #zibll-auth-report-modal .zibll-auth-report-field select.form-control option,
body.night #zibll-auth-report-modal .zibll-auth-report-field select.form-control option {
    background: #23262c; color: #e6e6e6;
}
#zibll-auth-report-modal .zibll-auth-report-field textarea.form-control {
    height: auto; min-height: 48px; padding: 6px 10px; resize: vertical;
}
#zibll-auth-report-modal .zibll-auth-report-upload {
    position: relative; width: 64px; height: 64px;
    border: 2px dashed #ddd; border-radius: 8px;
    overflow: hidden; background: #f9f9f9; cursor: pointer;
    transition: border-color .2s, background .2s;
}
body.dark-theme #zibll-auth-report-modal .zibll-auth-report-upload,
body.night #zibll-auth-report-modal .zibll-auth-report-upload {
    background: #23262c; border-color: #3a3e45;
}
#zibll-auth-report-modal .zibll-auth-report-upload:hover {
    border-color: #ff6b6b; background: #fff5f5;
}
#zibll-auth-report-modal .zibll-auth-report-upload input[type="file"] {
    position: absolute; inset: 0; opacity: 0; cursor: pointer; z-index: 2;
}
#zibll-auth-report-modal .zibll-auth-report-upload-placeholder {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    color: #bbb; font-size: 20px;
}
#zibll-auth-report-modal .zibll-auth-report-upload-preview {
    position: absolute; inset: 0; display: none;
}
#zibll-auth-report-modal .zibll-auth-report-upload-preview img {
    width: 100%; height: 100%; object-fit: cover;
}
#zibll-auth-report-modal .zibll-auth-report-upload-remove {
    position: absolute; top: 2px; right: 2px;
    width: 18px; height: 18px; line-height: 18px;
    border: none; border-radius: 50%; background: rgba(0,0,0,.5);
    color: #fff; font-size: 12px; text-align: center;
    cursor: pointer; padding: 0; z-index: 3;
}
#zibll-auth-report-modal .zibll-auth-report-upload-remove:hover { background: rgba(0,0,0,.7); }
#zibll-auth-report-modal .zibll-auth-report-upload-tip {
    font-size: 11px; color: #999; margin-top: 3px;
}
#zibll-auth-report-modal .zibll-auth-report-actions {
    display: flex; gap: 10px; margin-top: 12px;
}
#zibll-auth-report-modal .zibll-auth-report-btn-cancel {
    flex: 1; height: 34px;
    border: 1px solid #e0e0e0; border-radius: 17px;
    background: #fff; color: #666; font-size: 13px;
    cursor: pointer; transition: background .2s;
}
body.dark-theme #zibll-auth-report-modal .zibll-auth-report-btn-cancel,
body.night #zibll-auth-report-modal .zibll-auth-report-btn-cancel {
    background: #23262c; border-color: #3a3e45; color: #b0b3b8;
}
#zibll-auth-report-modal .zibll-auth-report-btn-cancel:hover { background: #f5f5f5; }
#zibll-auth-report-modal .zibll-auth-report-btn-submit {
    flex: 1; height: 34px; border: none; border-radius: 17px;
    color: #fff; font-size: 13px; font-weight: 600;
    cursor: pointer;
    background: linear-gradient(90deg,#ff7a45,#ff4d4f);
    box-shadow: 0 4px 12px rgba(255,77,79,.28);
    transition: opacity .2s, transform .2s;
}
#zibll-auth-report-modal .zibll-auth-report-btn-submit:hover {
    opacity: .95; transform: translateY(-1px);
}
#zibll-auth-report-modal .zibll-auth-report-btn-submit:disabled {
    opacity: .7; cursor: not-allowed; transform: none;
}
#zibll-auth-report-modal.zibll-report-show { display: block !important; }
.zibll-report-backdrop {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.5); z-index: 1040;
}

/* ========== 授权用户管理（151）========== */
.zibll-auth-user-manager { padding: 20px; }
/* 201：授权用户管理头部美化（标题图标 + 数量胶囊 + 精致筛选栏 + 渐变 CTA） */
.zibll-auth-user-manager-header {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #f2f3f5;
}
.zibll-auth-user-manager-title {
    position: relative; display: flex; align-items: center; gap: 10px;
    font-size: 20px; font-weight: 700; color: #222; padding-bottom: 8px;
}
.zibll-auth-user-manager-title-icon { color: #ff4d4f; font-size: 20px; }
.zibll-auth-user-manager-title-line {
    position: absolute; left: 0; bottom: 0; width: 34px; height: 3px;
    border-radius: 2px; background: linear-gradient(90deg, #ff7a7c, #ff4d4f);
}
.zibll-auth-user-manager-count { font-size: 14px; color: #555; background: #f6f8fb; border: 1px solid #eef1f5; border-radius: 20px; padding: 6px 16px; }
.zibll-auth-user-manager-num { color: #ff4d4f; font-weight: 700; }
.zibll-auth-user-manager-filter {
    display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
    background: linear-gradient(180deg, #f7f9fc, #f3f6fa); border: 1px solid #eef1f5;
    border-radius: 12px; padding: 18px 20px; margin-bottom: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.02);
}
.zibll-auth-user-manager-field {
    display: flex; align-items: center; gap: 8px;
}
.zibll-auth-user-manager-field label {
    font-size: 14px; color: #555; font-weight: 500; white-space: nowrap;
}
.zibll-auth-user-manager-field input[type="text"],
.zibll-auth-user-manager-field select {
    border: 1px solid #dcdfe6; border-radius: 8px; padding: 9px 13px;
    font-size: 14px; color: #333; background: #fff; min-width: 160px;
    outline: none; transition: border-color .2s, box-shadow .2s;
}
.zibll-auth-user-manager-field input[type="text"]:focus,
.zibll-auth-user-manager-field select:focus { border-color: #409eff; box-shadow: 0 0 0 3px rgba(64,158,255,.12); }
.zibll-auth-user-manager-btn {
    display: inline-flex; align-items: center; justify-content: center;
    border: none; border-radius: 8px; padding: 9px 20px;
    font-size: 14px; font-weight: 600; cursor: pointer; transition: opacity .2s, transform .2s, box-shadow .2s;
}
.zibll-auth-user-manager-btn:hover { opacity: .95; transform: translateY(-1px); }
.zibll-auth-user-manager-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.zibll-auth-user-manager-btn-primary { color: #fff; background: linear-gradient(135deg, #4facfe, #409eff); box-shadow: 0 4px 12px rgba(64,158,255,.28); }
.zibll-auth-user-manager-btn-primary:hover { box-shadow: 0 6px 16px rgba(64,158,255,.36); }
.zibll-auth-user-manager-btn-ghost { color: #409eff; background: #fff; border: 1px solid #c6e0ff; }
.zibll-auth-user-manager-btn-ghost:hover { background: #f0f7ff; box-shadow: 0 4px 12px rgba(64,158,255,.12); }
/*795] 授权用户管理工具栏两按钮包裹层，工单面板做法。
 桌面端：保持 display:flex + gap:14px，让搜索/添加授权两按钮同行、与字段同排；
 移动端：见下方 @media(max-width:640px) 区块，width:100% + padding-left:92px 左到输入框起始位置。*/
.zibll-auth-user-manager-btns { display: flex; align-items: center; gap: 14px; }
/* 201 暗色主题适配 */
body.dark-theme .zibll-auth-user-manager-header, body.night .zibll-auth-user-manager-header { border-bottom-color: #3a3d45; }
body.dark-theme .zibll-auth-user-manager-title, body.night .zibll-auth-user-manager-title { color: #e6e6e6; }
body.dark-theme .zibll-auth-user-manager-count, body.night .zibll-auth-user-manager-count { background: #2c2f36; border-color: #3a3d45; color: #cfcfcf; }
body.dark-theme .zibll-auth-user-manager-filter, body.night .zibll-auth-user-manager-filter { background: #2c2f36; border-color: #3a3d45; box-shadow: none; }
body.dark-theme .zibll-auth-user-manager-field label, body.night .zibll-auth-user-manager-field label { color: #aaa; }
body.dark-theme .zibll-auth-user-manager-field input[type="text"], body.dark-theme .zibll-auth-user-manager-field select,
body.night .zibll-auth-user-manager-field input[type="text"], body.night .zibll-auth-user-manager-field select { background: #262a31; border-color: #3a3d45; color: #e6e6e6; }
body.dark-theme .zibll-auth-user-manager-btn-ghost, body.night .zibll-auth-user-manager-btn-ghost { background: #262a31; color: #79a0ff; border-color: #3a4a5c; }
body.dark-theme .zibll-auth-user-manager-btn-ghost:hover, body.night .zibll-auth-user-manager-btn-ghost:hover { background: #2f3640; }
.zibll-auth-user-manager-table-wrap { overflow-x: auto; scrollbar-width: none; }
.zibll-auth-user-manager-table-wrap::-webkit-scrollbar { display: none; }
.zibll-auth-user-manager-table {
    width: 100%; border-collapse: collapse; font-size: 14px;
}
.zibll-auth-user-manager-table th {
    background: #f5f7fa; color: #555; font-weight: 500; text-align: center;
    padding: 12px 10px; border-bottom: 1px solid #ebeef5;
}
.zibll-auth-user-manager-table td {
    text-align: center; padding: 14px 10px; color: #333;
    border-bottom: 1px solid #f0f0f0; vertical-align: middle;
}
.zibll-auth-user-manager-table tr:last-child td { border-bottom: none; }
.zibll-auth-user-manager-table tr:hover td { background: #fafafa; }
.zibll-auth-user-manager-table-btn {
    display: inline-flex; align-items: center; justify-content: center;
    border: none; border-radius: 4px; padding: 5px 14px;
    font-size: 13px; font-weight: 500; cursor: pointer; transition: opacity .2s;
}
.zibll-auth-user-manager-table-btn:hover { opacity: .9; }
.zibll-auth-user-manager-table-btn:disabled { opacity: .6; cursor: not-allowed; }
.zibll-auth-user-manager-table-btn-primary { color: #fff; background: #409eff; }
.zibll-auth-user-manager-table-btn-danger { color: #fff; background: #ff4d4f; }
.zibll-auth-user-manager-status-normal { color: #52c41a; font-weight: 500; }
.zibll-auth-user-manager-status-pending { color: #1890ff; font-weight: 500; } /* 202] 待绑定：蓝色 info */
.zibll-auth-user-manager-status-disabled { color: #999; font-weight: 500; }
.zibll-auth-user-manager-status-expired { color: #ef4444; font-weight: 600; } /* 202] 授权到期：红色系 */
.zibll-auth-user-manager-status-error { color: #fa8c16; font-weight: 600; } /* 202] 授权异常：橙色系 */
.zibll-auth-user-manager-empty { color: #999; text-align: center; }
/* 783] 授权用户管理表格暗夜适配：深底 + 浅字 + hover 不再变白 */
body.dark-theme .zibll-auth-user-manager-table th,
body.night .zibll-auth-user-manager-table th {
    background: #2c2f36;
    color: #e0e0e0;
    border-bottom-color: #3a3d45;
}
body.dark-theme .zibll-auth-user-manager-table td,
body.night .zibll-auth-user-manager-table td {
    color: #e6e6e6;
    border-bottom-color: #3a3d45;
}
body.dark-theme .zibll-auth-user-manager-table tr:hover td,
body.night .zibll-auth-user-manager-table tr:hover td {
    background: #3a3d45;
}
body.dark-theme .zibll-auth-user-manager-status-disabled,
body.night .zibll-auth-user-manager-status-disabled { color: #888; }
body.dark-theme .zibll-auth-user-manager-empty,
body.night .zibll-auth-user-manager-empty { color: #888; }
body.dark-theme .zibll-auth-quota-auth,
body.night .zibll-auth-quota-auth {
    background: rgba(24,144,255,.15);
    color: #5b9bff;
    border-color: rgba(91,155,255,.35);
}
body.dark-theme .zibll-auth-quota-change,
body.night .zibll-auth-quota-change {
    background: rgba(250,140,22,.15);
    color: #ffaa5c;
    border-color: rgba(255,170,92,.35);
}
.zibll-auth-quota-badge {
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 12px; padding: 2px 8px; font-size: 12px; font-weight: 500; margin-right: 4px; min-width: 42px;
}
.zibll-auth-quota-auth { background: #f0f9ff; color: #096dd9; border: 1px solid #bae0ff; }
.zibll-auth-quota-change { background: #fff7e6; color: #d46b08; border: 1px solid #ffd591; }
.zibll-auth-quota-badge:last-child { margin-right: 0; }
.zibll-auth-user-manager-form-group { margin-bottom: 14px; }
.zibll-auth-user-manager-form-group label {
    display: block; font-size: 14px; color: #555; font-weight: 500; margin-bottom: 6px;
}
.zibll-auth-user-manager-form-group input[type="text"],
.zibll-auth-user-manager-form-group select {
    width: 100%; border: 1px solid #dcdfe6; border-radius: 4px; padding: 8px 12px;
    font-size: 14px; color: #333; background: #fff; outline: none;
}
.zibll-auth-user-manager-form-group input[type="text"]:focus,
.zibll-auth-user-manager-form-group select:focus { border-color: #409eff; }
.zibll-auth-user-manager-form-msg { font-size: 13px; margin-top: 8px; }
.zibll-auth-user-manager-detail-row {
    display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 14px;
}
.zibll-auth-user-manager-detail-row > span { color: #666; white-space: nowrap; min-width: 80px; }
.zibll-auth-user-manager-detail-row > strong { color: #333; font-weight: 500; }
.zibll-auth-user-manager-domain {
    display: inline-block; background: #f0f9ff; color: #096dd9; border: 1px solid #bae0ff;
    border-radius: 4px; padding: 2px 8px; font-size: 12px; margin: 2px;
}

/* 155：两步添加授权弹窗 */
.zibll-auth-add-search-wrap {
    position: relative;
}
.zibll-auth-add-search-wrap input[type="text"] {
    width: 100%; border: 1px solid #f0f0f0; border-radius: 8px; padding: 10px 36px 10px 14px;
    font-size: 14px; color: #333; background: #f7f8fa; outline: none; transition: border-color .2s, box-shadow .2s;
}
.zibll-auth-add-search-wrap input[type="text"]:focus {
    border-color: #8b5cf6; background: #fff; box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.08);
}
.zibll-auth-add-search-wrap .fa-search {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #999; font-size: 15px;
}
.zibll-auth-add-search-divider {
    display: flex; align-items: center; color: #bfbfbf; font-size: 13px; margin: 18px 0 12px;
}
.zibll-auth-add-search-divider::before,
.zibll-auth-add-search-divider::after {
    content: ''; flex: 1; height: 1px; background: #f0f0f0;
}
.zibll-auth-add-search-divider span { padding: 0 12px; }
.zibll-auth-add-user-list { max-height: 320px; overflow-y: auto; }
.zibll-auth-add-user-empty {
    text-align: center; color: #999; font-size: 13px; padding: 30px 0;
}
.zibll-auth-add-user-item {
    display: flex; align-items: center; padding: 12px 10px; border-radius: 8px; cursor: pointer;
    transition: background .2s; margin-bottom: 6px;
}
.zibll-auth-add-user-item:hover { background: #f7f8fa; }
.zibll-auth-add-user-avatar {
    width: 40px; height: 40px; border-radius: 50%; object-fit: cover; margin-right: 12px; flex-shrink: 0;
}
.zibll-auth-add-user-info { flex: 1; min-width: 0; }
.zibll-auth-add-user-name {
    font-size: 15px; color: #333; font-weight: 500; margin-bottom: 2px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.zibll-auth-add-user-email {
    font-size: 12px; color: #999;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.zibll-auth-add-user-action {
    font-size: 13px; color: #999; white-space: nowrap; display: flex; align-items: center;
}
.zibll-auth-add-user-item:hover .zibll-auth-add-user-action { color: #8b5cf6; }
.zibll-auth-add-user-action .fa-angle-right { margin-left: 4px; font-size: 16px; }
.zibll-auth-add-back {
    display: inline-flex; align-items: center; color: #666; font-size: 14px; cursor: pointer; margin-bottom: 14px;
}
.zibll-auth-add-back:hover { color: #8b5cf6; }
.zibll-auth-add-selected-user {
    display: flex; align-items: center; padding: 12px; background: #f7f8fa; border-radius: 10px; margin-bottom: 16px;
}
.zibll-auth-add-selected-user .zibll-auth-add-user-action { color: #8b5cf6; }
.zibll-auth-add-gift-row { display: flex; flex-direction: column; gap: 10px; }
.zibll-auth-add-gift-item {
    display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #f0f0f0;
}
.zibll-auth-add-gift-item:last-child { border-bottom: none; }
.zibll-auth-add-gift-info { flex: 1; }
.zibll-auth-add-gift-info strong {
    display: block; font-size: 15px; color: #333; font-weight: 600; margin-bottom: 2px;
}
.zibll-auth-add-gift-info span { font-size: 13px; color: #999; }
.zibll-auth-add-switch {
    position: relative; display: inline-block; width: 44px; height: 24px; margin-left: 12px; flex-shrink: 0;
}
.zibll-auth-add-switch input { opacity: 0; width: 0; height: 0; }
.zibll-auth-add-slider {
    position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
    background-color: #dcdfe6; border-radius: 24px; transition: .3s;
}
.zibll-auth-add-slider::before {
    position: absolute; content: ''; height: 18px; width: 18px; left: 3px; bottom: 3px;
    background-color: #fff; border-radius: 50%; transition: .3s; box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.zibll-auth-add-switch input:checked + .zibll-auth-add-slider { background-color: #8b5cf6; }
.zibll-auth-add-switch input:checked + .zibll-auth-add-slider::before { transform: translateX(20px); }
.zibll-auth-add-submit {
    width: 100%; border: none; border-radius: 24px; padding: 12px; font-size: 15px; color: #fff;
    background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%); cursor: pointer; transition: opacity .2s;
    display: flex; align-items: center; justify-content: center;
}
.zibll-auth-add-submit:hover { opacity: .92; }
.zibll-auth-add-submit:disabled { opacity: .6; cursor: not-allowed; }
.zibll-auth-user-manager-form-group textarea {
    width: 100%; border: 1px solid #dcdfe6; border-radius: 4px; padding: 8px 12px;
    font-size: 14px; color: #333; background: #fff; outline: none; resize: vertical;
}
.zibll-auth-user-manager-form-group textarea:focus { border-color: #409eff; }

/* 158：编辑授权弹窗（缩小 + 美化） */
.zibll-auth-edit-modal { max-width: 620px; }
.zibll-auth-edit-modal-content { border: none; border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.16); overflow: hidden; }
.zibll-auth-edit-modal-content .modal-header {
    border-bottom: 1px solid #f0f0f0; padding: 14px 20px; background: linear-gradient(90deg,#fafbff,#f4f6ff);
}
.zibll-auth-edit-modal-content .modal-title { font-size: 16px; font-weight: 600; color: #222; }
.zibll-auth-edit-modal-content .modal-body { padding: 18px 20px; max-height: 76vh; overflow-y: auto; }
.zibll-auth-edit-modal-content .modal-footer {
    border-top: 1px solid #f0f0f0; padding: 12px 20px; background: #fafbff;
}
.zibll-auth-edit-loading { padding: 36px 0; color: #999; }
.zibll-auth-edit-card {
    display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg,#f5f7ff,#f0f4ff);
    border: 1px solid #e8ecff; border-radius: 12px; padding: 12px 14px; margin-bottom: 14px;
}
.zibll-auth-edit-card-thumb {
    width: 48px; height: 48px; border-radius: 10px; overflow: hidden;
    background: linear-gradient(135deg,#8b5cf6,#6366f1); flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
}
.zibll-auth-edit-card-thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.zibll-auth-edit-card-thumb-icon { font-size: 20px; color: #fff; }
.zibll-auth-edit-card-info { flex: 1; min-width: 0; }
.zibll-auth-edit-card-title {
    font-size: 15px; color: #1f2329; font-weight: 600; margin-bottom: 3px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.zibll-auth-edit-card-user { font-size: 12px; color: #8a8a8a; }
.zibll-auth-edit-card-order { text-align: right; min-width: 90px; }
.zibll-auth-edit-card-label { font-size: 11px; color: #aab; margin-bottom: 2px; }
.zibll-auth-edit-card-value { font-size: 13px; color: #555; font-weight: 500; }
.zibll-auth-edit-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 16px;
}
.zibll-auth-edit-section { margin-bottom: 0; }
.zibll-auth-edit-section-full { grid-column: 1 / -1; }
.zibll-auth-edit-label {
    font-size: 12px; color: #8b5cf6; font-weight: 600; letter-spacing: .5px;
    margin-bottom: 6px; padding-left: 16px; position: relative;
}
.zibll-auth-edit-label i {
    position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    font-size: 11px; width: 12px; text-align: center; color: #a78bfa;
}
.zibll-auth-edit-label::before {
    content: ''; position: absolute; left: 0; top: 2px; bottom: 2px; width: 3px;
    border-radius: 2px; background: #8b5cf6; display: none;
}
.zibll-auth-edit-radio-group { display: flex; flex-wrap: wrap; gap: 8px; }
.zibll-auth-edit-radio {
    display: inline-flex; align-items: center; gap: 5px; cursor: pointer;
    font-size: 12px; color: #666; padding: 6px 12px; border: 1px solid #e6e6e6;
    border-radius: 20px; background: #fff; transition: all .15s;
}
.zibll-auth-edit-radio:hover { border-color: #c4b5fd; }
.zibll-auth-edit-radio input { margin: 0; accent-color: #8b5cf6; }
.zibll-auth-edit-radio:has(input:checked) {
    border-color: #8b5cf6; background: #f3effe; color: #6d28d9; font-weight: 600;
}
.zibll-auth-edit-radio span { color: inherit; }
.zibll-auth-edit-input-wrap {
    display: flex; align-items: center; gap: 8px; flex-wrap: nowrap;
}
.zibll-auth-edit-input-wrap input[type="text"],
.zibll-auth-edit-input-wrap select {
    flex: 1 1 auto; min-width: 0; border: 1px solid #e2e5ec; border-radius: 8px;
    padding: 8px 10px; font-size: 13px; color: #333; background: #fff; outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.zibll-auth-edit-input-wrap input[type="text"]:focus,
.zibll-auth-edit-input-wrap select:focus {
    border-color: #8b5cf6; box-shadow: 0 0 0 3px rgba(139,92,246,.12);
}
.zibll-auth-edit-input-wrap .but { white-space: nowrap; padding: 8px 14px; font-size: 13px; }
.zibll-auth-edit-domain-list {
    display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px;
}
.zibll-auth-edit-domain-tag {
    display: inline-flex; align-items: center; gap: 6px;
    background: #ecf6ff; color: #1677ff; border: 1px solid #bcdcff;
    border-radius: 6px; padding: 4px 10px; font-size: 12px; font-weight: 500;
}
.zibll-auth-edit-empty { color: #aaa; font-size: 12px; }
.zibll-auth-edit-quota {
    background: #f8f9fb; border: 1px solid #eef0f4; border-radius: 12px; padding: 14px;
}
.zibll-auth-edit-quota-current {
    display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; padding-bottom: 12px;
    border-bottom: 1px dashed #e2e5ec; font-size: 13px; color: #666;
}
.zibll-auth-edit-quota-current-item {
    display: inline-flex; align-items: center; gap: 5px;
}
.zibll-auth-edit-quota-current-item i { color: #8b5cf6; }
.zibll-auth-edit-quota-current-item strong { color: #333; font-size: 15px; }
.zibll-auth-edit-quota-row {
    display: flex; align-items: flex-end; gap: 20px; flex-wrap: wrap;
}
.zibll-auth-edit-quota-item { margin-bottom: 0; }
.zibll-auth-edit-number {
    display: inline-flex; align-items: center; border: 1px solid #e2e5ec; border-radius: 8px; overflow: hidden; background: #fff;
}
.zibll-auth-edit-number input {
    width: 56px; text-align: center; border: none; padding: 7px 0; font-size: 14px; color: #333; outline: none;
}
.zibll-auth-edit-number button {
    width: 32px; height: 32px; border: none; background: #f5f5f7; cursor: pointer; font-size: 16px; color: #666;
    transition: background .15s;
}
.zibll-auth-edit-number button:hover { background: #e9e9ef; color: #8b5cf6; }
.zibll-auth-edit-quota-save { margin-left: auto; padding: 8px 18px; font-size: 13px; }
.zibll-auth-edit-msg { margin-top: 10px; font-size: 13px; }
.zibll-auth-edit-msg.zibll-auth-ok { color: #52c41a; }
.zibll-auth-edit-msg.zibll-auth-err { color: #f5222d; }
#zibll-auth-edit-save { padding-left: 24px; padding-right: 24px; }
/* 784] 编辑授权弹窗暗夜适配：深底 + 浅字 + 输入框/单选/标签/额度面板全部转暗 */
body.dark-theme .zibll-auth-edit-modal-content,
body.night .zibll-auth-edit-modal-content { background: #1e1e1e; box-shadow: 0 12px 40px rgba(0,0,0,.4); }
body.dark-theme .zibll-auth-edit-modal-content .modal-header,
body.night .zibll-auth-edit-modal-content .modal-header {
    background: linear-gradient(90deg,#2a2d35,#252830);
    border-bottom-color: #3a3d45;
}
body.dark-theme .zibll-auth-edit-modal-content .modal-title,
body.night .zibll-auth-edit-modal-content .modal-title { color: #e6e6e6; }
body.dark-theme .zibll-auth-edit-modal-content .modal-body,
body.night .zibll-auth-edit-modal-content .modal-body { background: #1e1e1e; }
body.dark-theme .zibll-auth-edit-modal-content .modal-footer,
body.night .zibll-auth-edit-modal-content .modal-footer {
    background: #252830;
    border-top-color: #3a3d45;
}
body.dark-theme .zibll-auth-edit-card,
body.night .zibll-auth-edit-card {
    background: linear-gradient(135deg,#2a2d35,#252830);
    border-color: #3a3d45;
}
body.dark-theme .zibll-auth-edit-card-thumb,
body.night .zibll-auth-edit-card-thumb {
    background: linear-gradient(135deg,#6d4cb0,#4e539e);
}
body.dark-theme .zibll-auth-edit-card-title,
body.night .zibll-auth-edit-card-title { color: #e6e6e6; }
body.dark-theme .zibll-auth-edit-card-user,
body.night .zibll-auth-edit-card-user,
body.dark-theme .zibll-auth-edit-card-label,
body.night .zibll-auth-edit-card-label,
body.dark-theme .zibll-auth-edit-card-value,
body.night .zibll-auth-edit-card-value { color: #aaa; }
body.dark-theme .zibll-auth-edit-label,
body.night .zibll-auth-edit-label { color: #a78bfa; }
body.dark-theme .zibll-auth-edit-radio,
body.night .zibll-auth-edit-radio {
    background: #2c2f36;
    color: #ccc;
    border-color: #3a3d45;
}
body.dark-theme .zibll-auth-edit-radio:hover,
body.night .zibll-auth-edit-radio:hover { border-color: #8b5cf6; }
body.dark-theme .zibll-auth-edit-radio:has(input:checked),
body.night .zibll-auth-edit-radio:has(input:checked) {
    background: rgba(139,92,246,.15);
    color: #c4b5fd;
    border-color: #8b5cf6;
}
body.dark-theme .zibll-auth-edit-input-wrap input[type="text"],
body.dark-theme .zibll-auth-edit-input-wrap select,
body.night .zibll-auth-edit-input-wrap input[type="text"],
body.night .zibll-auth-edit-input-wrap select {
    background: #262a31;
    border-color: #3a3d45;
    color: #e6e6e6;
}
body.dark-theme .zibll-auth-edit-input-wrap input[type="text"]:focus,
body.dark-theme .zibll-auth-edit-input-wrap select:focus,
body.night .zibll-auth-edit-input-wrap input[type="text"]:focus,
body.night .zibll-auth-edit-input-wrap select:focus {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139,92,246,.12);
}
body.dark-theme .zibll-auth-edit-domain-tag,
body.night .zibll-auth-edit-domain-tag {
    background: rgba(24,144,255,.15);
    color: #5b9bff;
    border-color: rgba(91,155,255,.35);
}
body.dark-theme .zibll-auth-edit-quota,
body.night .zibll-auth-edit-quota {
    background: #2c2f36;
    border-color: #3a3d45;
}
body.dark-theme .zibll-auth-edit-quota-current,
body.night .zibll-auth-edit-quota-current { color: #aaa; border-bottom-color: #3a3d45; }
body.dark-theme .zibll-auth-edit-quota-current-item strong,
body.night .zibll-auth-edit-quota-current-item strong { color: #e6e6e6; }
body.dark-theme .zibll-auth-edit-number,
body.night .zibll-auth-edit-number { background: #262a31; border-color: #3a3d45; }
body.dark-theme .zibll-auth-edit-number input,
body.night .zibll-auth-edit-number input { color: #e6e6e6; background: transparent; }
body.dark-theme .zibll-auth-edit-number button,
body.night .zibll-auth-edit-number button { background: #33363d; color: #ccc; }
body.dark-theme .zibll-auth-edit-number button:hover,
body.night .zibll-auth-edit-number button:hover { background: #3c4048; color: #a78bfa; }
body.dark-theme .zibll-auth-edit-empty,
body.night .zibll-auth-edit-empty { color: #888; }
body.dark-theme .zibll-auth-edit-msg.zibll-auth-ok,
body.night .zibll-auth-edit-msg.zibll-auth-ok { color: #73d13d; }
body.dark-theme .zibll-auth-edit-msg.zibll-auth-err,
body.night .zibll-auth-edit-msg.zibll-auth-err { color: #ff7875; }
@media (max-width: 640px) {
    /* 移动端：编辑弹窗改为底部弹出（Bottom Sheet），更贴近拇指操作 */
    .zibll-auth-edit-modal { max-width: 100vw; }
    #zibll-auth-user-manager-detail-modal .modal-dialog.zibll-auth-edit-modal {
        position: absolute; left: 0; right: 0; bottom: 0; top: auto;
        width: 100%; max-width: 100%; margin: 0 !important;
        animation: zibllAuthSheetUp .28s ease;
    }
    @keyframes zibllAuthSheetUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
    .zibll-auth-edit-modal-content { border-radius: 18px 18px 0 0; box-shadow: 0 -8px 40px rgba(0,0,0,.18); }
    .zibll-auth-edit-modal-content .modal-body { padding: 14px 16px; max-height: 86vh; }
    .zibll-auth-edit-grid { grid-template-columns: 1fr; gap: 12px; }
    /* 触摸友好：授权状态单选整行大点击区 */
    .zibll-auth-edit-radio-group { flex-direction: column; gap: 10px; }
    .zibll-auth-edit-radio {
        flex: 1 1 auto; width: 100%; min-height: 48px;
        display: flex; align-items: center; padding: 10px 14px;
        border-radius: 12px; font-size: 15px;
    }
    .zibll-auth-edit-radio input[type="radio"] { width: 18px; height: 18px; }
    .zibll-auth-edit-radio span { font-size: 15px; }
    .zibll-auth-edit-input-wrap { flex-wrap: wrap; }
    .zibll-auth-edit-input-wrap input[type="text"],
    .zibll-auth-edit-input-wrap select { flex: 1 1 100%; min-height: 44px; }
    .zibll-auth-edit-input-wrap .but { width: 100%; min-height: 44px; }
    .zibll-auth-edit-quota-row { flex-direction: column; align-items: stretch; gap: 12px; }
    .zibll-auth-edit-quota-save { margin-left: 0; }
    /* 触发按钮触摸友好 */
    .zibll-auth-user-manager-detail-btn { min-height: 40px; padding: 8px 14px; }
}

/* 157：弹窗位置上调 + 通用确认/消息弹窗居中 */
.zibll-auth-modal-raised { margin: 4vh auto 0 !important; }
@media (max-width: 768px) {
    .zibll-auth-modal-raised { margin: 6vh auto 0 !important; }
}
.zibll-auth-modal-centered { margin: 25vh auto 0 !important; }
@media (max-width: 768px) {
    .zibll-auth-modal-centered { margin: 30vh auto 0 !important; }
}
.zibll-auth-confirm-body, .zibll-auth-alert-body {
    text-align: center; padding: 28px 20px 20px;
}
.zibll-auth-confirm-icon, .zibll-auth-alert-icon {
    font-size: 48px; margin-bottom: 14px; line-height: 1;
}
.zibll-auth-confirm-icon { color: #faad14; }
.zibll-auth-alert-info { color: #1890ff; }
.zibll-auth-alert-success { color: #52c41a; }
.zibll-auth-alert-error { color: #ff4d4f; }
.zibll-auth-confirm-text, .zibll-auth-alert-text {
    font-size: 15px; color: #333; line-height: 1.5; word-break: break-word;
}
.zibll-auth-confirm-footer, .zibll-auth-alert-footer {
    display: flex; justify-content: center; gap: 12px; border-top: none; padding: 0 20px 24px;
}
.zibll-auth-confirm-footer .but, .zibll-auth-alert-footer .but {
    min-width: 80px; border-radius: 20px; padding: 8px 20px; font-size: 14px;
}
.zibll-auth-confirm-footer .but:first-child { background: #f5f5f5; color: #666; border: none; }
.zibll-auth-confirm-footer .but:first-child:hover { background: #e8e8e8; }

/* ============ 164/168：内置工单系统 ============ */
.zibll-auth-tickets-panel {
    padding: 0 !important;
    background: transparent;
    box-shadow: none;
}
.zibll-auth-tickets-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 18px;
}
/*790] 我的工单头部授权用户管理头部风格：深色标题 + 红色图标 + 红色下划线 + 计数胶囊徽章*/
.zibll-auth-tickets-title {
    font-size: 18px;
    font-weight: 600;
    color: #222;
    display: flex;
    align-items: center;
    position: relative;
    padding-bottom: 10px;
}
.zibll-auth-tickets-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #ff7a7c, #ff4d4f);
}
/*780] 我的工单标题图标（授权用户管理头部风格）*/
.zibll-auth-tickets-title-icon {
    color: #ff4d4f;
    font-size: 18px;
    margin-right: 8px;
}
body.dark-theme .zibll-auth-tickets-title, body.night .zibll-auth-tickets-title { color: #e6e6e6; }
body.dark-theme .zibll-auth-tickets-title::after, body.night .zibll-auth-tickets-title::after { background: linear-gradient(90deg, #ff7a7c, #ff4d4f); }
.zibll-auth-tickets-total {
    font-size: 14px;
    color: #555;
    background: #f6f8fb;
    border: 1px solid #eef1f5;
    border-radius: 20px;
    padding: 6px 16px;
}
.zibll-auth-tickets-total span {
    color: #ff4d4f;
    font-weight: 700;
    margin: 0 2px;
}
body.dark-theme .zibll-auth-tickets-total, body.night .zibll-auth-tickets-total { background: #2c2f36; border-color: #3a3d45; color: #cfcfcf; }
body.dark-theme .zibll-auth-tickets-total span, body.night .zibll-auth-tickets-total span { color: #ff7a7c; }
.zibll-auth-tickets-desc {
    font-size: 13px;
    margin-bottom: 14px;
    line-height: 1.6;
}
.zibll-auth-tickets-notice {
    background: #fffbe6;
    color: #ad6800;
    border: 1px solid #ffe58f;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 14px;
}
body.dark-theme .zibll-auth-tickets-notice, body.night .zibll-auth-tickets-notice { background: #3a3525; color: #ffd24d; border-color: #5a4d2a; }
/*794] 工单工具栏视觉授权用户管理：同款渐变背景/圆角/输入框/按钮*/
.zibll-auth-tk-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    background: linear-gradient(180deg, #f7f9fc, #f3f6fa);
    border: 1px solid #eef1f5;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 2px rgba(0,0,0,.02);
}
.zibll-auth-tk-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}
body.dark-theme .zibll-auth-tk-toolbar, body.night .zibll-auth-tk-toolbar { background: #2c2f36; border-color: #3a3d45; box-shadow: none; }
.zibll-auth-tk-field {
    display: flex;
    align-items: center;
    gap: 8px;
}
.zibll-auth-tk-field label {
    font-size: 14px;
    color: #555;
    font-weight: 500;
    white-space: nowrap;
}
body.dark-theme .zibll-auth-tk-field label, body.night .zibll-auth-tk-field label { color: #aaa; }
.zibll-auth-tk-field .form-control {
    border: 1px solid #dcdfe6;
    border-radius: 8px;
    background: #fff;
    min-width: 160px;
    padding: 9px 13px;
    font-size: 14px;
    color: #333;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
body.dark-theme .zibll-auth-tk-field .form-control, body.night .zibll-auth-tk-field .form-control { background: #262a31; border-color: #3a3d45; color: #e6e6e6; }
.zibll-auth-tk-field .form-control:focus { border-color: #409eff; box-shadow: 0 0 0 3px rgba(64,158,255,.12); }
/* 792] 工单状态下拉框：去默认箭头、自绘箭头、覆盖主题全局 select 高度/行高 */
.zibll-auth-tk-field select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 38px !important;
    line-height: normal !important;
    padding: 9px 34px 9px 13px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
body.dark-theme .zibll-auth-tk-field select.form-control,
body.night .zibll-auth-tk-field select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23aaa' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
}
.zibll-auth-tk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    padding: 9px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .2s, transform .2s, box-shadow .2s;
}
.zibll-auth-tk-btn:hover { opacity: .95; transform: translateY(-1px); }
.zibll-auth-tk-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.zibll-auth-tk-btn-search {
    color: #409eff;
    background: #fff;
    border: 1px solid #c6e0ff;
}
.zibll-auth-tk-btn-search:hover { background: #f0f7ff; box-shadow: 0 4px 12px rgba(64,158,255,.12); color: #409eff; }
body.dark-theme .zibll-auth-tk-btn-search, body.night .zibll-auth-tk-btn-search { background: #262a31; color: #79a0ff; border-color: #3a4a5c; }
body.dark-theme .zibll-auth-tk-btn-search:hover, body.night .zibll-auth-tk-btn-search:hover { background: #2f3640; }
.zibll-auth-tk-btn-new {
    color: #fff;
    background: linear-gradient(135deg, #4facfe, #409eff);
    box-shadow: 0 4px 12px rgba(64,158,255,.28);
}
.zibll-auth-tk-btn-new:hover { box-shadow: 0 6px 16px rgba(64,158,255,.36); }
.zibll-auth-tk-btns { display: flex; align-items: center; gap: 14px; }
/*791] 手机端工单工具栏：工单ID占满一行、状态下拉单独占满一行、搜索+创建工单按钮另起行并左到输入框左侧（与授权用户管理一致，去掉居中）*/
@media (max-width: 640px) {
    .zibll-auth-tk-toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
    .zibll-auth-tk-toolbar > .zibll-auth-tk-field,
    .zibll-auth-tk-row .zibll-auth-tk-field { flex: 1 1 100%; min-width: 0; }
    .zibll-auth-tk-toolbar > .zibll-auth-tk-field .form-control,
    .zibll-auth-tk-row .zibll-auth-tk-field .form-control { width: 100%; min-width: 0; }
    .zibll-auth-tk-row { flex-wrap: wrap; width: 100%; justify-content: flex-start; }
    .zibll-auth-tk-row .zibll-auth-tk-btn { flex: 0 0 auto; }
    .zibll-auth-tk-field label { flex: 0 0 auto; min-width: 84px; }
    .zibll-auth-tk-btns { width: 100%; padding-left: 92px; }
}
.zibll-auth-tk-table-wrap { overflow-x: auto; }
.zibll-auth-tk-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}
body.dark-theme .zibll-auth-tk-table, body.night .zibll-auth-tk-table { background: #2c2f36; }
.zibll-auth-tk-table thead th {
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    color: #666;
    background: #f7f8fa;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}
body.dark-theme .zibll-auth-tk-table thead th, body.night .zibll-auth-tk-table thead th { background: #353840; color: #aaa; border-bottom-color: #3a3d45; }
.zibll-auth-tk-table td { padding: 14px 16px; border-bottom: 1px solid #f5f5f5; font-size: 14px; color: #333; vertical-align: middle; }
body.dark-theme .zibll-auth-tk-table td, body.night .zibll-auth-tk-table td { color: #e6e6e6; border-bottom-color: #3a3d45; }
.zibll-auth-tk-table .col-id { width: 80px; color: #666; }
.zibll-auth-tk-table .col-subject { font-weight: 500; }
.zibll-auth-tk-table .col-time { color: #999; font-size: 13px; white-space: nowrap; }
.zibll-auth-tk-table .col-ops { width: 130px; white-space: nowrap; }
.zibll-auth-tk-row { transition: background .15s; }
.zibll-auth-tk-row:hover { background: #f9f9fb; }
body.dark-theme .zibll-auth-tk-row:hover, body.night .zibll-auth-tk-row:hover { background: #34313f; }
.zibll-auth-tk-ops { display: flex; align-items: center; gap: 8px; }
/* 786：工单操作改为子比原生文字链（蓝回复 / 红结束） */
.zibll-auth-tk-op-link { font-size: 13px; text-decoration: none; cursor: pointer; transition: opacity .15s; }
.zibll-auth-tk-op-link:hover { opacity: .75; }
.zibll-auth-tk-op-reply { color: #2f6fed; }
body.dark-theme .zibll-auth-tk-op-reply, body.night .zibll-auth-tk-op-reply { color: #6ea8fe; }
.zibll-auth-tk-op-close { color: #e84c3d; }
body.dark-theme .zibll-auth-tk-op-close, body.night .zibll-auth-tk-op-close { color: #ff7875; }
.zibll-auth-tk-cattag {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 4px;
    background: #f3eefe;
    color: #8b5cf6;
    font-size: 12px;
}
body.dark-theme .zibll-auth-tk-cattag, body.night .zibll-auth-tk-cattag { background: #3a3350; color: #c4b5fd; }
.zibll-auth-tk-loading { text-align: center; color: #999; padding: 40px 0; }

/* 786：工单卡片子比原生风（去卡片框/阴影，仅底部分隔线） */
.zibll-auth-tk-cards-wrap { margin-top: 14px; }
.zibll-auth-tk-cards { display: flex; flex-direction: column; }
.zibll-auth-tk-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 20px;
    border-bottom: 1px solid #f5f5f5;
    transition: background .15s;
}
/* 最后一行去底线，避免列表被"框住" */
.zibll-auth-tk-card:last-child { border-bottom: none; }
.zibll-auth-tk-card:hover { background: #fafafa; }
body.dark-theme .zibll-auth-tk-card, body.night .zibll-auth-tk-card { border-bottom-color: #353941; }
body.dark-theme .zibll-auth-tk-card:hover, body.night .zibll-auth-tk-card:hover { background: #262a31; }
.zibll-auth-tk-main { flex: 1 1 auto; min-width: 0; }
/* 头部一行：#ID · 标题 + 分类，状态纯文字推到最右 */
.zibll-auth-tk-card-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* ID 改为行内紫色文字（原生风，不再渐变 fill） */
.zibll-auth-tk-card-id { color: #8b5cf6; font-size: 13px; font-weight: 700; }
body.dark-theme .zibll-auth-tk-card-id, body.night .zibll-auth-tk-card-id { color: #c4b5fd; }
.zibll-auth-tk-card-subject { font-size: 15px; font-weight: 600; color: #222; }
body.dark-theme .zibll-auth-tk-card-subject, body.night .zibll-auth-tk-card-subject { color: #e6e6e6; }
/*状态改为纯文字（子比表格的待绑定/授权正常风格）*/
.zibll-auth-tk-status { font-size: 13px; font-weight: 500; margin-left: auto; }
.zibll-auth-tk-status-processing { color: #2f6fed; }
.zibll-auth-tk-status-replied { color: #52c41a; }
.zibll-auth-tk-status-ended { color: #999; }
body.dark-theme .zibll-auth-tk-status-processing, body.night .zibll-auth-tk-status-processing { color: #6ea8fe; }
body.dark-theme .zibll-auth-tk-status-replied, body.night .zibll-auth-tk-status-replied { color: #73d13d; }
body.dark-theme .zibll-auth-tk-status-ended, body.night .zibll-auth-tk-status-ended { color: #888; }
/* 次行：时间 · 评论，行内文本 */
.zibll-auth-tk-card-meta { margin-top: 6px; font-size: 13px; color: #999; line-height: 1.7; }
body.dark-theme .zibll-auth-tk-card-meta, body.night .zibll-auth-tk-card-meta { color: #8a8f99; }
.zibll-auth-tk-meta-dot { margin: 0 8px; color: #ccc; }
body.dark-theme .zibll-auth-tk-meta-dot, body.night .zibll-auth-tk-meta-dot { color: #555; }
.zibll-auth-tk-meta-comment { color: #666; }
body.dark-theme .zibll-auth-tk-meta-comment, body.night .zibll-auth-tk-meta-comment { color: #b5b9c2; }
.zibll-auth-tk-foot-comment-who { color: #8b5cf6; font-weight: 600; }
body.dark-theme .zibll-auth-tk-foot-comment-who, body.night .zibll-auth-tk-foot-comment-who { color: #c4b5fd; }
/* 操作文字链靠右 */
.zibll-auth-tk-card-ops { display: flex; align-items: center; gap: 16px; flex-shrink: 0; padding-top: 2px; }
.zibll-auth-tk-empty { text-align: center; color: #999; padding: 40px 0; }
.zibll-auth-tk-empty .fa { font-size: 22px; display: block; margin-bottom: 8px; }

/* 状态徽章（与前台/后台共用配色） */
.zibll-tk-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
}
.zibll-tk-badge-processing { background: #e6f4ff; color: #1890ff; }
.zibll-tk-badge-replied { background: #e6f4ff; color: #1890ff; }
.zibll-tk-badge-ended { background: #f0f0f0; color: #777; }
body.dark-theme .zibll-tk-badge-processing, body.night .zibll-tk-badge-processing { background: #1a2b40; color: #4ea0ff; }
body.dark-theme .zibll-tk-badge-replied, body.night .zibll-tk-badge-replied { background: #1a2b40; color: #4ea0ff; }
body.dark-theme .zibll-tk-badge-ended, body.night .zibll-tk-badge-ended { background: #3a3d45; color: #aaa; }

.zibll-auth-tk-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 16px;
    font-size: 13px;
}
.zibll-auth-tk-pg {
    border: 1px solid #e8e8e8;
    background: #fff;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 13px;
    color: #555;
    cursor: pointer;
}
.zibll-auth-tk-pg:disabled { opacity: .45; cursor: not-allowed; }
.zibll-auth-tk-pg:not(:disabled):hover { border-color: #4facfe; color: #4facfe; }
body.dark-theme .zibll-auth-tk-pg, body.night .zibll-auth-tk-pg { background: #2c2f36; border-color: #3a3d45; color: #aaa; }
body.dark-theme .zibll-auth-tk-pg:not(:disabled):hover, body.night .zibll-auth-tk-pg:not(:disabled):hover { border-color: #4facfe; color: #4facfe; }

/* 188：产品卡片视觉优化 + 订单号/兑换号代码块 + 列表分页美化 */
.zibll-auth-prod-card {
    border: 1px solid #eef0f4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
.zibll-auth-prod-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(31,93,146,.12);
    border-color: #dbe6f3;
}
body.dark-theme .zibll-auth-prod-card, body.night .zibll-auth-prod-card { background: #2c2f36; border-color: #3a3d45; }
body.dark-theme .zibll-auth-prod-card:hover, body.night .zibll-auth-prod-card:hover { border-color: #456; box-shadow: 0 12px 28px rgba(0,0,0,.35); }

.zibll-auth-card-code {
    display: inline-block;
    font-family: Menlo, Consolas, "Courier New", monospace;
    font-size: 12px;
    background: #f4f6fa;
    color: #3a6ea5;
    border: 1px solid #e3e8f0;
    border-radius: 6px;
    padding: 1px 7px;
    cursor: pointer;
    transition: .15s;
    word-break: break-all;
}
.zibll-auth-card-code:hover { background: #eaf1fb; border-color: #c4d6ef; color: #2f5d92; }
.zibll-auth-card-code .fa-files-o { font-size: 11px; opacity: .6; margin-left: 2px; }
body.dark-theme .zibll-auth-card-code, body.night .zibll-auth-card-code { background: #2a2e36; color: #6fb1ff; border-color: #39414d; }
body.dark-theme .zibll-auth-card-code:hover, body.night .zibll-auth-card-code:hover { background: #313844; border-color: #456; }

.zibll-auth-pagination {
    margin: 22px 0 6px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.zibll-auth-pagination .page-numbers {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}
.zibll-auth-pagination a.page-numbers,
.zibll-auth-pagination span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    margin: 0 4px;
    padding: 0 10px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e8e8e8;
    color: #555;
    font-size: 13px;
    text-decoration: none;
    transition: .15s;
}
.zibll-auth-pagination a.page-numbers:hover { border-color: #4facfe; color: #4facfe; }
.zibll-auth-pagination span.page-numbers.current {
    background: linear-gradient(135deg, #4facfe, #00f2fe);
    border-color: transparent;
    color: #fff;
    font-weight: 600;
}
.zibll-auth-pagination span.page-numbers.dots { border: none; background: transparent; }
body.dark-theme .zibll-auth-pagination a.page-numbers, body.night .zibll-auth-pagination a.page-numbers,
body.dark-theme .zibll-auth-pagination span.page-numbers, body.night .zibll-auth-pagination span.page-numbers { background: #2c2f36; border-color: #3a3d45; color: #aaa; }
body.dark-theme .zibll-auth-pagination a.page-numbers:hover, body.night .zibll-auth-pagination a.page-numbers:hover { border-color: #4facfe; color: #4facfe; }
body.dark-theme .zibll-auth-pagination span.page-numbers.current, body.night .zibll-auth-pagination span.page-numbers.current { background: linear-gradient(135deg, #2f7fd6, #1fb6c9); border-color: transparent; color: #fff; }

/* 提交工单弹窗表单 */
.zibll-auth-ticket-field { margin-bottom: 14px; }
.zibll-auth-ticket-field label { display: block; font-size: 13px; color: #666; margin-bottom: 6px; text-align: center; }
body.dark-theme .zibll-auth-ticket-field label, body.night .zibll-auth-ticket-field label { color: #aaa; }
.zibll-auth-ticket-field .form-control {
    width: 100%;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    background: #f9f9f9;
    color: #333;
    resize: vertical;
}
body.dark-theme .zibll-auth-ticket-field .form-control, body.night .zibll-auth-ticket-field .form-control { background: #3a3d45; border-color: #4a4d55; color: #e6e6e6; }
.zibll-auth-ticket-msg { font-size: 13px; margin-bottom: 12px; display: none; }
.zibll-auth-ticket-msg.error { color: #ff4d4f; }
.zibll-auth-ticket-msg.error i { margin-right: 4px; }

/* 170：创建工单弹窗标题水平居中（已废弃弹窗，保留兼容） */
#zibll-auth-ticket-modal .zibll-auth-domain-modal-title { justify-content: center; }

/* 173：内联创建工单表单 */
.zibll-auth-ticket-create-wrap { width: 100%; }
.zibll-auth-ticket-create-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
    padding: 24px;
}
body.dark-theme .zibll-auth-ticket-create-card, body.night .zibll-auth-ticket-create-card { background: #2c2f36; color: #e6e6e6; }
.zibll-auth-ticket-create-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
}
body.dark-theme .zibll-auth-ticket-create-head, body.night .zibll-auth-ticket-create-head { border-bottom-color: #3a3d45; }
.zibll-auth-ticket-create-title {
    position: relative;
    font-size: 18px;
    font-weight: 600;
    color: #ff6b9d;
    margin: 0;
}
.zibll-auth-ticket-create-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -14px;
    width: 40px;
    height: 3px;
    background: #ff6b9d;
    border-radius: 2px;
}
.zibll-auth-ticket-create-back {
    background: none;
    border: none;
    color: #666;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color .2s;
}
.zibll-auth-ticket-create-back:hover { color: #4facfe; }
body.dark-theme .zibll-auth-ticket-create-back, body.night .zibll-auth-ticket-create-back { color: #aaa; }
.zibll-auth-ticket-create-body { display: flex; flex-direction: column; gap: 18px; }
.zibll-auth-ticket-create-field { display: flex; flex-direction: column; gap: 8px; }
.zibll-auth-ticket-create-field label { font-size: 14px; color: #333; font-weight: 500; }
body.dark-theme .zibll-auth-ticket-create-field label, body.night .zibll-auth-ticket-create-field label { color: #e6e6e6; }
.zibll-auth-ticket-create-label-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.zibll-auth-ticket-create-media { display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 12px; border-radius:8px; border:none; background:linear-gradient(90deg,#4facfe 0%,#00f2fe 100%); color:#fff; font-size:12px; font-weight:600; cursor:pointer; transition:transform .15s,box-shadow .15s; }
.zibll-auth-ticket-create-media:hover { transform:translateY(-1px); box-shadow:0 6px 14px rgba(79,172,254,.28); color:#fff; }
.zibll-auth-ticket-create-field .form-control,
.zibll-auth-ticket-create-field select.form-control {
    width: 100%;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    background: #f9f9f9;
    color: #333;
    transition: border-color .2s, box-shadow .2s;
}
/* 775] 工单分类 select：覆盖主题全局 select{height:32px;line-height:42px}，防文字上下裁切（同 782 机制，仅动 height/line-height，不动 padding/appearance） */
.zibll-auth-ticket-create-field select.form-control {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 38px !important;
    line-height: normal !important;
}
body.dark-theme .zibll-auth-ticket-create-field .form-control,
body.night .zibll-auth-ticket-create-field .form-control,
body.dark-theme .zibll-auth-ticket-create-field select.form-control,
body.night .zibll-auth-ticket-create-field select.form-control { background: #3a3d45; border-color: #4a4d55; color: #e6e6e6; }
.zibll-auth-ticket-create-field .form-control:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139,92,246,.12);
}
.zibll-auth-ticket-create-field .wp-editor-wrap { width: 100%; }
.zibll-auth-ticket-create-field .mce-tinymce { border-radius: 8px; overflow: hidden; border: 1px solid #e8e8e8 !important; }
body.dark-theme .zibll-auth-ticket-create-field .mce-tinymce, body.night .zibll-auth-ticket-create-field .mce-tinymce { border-color: #4a4d55 !important; }
.zibll-auth-ticket-create-field .mce-panel { background: #f9f9f9; border-color: #e8e8e8; }
body.dark-theme .zibll-auth-ticket-create-field .mce-panel, body.night .zibll-auth-ticket-create-field .mce-panel { background: #3a3d45; border-color: #4a4d55; }
.zibll-auth-ticket-create-field .mce-btn { background: transparent; border-color: #e8e8e8; }
body.dark-theme .zibll-auth-ticket-create-field .mce-btn, body.night .zibll-auth-ticket-create-field .mce-btn { background: #3a3d45; border-color: #4a4d55; }
.zibll-auth-ticket-create-field .mce-ico { color: #666; }
body.dark-theme .zibll-auth-ticket-create-field .mce-ico, body.night .zibll-auth-ticket-create-field .mce-ico { color: #aaa; }
.zibll-auth-ticket-create-field .mce-edit-area iframe { min-height: 240px; }
.zibll-auth-ticket-create-submit {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 28px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
}
.zibll-auth-ticket-create-submit:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(79,172,254,.25); }
.zibll-auth-ticket-create-submit:disabled { opacity: .7; cursor: not-allowed; transform: none; }
.zibll-auth-ticket-create-msg { font-size: 13px; display: none; }
.zibll-auth-ticket-create-msg.error { color: #ff4d4f; }
.zibll-auth-ticket-create-msg.error i { margin-right: 4px; }

/* 工单详情（对话时间线） */
.zibll-auth-ticket-detail-meta {
    font-size: 12px;
    color: #999;
    margin-bottom: 16px;
    line-height: 1.8;
}
.zibll-auth-tk-chat { display: flex; flex-direction: column; gap: 16px; max-height: 50vh; overflow-y: auto; padding-right: 4px; }
.zibll-tk-msg { display: flex; flex-direction: column; max-width: 85%; }
.zibll-tk-msg-user { align-self: flex-start; align-items: flex-start; }
.zibll-tk-msg-admin { align-self: flex-end; align-items: flex-end; }
.zibll-tk-msg-role { font-size: 11px; color: #999; margin-bottom: 4px; }
.zibll-tk-msg-bubble {
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}
.zibll-tk-msg-user .zibll-tk-msg-bubble { background: #f2f3f5; color: #333; }
.zibll-tk-msg-admin .zibll-tk-msg-bubble { background: #8b5cf6; color: #fff; }
body.dark-theme .zibll-tk-msg-user .zibll-tk-msg-bubble, body.night .zibll-tk-msg-user .zibll-tk-msg-bubble { background: #3a3d45; color: #e6e6e6; }
.zibll-tk-msg-time { font-size: 11px; color: #aaa; margin-top: 4px; }

/* 详情弹窗底部：回复框 + 操作 */
.zibll-auth-domain-modal-foot {
    padding: 16px 20px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
body.dark-theme .zibll-auth-domain-modal-foot, body.night .zibll-auth-domain-modal-foot { border-top-color: #3a3d45; }
.zibll-auth-domain-modal-foot .form-control { width: 100%; }
.zibll-auth-ticket-reply-box { display: flex; flex-direction: column; gap: 8px; }
.zibll-auth-ticket-reply-label { font-size: 13px; font-weight: 600; color: #333; }
body.dark-theme .zibll-auth-ticket-reply-label, body.night .zibll-auth-ticket-reply-label { color: #e6e6e6; }
.zibll-auth-ticket-reply-box .wp-editor-wrap { width: 100%; }
.zibll-auth-ticket-reply-box .mce-tinymce { border-radius: 8px; overflow: hidden; border: 1px solid #e8e8e8 !important; }
body.dark-theme .zibll-auth-ticket-reply-box .mce-tinymce, body.night .zibll-auth-ticket-reply-box .mce-tinymce { border-color: #4a4d55 !important; }
.zibll-auth-ticket-reply-box .mce-panel { background: #f9f9f9; border-color: #e8e8e8; }
body.dark-theme .zibll-auth-ticket-reply-box .mce-panel, body.night .zibll-auth-ticket-reply-box .mce-panel { background: #3a3d45; border-color: #4a4d55; }
.zibll-auth-ticket-reply-box .mce-btn { background: transparent; border-color: #e8e8e8; }
body.dark-theme .zibll-auth-ticket-reply-box .mce-btn, body.night .zibll-auth-ticket-reply-box .mce-btn { background: #3a3d45; border-color: #4a4d55; }
.zibll-auth-ticket-reply-box .mce-ico { color: #666; }
body.dark-theme .zibll-auth-ticket-reply-box .mce-ico, body.night .zibll-auth-ticket-reply-box .mce-ico { color: #aaa; }
.zibll-auth-ticket-reply-box .mce-edit-area iframe { min-height: 120px; }
.zibll-auth-ticket-detail-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.zibll-auth-btn-ghost {
    border: 1px solid #8b5cf6;
    background: #fff;
    color: #7c3aed;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, background .15s;
    box-shadow: 0 2px 6px rgba(139,92,246,.10);
}
.zibll-auth-btn-ghost:hover { background: #f6f0ff; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(139,92,246,.16); }
body.dark-theme .zibll-auth-btn-ghost, body.night .zibll-auth-btn-ghost { background: #2c2f36; border-color: #9a7bed; color: #d4c7ff; }
body.dark-theme .zibll-auth-btn-ghost:hover, body.night .zibll-auth-btn-ghost:hover { background: #3a3350; }
/* 详情弹窗加宽 */
.modal-md .modal-dialog { max-width: 640px; }
@media (max-width: 600px) { .modal-md .modal-dialog { margin: 12px; } }

/* 192：授权管理 / 资源下载 / 未购买空态美化 */
.zibll-auth-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 50px 24px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #eef0f4;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
body.dark-theme .zibll-auth-empty-state, body.night .zibll-auth-empty-state {
    background: #2c2f36;
    border-color: #3a3d45;
}
.zibll-auth-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin-bottom: 18px;
    font-size: 30px;
    color: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
.zibll-auth-empty-icon-auth {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.zibll-auth-empty-icon-download {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}
.zibll-auth-empty-icon-lock {
    background: linear-gradient(135deg, #ff6b9d 0%, #feca57 100%);
}
.zibll-auth-empty-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 18px;
    display: inline-block;
    position: relative;
    border-bottom: none !important;
}
/* 793] 空状态标题下划线改为贯穿整行文字（覆盖主题默认短下划线） */
.zibll-auth-empty-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(90deg, #ff7a7c, #ff4d4f);
}
/* 793b] 屏蔽主题可能自带的 ::before 短下划线，避免双红线 */
.zibll-auth-empty-title::before {
    content: none !important;
    display: none !important;
}
body.dark-theme .zibll-auth-empty-title, body.night .zibll-auth-empty-title { color: #e6e6e6; }
body.dark-theme .zibll-auth-empty-title::after, body.night .zibll-auth-empty-title::after { background: linear-gradient(90deg, #ff7a7c, #ff4d4f); }
.zibll-auth-empty-desc {
    font-size: 13px;
    line-height: 1.7;
    color: #888;
    max-width: 360px;
    margin: 0 0 18px;
}
body.dark-theme .zibll-auth-empty-desc, body.night .zibll-auth-empty-desc { color: #aaa; }
.zibll-auth-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.zibll-auth-empty-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(79,172,254,.22); }

/* 195：防止面板内容溢出页面 */
.zibll-auth-tab-panel { overflow-x: hidden; }
.zibll-auth-prod-panel { overflow-x: hidden; }

/* 296 / 298：产品卡片两列网格 + 视觉层级优化（每页 6 个 = 3 行 × 2 列） */
.zibll-auth-prod-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
    align-items: stretch;
    margin-top: 4px;
}
.zibll-auth-prod-grid-item {
    display: flex;
}
.zibll-auth-prod-grid-item .zibll-auth-prod-card {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.zibll-auth-prod-grid-item .zibll-auth-prod-card > .flex.ac.jsb:last-child {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #f0f2f5;
}
body.dark-theme .zibll-auth-prod-grid-item .zibll-auth-prod-card > .flex.ac.jsb:last-child,
body.night .zibll-auth-prod-grid-item .zibll-auth-prod-card > .flex.ac.jsb:last-child { border-top-color: #3a3d45; }

/* 796] 移除产品卡片顶部彩色渐变边条（/aut/ 页面），与 2026-09-02 已移除的 /account/ 卡片顶边条保持一致。
   原 .zibll-auth-prod-card::before + hover/dark 规则已删除，避免移动端触摸后 hover 状态残留导致顶边条一直可见。 */

/* 分类徽标（产品分类名）——595] 蓝色 → 红色胶囊（白字红底） */
.zibll-auth-card-cat-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
    color: #fff;
    background: #ef4444;
    border-radius: 10px;
    vertical-align: middle;
}
body.dark-theme .zibll-auth-card-cat-badge,
body.night .zibll-auth-card-cat-badge { color: #fff; background: #c0392b; }

/* 购买状态徽标（已购 / 未购买）——补为清晰状态胶囊 */
.zibll-auth-prod-card .badg {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
    vertical-align: middle;
}
.zibll-auth-prod-card .badg.c-green-2 {
    color: #16a34a;
    background: #e8f7ee;
    border: 1px solid #b7eb8f;
}
.zibll-auth-prod-card .badg.c-yellow {
    color: #d48806;
    background: #fff7e6;
    border: 1px solid #ffe1a8;
}
body.dark-theme .zibll-auth-prod-card .badg.c-green-2,
body.night .zibll-auth-prod-card .badg.c-green-2 { color: #52c41a; background: rgba(82,196,26,.14); border-color: rgba(82,196,26,.3); }
body.dark-theme .zibll-auth-prod-card .badg.c-yellow,
body.night .zibll-auth-prod-card .badg.c-yellow { color: #ffc53d; background: rgba(255,197,61,.14); border-color: rgba(255,197,61,.3); }

@media (max-width: 767px) {
    .zibll-auth-tab-panel { padding-left: 0; padding-right: 0; }
    .zibll-auth-prod-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ============ 302] 移动端顶部标签栏 + KPI 概览 + 更多分组 ============ */
.zibll-auth-uc-mobile { display: none; }

@media (max-width: 768px) {
    /* 移动端隐藏原九宫格，改用顶部标签栏（避免与子比主题底部导航重复） */
    .zibll-auth-uc-grid.zibll-auth-uc-sidebar-grid { display: none; }
    .zibll-auth-uc-mobile {
        display: block;
        margin-bottom: 16px;
    }
    /* 顶部标签栏：sticky，不与子比主题底部导航冲突 */
    .zibll-auth-uc-mtabs {
        position: sticky;
        top: 0;
        z-index: 20;
        display: flex;
        background: var(--main-bg-color, #fff);
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0,0,0,.06);
        overflow: hidden;
        margin-bottom: 12px;
    }
    .zibll-auth-uc-tab {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 10px 4px;
        border: none;
        background: transparent;
        color: var(--muted-color, #888);
        font-size: 12px;
        cursor: pointer;
        position: relative;
    }
    .zibll-auth-uc-tab i { font-size: 18px; }
    .zibll-auth-uc-tab.active {
        color: #3b6cff;
        background: rgba(59,108,255,.06);
    }
    .zibll-auth-uc-tab.active::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        width: 28px;
        height: 3px;
        border-radius: 3px 0 0;
        background: #3b6cff;
    }
    /* KPI 概览卡 */
    .zibll-auth-uc-kpi {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin-bottom: 12px;
    }
    .zibll-auth-uc-kpi-card {
        background: var(--main-bg-color, #fff);
        border-radius: 12px;
        padding: 14px 8px;
        text-align: center;
        box-shadow: 0 1px 3px rgba(0,0,0,.04);
    }
    .zibll-auth-uc-kpi-num {
        font-size: 22px;
        font-weight: 700;
        color: #3b6cff;
        line-height: 1.1;
    }
    .zibll-auth-uc-kpi-label {
        font-size: 12px;
        color: var(--muted-color, #888);
        margin-top: 4px;
    }
    /* 内容区面板 */
    .zibll-auth-uc-mobile-content .zibll-auth-tab-panel {
        display: block !important;
        background: var(--main-bg-color, #fff);
        border-radius: 12px;
        padding: 14px 12px;
        box-shadow: 0 1px 3px rgba(0,0,0,.04);
    }
    /* 更多分组列表 */
    .zibll-auth-uc-more {
        background: var(--main-bg-color, #fff);
        border-radius: 12px;
        box-shadow: 0 1px 3px rgba(0,0,0,.04);
        overflow: hidden;
    }
    .zibll-auth-uc-more-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 13px 14px;
        color: var(--color, #333);
        text-decoration: none;
        border-bottom: 1px solid var(--body-bg-color, #f0f1f4);
        font-size: 14px;
    }
    .zibll-auth-uc-more-item:last-child { border-bottom: none; }
    .zibll-auth-uc-more-item:active { background: #f5f7ff; }
    .zibll-auth-uc-more-item i:first-child { color: #3b6cff; width: 20px; text-align: center; }
    .zibll-auth-uc-more-item span { flex: 1; }
    .zibll-auth-uc-more-item .fa-angle-right { color: var(--muted-2-color, #bbb); }
}

/* ============ 306] /user/ 移动端暗色模式适配 ============ */
body.dark-theme .zibll-auth-uc-mobile,
body.night .zibll-auth-uc-mobile { color: var(--color, #e6e6e6); }
body.dark-theme .zibll-auth-uc-mtabs,
body.night .zibll-auth-uc-mtabs,
body.dark-theme .zibll-auth-uc-kpi-card,
body.night .zibll-auth-uc-kpi-card,
body.dark-theme .zibll-auth-uc-mobile-content .zibll-auth-tab-panel,
body.night .zibll-auth-uc-mobile-content .zibll-auth-tab-panel,
body.dark-theme .zibll-auth-uc-more,
body.night .zibll-auth-uc-more {
    background: var(--main-bg-color, #1e1e1e);
    box-shadow: 0 2px 8px rgba(0,0,0,.18)
}
body.dark-theme .zibll-auth-uc-tab,
body.night .zibll-auth-uc-tab { color: var(--muted-color, #aaa); }
body.dark-theme .zibll-auth-uc-tab.active,
body.night .zibll-auth-uc-tab.active {
    color: #5b9bff;
    background: rgba(91,155,255,.08)
}
body.dark-theme .zibll-auth-uc-tab.active::after,
body.night .zibll-auth-uc-tab.active::after { background: #5b9bff; }
body.dark-theme .zibll-auth-uc-kpi-num,
body.night .zibll-auth-uc-kpi-num { color: #5b9bff; }
body.dark-theme .zibll-auth-uc-kpi-label,
body.night .zibll-auth-uc-kpi-label { color: var(--muted-color, #aaa); }
body.dark-theme .zibll-auth-uc-more-item,
body.night .zibll-auth-uc-more-item {
    color: var(--color, #e6e6e6);
    border-bottom-color: var(--body-bg-color, #2c2f36)
}
body.dark-theme .zibll-auth-uc-more-item:active,
body.night .zibll-auth-uc-more-item:active { background: rgba(255,255,255,.06); }
body.dark-theme .zibll-auth-uc-more-item i:first-child,
body.night .zibll-auth-uc-more-item i:first-child { color: #5b9bff; }
body.dark-theme .zibll-auth-uc-more-item .fa-angle-right,
body.night .zibll-auth-uc-more-item .fa-angle-right { color: var(--muted-2-color, #777); }

/* 781] 移动端（≤640px）input 与 select 两控件等宽。
   无移动端专用布局：field 默认 flex:0 1 auto 不换行占满，select min-width:160px
   按内容收缩、input 走浏览器原生默认宽 → 两控件不等宽；水平 label 长度差
   （"用户名或ID："~83px vs "授权产品："~70px）再让控件可用宽不同。
   修：① field flex:1 1 100% 换行占满整行
       ② label flex:0 0 auto; min-width:84px 统一占位 → 两控件起始位置一致
       ③ input/select flex:1 1 auto; min-width:0 撑满 field 扣 label 后剩余 → 两控件等宽
   桌面端（>640px）不受影响。 */
@media (max-width: 640px) {
    .zibll-auth-user-manager-filter {
        gap: 12px;
        justify-content: center;
    }
    .zibll-auth-user-manager-filter > .zibll-auth-user-manager-field {
        flex: 1 1 100%;
        min-width: 0;
    }
    .zibll-auth-user-manager-field label {
        flex: 0 0 auto;
        min-width: 84px;
    }
    .zibll-auth-user-manager-field > input[type="text"],
    .zibll-auth-user-manager-field > select {
        flex: 1 1 auto;
        min-width: 0;
    }
    /*795] 两按钮包裹层移动端占满整行，左缩进 92px 输入框起始。
 92px = label min-width 84px + 字段 gap 8px（与工单面板 .zibll-auth-tk-btns 同基准）。*/
    .zibll-auth-user-manager-btns { width: 100%; padding-left: 92px; }
}
/* 782] select 文字被主题全局 select 规则裁切——真正根因修正。
   用户 F12 Styles 面板实证：站点主题全局规则 `select{height:32px;line-height:42px;padding:0 18px}`
   把本插件 select 强压成 32px 高、行高 42px。配合我们 9px 上下 padding + 边框，内容区被挤成
   约 12px，14px 文字 + 42px 行高上下严重溢出 → 文字上下被裁（看起来「不完整/靠下」），
   并非 padding/appearance 问题。修法：强行覆盖主题的 height/line-height，让 select 按内容自适应高度。
   appearance:none + 自绘箭头 + padding 左 20 右 34 保持（此前内容）；本版新增三行：
   box-sizing:border-box / height:auto / min-height:38px / line-height:normal（均 !important 压主题）。 */
.zibll-auth-user-manager-field > select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 38px !important;
    line-height: normal !important;
    padding: 9px 34px 9px 13px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

/* ============================================================
   样式2 产品页「授权方案」并列定价卡（参考 zibll.com/pay-zibll）
   复用 .zibll-auth-pkg-card 基础样式，覆盖为横向网格 + 左对齐卡片
   ============================================================ */
.zibll-auth-plans {
    margin: 34px 0 12px;
}

.zibll-auth-plans-title {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin: 0 0 24px;
}

.zibll-auth-pkg-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 8px 0 4px;
}

.zibll-auth-pkg-list .zibll-auth-pkg-card {
    flex: 1 1 calc(33.333% - 16px);
    min-width: 220px;
    max-width: 100%;
    cursor: default;          /* 卡片不触发选择，由 CTA 按钮负责购买 */
    text-align: left;
    padding: 20px 18px 22px;
    display: flex;
    flex-direction: column;
}

.zibll-auth-pkg-list .zibll-auth-pkg-card .zibll-auth-pkg-name {
    font-size: 17px;
    font-weight: 700;
    color: #222;
    margin-top: 2px;
    margin-bottom: 2px;
}

.zibll-auth-pkg-sub {
    font-size: 13px;
    color: #999;
    margin-bottom: 10px;
}

.zibll-auth-pkg-list .zibll-auth-pkg-price {
    margin-top: 4px;
    margin-bottom: 12px;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.zibll-auth-pkg-origin {
    color: #bbb;
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through;
}

.zibll-auth-pkg-feats {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    flex: 1 1 auto;
}

.zibll-auth-pkg-feats li {
    font-size: 13px;
    color: #555;
    padding: 4px 0;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.5;
}

.zibll-auth-pkg-feats li .fa {
    color: #ff4d4f;
    margin-top: 3px;
    flex: 0 0 auto;
}

.zibll-auth-pkg-cta {
    margin-top: auto;
}

.zibll-auth-pkg-cta .but {
    width: 100%;
    text-align: center;
    display: block;
}

/* 移动端：单列堆叠 */
@media (max-width: 768px) {
    .zibll-auth-pkg-list .zibll-auth-pkg-card {
        flex: 1 1 100%;
    }
}

/* 卡片特性 红绿（授权方案并列卡使用，保留） */
.zibll-auth-pkg-feat {
    font-size: 13px;
    color: #555;
    padding: 4px 0;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    line-height: 1.5;
}
.zibll-auth-pkg-feat .fa {
    margin-top: 3px;
    flex: 0 0 auto;
}
.zibll-auth-pkg-feat.is-yes {
    color: #52c41a;
}
.zibll-auth-pkg-feat.is-yes .fa {
    color: #52c41a;
}
.zibll-auth-pkg-feat.is-no {
    color: #ff4d4f;
}
.zibll-auth-pkg-feat.is-no .fa {
    color: #ff4d4f;
}
