.layui-btn-primary:hover { background:#0d5fe0 !important; box-shadow:0 4px 12px rgba(15,111,255,0.3) !important; }
.layui-btn-primary:active { background:#0b4fc0 !important; transform:translateY(0); }

.recharge-btn:hover {
  background: #0d5fe0 !important;
  box-shadow: 0 4px 12px rgba(15,111,255,0.3) !important;
  transform: translateY(-1px);
}
.recharge-btn:active {
  background: #0b4fc0 !important;
  transform: translateY(0);
}

        :root{
            --bg:#07111f;
            --panel:#ffffff;
            --line:#e3eaf2;
            --text:#132033;
            --muted:#6b7b92;
            --accent:#0052d9;
            --accent2:#5f8cff;
        }
        body{
            margin:0;
            min-height:100vh;
            color:#152033;
            background:#f0f2f5;
        }
        body:not(.is-authed){
            background:#f0f2f5;
        }
        body.is-authed{ background:#edf1f6; }
        /* 未登录：退出 layui 绝对定位壳，避免内容高度为 0 的白屏 */
        body:not(.is-authed){ height:auto!important; overflow:auto!important; }
        body:not(.is-authed) .layui-layout-admin{
            position:static!important; height:auto!important; min-height:100vh;
        }
        body:not(.is-authed) .layui-header{
            position:relative!important; left:0!important; width:100%!important; z-index:10;
            height:56px!important;
            line-height:56px!important;
            background:rgba(255,255,255,.94)!important;
            border-bottom:1px solid #e7edf5!important;
            box-shadow:none!important;
            padding:0 20px!important;
            display:flex!important;
            align-items:center!important;
        }
        body:not(.is-authed) .layui-layout-right{
            position:static!important;
            right:auto!important;
            top:auto!important;
            margin-left:auto!important;
            display:flex!important;
            align-items:center!important;
            height:56px!important;
        }
        body:not(.is-authed) .layui-layout-right .layui-nav{
            background:transparent!important;
            padding:0!important;
        }
        body:not(.is-authed) .layui-layout-right .layui-nav .layui-nav-item{
            line-height:56px!important;
        }
        body:not(.is-authed) .layui-layout-right .layui-nav .layui-nav-item a{
            color:#4b5b76!important;
            font-size:13px!important;
            padding:0 10px!important;
        }
        body:not(.is-authed) .layui-layout-right .layui-nav .layui-nav-item a:hover{
            color:#0052d9!important;
        }
        body:not(.is-authed) .layui-logo{
            height:56px!important;
            line-height:56px!important;
            padding:0!important;
            display:inline-flex!important;
            align-items:center!important;
        }
        body:not(.is-authed) .layui-logo{
            color:#0f1b2d!important;
            width:auto!important;
            min-width:0!important;
            max-width:none!important;
            position:relative!important;
            left:auto!important;
            top:auto!important;
            border:0!important;
            border-right:0!important;
            box-shadow:none!important;
            background:transparent!important;
            overflow:visible!important;
        }
        body:not(.is-authed) .layui-logo:before,
        body:not(.is-authed) .layui-logo:after{
            content:none!important;
            display:none!important;
            border:0!important;
            width:0!important; height:0!important;
            background:none!important;
        }
        body:not(.is-authed) .layui-logo .brand-wordmark{
            color:#0f1b2d!important;
            overflow:visible!important;
            text-overflow:clip!important;
            max-width:none!important;
        }
        body:not(.is-authed) .layui-logo .brand-shine{
            max-width:none!important;
            overflow:hidden; /* 仅保留扫光裁剪，不裁字宽 */
        }
        /* 登录页顶栏只留品牌，去掉「」及可能的分隔感 */
        body:not(.is-authed) .layui-logo .logo-sub{ display:none!important; }
        body:not(.is-authed) .layui-body{
            position:static!important; left:auto!important; top:auto!important; bottom:auto!important;
            width:auto!important; height:auto!important; overflow:visible!important;
            padding:20px 16px 28px!important; background:transparent!important;
        }
        body:not(.is-authed) .layui-side,
        body:not(.is-authed) .user-sidebar,
        body:not(.is-authed) #main-panel{ display:none!important; }
        /* 有 token 时乐观展示控制台，避免刷新先闪登录页 */
        html.boot-authed body,
        body.app-loading.is-authed{ background:#edf1f6; }
        html.boot-authed body #auth-panel,
        html.boot-authed body:not(.is-authed) #auth-panel,
        body.is-authed #auth-panel,
        body.app-loading.is-authed #auth-panel{ display:none!important; }
        html.boot-authed body #main-panel,
        html.boot-authed body:not(.is-authed) #main-panel,
        body.is-authed #main-panel,
        body.app-loading.is-authed #main-panel{ display:block!important; }
        html.boot-authed body .layui-side,
        html.boot-authed body .user-sidebar{ display:block!important; }
        html.boot-authed body:not(.is-authed){
            background:#edf1f6!important;
            height:100%!important;
            overflow:hidden!important;
        }
        html.boot-authed body:not(.is-authed) .layui-layout-admin{ min-height:100%!important; }
        html.boot-authed body:not(.is-authed) .layui-logo{ display:none!important; }
        html.boot-authed body:not(.is-authed) .layui-header{
            left:262px;
            width:calc(100% - 262px);
        }
        html.boot-authed body:not(.is-authed) .layui-layout-admin .layui-body{
            top:0;
            padding-top:0!important;
        }
        html.boot-authed body:not(.is-authed) .user-content{
            padding:88px 0 0 30px;
            box-sizing:border-box;
        }
        .quick-actions a,.quick-actions button{margin-right:8px;margin-bottom:8px}
        .muted{color:#7b8798;font-size:12px}

                
.auth-shell{
            position:relative;
            width:min(1040px,100%);
            margin:24px auto 40px;
            z-index:2;
            overflow:visible;
        }
        .auth-shell:before{ content:none; display:none; }
        .auth-shell > *{ position:relative; z-index:1; }
        .auth-grid{
            position:relative;
            display:grid;
            grid-template-columns:minmax(0,1fr) minmax(0,1fr);
            gap:0;
            align-items:stretch;
            min-height:0;
            border:1px solid #e7e7e7;
            border-radius:2px;
            overflow:visible;
            background:#fff;
            box-shadow:0 2px 8px rgba(0,0,0,.04);
        }
        /* 腾讯云产品页：纯色品牌蓝，不用多段渐变 */
        .auth-copy{
            position:relative;
            overflow:visible;
            border-radius:0;
            padding:36px 32px 32px;
            color:#fff;
            background:#0052d9;
            border:0;
            min-height:100%;
            display:flex;
            flex-direction:column;
            box-sizing:border-box;
        }
        .auth-copy:before{
            content:"";
            position:absolute; inset:0;
            background-image:
                linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
            background-size:48px 48px;
            opacity:.45;
            pointer-events:none;
        }
        .auth-copy:after{
            content:"";
            position:absolute; right:-80px; bottom:-90px;
            width:260px; height:260px; border-radius:50%;
            border:24px solid rgba(255,255,255,.08);
            pointer-events:none;
        }
        .auth-copy > *{ position:relative; z-index:1; }
        @font-face{
            font-family:"OECDNBrand";
            src:url("../assets/fonts/ElderHead.ttf") format("truetype");
            font-weight:400 900;
            font-style:normal;
            font-display:swap;
            unicode-range:U+0000-00FF,U+0100-024F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF;
        }
        @font-face{
            font-family:"OECDNBrand";
            src:url("../assets/fonts/HYLieYanW.ttf") format("truetype");
            font-weight:400 900;
            font-style:normal;
            font-display:swap;
            unicode-range:U+2E80-2FFF,U+3000-303F,U+31C0-31EF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF;
        }
        .brand-shine{
            position:relative;
            display:inline-block;
            max-width:100%;
            overflow:hidden;
            line-height:1.15;
            vertical-align:middle;
        }
        .brand-shine:before{
            content:"";
            position:absolute;
            width:180%;
            height:28px;
            left:-40%;
            top:-40%;
            background-image:linear-gradient(to bottom, transparent, rgba(255,255,255,.45), transparent);
            transform:rotate(-45deg);
            animation:brandShine 3s ease-in 0.6s infinite;
            pointer-events:none;
            z-index:2;
        }
        /* 控制台登录页不使用扫光，避免品牌字显示残缺 */
        body:not(.is-authed) .brand-shine:before{ content:none!important; display:none!important; animation:none!important; }
        @keyframes brandShine{
            0%{ left:-120%; top:-80%; }
            100%{ left:20%; top:120%; }
        }
        @media (prefers-reduced-motion: reduce){
            .brand-shine:before{ animation:none; display:none; }
        }
        .brand-wordmark{
            position:relative;
            z-index:1;
            display:block;
            font-family:"OECDNBrand", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
            font-size:20px;
            font-weight:400;
            letter-spacing:.02em;
            color:#0f1b2d;
            white-space:normal;
            overflow:visible;
            text-overflow:clip;
            line-height:1.2;
            text-shadow:none;
            word-break:break-word;
        }
        .auth-brand{
            display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px; margin-bottom:22px;
        }
        .auth-brand .brand-shine{ max-width:100%; }
        .auth-brand .brand-wordmark{
            font-size:20px; color:#fff; text-shadow:none; white-space:normal;
        }
        .auth-brand-tag{
            display:inline-flex; align-items:center; height:22px; padding:0 8px;
            border:1px solid rgba(255,255,255,.35); border-radius:2px;
            color:rgba(255,255,255,.92); font-size:12px; font-weight:500;
            background:rgba(255,255,255,.08);
        }
        .auth-copy .layui-badge{ display:none!important; }
        .auth-copy h1{
            margin:0 0 12px;
            font-size:28px;
            line-height:1.3;
            color:#fff;
            letter-spacing:0;
            max-width:none;
            font-weight:600;
        }
        .auth-copy > p{
            margin:0;
            max-width:28em;
            font-size:14px;
            line-height:1.75;
            color:rgba(255,255,255,.86);
        }
        .auth-points{
            display:grid; gap:0; margin-top:28px;
            border-top:1px solid rgba(255,255,255,.16);
        }
        .auth-point{
            display:flex; gap:12px; align-items:flex-start;
            padding:14px 0;
            border-bottom:1px solid rgba(255,255,255,.12);
            background:transparent; border-radius:0;
        }
        .auth-point b{
            flex:0 0 auto; width:22px; height:22px; border-radius:2px;
            display:inline-flex; align-items:center; justify-content:center;
            background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.22);
            font-size:12px; font-weight:600; font-family:ui-monospace,Menlo,Consolas,monospace;
        }
        .auth-point span{ display:block; color:rgba(255,255,255,.92); font-size:13px; line-height:1.55; padding-top:1px; }
        .auth-mini{
            margin-top:auto; padding-top:24px;
        }
        .auth-mini-card{
            background:rgba(255,255,255,.1);
            border:1px solid rgba(255,255,255,.18);
            border-radius:2px;
            padding:14px 14px 12px;
        }
        .auth-mini-card .hd{
            display:flex; align-items:center; justify-content:space-between; gap:8px;
            margin-bottom:12px; color:#fff; font-size:12px; font-weight:600;
        }
        .auth-mini-card .hd em{
            font-style:normal; font-weight:500;
            color:rgba(255,255,255,.75);
            background:rgba(0,0,0,.12); border-radius:2px; padding:2px 6px;
        }
        .auth-mini-flow{
            display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;
        }
        .auth-mini-flow div{
            text-align:center; padding:10px 6px;
            background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:2px;
        }
        .auth-mini-flow strong{ display:block; color:#fff; font-size:12px; font-weight:600; }
        .auth-mini-flow span{ display:block; margin-top:4px; color:rgba(255,255,255,.72); font-size:11px; }
        .auth-metrics, .auth-metric{ display:none!important; }

        .auth-panel-card{
            position:relative;
            background:#fff;
            border:0;
            border-radius:0;
            box-shadow:none;
            overflow:visible;
            min-height:100%;
            display:flex;
            flex-direction:column;
            box-sizing:border-box;
        }
        .auth-panel-card:before{ content:none; display:none; }
        .auth-panel-head{ padding:32px 36px 0; }
        .auth-panel-kicker{ display:none; }
        .auth-panel-title{
            margin:0; font-size:22px; font-weight:600; line-height:1.35;
            color:#000; letter-spacing:0;
        }
/* 登录注册页去掉无意义说明文案 */
        .auth-panel-sub,
        .auth-note{ display:none!important; }
                .auth-panel-sub{
            margin:8px 0 0; font-size:13px; color:#666; line-height:1.65; max-width:28em;
        }
        .auth-tabs{
            display:flex; gap:0;
            margin:18px 36px 0; padding:0;
            border-bottom:1px solid #e7e7e7; background:transparent; border-radius:0;
        }
        .auth-tab{
            position:relative;
            height:44px!important; line-height:44px!important; padding:0 2px!important; margin-right:28px!important;
            border-radius:0!important; border:0!important;
            background:transparent!important; color:#666!important;
            font-weight:400!important; font-size:14px!important;
            box-shadow:none!important;
        }
        .auth-tab:hover{ color:#000!important; background:transparent!important; }
        .auth-tab.active{
            background:transparent!important; color:#0052d9!important;
            box-shadow:none!important; font-weight:500!important;
        }
        .auth-tab.active:after{
            content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
            background:#0052d9;
        }
        .auth-form{ padding:20px 36px 28px; flex:1; box-sizing:border-box; }
        .auth-form .layui-form-item{ margin-bottom:16px; }
        .auth-form .layui-input{
            height:42px!important; line-height:42px!important; border-radius:2px!important;
            border:1px solid #dcdcdc!important; background:#fff!important;
            padding:0 12px!important; color:#000!important;
            box-shadow:none!important;
            transition:border-color .15s ease;
        }
        .auth-form .layui-input::placeholder{ color:#999; }
        .auth-form .layui-input:hover{ border-color:#bbb!important; background:#fff!important; }
        .auth-form .layui-input:focus{
            border-color:#0052d9!important; background:#fff!important;
            box-shadow:0 0 0 2px rgba(0,82,217,.08)!important;
        }
        .auth-form .code-row{ display:flex; gap:10px; align-items:center; }
        .auth-form .code-row .layui-input{ flex:1; min-width:0; }
        .auth-form .code-row .layui-btn{
            height:42px!important; line-height:42px!important; min-width:112px;
            border-radius:2px!important; border:1px solid #dcdcdc!important;
            background:#fff!important; color:#000!important; font-weight:400!important;
            padding:0 12px!important; box-shadow:none!important;
        }
        .auth-form .code-row .layui-btn:hover{
            border-color:#0052d9!important; color:#0052d9!important; background:#fff!important;
        }
        .auth-form .captcha-box{
            margin-top:4px; padding:12px; border:1px solid #e7e7e7;
            border-radius:2px; background:#fafafa;
        }
        #register-captcha{ min-height:44px; }
        .auth-cta{ display:flex; gap:10px; margin-top:8px; }
        .auth-cta .layui-btn{
            height:42px!important; line-height:42px!important; width:100%;
            border-radius:2px!important; font-weight:500!important; font-size:14px!important;
            background:#0052d9!important;
            border:0!important; color:#fff!important;
            box-shadow:none!important;
            letter-spacing:.02em;
        }
        .auth-cta .layui-btn:hover{
            background:#0034b5!important;
            box-shadow:none!important;
        }
        .auth-footer-row{
            display:flex; align-items:center; justify-content:space-between; gap:12px;
            margin-top:18px; flex-wrap:wrap;
        }
        .auth-switch-line{
            display:flex; align-items:center; gap:6px; margin:0;
            font-size:13px; color:#666;
        }
        .auth-switch-line a{ color:#0052d9; font-weight:500; text-decoration:none; }
        .auth-switch-line a:hover{ text-decoration:underline; }
        #forgot-link{
            color:#666!important; font-size:13px!important; font-weight:400!important;
            display:inline-flex!important; margin:0!important; text-decoration:none!important;
        }
        #forgot-link:hover{ color:#0052d9!important; }
        .auth-note{
            margin-top:18px; padding:0; border-radius:0;
            background:transparent; border:0; border-top:1px solid #f0f0f0;
            padding-top:14px; color:#999; font-size:12px; line-height:1.6;
        }
        
        .layui-layout-admin .layui-header{
            background:#fff!important; border-bottom:1px solid #e7eef7;
        }
        .layui-layout-admin .layui-logo{
            color:#0f1b2d!important; font-weight:700; width:auto!important; padding-left:18px;
            display:flex; align-items:center; gap:10px; background:transparent!important;
            border:0!important; border-right:none!important; box-shadow:none!important;
        }
        .layui-layout-admin .layui-logo:after,
        .layui-layout-admin .layui-logo:before{
            content:none!important; display:none!important;
        }
        .layui-layout-admin .layui-logo .brand-shine{ max-width:min(42vw, 280px); }
        .layui-layout-admin .layui-logo .brand-wordmark{
            font-size:18px; color:#0f1b2d!important;
            /* 扫光在深色字上用浅蓝高光，避免白字白底 */
            text-shadow:none;
        }
        .layui-layout-admin .layui-logo .brand-shine:before{
            background-image:linear-gradient(to bottom, transparent, rgba(0,82,217,.45), transparent);
        }
        .layui-layout-admin .layui-logo .logo-sub{
            color:#6b7c93; font-size:12px; font-weight:600; letter-spacing:.04em; white-space:nowrap;
        }
        .layui-nav .layui-nav-item a{color:#c5d0e0!important}

        .hidden-field{display:none}
        .section-header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}
        .section-header h3{margin:0;font-size:20px;color:#122033}
        .section-header p{margin:0;color:#63758e;font-size:14px}
        .user-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;align-items:start}
        .user-sidebar{
            position:sticky;top:64px;align-self:start;background:#fff;border:0;border-right:1px solid #e7eef7;border-radius:0;
            box-shadow:none;padding:18px 16px 24px 18px;min-height:calc(100vh - 64px)
        }
        .side-profile{padding-bottom:14px;border-bottom:1px solid #edf2f7;margin-bottom:14px}
        .side-nav{display:grid;gap:8px}
        .side-nav button{
            width:100%;text-align:left;border:1px solid #e7eef7;background:#f8fbff;color:#31435d;border-radius:12px;
            padding:11px 12px;line-height:1.2
        }
        .side-nav button.active{background:#12213a;border-color:#12213a;color:#fff}
        .user-content{min-width:0}
        .user-section{display:none;scroll-margin-top:92px;animation:fadeIn .18s ease}
        .content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
        @keyframes fadeIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
        @media (max-width: 980px){
            .user-shell{grid-template-columns:1fr}
            .user-sidebar{position:static}
        }
        @media (max-width: 768px){
            .content-grid{grid-template-columns:1fr}
            .auth-grid{grid-template-columns:1fr; min-height:0}
            .auth-copy{display:none!important}
            .auth-copy h1{font-size:26px;max-width:none}
            .auth-panel-head{padding:28px 22px 0}
            .auth-tabs{margin:16px 22px 0}
            .auth-form{padding:20px 22px 28px}
            .auth-mini{display:none}
            .auth-metrics{display:none!important}
            .auth-switch-line{justify-content:flex-start}
        }
        /* 用户中心不使用 Layui 默认后台左侧栏，必须清掉 layui-body 的 200px 偏移。 */
        .layui-layout-admin .layui-body{
            left:0!important;top:64px;bottom:0;padding:0 18px 18px 0!important;
            overflow:auto;background:transparent;
        }
        .layui-header{height:64px;background:#fff!important;border-bottom:1px solid #edf1f6;box-shadow:none}
        .layui-logo{height:64px;line-height:64px!important;font-weight:800;letter-spacing:0;color:#111827!important;background:transparent!important;border:0!important;border-right:0!important;box-shadow:none!important}
        .layui-nav{background:transparent}
        .layui-nav .layui-nav-item a{color:#536273}
        #main-panel{width:100%;margin:0}
        .user-shell{grid-template-columns:262px minmax(0,1fr);gap:0;width:100%}
        .user-sidebar{
            top:0;max-height:100vh;overflow:auto;border-radius:0;border:0;border-right:1px solid #e7eef7;
            box-shadow:none;padding:18px 16px 24px 18px;background:#fff;
            scrollbar-width:none;-ms-overflow-style:none;
        }
        .user-sidebar::-webkit-scrollbar{width:0;height:0}
        body.is-authed .layui-header{left:262px;width:calc(100% - 262px)}
        body.is-authed .layui-logo{display:none}
        body.is-authed .layui-layout-right{
            right:24px;top:0;height:64px;display:flex!important;align-items:center;gap:10px;padding:0;background:transparent;
        }
        body.is-authed .layui-layout-right .layui-nav-item{line-height:normal}
        body.is-authed .layui-layout-right .layui-nav-item:after{display:none!important}
        body.is-authed #nav-user a{
            height:34px;line-height:34px;padding:0 14px;border:1px solid #e4ebf3;border-radius:999px;
            background:#f8fafc;color:#162033;font-weight:700;
        }
        body.is-authed #logout-btn{
            display:inline-flex!important;align-items:center;justify-content:center;height:34px;line-height:34px;
            padding:0 14px;border-radius:10px;background:#101827;color:#fff!important;font-weight:700;
        }
        body.is-authed #logout-btn:hover{background:#253044}
        body.is-authed .layui-layout-admin .layui-body{top:0;padding-top:0!important}
        body.is-authed .user-content{padding:88px 0 0 30px;box-sizing:border-box}
        .user-content{display:block;width:100%;min-width:0}
        .user-section{width:100%;margin-bottom:16px}
        .user-section[style*="display: none"]{margin-bottom:0}
        .workspace-head + .user-section{margin-top:0}
        #promo-banner + .user-section,
        .user-section + .user-section{margin-top:16px}
        #section-dashboard-panel{margin-top:16px}
        .layui-card{
            border-radius:18px;border:1px solid #edf1f6;box-shadow:0 14px 36px rgba(20,31,49,.04);
            overflow:hidden;
        }
        .layui-card{margin-bottom:16px}
        .layui-card-header{
            min-height:58px;height:auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;
            gap:12px;border-bottom:1px solid #edf2f7;font-size:18px;font-weight:800;color:#132033;background:#fff;
            line-height:1.4;
        }
        .layui-card-header .layui-btn{float:none!important;flex:0 0 auto}
        .layui-card-body{padding:20px;overflow-x:auto}
        .layui-table{min-width:760px}
        #dash-cards{
            display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;width:100%;align-items:stretch;
        }
        #plan-list{
            display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,320px));gap:18px;width:100%;
            justify-content:start;align-items:stretch;
        }
        #pack-list{
            display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,260px));gap:14px;width:100%;
            justify-content:start;align-items:stretch;
        }
        .dash-stat{
            min-height:128px;height:100%;border:1px solid #edf1f6;border-radius:18px;padding:18px 16px;
            background:#fff;box-shadow:0 14px 34px rgba(20,31,49,.04);
            display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;align-items:start;box-sizing:border-box;overflow:hidden;
        }
        .dash-stat > div:first-child{min-width:0;overflow:hidden}
        .dash-stat span{display:block;color:#667789;font-size:13px;font-weight:700;line-height:1.3;white-space:normal;overflow:visible;word-break:break-word}
        .dash-stat b{display:block;margin-top:10px;color:#132033;font-size:clamp(16px,1.9vw,26px);line-height:1.25;font-variant-numeric:tabular-nums;
            white-space:normal;overflow:visible;word-break:break-word;overflow-wrap:anywhere}
        .dash-stat small{display:block;margin-top:8px;color:#7b8798;font-size:12px;line-height:1.4;
            white-space:normal;overflow:visible;word-break:break-word}
        .dash-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;color:#0ea5e9;font-weight:800;font-size:16px;flex-shrink:0;margin-top:2px}
        #dash-cards>[class*="layui-col-"],
        #plan-list>[class*="layui-col-"],
        #pack-list>[class*="layui-col-"]{
            width:auto!important;float:none!important;padding:0!important;
        }
        #user-trend{display:block;width:100%;max-width:100%;height:300px!important;background:#fff;cursor:crosshair}
        .trend-shell{margin-top:18px;border:1px solid #edf1f6;border-radius:16px;background:#fff;overflow:hidden}
        .trend-body{position:relative}
        .trend-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #edf1f6}
        .trend-title{font-weight:800;color:#132033}
        .trend-legend{display:flex;gap:8px;flex-wrap:wrap}
        .legend-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#f8fafc;color:#667789;font-size:12px}
        .legend-dot{width:8px;height:8px;border-radius:999px;display:inline-block}
        .trend-tip{
            position:absolute;z-index:5;display:none;min-width:178px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:12px;
            background:rgba(255,255,255,.96);box-shadow:0 16px 36px rgba(15,23,42,.12);pointer-events:none;color:#132033;
        }
        .trend-tip b{display:block;margin-bottom:8px;font-size:13px}
        .trend-tip div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0;color:#64748b;font-size:12px}
        .trend-tip strong{color:#111827;font-size:12px}
        .security-stream{display:grid;gap:10px}
        .security-empty{
            padding:12px 14px;border:1px dashed #dbe5f1;border-radius:12px;color:#7b8798;background:#fbfdff;
            font-size:13px;line-height:1.6
        }
        .security-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
        .security-stat{
            min-width:0;padding:14px 15px;border:1px solid #edf1f6;border-radius:14px;background:#fff;
            box-shadow:0 10px 24px rgba(20,31,49,.03);overflow:hidden;display:flex;flex-direction:column;gap:8px;
            box-sizing:border-box;min-height:104px
        }
        .security-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
        .security-stat-top span{min-width:0;color:#667789;font-size:13px;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .security-stat-top em{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-style:normal;background:#f1f5f9;color:#0b8fe8;font-size:12px;font-weight:800}
        .security-stat b{display:block;color:#132033;font-size:24px;line-height:1.1;word-break:break-word}
        .security-stat small{display:block;color:#7b8798;font-size:12px;line-height:1.45;word-break:break-word}
        .security-item{
            display:grid;grid-template-columns:168px minmax(0,180px) minmax(0,1fr);
            gap:10px;align-items:flex-start;padding:14px 16px;border:1px solid #edf1f6;border-radius:12px;background:#fff;overflow:hidden
        }
        .security-time{color:#7b8798;font-size:12px;line-height:1.5;white-space:nowrap}
        .security-main{min-width:0}
        .security-main b{display:block;color:#132033;font-size:13px;line-height:1.5}
        .security-main span{display:inline-flex;margin-top:6px;padding:2px 8px;border-radius:999px;background:#f8fbff;border:1px solid #edf2f7;color:#536273;font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .security-detail{min-width:0;color:#415066;font-size:12px;line-height:1.6;word-break:break-word;overflow:hidden}
        .security-detail em{display:block;margin-top:4px;color:#8a98a8;font-style:normal}
        @media (max-width: 768px){
            .security-stats{grid-template-columns:1fr}
            .security-item{grid-template-columns:1fr;gap:6px}
            .security-time{white-space:normal}
        }
        .content-grid{
            display:grid!important;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;
            margin:0!important;width:100%;
        }
        .content-grid:before,.content-grid:after{display:none!important;content:none!important}
        .content-grid>div{min-width:0;padding:0!important}
        .content-grid .layui-card{height:100%;margin-bottom:0}
        .content-grid .layui-card-body{height:calc(100% - 50px)}
        .side-nav button{cursor:pointer;transition:background .16s,color .16s,border-color .16s,transform .16s}
        .side-nav button:hover{border-color:#c9d8ea;background:#eef6ff;transform:translateX(2px)}
        .side-nav button.active:hover{background:#12213a;color:#fff}
        .quick-actions{display:flex;gap:8px;flex-wrap:wrap}
        .quick-actions a,.quick-actions button{margin:0}
        .auth-shell{width:min(1040px,100%);margin:24px auto}
        .workspace-head{
            display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px;
            padding:2px 0 18px;border:0;border-radius:0;background:transparent;color:#142033;
            box-shadow:none;
        }
        .workspace-head .kicker{display:block;margin-bottom:16px;color:#77889a;font-size:15px}
        .workspace-head h1{margin:0;font-size:34px;line-height:1.2;color:#111827;font-weight:900}
        .workspace-head p{margin:18px 0 0;max-width:760px;color:#667789;font-size:16px;line-height:1.7}
        .workspace-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
        .workspace-actions .layui-btn{margin:0;border-radius:10px;height:42px;line-height:42px;padding:0 16px;font-weight:700}
        .workspace-actions .layui-btn:first-child{background:#101827;color:#fff}
        .side-profile{padding:6px 4px 16px;border-bottom:1px solid #edf2f7;margin-bottom:16px}
        .side-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
        .side-brand .brand-shine{max-width:160px}
        .side-brand .brand-wordmark{font-size:20px;color:#111827;text-shadow:none}
        .side-brand .brand-shine:before{
            background-image:linear-gradient(to bottom, transparent, rgba(0,82,217,.45), transparent);
        }
        .brand-mark{display:none}
        .brand-name{font-size:18px;font-weight:900;color:#111827}
        .brand-sub{font-size:11px;letter-spacing:3px;color:#52c9d9}
        .side-account{
            display:grid;gap:10px;padding:14px;border-radius:14px;background:#f8fafc;border:1px solid #edf1f6;
        }
        .side-account-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
        .side-account h2{margin:0;font-size:20px;color:#111827;line-height:1.2;word-break:break-word}
        .side-level-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#eaf6ff;color:#0b8fe8;font-size:12px;font-weight:800;white-space:nowrap}
        .side-balance-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7b8798;font-size:12px}
        .side-balance-row b{color:#111827;font-size:17px}
        .nav-group{margin:18px 0 8px;color:#8a98a8;font-size:12px;font-weight:800}
        .side-nav button{
            display:flex;align-items:center;justify-content:flex-start;gap:10px;border:0;background:#fff;color:#687789;border-radius:10px;
            padding:13px 12px;font-size:15px;font-weight:700;width:100%;box-sizing:border-box;text-align:left;
        }
        .side-nav button:before{
            content:attr(data-icon);width:26px;height:26px;border-radius:8px;background:#eef3f7;color:#8da0b4;
            display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 26px;margin:0;
        }
        .side-nav button.active{background:#eaf6ff;border-color:transparent;color:#0b8fe8}
        .side-nav button.active:before{background:#d7efff;color:#0b8fe8}
        .side-nav button:hover{border-color:transparent;background:#f1f7fd;transform:none}
        .side-nav button.active:hover{background:#eaf6ff;color:#0b8fe8}
        .quick-actions .layui-btn{height:40px;line-height:40px;border-radius:10px;font-weight:700}
        .account-summary{display:grid;gap:18px}
        .balance-line{
            display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
            padding:4px 0 18px;border-bottom:1px solid #edf1f6;color:#132033;
        }
        .account-eyebrow{display:block;margin-bottom:8px;color:#7b8798;font-size:13px;font-weight:700}
        .balance-value{font-size:38px;color:#111827;font-weight:900;letter-spacing:0;line-height:1}
        .account-hint{margin-top:10px;color:#7b8798;font-size:13px;line-height:1.6}
        .balance-line .layui-btn{
            height:38px;line-height:38px;border-radius:10px;background:#0ea5a4;color:#fff;border:0;font-weight:800;
            box-shadow:0 10px 20px rgba(14,165,164,.18);white-space:nowrap;
        }
        .account-facts{border:1px solid #edf1f6;border-radius:14px;background:#fbfdff;overflow:hidden}
        .fact-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #edf1f6}
        .fact-row:last-child{border-bottom:0}
        .fact-row span{color:#7b8798;font-size:13px;font-weight:700}
        .fact-row b{color:#162033;font-size:15px;word-break:break-word;text-align:right}
        .status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:12px;font-weight:800}
        .account-progress{
            padding:15px 16px;border:1px solid #edf1f6;border-radius:14px;background:#f8fafc;
        }
        .level-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;white-space:nowrap}
        .level-row span{color:#7b8798;font-size:13px;font-weight:700;flex:0 0 auto}
        .level-row b{color:#162033;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:right}
        .log-box{min-height:218px;max-height:300px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
        .log-box::-webkit-scrollbar{width:0;height:0}
        .log-table{min-width:860px!important;border-collapse:separate;border-spacing:0 8px;background:transparent}
        .log-table thead tr{background:transparent}
        .log-table th{border:0!important;background:transparent!important;color:#7b8798;font-size:12px;font-weight:800;white-space:nowrap}
        .log-table tbody tr{background:#fff;box-shadow:0 10px 24px rgba(20,31,49,.04)}
        .log-table td{border-top:1px solid #edf1f6!important;border-bottom:1px solid #edf1f6!important;background:#fff!important;vertical-align:middle}
        .log-table td:first-child{border-left:1px solid #edf1f6!important;border-radius:12px 0 0 12px}
        .log-table td:last-child{border-right:1px solid #edf1f6!important;border-radius:0 12px 12px 0}
        .log-amount{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-weight:800;font-size:13px;white-space:nowrap}
        .log-amount.positive{background:#dcfce7;color:#15803d}
        .log-amount.negative{background:#fff1f2;color:#e11d48}
        .log-type{font-weight:800;color:#111827;line-height:1.3}
        .log-summary{margin-top:4px;color:#64748b;font-size:12px;line-height:1.45;word-break:break-word}
        .log-balance{color:#334155;font-size:13px;font-weight:700;white-space:nowrap}
        .log-time{color:#94a3b8;font-size:12px;white-space:nowrap}
        .empty-state{display:grid;place-items:center;min-height:190px;text-align:center;color:#97a4b2}
        .empty-state b{display:block;color:#6c7a89;font-size:18px;margin-bottom:6px}
        .portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
        .portal-pane{padding:18px;border:1px solid #edf1f6;border-radius:14px;background:#fafdff;min-height:260px}
        .portal-pane>strong{display:block;margin-bottom:10px;font-size:16px;color:#132033}
        .sub-hero{
            position:relative;overflow:hidden;border:1px solid #d8e7ff;border-radius:18px;
            background:
                radial-gradient(420px 180px at 86% 0%,rgba(14,165,233,.13),transparent 64%),
                linear-gradient(180deg,#ffffff,#f8fbff);
            color:#111827;box-shadow:0 16px 34px rgba(20,31,49,.06);
        }
        .sub-hero:before{
            content:"";position:absolute;inset:0;background:
                linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px),
                linear-gradient(0deg,rgba(37,99,235,.04) 1px,transparent 1px);
            background-size:34px 34px;opacity:1;pointer-events:none;
        }
        .sub-hero .layui-card-header{position:relative;background:transparent;color:#111827;border-bottom:1px solid #edf1f6;height:42px;line-height:42px;padding:0 14px}
        .sub-hero .layui-card-body{position:relative;padding:14px}
        .sub-status-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
        .sub-name{font-size:22px;font-weight:900;line-height:1.2}
        .sub-meta{margin-top:7px;color:#64748b;line-height:1.55;font-size:12px}
        .sub-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#eaf6ff;color:#0b8fe8;font-size:12px;font-weight:800}
        .sub-empty{color:#64748b}
        .sub-actions .layui-btn{height:34px;line-height:34px;border-radius:9px;margin:0;font-weight:800}
        .sub-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}
        .sub-resource{border:1px solid #dfeaf7;border-radius:10px;background:#ffffff;padding:9px 10px}
        .sub-resource span{display:block;color:#64748b;font-size:12px;margin-bottom:6px}
        .sub-resource b{display:block;color:#111827;font-size:15px;line-height:1.2}
        .sub-instance-list{display:grid;gap:8px;margin-top:10px}
        .sub-instance{border:1px solid #dfeaf7;border-radius:10px;background:#fff;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
        .sub-instance h4{margin:0 0 5px;font-size:14px;color:#111827;font-weight:900}
        .sub-instance p{margin:0;color:#64748b;font-size:12px;line-height:1.45}
        .sub-instance .layui-btn{height:30px;line-height:30px;margin:0;border-radius:8px;font-weight:800}
        .sub-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;align-items:stretch}
        .sub-card{
            position:relative;overflow:hidden;border:1px solid #dbeafe;border-radius:16px;
            background:
                radial-gradient(320px 150px at 96% 0%,rgba(14,165,233,.11),transparent 64%),
                linear-gradient(180deg,#ffffff,#f8fbff);
            padding:16px;box-shadow:0 14px 32px rgba(20,31,49,.05);min-height:188px;
            display:flex;flex-direction:column;box-sizing:border-box
        }
        .sub-card.active{border-color:#b7d9ff}
        .sub-card.grace{border-color:#fde68a;background:linear-gradient(180deg,#fffef7,#fff9ea)}
        .sub-card.expired{border-color:#fbcfe8;background:linear-gradient(180deg,#fffdfd,#fff5f7)}
        .sub-card-top{padding-right:0;margin-bottom:8px;min-height:0}.sub-card.has-pack .sub-card-top{padding-right:130px}
        .sub-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
        .sub-card-title h4{margin:0;font-size:18px;line-height:1.35;color:#111827;font-weight:900}
        .sub-card-meta{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}
        .sub-card-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
        .sub-card-chip.ok{background:#eaf6ff;color:#0b8fe8}
        .sub-card-chip.warn{background:#fff7ed;color:#f97316}
        .sub-card-chip.bad{background:#fee2e2;color:#dc2626}
        .sub-pack-badge{
            position:absolute;top:14px;right:14px;display:inline-flex;flex-direction:column;align-items:flex-end;
            gap:2px;padding:8px 10px;border-radius:12px;background:rgba(15,118,110,.08);color:#0f766e;
            border:1px solid rgba(15,118,110,.16);min-width:98px;box-sizing:border-box
        }
        .sub-pack-badge b{font-size:13px;line-height:1.2}
        .sub-pack-badge span{font-size:11px;line-height:1.2;color:#0f766e}
        .sub-pack-badge.empty{background:#fff7ed;color:#f97316;border-color:#fed7aa}
        .sub-pack-badge.empty span{color:#f97316}
        .sub-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 12px}
        .sub-card-stat{padding:9px 10px;border:1px solid #dfeaf7;border-radius:10px;background:#fff;min-width:0}
        .sub-card-stat span{display:block;color:#64748b;font-size:12px;line-height:1.3}
        .sub-card-stat b{display:block;margin-top:5px;color:#111827;font-size:14px;line-height:1.2;word-break:break-word}
        .sub-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
        .sub-card-actions .layui-btn{height:34px;line-height:34px;margin:0;border-radius:9px;font-weight:800}
        .sub-card-actions .sub-renew{background:#101827;color:#fff}
        .sub-card-actions .sub-buy-pack{background:#0b8fe8;color:#fff}
        .sub-card-actions .sub-delete{background:#fff1f2;color:#dc2626;border:1px solid #fecdd3}
        .sub-card-actions .sub-delete[disabled]{background:#f3f4f6!important;color:#9ca3af!important;border-color:#e5e7eb!important}
        .owned-pack-list{display:grid;gap:8px;margin-bottom:10px}
        .owned-pack{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#eef6ff);padding:10px 12px;box-shadow:0 8px 18px rgba(20,31,49,.035)}
        .owned-pack b{color:#0f172a}
        .owned-pack span{display:block;color:#64748b;font-size:12px;margin-top:3px}
        .owned-pack strong{color:#0b8fe8;font-size:15px}
        .domain-plan-card{border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eff6ff);padding:12px;margin-bottom:10px}
        .domain-plan-card b{display:block;color:#111827;font-size:15px;margin-bottom:6px}
        .domain-plan-card span{color:#64748b;font-size:12px;line-height:1.7}
        
        /* ===== 腾讯云 EO 定价卡/按钮实抄风格 ===== */
        #plan-list{
            display:grid!important;
            grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
            gap:24px;
            width:100%;
            justify-content:start;
            align-items:stretch;
        }
        #pack-list{
            display:grid!important;
            grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
            gap:20px;
            width:100%;
            justify-content:start;
            align-items:stretch;
        }
        .plan-tile,.pack-tile{
            position:relative;
            display:flex;
            flex-direction:column;
            height:100%;
            box-sizing:border-box;
            margin:0;
            padding:32px 28px 28px;
            background:#fff;
            border:1px solid #e5e5e5;
            border-radius:0;
            box-shadow:none;
            overflow:hidden;
            transition:border-color .2s ease, box-shadow .2s ease;
        }
        .plan-tile:hover,.pack-tile:hover{
            border-color:#0052d9;
            box-shadow:0 8px 24px rgba(0,82,217,.08);
            transform:none;
        }
        .plan-tile.is-hot{
            border-color:#0052d9;
            box-shadow:0 8px 24px rgba(0,82,217,.08);
        }
        .plan-tile.is-hot::before{
            content:"推荐";
            position:absolute; top:0; right:0;
            min-width:52px; height:24px; padding:0 10px;
            background:#0052d9; color:#fff;
            font-size:12px; line-height:24px; text-align:center;
        }
        .plan-top{
            display:flex; align-items:center; justify-content:space-between;
            gap:12px; margin:0 0 20px;
        }
        .plan-tile h3,.pack-tile h3{
            margin:0;
            color:#000;
            font-size:20px;
            line-height:28px;
            font-weight:600;
            letter-spacing:0;
        }
        .plan-badge{display:none!important}
        .plan-price{
            display:flex; align-items:flex-end; flex-wrap:wrap; gap:4px 6px;
            margin:0 0 8px; color:rgba(0,0,0,.4); min-height:48px;
        }
        .plan-price b{
            color:#0052d9;
            font-size:40px;
            line-height:48px;
            font-weight:600;
            font-family:TencentSans,PingFang SC,Microsoft YaHei,Arial,sans-serif;
        }
        .plan-price em{
            font-style:normal; color:rgba(0,0,0,.6); font-size:14px; line-height:28px; margin-bottom:6px;
        }
        .plan-price del{
            color:rgba(0,0,0,.26); font-size:14px; line-height:22px; margin-left:4px; margin-bottom:8px;
        }
        .plan-price-note{
            margin:0 0 20px; color:rgba(0,0,0,.4); font-size:12px; line-height:20px;
        }
        .plan-specs{
            list-style:none; margin:0 0 28px; padding:0; display:grid; gap:12px; flex:1;
        }
        .plan-specs li{
            display:flex; align-items:flex-start; gap:8px;
            color:rgba(0,0,0,.6); font-size:14px; line-height:22px;
        }
        .plan-specs li::before{
            content:"";
            width:6px; height:6px; margin-top:8px; border-radius:50%;
            background:#0052d9; flex:0 0 auto;
        }
        .plan-specs strong{color:rgba(0,0,0,.9); font-weight:600}
        .plan-tile .plan-actions,.pack-tile .plan-actions{margin-top:auto}
        .pack-tile h3{font-size:18px; margin:0 0 12px}
        .pack-price{margin:0 0 8px; color:rgba(0,0,0,.4)}
        .pack-price b{color:#0052d9; font-size:28px; line-height:36px; font-weight:600}
        .pack-price del{margin-left:8px; color:rgba(0,0,0,.26); font-size:13px}
        .pack-meta{color:rgba(0,0,0,.4); font-size:12px; line-height:20px; min-height:40px; margin:0 0 20px}

        /* tpm-btn 来自腾讯云 Main CSS 核心值 */
        .tpm-btn{
            display:inline-block; box-sizing:border-box;
            min-width:104px; height:36px; padding:0 24px;
            color:#fff !important; font-size:14px; line-height:34px;
            font-weight:400; white-space:nowrap; text-align:center;
            text-decoration:none; vertical-align:middle;
            background-color:#0052d9 !important;
            border:1px solid transparent !important;
            border-radius:0 !important;
            outline:0 none; cursor:pointer;
            box-shadow:8px 8px 20px 0 rgba(55,99,170,.1) !important;
            transition:background-color .3s ease-in-out, box-shadow .3s ease-in-out;
            -webkit-font-smoothing:antialiased;
        }
        .tpm-btn:hover,.tpm-btn:active{
            background-color:#2670e8 !important;
            box-shadow:none !important;
            color:#fff !important;
            opacity:1 !important;
        }
        .tpm-btn--primary{background-color:#0052d9 !important; color:#fff !important}
        .tpm-btn--white{
            background-color:#fff !important; color:#43474d !important;
            border:1px solid transparent !important;
            box-shadow:8px 8px 20px 0 rgba(55,99,170,.1), inset 0 4px 20px 0 hsla(0,0%,100%,.5) !important;
        }
        .tpm-btn--white:hover,.tpm-btn--white:active{
            border-color:#2670e8 !important; background-color:#ecf2fe !important;
            box-shadow:none !important; color:#0052d9 !important;
        }
        .tpm-btn--hole{
            color:#0052d9 !important; background-color:transparent !important;
            border:1px solid #0052d9 !important; box-shadow:none !important;
        }
        .tpm-btn--hole:hover,.tpm-btn--hole:active{
            color:#0052d9 !important; background-color:rgba(0,82,217,.15) !important;
        }
        .tpm-btn--pay{background-color:#ff7200 !important; box-shadow:8px 8px 20px 0 rgba(55,99,170,.1) !important}
        .tpm-btn--pay:hover,.tpm-btn--pay:active{background-color:#f06c00 !important; box-shadow:none !important}
        .tpm-btn[disabled],.tpm-btn.is-disabled{
            color:#98a3b7 !important; background-color:#ecf2fe !important;
            border-color:#ecf2fe !important; cursor:default; box-shadow:none !important;
        }
        .plan-tile .tpm-btn,.pack-tile .tpm-btn{
            display:block; width:100%; min-width:0; height:40px; line-height:38px; padding:0 16px;
        }
        #recharge-btn.tpm-btn{
            min-width:104px; width:auto; height:36px; line-height:34px; padding:0 24px;
        }
        .plan-free{display:inline-block; color:rgba(0,0,0,.4); font-size:14px; line-height:40px}
        /* 干掉 layui 默认按钮污染 */
        .plan-tile .layui-btn,
        .pack-tile .layui-btn,
        body.is-authed .plan-tile .layui-btn,
        body.is-authed .pack-tile .layui-btn,
        body.is-authed .plan-tile .tpm-btn,
        body.is-authed .pack-tile .tpm-btn{
            width:100% !important;
            height:40px !important;
            line-height:38px !important;
            border-radius:0 !important;
            font-weight:400 !important;
            background-color:#0052d9 !important;
            border:1px solid transparent !important;
            color:#fff !important;
            box-shadow:8px 8px 20px 0 rgba(55,99,170,.1) !important;
        }
        body.is-authed .plan-tile .tpm-btn:hover,
        body.is-authed .pack-tile .tpm-btn:hover,
        body.is-authed .plan-tile .layui-btn:hover,
        body.is-authed .pack-tile .layui-btn:hover{
            background-color:#2670e8 !important;
            box-shadow:none !important;
        }
        body.is-authed .pack-tile .tpm-btn[disabled],
        body.is-authed .pack-tile .layui-btn[disabled]{
            color:#98a3b7 !important;
            background-color:#ecf2fe !important;
            border-color:#ecf2fe !important;
            box-shadow:none !important;
        }
        body.is-authed .pack-price b{ color:#0052d9 !important; font-size:28px !important; font-weight:600 !important; }

.domain-hero{
            position:relative;overflow:hidden;margin-bottom:16px;border:1px solid #dbeafe;border-radius:18px;
            background:linear-gradient(135deg,#f8fbff,#eef7ff);padding:20px;
            display:flex;align-items:center;justify-content:space-between;gap:18px;
        }
        .domain-hero:before{
            content:"";position:absolute;inset:auto -80px -120px auto;width:240px;height:240px;border-radius:50%;
            background:radial-gradient(circle,rgba(14,165,164,.22),transparent 62%);pointer-events:none;
        }
        .domain-hero h3{position:relative;margin:0 0 8px;font-size:22px;color:#111827;font-weight:900}
        .domain-hero p{position:relative;margin:0;color:#64748b;line-height:1.7}
        .domain-hero .layui-btn{position:relative;height:42px;line-height:42px;border-radius:11px;background:#101827;color:#fff;font-weight:900;margin:0;white-space:nowrap}
        .domain-table-wrap{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
        .domain-table-wrap::-webkit-scrollbar{width:0;height:0}
        .domain-table{min-width:1040px!important;border-collapse:separate;border-spacing:0 10px;background:transparent}
        .domain-table thead tr{background:transparent}
        .domain-table th{border:0!important;background:transparent!important;color:#7b8798;font-size:12px;font-weight:800}
        .domain-table tbody tr{background:#fff;box-shadow:0 10px 26px rgba(20,31,49,.04)}
        .domain-table td{border-top:1px solid #edf1f6!important;border-bottom:1px solid #edf1f6!important;background:#fff!important;vertical-align:middle}
        .domain-table td:first-child{border-left:1px solid #edf1f6!important;border-radius:14px 0 0 14px}
        .domain-table td:last-child{border-right:1px solid #edf1f6!important;border-radius:0 14px 14px 0}
        .domain-name{font-weight:900;color:#111827}
        .domain-origin{max-width:220px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .domain-cname{font-size:13px;color:#0052d9;font-weight:600;word-break:break-all;line-height:1.4;cursor:pointer;transition:color .15s ease}
        .domain-cname:hover{color:#0034a5;text-decoration:underline}
        .domain-cname.empty{color:#94a3b8;cursor:default;text-decoration:none}
        .domain-cname.empty:hover{color:#94a3b8;text-decoration:none}
        .domain-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800}
        .domain-pill.ok{background:#dcfce7;color:#15803d}
        .domain-pill.warn{background:#fff7ed;color:#c2410c}
        .domain-pill.info{background:#eaf6ff;color:#0b8fe8}
        .domain-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
        .domain-actions .layui-btn{margin:0;border-radius:8px;font-weight:700}
        .domain-actions .primary{background:#0ea5a4;color:#fff}
        .domain-actions .dark{background:#101827;color:#fff}
        .domain-empty{padding:38px 20px;text-align:center;color:#7b8798}
        .domain-empty b{display:block;margin-bottom:8px;color:#111827;font-size:18px}
        .log-query-panel{display:grid;gap:16px}
        .log-switcher{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
        .log-switcher .layui-btn{height:36px;line-height:36px;border-radius:10px;margin:0;font-weight:800}
        .log-switcher .layui-btn.active{background:#101827!important;border-color:#101827!important;color:#fff!important}
        .log-table-wrap{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
        .log-table-wrap::-webkit-scrollbar{width:0;height:0}
        .log-query-table{min-width:920px!important;border-collapse:separate;border-spacing:0 8px;background:transparent}
        .log-query-table thead tr{background:transparent}
        .log-query-table th{border:0!important;background:transparent!important;color:#7b8798;font-size:12px;font-weight:800;white-space:nowrap}
        .log-query-table tbody tr{background:#fff;box-shadow:0 10px 24px rgba(20,31,49,.04)}
        .log-query-table td{border-top:1px solid #edf1f6!important;border-bottom:1px solid #edf1f6!important;background:#fff!important;vertical-align:middle}
        .log-query-table td:first-child{border-left:1px solid #edf1f6!important;border-radius:12px 0 0 12px}
        .log-query-table td:last-child{border-right:1px solid #edf1f6!important;border-radius:0 12px 12px 0}
        .log-query-time{color:#94a3b8;font-size:12px;white-space:nowrap}
        .log-query-type{font-weight:800;color:#111827;line-height:1.3}
        .log-query-title{font-weight:800;color:#111827;line-height:1.3}
        .log-query-summary{margin-top:4px;color:#64748b;font-size:12px;line-height:1.45;word-break:break-word}
        .log-query-page{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:4px}
        .log-query-page .layui-btn{height:34px;line-height:34px;border-radius:9px;margin:0;font-weight:800}
        .log-query-meta{color:#7b8798;font-size:12px}
        .notify-panel{display:grid;gap:16px}
        .notify-head{
            display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-radius:16px;
            background:linear-gradient(135deg,#f8fbff,#eef7ff);border:1px solid #dbeafe;
        }
        .notify-head h3{margin:0 0 6px;font-size:21px;color:#111827;font-weight:900}
        .notify-head p{margin:0;color:#64748b;line-height:1.7}
        .notify-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
        .notify-actions .layui-btn{height:38px;line-height:38px;border-radius:10px;margin:0;font-weight:800}
        .notify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
        .notify-item{border:1px solid #edf1f6;border-radius:15px;background:#fff;padding:15px;display:flex;gap:12px;align-items:flex-start}
        .notify-item.locked{background:#fbfdff}
        .notify-check{width:20px;height:20px;margin-top:1px;accent-color:#0ea5a4}
        .notify-item b{display:block;margin-bottom:5px;color:#132033;font-size:15px}
        .notify-item span{display:block;color:#64748b;font-size:13px;line-height:1.6}
        .notify-lock{display:inline-flex;margin-left:6px;padding:1px 6px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px}
        .notify-note{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #edf1f6;color:#64748b;line-height:1.7}
        /* 邀请返利 - 腾讯云控制台扁平风格 */
        .invite-panel{display:grid;gap:16px}
        .invite-hero{
            display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:16px;align-items:stretch;
            padding:0;border:0;background:transparent;border-radius:0;
        }
        .invite-link-card{
            border:1px solid #e5e5e5;background:#fff;padding:20px 24px;min-width:0;
        }
        .invite-link-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
        .invite-link-card-head h3{margin:0;font-size:16px;line-height:24px;color:rgba(0,0,0,.9);font-weight:600}
        .invite-link-card-head .invite-tip{margin:0;color:rgba(0,0,0,.4);font-size:12px;line-height:20px}
        .invite-field{margin:0 0 14px}
        .invite-field:last-child{margin-bottom:0}
        .invite-field-label{display:block;margin:0 0 8px;color:rgba(0,0,0,.6);font-size:12px;line-height:20px;font-weight:400}
        .invite-code-row,.invite-link-row{display:flex;gap:8px;align-items:center}
        .invite-code-row .layui-input,.invite-link-row .layui-input{
            flex:1;min-width:0;height:36px;line-height:34px;padding:0 12px;margin:0;
            border:1px solid #dcdcdc !important;border-radius:0 !important;background:#f3f3f3 !important;
            color:rgba(0,0,0,.9);font-size:13px;box-shadow:none !important;
        }
        .invite-code-row .layui-input:focus,.invite-link-row .layui-input:focus{
            border-color:#0052d9 !important;background:#fff !important;
        }
        .invite-code-row .tpm-btn,.invite-link-row .tpm-btn,.invite-actions .tpm-btn{
            flex:0 0 auto;min-width:88px;height:36px;line-height:34px;padding:0 16px;margin:0;
            border-radius:0 !important;font-weight:400 !important;
        }
        .invite-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}
        .invite-mini{
            display:grid;align-content:start;gap:0;padding:0;border:1px solid #e5e5e5;border-radius:0;
            background:#fff;box-shadow:none;overflow:hidden;
        }
        .invite-mini-item{padding:16px 20px;border-bottom:1px solid #e5e5e5}
        .invite-mini-item:last-child{border-bottom:0}
        .invite-mini-item b{display:block;margin:0 0 6px;color:rgba(0,0,0,.9);font-size:14px;line-height:22px;font-weight:600}
        .invite-mini-item span{display:block;color:rgba(0,0,0,.6);font-size:12px;line-height:20px}
        .invite-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
        .invite-stat{
            padding:16px 18px;border:1px solid #e5e5e5;border-radius:0;background:#fff;box-shadow:none;
        }
        .invite-stat > span{display:block;color:rgba(0,0,0,.4);font-size:12px;line-height:20px;font-weight:400;letter-spacing:0}
        .invite-stat b{display:block;margin-top:8px;color:rgba(0,0,0,.9);font-size:22px;line-height:30px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .invite-stat small{display:block;margin-top:6px;color:rgba(0,0,0,.4);font-size:12px;line-height:18px}
        .invite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
        .invite-box{
            border:1px solid #e5e5e5;border-radius:0;background:#fff;box-shadow:none;
            overflow:hidden;display:grid;min-width:0;
        }
        .invite-box h4{
            margin:0;padding:14px 16px;border-bottom:1px solid #e5e5e5;background:#fff;
            color:rgba(0,0,0,.9);font-size:14px;line-height:22px;font-weight:600;
        }
        .invite-box .invite-table-wrap{padding:0 12px 8px}
        .invite-table-wrap{overflow:auto;scrollbar-width:thin}
        .invite-table-wrap::-webkit-scrollbar{width:6px;height:6px}
        .invite-table-wrap::-webkit-scrollbar-thumb{background:#dcdcdc;border-radius:3px}
        .invite-table{min-width:640px!important;border-collapse:collapse;border-spacing:0;background:transparent;margin:0}
        .invite-table thead tr{background:transparent}
        .invite-table th{
            border:0!important;border-bottom:1px solid #e5e5e5!important;background:transparent!important;
            color:rgba(0,0,0,.4);font-size:12px;font-weight:400;white-space:nowrap;padding:12px 8px!important;
        }
        .invite-table tbody tr{background:#fff;box-shadow:none}
        .invite-table tbody tr:hover{background:#f3f3f3}
        .invite-table td{
            border:0!important;border-bottom:1px solid #e5e5e5!important;background:transparent!important;
            vertical-align:middle;padding:12px 8px!important;color:rgba(0,0,0,.9);font-size:13px;
        }
        .invite-table td:first-child,.invite-table td:last-child{border-radius:0}
        .invite-subtle{margin-top:4px;color:rgba(0,0,0,.4);font-size:12px;line-height:18px}
        .invite-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:0;border:1px solid transparent;font-size:12px;font-weight:400;white-space:nowrap}
        .invite-pill.danger{background:#fff1f0;color:#d54941;border-color:#ffd8d2}
        .invite-pill.ok{background:#e3f9e9;color:#2ba471;border-color:#b7e6c6}
        .invite-pill.warn{background:#fff1e9;color:#e37318;border-color:#ffd9c2}
        .invite-pill.info{background:#f2f3ff;color:#0052d9;border-color:#d9e1ff}
        .invite-pill.gray{background:#f3f3f3;color:rgba(0,0,0,.6);border-color:#e7e7e7}
        body.is-authed .invite-code-row .tpm-btn,
        body.is-authed .invite-link-row .tpm-btn,
        body.is-authed .invite-actions .tpm-btn{
            width:auto !important; min-width:88px !important; height:36px !important; line-height:34px !important;
            border-radius:0 !important; font-weight:400 !important; box-sizing:border-box !important;
        }
        body.is-authed .invite-link-row .tpm-btn--primary,
        body.is-authed .invite-actions .tpm-btn--primary{
            background-color:#0052d9 !important; border:1px solid transparent !important; color:#fff !important;
            box-shadow:8px 8px 20px 0 rgba(55,99,170,.1) !important;
        }
        body.is-authed .invite-code-row .tpm-btn--hole,
        body.is-authed .invite-link-row .tpm-btn--hole,
        body.is-authed .invite-actions .tpm-btn--hole{
            background:#fff !important; border:1px solid #dcdcdc !important; color:rgba(0,0,0,.9) !important; box-shadow:none !important;
        }
        body.is-authed .invite-link-row .tpm-btn--primary:hover,
        body.is-authed .invite-actions .tpm-btn--primary:hover{
            background-color:#2670e8 !important; box-shadow:none !important;
        }
        body.is-authed .invite-code-row .tpm-btn--hole:hover,
        body.is-authed .invite-link-row .tpm-btn--hole:hover,
        body.is-authed .invite-actions .tpm-btn--hole:hover{
            border-color:#0052d9 !important; color:#0052d9 !important; background:#fff !important;
        }
        .invite-subtle{color:#64748b;font-size:12px;line-height:1.5}
        .invite-empty{padding:26px 18px;text-align:center;color:#7b8798}
        .invite-empty b{display:block;margin-bottom:6px;color:#111827;font-size:17px}
        .cert-panel{display:grid;gap:16px}
        .cert-hero{
            display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-radius:16px;
            background:linear-gradient(135deg,#f8fbff,#eef7ff);border:1px solid #dbeafe;
        }
        .cert-hero h3{margin:0 0 6px;font-size:21px;color:#111827;font-weight:900}
        .cert-hero p{margin:0;color:#64748b;line-height:1.7}
        .cert-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
        .cert-actions .layui-btn{height:38px;line-height:38px;border-radius:10px;margin:0;font-weight:800}
        .cert-table-wrap{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
        .cert-table-wrap::-webkit-scrollbar{width:0;height:0}
        .cert-table{min-width:980px!important;border-collapse:separate;border-spacing:0 10px;background:transparent}
        .cert-table thead tr{background:transparent}
        .cert-table th{border:0!important;background:transparent!important;color:#7b8798;font-size:12px;font-weight:800}
        .cert-table tbody tr{background:#fff;box-shadow:0 10px 26px rgba(20,31,49,.04)}
        .cert-table td{border-top:1px solid #edf1f6!important;border-bottom:1px solid #edf1f6!important;background:#fff!important;vertical-align:middle}
        .cert-table td:first-child{border-left:1px solid #edf1f6!important;border-radius:14px 0 0 14px}
        .cert-table td:last-child{border-right:1px solid #edf1f6!important;border-radius:0 14px 14px 0}
        .cert-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800}
        .cert-pill.ok{background:#dcfce7;color:#15803d}
        .cert-pill.warn{background:#fff7ed;color:#c2410c}
        .cert-pill.info{background:#eaf6ff;color:#0b8fe8}
        .cert-form-grid{display:grid;gap:10px}
        .cert-form-grid .layui-textarea{min-height:120px}
        .article-item{display:block;padding:10px 0;border-bottom:1px solid #edf2f7;color:#122033}
        .article-item:last-child{border-bottom:0}
        .article-item b{display:block;margin-bottom:5px}
        .article-item span{display:block;color:#64748b;font-size:13px;line-height:1.6}
        .faq-list{display:grid;gap:10px}
        .faq-item{
            border:1px solid #e7eef7;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);
            padding:14px 16px;box-shadow:0 10px 22px rgba(20,31,49,.03)
        }
        .faq-item b{display:block;color:#122033;font-size:14px;line-height:1.55;margin-bottom:8px}
        .faq-item p{margin:0;color:#63758e;font-size:13px;line-height:1.75}
        .faq-empty{
            padding:18px;border:1px dashed #dbe5f0;border-radius:14px;background:#fbfdff;color:#7b8798;line-height:1.7
        }
        .tag{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#eaf4ff;color:#1157b0;font-size:12px}
        @media (max-width: 1180px){
            .user-shell{grid-template-columns:220px minmax(0,1fr);gap:0}
            .user-sidebar{padding:14px}
            .side-nav{gap:6px}
            .side-nav button{padding:10px}
            .content-grid{grid-template-columns:1fr}
        }
        @media (max-width: 860px){
            .auth-cta .layui-btn {
                display: block!important;
                width: 100%!important;
                margin-top: 12px!important;
            }
        }
        @media (max-width: 860px){
            body.layui-layout-body{overflow:auto}
            .layui-layout-admin .layui-body{
                position:static!important;padding:14px!important;margin-top:0!important;overflow:visible;
            }
            .layui-header{
                position:static;height:auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;
                padding:0 12px;gap:10px;
            }
            .layui-logo{
                position:static!important;width:auto!important;padding:0!important;text-align:left!important;line-height:58px!important;
                flex:1;font-size:16px;
            }
            .layui-layout-right{position:static!important;display:flex;flex:0 0 auto}
            .layui-nav .layui-nav-item a{padding:0 8px}
            .user-shell{display:block}
            body:not(.is-authed) .user-sidebar{position:relative;top:auto;max-height:none;margin-bottom:14px;padding:14px;border-radius:14px;border-right:0}
            .side-profile{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}
            .side-account h2{font-size:20px}
            .side-nav{display:grid;grid-template-columns:1fr;gap:8px}
            .nav-group{grid-column:auto;margin:8px 0 2px}
            .side-nav button{
                display:flex!important;align-items:center!important;justify-content:flex-start!important;
                text-align:left!important;padding:12px!important;gap:10px!important;width:100%!important;
            }
            .side-nav button:before{margin:0!important;flex:0 0 auto!important}
            .side-nav button:hover{transform:none}
            .section-header{align-items:flex-start;flex-direction:column}
            .layui-card-header{padding:11px 12px;font-size:15px}
            .layui-card-body{padding:12px}
            .sub-status-grid{grid-template-columns:1fr}
            .sub-card-list{grid-template-columns:1fr}
            .sub-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
            .sub-card-list{grid-template-columns:1fr}
            .sub-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
            .sub-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
            .sub-actions{display:flex;flex-wrap:wrap;gap:8px}
            .sub-actions .layui-btn{width:auto;margin:0}
            .invite-hero{grid-template-columns:1fr}
            .invite-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
            .invite-grid{grid-template-columns:1fr}
            .invite-link-card{padding:14px}
            .invite-code-row,.invite-link-row{flex-direction:row;align-items:center;gap:8px}
            .invite-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
            .invite-code-row .tpm-btn,.invite-link-row .tpm-btn,.invite-actions .tpm-btn{
                width:auto;min-width:72px;flex:0 0 auto;height:32px;line-height:30px;padding:0 12px
            }
            .invite-code-row .layui-input,.invite-link-row .layui-input{height:32px;line-height:30px;font-size:12px}
            .domain-hero{align-items:flex-start;flex-direction:column}
            .domain-hero .layui-btn{width:auto}
            .workspace-head{align-items:flex-start;flex-direction:column;padding:0 0 12px;margin-bottom:12px}
            .workspace-head h1{font-size:20px}
            .workspace-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:8px}
            .workspace-actions .layui-btn{width:auto;margin:0}
            .layui-table{min-width:680px;font-size:12px}
            #dash-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
            #plan-list,#pack-list{grid-template-columns:1fr;gap:12px}
            .dash-stat{min-height:96px;padding:12px;grid-template-columns:minmax(0,1fr) 36px}
            .dash-icon{width:36px;height:36px}
            .sub-card-top{padding-right:0;padding-top:0;margin-bottom:6px}
            .sub-card-grid{grid-template-columns:1fr}
            .sub-pack-badge{position:static;left:auto;right:auto;align-items:flex-start;margin:0 0 8px;width:fit-content;min-width:0}
            .balance-line{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
            .balance-line .layui-btn,.balance-line .tpm-btn{width:auto;margin:0}
            .portal-grid{grid-template-columns:1fr}
            #user-trend{height:260px!important}
            .auth-shell{margin:12px auto;padding:0;border-radius:0}
            .auth-copy{display:none!important}
            .auth-copy h1{font-size:32px;max-width:none}
            .auth-metrics{display:none!important;grid-template-columns:1fr}
            .auth-panel-head{padding:14px 14px 0}
            .auth-panel-title{font-size:20px}
        }
        @media (max-width: 520px){
            .layui-layout-admin .layui-body{padding:10px!important}
            .side-nav{grid-template-columns:1fr}
            #dash-cards,#plan-list,#pack-list{grid-template-columns:1fr}
            .sub-resource-grid{grid-template-columns:1fr}
            .sub-card-top{padding-right:0;padding-top:0;margin-bottom:6px}
            .sub-card-grid{grid-template-columns:1fr}
            .sub-pack-badge{position:static;left:auto;right:auto;align-items:flex-start;margin:0 0 8px;width:fit-content;min-width:0}
            .owned-pack{align-items:flex-start;flex-direction:column}
            .quick-actions .layui-btn{width:100%;margin:0}
            .workspace-actions .layui-btn{width:100%}
            .layui-card-header{display:block}
            .layui-card-header .layui-btn{width:100%;margin-top:8px}
            #invite-link{display:block!important;width:100%!important;margin:8px 0}
            .auth-cta{flex-direction:column}
            .auth-cta .layui-btn{width:100%}
            .invite-stats{grid-template-columns:1fr}
        }
    
        
/* ===== 未登录页完整显示兜底（必须放最后） ===== */
        body:not(.is-authed),
        body:not(.is-authed).layui-layout-body{
            height:auto!important;
            min-height:100%!important;
            overflow-x:hidden!important;
            overflow-y:auto!important;
        }
        body:not(.is-authed) .layui-layout-admin{
            position:static!important;
            height:auto!important;
            min-height:100vh!important;
            overflow:visible!important;
        }
        body:not(.is-authed) .layui-header{
            position:relative!important;
            left:0!important; right:auto!important; top:auto!important;
            width:100%!important; height:56px!important; min-height:56px!important;
            line-height:56px!important;
            display:flex!important; align-items:center!important;
            padding:0 24px!important;
            overflow:visible!important;
            z-index:20!important;
            background:#fff!important;
            border-bottom:1px solid #e7e7e7!important;
            box-shadow:none!important;
        }
        body:not(.is-authed) .layui-logo,
        body:not(.is-authed) .layui-layout-admin .layui-logo{
            position:static!important; left:auto!important; top:auto!important;
            width:auto!important; max-width:none!important;
            height:56px!important; line-height:56px!important;
            padding:0!important; margin:0!important;
            overflow:visible!important; white-space:nowrap!important;
            display:inline-flex!important; flex-direction:row!important; align-items:center!important; gap:0!important;
        }
        /* 登录页品牌：禁用花式字体+扫光，避免缺笔/镂空/截断 */
        body:not(.is-authed) .brand-shine{
            max-width:none!important;
            overflow:visible!important;
            display:inline-block!important;
            line-height:1!important;
        }
        body:not(.is-authed) .brand-shine:before{
            content:none!important;
            display:none!important;
            animation:none!important;
        }
        body:not(.is-authed) .brand-wordmark,
        body:not(.is-authed) .layui-logo .brand-wordmark,
        body:not(.is-authed) .auth-brand .brand-wordmark{
            font-family:"PingFang SC","Microsoft YaHei","Segoe UI",Arial,sans-serif!important;
            font-size:16px!important;
            font-weight:600!important;
            letter-spacing:0!important;
            color:#000!important;
            white-space:nowrap!important;
            overflow:visible!important;
            text-overflow:clip!important;
            max-width:none!important;
            line-height:1.2!important;
            text-shadow:none!important;
            word-break:normal!important;
        }
        body:not(.is-authed) .auth-brand .brand-wordmark{
            color:#fff!important;
            font-size:18px!important;
            font-weight:600!important;
        }
        body:not(.is-authed) .layui-logo .logo-sub{ display:none!important; }
        body:not(.is-authed) .layui-layout-right{
            position:static!important; margin-left:auto!important;
            height:56px!important; display:flex!important; align-items:center!important;
        }
        body:not(.is-authed) .layui-layout-admin .layui-body,
        body:not(.is-authed) .layui-body{
            position:static!important;
            left:0!important; right:auto!important; top:auto!important; bottom:auto!important;
            width:auto!important; height:auto!important; min-height:0!important;
            padding:20px 16px 40px!important;
            margin:0!important;
            overflow:visible!important;
            background:transparent!important;
        }
        body:not(.is-authed) #auth-panel.auth-shell,
        body:not(.is-authed) .auth-shell{
            display:block!important;
            width:min(1040px,100%)!important;
            max-width:1040px!important;
            margin:0 auto!important;
            padding:0!important;
            overflow:visible!important;
            opacity:1!important;
        }
        body:not(.is-authed) .auth-grid{
            display:grid!important;
            grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
            align-items:stretch!important;
            overflow:hidden!important; /* 圆角裁切用，内容本身不截断 */
            min-height:560px!important;
            height:auto!important;
            background:#fff!important;
        }
        body:not(.is-authed) .auth-copy{
            overflow:hidden!important; /* 仅裁装饰圆，文字区足够 padding */
            padding:40px 36px 36px!important;
            min-height:100%!important;
            height:auto!important;
        }
        body:not(.is-authed) .auth-panel-card,
        body:not(.is-authed) .auth-form{
            overflow:visible!important;
            height:auto!important;
            max-height:none!important;
        }
        body:not(.is-authed) .auth-brand{
            align-items:center!important;
            flex-wrap:nowrap!important;
            gap:12px!important;
            margin-bottom:28px!important;
        }
        body:not(.is-authed) .auth-brand-tag{
            flex:0 0 auto!important;
            white-space:nowrap!important;
        }
        body:not(.is-authed) .auth-copy h1{
            font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif!important;
            font-size:28px!important;
            line-height:1.35!important;
            max-width:none!important;
            font-weight:600!important;
        }
        body:not(.is-authed) .auth-copy > p,
        body:not(.is-authed) .auth-point span,
        body:not(.is-authed) .auth-mini-card,
        body:not(.is-authed) .auth-panel-title,
        body:not(.is-authed) .auth-panel-sub,
        body:not(.is-authed) .auth-note,
        body:not(.is-authed) .auth-switch-line,
        body:not(.is-authed) .auth-form .layui-input{
            font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif!important;
        }
        body:not(.is-authed) .hidden-field{ display:none!important; }
        body:not(.is-authed) .hidden-field.is-show,
        body:not(.is-authed) #email-row.is-show,
        body:not(.is-authed) #code-row.is-show,
        body:not(.is-authed) #invite-row.is-show,
        body:not(.is-authed) .auth-form .hidden-field.is-show{ display:block!important; }
        @media (max-width: 960px){
            body:not(.is-authed) .auth-grid{
                grid-template-columns:1fr!important;
                min-height:0!important;
            }
            body:not(.is-authed) .auth-mini{ display:none!important; }
            body:not(.is-authed) .auth-panel-head{ padding:28px 22px 0!important; }
            body:not(.is-authed) .auth-tabs{ margin:16px 22px 0!important; }
            body:not(.is-authed) .auth-form{ padding:18px 22px 26px!important; }
            body:not(.is-authed) .auth-copy{ display:none!important; }
            body:not(.is-authed) .brand-wordmark,
            body:not(.is-authed) .layui-logo .brand-wordmark{
                white-space:normal!important;
                font-size:15px!important;
            }
            body:not(.is-authed) .layui-logo{
                white-space:normal!important;
                height:auto!important;
                line-height:1.3!important;
                max-width:70vw!important;
            }
            body:not(.is-authed) .layui-header{
                height:auto!important; min-height:56px!important; line-height:normal!important;
                padding:12px 16px!important;
            }
        }

        /* ===== 已登录控制台：手机端布局（必须最后，覆盖桌面 left:262px） ===== */
        .console-menu-btn{
            display:none;
            width:38px;height:38px;margin:0;padding:0;border:1px solid #e4ebf3;border-radius:10px;
            background:#fff;color:#162033;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;
        }
        .console-menu-btn span,
        .console-menu-btn span:before,
        .console-menu-btn span:after{
            display:block;width:16px;height:2px;background:#162033;border-radius:1px;position:relative;
        }
        .console-menu-btn span:before,
        .console-menu-btn span:after{content:"";position:absolute;left:0;}
        .console-menu-btn span:before{top:-5px;}
        .console-menu-btn span:after{top:5px;}
        .console-sidebar-mask{
            display:none!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.46)!important;
            z-index:10040!important;pointer-events:auto!important;border:0;margin:0;padding:0;
        }
        body.console-nav-open .console-sidebar-mask{display:block!important;}
        .mobile-data-list{display:none;gap:10px}
        .m-data-card{
            background:#fff;border:1px solid #e7eef7;border-radius:14px;padding:14px 14px 12px;
            box-shadow:0 8px 22px rgba(15,23,42,.04);
        }
        .m-data-card .m-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
        .m-data-card .m-title b{font-size:15px;color:#111827;line-height:1.35;word-break:break-all}
        .m-data-card .m-meta{display:grid;gap:6px;margin:0 0 10px;color:#64748b;font-size:12px;line-height:1.45}
        .m-data-card .m-meta div{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}
        .m-data-card .m-meta span{color:#94a3b8;flex:0 0 auto}
        .m-data-card .m-meta em{font-style:normal;color:#334155;text-align:right;word-break:break-all}
        .m-data-card .m-actions{display:block;width:100%;min-width:0;box-sizing:border-box}
        .m-data-card .m-actions .domain-actions,
        .m-data-card .domain-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
        .m-data-card .m-actions > .layui-btn,
        .m-data-card .domain-actions .layui-btn{
            display:inline-flex;align-items:center;justify-content:center;margin:0;height:28px;line-height:26px;padding:0 10px;border-radius:3px;font-weight:400;font-size:12px;flex:0 0 auto;max-width:100%;box-sizing:border-box
        }
        .m-empty{padding:28px 16px;text-align:center;color:#7b8798;background:#f8fafc;border:1px dashed #dbe4f0;border-radius:14px}
        .m-empty b{display:block;margin-bottom:8px;color:#111827;font-size:16px}
        @media (max-width: 860px){
            body.is-authed{ overflow-x:hidden; }
            body.is-authed .layui-layout-admin{ min-width:0!important; width:100%!important; }
            body.is-authed .layui-header{
                position:fixed!important; top:0; left:0!important; right:0!important;
                width:100%!important; max-width:100%!important;
                height:var(--tc-head)!important; min-height:var(--tc-head)!important;
                display:flex!important; align-items:center!important; justify-content:flex-start!important;
                gap:10px; padding:0 12px!important; z-index:10060!important;
                background:#fff!important; box-sizing:border-box!important;
            }
            body.is-authed .console-menu-btn{ display:inline-flex!important; }
            body.is-authed .layui-logo{
                display:flex!important; position:static!important; left:auto!important;
                width:auto!important; max-width:calc(100% - 120px)!important; flex:1 1 auto!important;
                height:var(--tc-head)!important; line-height:normal!important; padding:0!important;
                align-items:center!important; justify-content:flex-start!important; gap:0!important; overflow:hidden;
            }
            body.is-authed .layui-logo .brand-wordmark{
                font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif!important;
                font-size:14px!important; font-weight:700!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
                max-width:42vw;
            }
            body.is-authed .layui-logo .brand-shine:before{ display:none!important; content:none!important; }
            body.is-authed .layui-logo .logo-sub{ display:none!important; }
            body.is-authed .layui-layout-right{
                position:static!important; right:auto!important; top:auto!important;
                height:var(--tc-head)!important; display:flex!important; align-items:center!important;
                gap:6px!important; flex:0 0 auto!important; margin-left:auto!important; margin-right:0!important; padding:0!important;
            }
            body.is-authed .layui-layout-right .layui-nav{
                display:flex!important; align-items:center!important; gap:6px!important; padding:0!important;
            }
            body.is-authed .layui-layout-right .layui-nav-item{ line-height:normal!important; }
            body.is-authed #nav-user a{
                max-width:88px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
                height:32px!important; line-height:32px!important; padding:0 10px!important; font-size:12px!important;
            }
            body.is-authed #logout-btn{
                height:32px!important; line-height:32px!important; padding:0 10px!important; font-size:12px!important;
            }
            body.is-authed .layui-layout-admin .layui-body,
            body.is-authed .layui-body{
                position:static!important; left:0!important; top:auto!important; right:auto!important; bottom:auto!important;
                width:100%!important; height:auto!important; min-height:0!important;
                padding:12px!important; margin:0!important; overflow:visible!important;
                box-sizing:border-box!important;
            }
            body.is-authed .user-shell{
                display:block!important; width:100%!important; grid-template-columns:1fr!important;
            }
            body.is-authed.console-nav-open{ overflow:hidden!important; }
            body.is-authed .user-sidebar{
                position:fixed!important; top:56px!important; left:0!important; right:auto!important;
                bottom:0!important; box-sizing:border-box!important;
                width:min(74vw, 272px)!important;
                height:auto!important;
                max-height:none!important;
                min-height:0!important;
                margin:0!important; padding:10px 10px 12px!important;
                border:0!important; border-right:1px solid #e7eef7!important; border-radius:0 14px 0 0!important;
                background:#fff!important; box-shadow:12px 0 28px rgba(15,23,42,.14)!important;
                transform:translateX(-105%); transition:transform .2s ease;
                z-index:10050!important; overflow-x:hidden!important; overflow-y:auto!important;
                -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
                scrollbar-width:thin;
            }
            body.is-authed.console-nav-open .user-sidebar{ transform:translateX(0); }
            body.is-authed.console-nav-open .console-sidebar-mask{ display:block!important; z-index:10040!important; }
            body.is-authed .layui-header{ z-index:10060!important; }
            body.is-authed .mobile-data-list{ display:grid!important; }
            body.is-authed .domain-table-wrap,
            body.is-authed .cert-table-wrap{
                display:none!important;
            }
            body.is-authed .log-table-wrap,
            body.is-authed .invite-table-wrap{
                display:none!important;
            }
            body.is-authed .layui-card-body{
                overflow-x:auto!important; max-width:100%!important; -webkit-overflow-scrolling:touch;
            }
            body.is-authed .layui-table{
                width:max-content!important; min-width:720px!important; max-width:none!important;
                table-layout:auto!important;
            }
            body.is-authed .layui-table th,
            body.is-authed .layui-table td{
                white-space:nowrap!important; word-break:keep-all!important; vertical-align:middle!important;
            }
            body.is-authed .layui-table td[colspan],
            body.is-authed .layui-table td[colspan] *{
                white-space:normal!important; word-break:break-word!important;
            }
            body.is-authed .cert-hero{
                display:grid!important; grid-template-columns:1fr!important; gap:10px!important; width:100%!important;
            }
            body.is-authed .cert-actions{
                display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:8px!important; width:100%!important;
            }
            body.is-authed .cert-actions .layui-input,
            body.is-authed #cert-domain-select{
                width:100%!important; min-width:0!important; flex:1 1 100%!important; box-sizing:border-box!important;
            }
            body.is-authed .cert-actions .layui-btn,
            body.is-authed .cert-actions .tpm-btn{
                width:auto!important; min-width:0!important; flex:0 0 auto!important; margin:0!important;
                height:32px!important; line-height:30px!important; padding:0 12px!important; box-sizing:border-box!important;
            }
            body.is-authed .user-content{
                display:block!important; width:100%!important; min-width:0!important;
                padding:12px 0 28px!important; margin:0!important; box-sizing:border-box!important;
            }
            body.is-authed .side-profile{
                padding-bottom:8px!important; margin-bottom:8px!important;
            }
            body.is-authed .side-nav{
                display:grid!important; grid-template-columns:1fr!important; gap:4px!important;
            }
            body.is-authed .side-nav button{
                display:flex!important; align-items:center!important; justify-content:flex-start!important;
                gap:8px!important; text-align:left!important; padding:8px 10px!important; width:100%!important;
                min-height:36px!important; box-sizing:border-box!important; white-space:nowrap!important;
                border-radius:10px!important; font-size:13px!important; line-height:1.2!important;
                font-weight:600!important;
            }
            body.is-authed .side-nav button:before{
                content:attr(data-icon)!important; margin:0!important; margin-left:0!important; margin-right:0!important;
                flex:0 0 22px!important; width:22px!important; height:22px!important;
                display:inline-flex!important; align-items:center!important; justify-content:center!important;
                border-radius:7px!important; font-size:11px!important; font-weight:700!important;
            }
            body.is-authed .nav-group{
                grid-column:1 / -1!important; margin:8px 0 0!important; padding:0 2px!important;
                text-align:left!important; font-size:11px!important; letter-spacing:.04em!important;
                color:#94a3b8!important; line-height:1.2!important;
            }
            body.is-authed .nav-group:first-child{ margin-top:2px!important; }
            body.is-authed .user-sidebar .brand-shine{
                max-width:100%!important; overflow:hidden!important; display:block!important;
            }
            body.is-authed .user-sidebar .brand-shine:before{ display:none!important; content:none!important; }
            body.is-authed .user-sidebar .brand-wordmark{
                font-family:"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif!important;
                font-size:14px!important; font-weight:700!important; line-height:1.25!important;
                white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
                word-break:normal!important; color:#111827!important; text-shadow:none!important;
                max-width:100%!important; display:block!important;
            }
            body.is-authed .user-sidebar .brand-sub{ display:none!important; }
            body.is-authed .side-brand{ margin-bottom:8px!important; }
            body.is-authed .side-account{
                padding:8px 10px!important; border-radius:12px!important;
            }
            body.is-authed .side-account h2{
                font-size:15px!important; line-height:1.2!important; margin:0!important;
            }
            body.is-authed .side-balance-row{
                margin-top:4px!important; font-size:12px!important;
            }
            body.is-authed .side-balance-row b{ font-size:14px!important; }
            body.is-authed .side-level-badge{
                font-size:11px!important; padding:2px 7px!important; white-space:nowrap!important;
            }
            /* layui 弹层：手机完整可见、可滚、不挤压 */
            .layui-layer{
                max-width:calc(100vw - 12px)!important;
                max-height:92vh!important;
                box-sizing:border-box!important;
                position:fixed!important;
                left:6px!important; right:6px!important;
                width:calc(100vw - 12px)!important;
                margin:0!important;
                overflow:hidden!important;
                display:flex!important; flex-direction:column!important;
            }
            .layui-layer-title{ flex:0 0 auto!important; }
            .layui-layer-btn{ flex:0 0 auto!important; }
            .layui-layer > .layui-layer-content{ flex:1 1 auto!important; min-height:0!important; }
            .layui-layer.layui-layer-page,
            .layui-layer.layui-layer-dialog,
            .layui-layer.layui-layer-iframe{
                left:6px!important; right:6px!important;
                width:calc(100vw - 12px)!important;
                margin:0!important;
                max-width:calc(100vw - 12px)!important;
            }
            .layui-layer-title{
                height:auto!important; min-height:44px!important; line-height:1.35!important;
                padding:12px 42px 12px 14px!important;
                font-size:15px!important; white-space:normal!important; word-break:break-word!important;
            }
            .layui-layer-setwin{ right:10px!important; top:12px!important; }
            .layui-layer-content{
                max-height:calc(100vh - 148px)!important;
                overflow:auto!important; -webkit-overflow-scrolling:touch!important;
                box-sizing:border-box!important;
            }
            .layui-layer-page .layui-layer-content,
            .layui-layer-dialog .layui-layer-content{ overflow:auto!important; }
            .layui-layer-btn{
                padding:10px 12px!important; display:flex!important; flex-wrap:wrap!important; gap:8px!important;
                justify-content:stretch!important; background:#fff!important;
                position:relative!important; z-index:2!important;
            }
            .layui-layer-btn a{
                margin:0!important; flex:1 1 calc(50% - 8px)!important; text-align:center!important;
                height:38px!important; line-height:38px!important;
                padding:0 12px!important; box-sizing:border-box!important; min-width:0!important;
            }
            .layui-layer-content > div{ max-width:100%!important; box-sizing:border-box!important; }
            .layui-layer-content .layui-input,
            .layui-layer-content input:not([type="checkbox"]):not([type="radio"]),
            .layui-layer-content select,
            .layui-layer-content textarea{
                max-width:100%!important; width:100%!important; box-sizing:border-box!important;
            }
            .layui-layer-content .layui-form-item{ margin-bottom:12px!important; }
            .layui-layer-content .layui-form-label{
                float:none!important; display:block!important; width:auto!important;
                padding:0 0 6px!important; text-align:left!important; line-height:1.4!important;
            }
            .layui-layer-content .layui-input-block{ margin-left:0!important; min-height:0!important; }
            .layui-layer-content .layui-btn{ margin-bottom:6px; }
            .layui-layer-content .table-scroll,
            .layui-layer-content .log-table-wrap{
                display:block!important; width:100%!important; max-width:100%!important;
                overflow-x:auto!important; -webkit-overflow-scrolling:touch!important;
            }
            .layui-layer-content table{ display:table!important; max-width:none!important; }
            .layui-layer-content .layui-table{
                min-width:520px!important; width:max-content!important; max-width:none!important;
            }
            .layui-layer-content .preset-grid,
            .layui-layer-content .preset-grid-4,
            .layui-layer-content .preset-grid-5{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important;
            }
            .layui-layer-content .preset-card{ min-height:0!important; padding:10px!important; }
            .layui-layer-content .preset-card b{ font-size:13px!important; }
            .layui-layer-content .preset-card span{ font-size:11px!important; }
            .layui-layer-content .section-box{ padding:12px!important; margin-top:10px!important; border-radius:12px!important; }
            .layui-layer-content .section-head h4{ font-size:14px!important; margin:0 0 2px!important; }
            .layui-layer-content .section-head p,
            .layui-layer-content .mini-note{ font-size:11px!important; line-height:1.45!important; margin-top:4px!important; }
            .layui-layer-content .origin-grid,
            .layui-layer-content .cert-bind-grid{ grid-template-columns:1fr!important; gap:6px!important; }
            .layui-layer-content .origin-grid label,
            .layui-layer-content .cert-bind-grid label{ white-space:normal!important; font-size:13px!important; }
            .layui-layer-content .origin-grid .full,
            .layui-layer-content .origin-grid .hint,
            .layui-layer-content .cert-bind-grid .full,
            .layui-layer-content .cert-bind-grid .hint{ grid-column:1 / -1!important; }
            .layui-layer-content .domain-plan-card{ padding:10px!important; }
            .layui-layer-content .layer-2col,
            .layui-layer-content .layer-3col{ grid-template-columns:1fr!important; }
            .layui-layer-content .layui-row{ display:block!important; margin:0!important; }
            .layui-layer-content .layui-col-md7,
            .layui-layer-content .layui-col-md5,
            .layui-layer-content .layui-col-md6,
            .layui-layer-content .layui-col-md4,
            .layui-layer-content .layui-col-md8,
            .layui-layer-content .layui-col-md12{
                width:100%!important; float:none!important; padding:0 0 12px!important; display:block!important;
            }
            .layui-layer-content .code-row,
            .layui-layer-content .flex-row{ display:flex!important; flex-wrap:wrap!important; gap:8px!important; }
            .layui-layer-content .layer-hide-mobile{ display:none!important; }
            .layui-layer-content .cond-row{
                display:grid!important; grid-template-columns:1fr 1fr 40px!important; gap:8px!important;
                grid-template-areas:
                    "field op del"
                    "value value del" !important;
                align-items:stretch!important;
            }
            .layui-layer-content .cond-row .c-field{ grid-area:field!important; width:100%!important; min-width:0!important; }
            .layui-layer-content .cond-row .c-op{ grid-area:op!important; width:100%!important; min-width:0!important; }
            .layui-layer-content .cond-row .c-value{ grid-area:value!important; width:100%!important; min-width:0!important; }
            .layui-layer-content .cond-row .c-del{
                grid-area:del!important; width:40px!important; min-width:40px!important; height:38px!important; line-height:38px!important; padding:0!important; align-self:center!important;
            }
            .layui-layer-content .rule-stats-grid{ grid-template-columns:1fr 1fr!important; gap:8px!important; }
            .layui-layer-content .rule-stats-grid .rule-stat-card:last-child{ grid-column:1 / -1; }
            .layui-layer-content .rule-rate-grid{ grid-template-columns:1fr 1fr!important; }
            .layui-layer-content .rule-toolbar-btns{ display:grid!important; grid-template-columns:1fr 1fr!important; gap:8px!important; }
            .layui-layer-content .rule-toolbar-btns .layui-btn{ width:100%!important; margin:0!important; }
            .layui-layer-content .layer-kv{ flex-direction:column!important; align-items:flex-start!important; gap:4px!important; }
            .layui-layer-content .cert-form-grid textarea{ min-height:120px!important; }
            .layui-layer-content #tier-box .layui-btn{ flex:1 1 calc(50% - 8px)!important; }
            .layui-layer-btn a{ flex:1 1 100%!important; }
            .layui-layer-btn a:nth-child(1),
            .layui-layer-btn a:nth-child(2){ flex:1 1 calc(50% - 8px)!important; }
            body.is-authed .workspace-head{
                flex-direction:column!important; align-items:flex-start!important;
                gap:10px!important; margin-bottom:14px!important; padding:0 0 10px!important;
            }
            body.is-authed .workspace-head h1{ font-size:20px!important; }
            body.is-authed .workspace-actions{
                width:100%!important; display:flex!important; flex-wrap:wrap!important; gap:8px!important;
            }
            body.is-authed .workspace-actions .layui-btn,
            body.is-authed .workspace-actions .tpm-btn{
                width:auto!important; margin:0!important; height:32px!important; line-height:30px!important; padding:0 12px!important;
            }
            body.is-authed .content-grid{
                display:grid!important; grid-template-columns:1fr!important; gap:12px!important; width:100%!important;
            }
            body.is-authed #dash-cards{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important;
            }
            body.is-authed #plan-list,
            body.is-authed #pack-list{
                grid-template-columns:1fr!important; gap:12px!important;
            }
            body.is-authed .dash-stat{
                min-height:0!important; grid-template-columns:minmax(0,1fr) 34px!important; padding:12px!important;
            }
            body.is-authed .section-header{ flex-direction:row!important; flex-wrap:wrap!important; align-items:center!important; gap:8px!important; }
            body.is-authed .layui-card{ border-radius:8px!important; margin-bottom:12px!important; }
            body.is-authed .layui-card-header{
                min-height:0!important; height:auto!important; padding:12px!important;
                display:flex!important; align-items:center!important; justify-content:space-between!important;
                flex-wrap:wrap!important; gap:8px!important; font-size:15px!important;
            }
            body.is-authed .layui-card-header .layui-btn,
            body.is-authed .layui-card-header .tpm-btn{
                width:auto!important; margin:0!important; height:30px!important; line-height:28px!important; padding:0 12px!important;
            }
            body.is-authed .layui-card-body{ padding:12px!important; overflow-x:auto!important; }
            body.is-authed .sub-status-grid,
            body.is-authed .sub-resource-grid,
            body.is-authed .invite-stats,
            body.is-authed .notify-grid{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important;
            }
            body.is-authed .sub-card-list,
            body.is-authed .sub-card-grid,
            body.is-authed .portal-grid,
            body.is-authed .invite-hero,
            body.is-authed .invite-grid{
                grid-template-columns:1fr!important;
            }
            body.is-authed .domain-hero,
            body.is-authed .cert-hero,
            body.is-authed .notify-head{
                flex-direction:column!important; align-items:stretch!important; gap:8px!important;
            }
            body.is-authed .domain-hero .layui-btn,
            body.is-authed .notify-actions .layui-btn,
            body.is-authed .sub-actions .layui-btn,
            body.is-authed .balance-line .layui-btn,
            body.is-authed .balance-line .tpm-btn,
            body.is-authed .quick-actions .layui-btn,
            body.is-authed .quick-actions .tpm-btn,
            body.is-authed #recharge-btn{
                width:auto!important; margin:0!important; height:32px!important; line-height:30px!important;
                padding:0 14px!important; box-sizing:border-box!important; min-width:0!important;
            }
            body.is-authed .notify-actions,
            body.is-authed .sub-actions,
            body.is-authed .quick-actions,
            body.is-authed .balance-line{
                display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:8px!important;
            }
            body.is-authed .invite-code-row,
            body.is-authed .invite-link-row{
                display:flex!important; flex-direction:row!important; align-items:center!important; gap:8px!important;
            }
            body.is-authed .invite-actions{
                display:flex!important; flex-direction:row!important; flex-wrap:wrap!important; align-items:center!important; gap:8px!important;
            }
            body.is-authed .invite-code-row .tpm-btn,
            body.is-authed .invite-link-row .tpm-btn,
            body.is-authed .invite-actions .tpm-btn,
            body.is-authed .invite-link-row .layui-btn{
                width:auto!important; min-width:72px!important; flex:0 0 auto!important;
                height:32px!important; line-height:30px!important; padding:0 12px!important;
            }
            body.is-authed .invite-code-row .layui-input,
            body.is-authed .invite-link-row .layui-input{
                flex:1 1 auto!important; min-width:0!important; height:32px!important; line-height:30px!important;
            }
            body.is-authed .invite-stat{
                padding:12px!important;
            }
            body.is-authed .invite-stat b{
                font-size:18px!important; line-height:24px!important;
            }
            body.is-authed .m-data-card .m-actions{
                display:block!important; width:100%!important; min-width:0!important;
            }
            body.is-authed .m-data-card .domain-actions,
            body.is-authed .domain-actions{
                display:flex!important; flex-wrap:wrap!important; gap:6px!important; width:100%!important; min-width:0!important; max-width:100%!important;
            }
            body.is-authed .m-data-card .m-actions > .layui-btn,
            body.is-authed .m-data-card .domain-actions .layui-btn,
            body.is-authed .domain-actions .layui-btn{
                width:auto!important; margin:0!important; height:28px!important; line-height:26px!important;
                padding:0 10px!important; font-size:12px!important; font-weight:400!important; border-radius:3px!important;
                flex:0 0 auto!important; max-width:100%!important;
            }
            body.is-authed .domain-table-wrap,
            body.is-authed .log-table-wrap,
            body.is-authed .invite-table-wrap,
            body.is-authed .cert-table-wrap{
                overflow-x:auto!important; -webkit-overflow-scrolling:touch; width:100%!important; max-width:100%!important;
            }
            body.is-authed .domain-table,
            body.is-authed .log-query-table,
            body.is-authed .invite-table,
            body.is-authed .cert-table{
                min-width:720px!important; width:max-content!important; max-width:none!important;
            }
            body.is-authed #user-trend{ height:220px!important; max-width:100%!important; }
            body.is-authed .side-account h2{ font-size:16px!important; word-break:break-all; }
            body.is-authed .side-balance-row{ flex-wrap:wrap; }
            /* 套餐卡内购买按钮可全宽，其它按钮保持紧凑 */
            body.is-authed .plan-tile .tpm-btn,
            body.is-authed .pack-tile .tpm-btn,
            body.is-authed .plan-tile .layui-btn,
            body.is-authed .pack-tile .layui-btn{
                width:100%!important; height:36px!important; line-height:34px!important; margin-top:8px!important;
            }
        }
        @media (max-width: 520px){
            body.is-authed .layui-body{ padding:10px!important; }
            body.is-authed #nav-user{ display:none!important; }
            body.is-authed .workspace-actions .layui-btn,
            body.is-authed .workspace-actions .tpm-btn{ width:auto!important; margin:0!important; }
            body.is-authed #dash-cards,
            body.is-authed .invite-stats,
            body.is-authed .sub-status-grid,
            body.is-authed .sub-resource-grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
        }

    
        /* =========================================================
   Tencent Cloud Console Theme (authed only) v2
   ========================================================= */
:root{
    --tc-brand:#0052d9;
    --tc-brand-hover:#266fe8;
    --tc-brand-active:#0034b5;
    --tc-brand-soft:#ecf2fe;
    --tc-success:#00a870;
    --tc-warning:#ed7b2f;
    --tc-danger:#e34d59;
    --tc-text:rgba(0,0,0,.9);
    --tc-text-2:rgba(0,0,0,.6);
    --tc-text-3:rgba(0,0,0,.4);
    --tc-border:#e7e7e7;
    --tc-border-2:#dcdcdc;
    --tc-bg:#f3f3f3;
    --tc-card:#fff;
    --tc-radius:3px;
    --tc-side:232px;
    --tc-head:48px;
    --tc-font:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}
body.is-authed, html.boot-authed body{
    background:var(--tc-bg)!important; color:var(--tc-text);
    font-family:var(--tc-font)!important; font-size:14px; line-height:1.5;
    -webkit-font-smoothing:antialiased;
}
body.is-authed *{ font-family:inherit; box-sizing:border-box; }
body.is-authed .brand-shine, body.is-authed .brand-shine:before{
    animation:none!important; background:none!important; -webkit-background-clip:initial!important;
    background-clip:initial!important; filter:none!important; text-shadow:none!important;
    position:static!important; display:inline!important;
}
body.is-authed .brand-wordmark{
    color:var(--tc-text)!important; font-family:var(--tc-font)!important; font-weight:600!important;
    letter-spacing:0!important; font-size:15px!important; line-height:1.35!important;
    white-space:normal!important; overflow:visible!important; text-overflow:clip!important;
    display:-webkit-box!important; -webkit-line-clamp:2; -webkit-box-orient:vertical; word-break:break-word;
}
body.is-authed .user-sidebar .brand-sub{ display:none!important; }
body.is-authed .layui-layout-admin{ background:var(--tc-bg); min-width:0; }
body.is-authed .layui-header{
    position:fixed!important; top:0; left:var(--tc-side)!important; right:0!important; width:auto!important;
    height:var(--tc-head)!important; min-height:var(--tc-head)!important; line-height:var(--tc-head)!important;
    padding:0 20px!important; background:#fff!important; border-bottom:1px solid var(--tc-border)!important;
    box-shadow:none!important; z-index:100!important; display:flex!important; align-items:center!important;
    justify-content:space-between!important; box-sizing:border-box!important;
}
body.is-authed .layui-logo{
    display:flex!important; position:static!important; width:auto!important; height:var(--tc-head)!important;
    line-height:var(--tc-head)!important; padding:0!important; margin:0!important; background:transparent!important;
    color:var(--tc-text)!important; font-size:16px!important; font-weight:600!important; align-items:center;
}
body.is-authed .layui-logo .brand-shine, body.is-authed .layui-logo .brand-wordmark{
    display:none!important;
}
body.is-authed .layui-logo:after{
    content:attr(data-page-title);
    color:var(--tc-text); font-size:16px; font-weight:600; line-height:24px;
}
body.is-authed .layui-logo:not([data-page-title]):after,
body.is-authed .layui-logo[data-page-title=""]:after{ content:"控制台"; }
body.is-authed .layui-layout-right{
    position:static!important; right:auto!important; top:auto!important; height:auto!important;
    display:flex!important; align-items:center!important; gap:8px!important; padding:0!important; background:transparent!important;
}
body.is-authed .layui-layout-right .layui-nav{ background:transparent!important; padding:0!important; }
body.is-authed .layui-layout-right .layui-nav-item{ line-height:normal!important; }
body.is-authed .layui-layout-right .layui-nav-item:after{ display:none!important; }
body.is-authed #nav-user a{
    height:28px!important; line-height:28px!important; padding:0 10px!important; border:1px solid var(--tc-border)!important;
    border-radius:var(--tc-radius)!important; background:#fff!important; color:var(--tc-text)!important;
    font-weight:400!important; font-size:12px!important;
}
body.is-authed #logout-btn{
    display:inline-flex!important; align-items:center!important; justify-content:center!important;
    height:28px!important; line-height:28px!important; padding:0 12px!important; margin:0!important;
    border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important; background:#fff!important;
    color:var(--tc-text)!important; font-weight:400!important; font-size:12px!important; box-shadow:none!important;
}
body.is-authed #logout-btn:hover, body.is-authed #nav-user a:hover{ border-color:var(--tc-brand)!important; color:var(--tc-brand)!important; }
body.is-authed .layui-layout-admin .layui-body{
    position:fixed!important; left:var(--tc-side)!important; top:var(--tc-head)!important; right:0!important; bottom:0!important;
    width:auto!important; height:auto!important; padding:0!important; margin:0!important; overflow:auto!important;
    background:var(--tc-bg)!important; box-sizing:border-box!important;
}
body.is-authed #main-panel{ width:100%!important; margin:0!important; padding:0!important; }
body.is-authed .user-shell{ display:block!important; width:100%!important; min-height:100%!important; grid-template-columns:none!important; gap:0!important; }
body.is-authed .user-content{ display:block!important; width:100%!important; min-width:0!important; padding:16px 20px 28px!important; margin:0!important; box-sizing:border-box!important; }

/* Sidebar */
body.is-authed .user-sidebar{
    position:fixed!important; top:0!important; left:0!important; bottom:0!important; width:var(--tc-side)!important;
    max-width:var(--tc-side)!important; margin:0!important; padding:0!important; background:#fff!important;
    border-right:1px solid var(--tc-border)!important; border-radius:0!important; box-shadow:none!important;
    z-index:120!important; overflow-x:hidden!important; overflow-y:auto!important; transform:none!important;
    display:flex!important; flex-direction:column!important;
}
body.is-authed .side-profile{
    padding:16px 16px 12px!important; margin:0!important; border-bottom:1px solid var(--tc-border)!important; background:#fff!important;
}
body.is-authed .side-brand{ margin:0 0 12px!important; max-width:100%!important; }
body.is-authed .side-brand > div{ max-width:100%!important; }
body.is-authed .side-brand .brand-shine{ max-width:100%!important; }
body.is-authed .side-account{
    padding:10px 12px!important; border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important;
    background:#f9f9f9!important; box-shadow:none!important;
}
body.is-authed .side-account-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
body.is-authed .side-account h2{ margin:0!important; font-size:14px!important; font-weight:600!important; color:var(--tc-text)!important; line-height:1.3!important; word-break:break-all; }
body.is-authed .side-level-badge{
    display:inline-flex; align-items:center; height:20px; padding:0 6px; border-radius:var(--tc-radius);
    background:var(--tc-brand-soft); color:var(--tc-brand); font-size:12px; font-weight:500; white-space:nowrap;
}
body.is-authed .side-balance-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; color:var(--tc-text-2); font-size:12px; }
body.is-authed .side-balance-row b{ color:var(--tc-text); font-size:14px; font-weight:600; }
body.is-authed .side-nav{
    display:flex!important; flex-direction:column!important; gap:2px!important; padding:8px 8px 24px!important;
    grid-template-columns:none!important; flex:1;
}
body.is-authed .side-nav .nav-group-title,
body.is-authed .side-nav .nav-group,
body.is-authed .side-nav .group-title,
body.is-authed .nav-group-label{
    margin:10px 8px 4px!important; padding:0 4px!important; color:var(--tc-text-3)!important; font-size:12px!important;
    font-weight:400!important; letter-spacing:0!important; line-height:20px!important; text-transform:none!important;
}
body.is-authed .side-nav button{
    position:relative!important; display:flex!important; align-items:center!important; width:100%!important;
    min-height:36px!important; height:auto!important; margin:0!important; padding:8px 12px 8px 16px!important;
    border:0!important; border-radius:var(--tc-radius)!important; background:transparent!important;
    color:var(--tc-text)!important; font-size:14px!important; font-weight:400!important; text-align:left!important;
    box-shadow:none!important; cursor:pointer!important; line-height:22px!important;
}
body.is-authed .side-nav button:before{ display:none!important; content:none!important; }
body.is-authed .side-nav button:hover{ background:#f3f3f3!important; color:var(--tc-text)!important; transform:none!important; }
body.is-authed .side-nav button.active{
    background:var(--tc-brand-soft)!important; color:var(--tc-brand)!important; font-weight:500!important;
}
body.is-authed .side-nav button.active:after{
    content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; background:var(--tc-brand); border-radius:0 2px 2px 0;
}

/* Cards */
body.is-authed .layui-card,
body.is-authed .panel-card,
body.is-authed .account-card,
body.is-authed .trend-shell,
body.is-authed .empty-card{
    margin-bottom:12px!important; border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important;
    background:var(--tc-card)!important; box-shadow:none!important; overflow:hidden;
}
body.is-authed .layui-card-header,
body.is-authed .panel-card > .card-hd,
body.is-authed .section-header{
    display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important;
    min-height:48px!important; margin:0!important; padding:12px 16px!important;
    border-bottom:1px solid var(--tc-border)!important; background:#fff!important; color:var(--tc-text)!important;
    font-size:14px!important; font-weight:600!important; line-height:22px!important; box-shadow:none!important;
}
body.is-authed .layui-card-header .layui-btn{ float:none!important; flex:0 0 auto; }
body.is-authed .layui-card-body{ padding:16px!important; overflow-x:auto!important; background:#fff!important; }
body.is-authed .content-grid{
    display:grid!important; grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr)!important; gap:12px!important;
    width:100%!important; margin:0 0 12px!important; align-items:stretch!important;
}
body.is-authed .section-header h3{ margin:0; font-size:14px; font-weight:600; color:var(--tc-text); line-height:22px; }
body.is-authed .section-header p,
body.is-authed .card-tip,
body.is-authed .panel-desc,
body.is-authed .dash-tip{ display:none!important; }
body.is-authed #section-dashboard-panel{ margin-top:0!important; }

/* Buttons / inputs */
body.is-authed .layui-btn{
    height:32px!important; line-height:30px!important; padding:0 16px!important; margin:0!important;
    border:1px solid var(--tc-brand)!important; border-radius:var(--tc-radius)!important;
    background:var(--tc-brand)!important; color:#fff!important; font-size:14px!important; font-weight:400!important;
    box-shadow:none!important;
}
body.is-authed .layui-btn:hover{ background:var(--tc-brand-hover)!important; border-color:var(--tc-brand-hover)!important; color:#fff!important; }
body.is-authed .layui-btn-primary, body.is-authed .layui-btn-primary:hover{
    background:#fff!important; border-color:var(--tc-border-2)!important; color:var(--tc-text)!important;
}
body.is-authed .layui-btn-primary:hover{ border-color:var(--tc-brand)!important; color:var(--tc-brand)!important; }
body.is-authed .layui-btn-normal{ background:var(--tc-brand)!important; border-color:var(--tc-brand)!important; }
body.is-authed .layui-btn-danger{ background:var(--tc-danger)!important; border-color:var(--tc-danger)!important; }
body.is-authed .layui-btn-sm{ height:28px!important; line-height:26px!important; padding:0 12px!important; font-size:12px!important; }
body.is-authed .layui-btn-xs{ height:24px!important; line-height:22px!important; padding:0 8px!important; font-size:12px!important; }
body.is-authed .layui-input, body.is-authed .layui-textarea, body.is-authed select.layui-input{
    height:32px!important; line-height:30px!important; border:1px solid var(--tc-border-2)!important;
    border-radius:var(--tc-radius)!important; background:#fff!important; color:var(--tc-text)!important;
    box-shadow:none!important; font-size:14px!important;
}
body.is-authed .layui-textarea{ height:auto!important; min-height:84px!important; line-height:1.5!important; padding:8px 12px!important; }
body.is-authed .layui-input:focus, body.is-authed .layui-textarea:focus, body.is-authed select.layui-input:focus{
    border-color:var(--tc-brand)!important; box-shadow:0 0 0 2px rgba(0,82,217,.12)!important;
}

/* Dashboard metrics - Tencent monitor style */
body.is-authed #dash-cards{
    display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:12px!important; width:100%!important; margin:0!important;
}
body.is-authed .dash-stat{
    position:relative!important; min-height:92px!important; height:auto!important; margin:0!important; padding:16px 16px 14px!important;
    border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important; background:#fff!important;
    box-shadow:none!important; display:flex!important; flex-direction:column!important; justify-content:space-between!important;
    gap:10px!important; grid-template-columns:none!important; align-items:stretch!important; overflow:hidden!important;
}
body.is-authed .dash-stat:before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--tc-brand);
}
body.is-authed .dash-stat.tone-cyan:before{ background:#00a870; }
body.is-authed .dash-stat.tone-purple:before{ background:#8b5cf6; }
body.is-authed .dash-stat.tone-gray:before{ background:#999; }
body.is-authed .dash-stat.tone-orange:before{ background:#ed7b2f; }
body.is-authed .dash-stat.tone-red:before{ background:#e34d59; }
body.is-authed .dash-stat > div:first-child{
    min-width:0!important; overflow:visible!important; display:flex!important; flex-direction:column!important; gap:8px!important;
}
body.is-authed .dash-stat .dash-stat-label, body.is-authed .dash-stat span{
    display:block!important; margin:0!important; color:var(--tc-text-2)!important; font-size:12px!important; font-weight:400!important;
    line-height:20px!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
}
body.is-authed .dash-stat .dash-stat-value, body.is-authed .dash-stat b{
    display:block!important; margin:0!important; color:var(--tc-text)!important; font-size:24px!important; font-weight:600!important;
    line-height:32px!important; font-variant-numeric:tabular-nums; letter-spacing:0; white-space:nowrap!important;
    overflow:hidden!important; text-overflow:ellipsis!important;
}
body.is-authed .dash-stat small{ display:none!important; }
body.is-authed .dash-icon{ display:none!important; }

/* Account / tables */
body.is-authed .account-balance-box,
body.is-authed .balance-hero{
    padding:0 0 16px!important; border:0!important; background:transparent!important; box-shadow:none!important;
}
body.is-authed .account-meta-list,
body.is-authed .kv-list{
    border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important; overflow:hidden; background:#fff;
}
body.is-authed .account-meta-list .kv-row,
body.is-authed .kv-list .kv-row,
body.is-authed .meta-row{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    min-height:44px; padding:10px 12px; border-bottom:1px solid var(--tc-border); background:#fff;
}
body.is-authed .account-meta-list .kv-row:last-child,
body.is-authed .kv-list .kv-row:last-child,
body.is-authed .meta-row:last-child{ border-bottom:0; }
body.is-authed .layui-table{
    margin:0!important; background:#fff!important; color:var(--tc-text)!important; min-width:0!important; width:100%!important;
}
body.is-authed .layui-table thead tr{ background:#f3f3f3!important; }
body.is-authed .layui-table th{
    height:44px!important; padding:8px 12px!important; border-width:0 0 1px!important; border-color:var(--tc-border)!important;
    background:#f3f3f3!important; color:var(--tc-text-2)!important; font-weight:500!important; font-size:12px!important;
    white-space:nowrap;
}
body.is-authed .layui-table td{
    height:48px!important; padding:10px 12px!important; border-width:0 0 1px!important; border-color:var(--tc-border)!important;
    color:var(--tc-text)!important; font-size:14px!important; background:#fff!important;
}
body.is-authed .layui-table tr:hover td{ background:#f9f9f9!important; }
body.is-authed .empty-state, body.is-authed .table-empty, body.is-authed .empty-box{
    padding:40px 16px!important; text-align:center; color:var(--tc-text-2)!important; border:0!important; background:transparent!important;
    box-shadow:none!important;
}
body.is-authed .empty-state h3, body.is-authed .empty-box h3{ margin:0 0 6px; color:var(--tc-text); font-size:14px; font-weight:600; }
body.is-authed .empty-state p, body.is-authed .empty-box p{ margin:0; color:var(--tc-text-3); font-size:12px; }

/* Plans / packs */
body.is-authed #plan-list, body.is-authed #pack-list{
    display:grid!important; grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important; gap:12px!important; width:100%!important;
}
body.is-authed .plan-card, body.is-authed .pack-card, body.is-authed .price-card{
    border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important; background:#fff!important;
    box-shadow:none!important; padding:16px!important; transition:border-color .15s ease;
}
body.is-authed .plan-card:hover, body.is-authed .pack-card:hover{ border-color:var(--tc-brand)!important; }
body.is-authed .plan-card .tag, body.is-authed .pack-card .tag, body.is-authed span.tag{
    display:inline-flex!important; align-items:center!important; height:20px!important; padding:0 6px!important;
    border-radius:var(--tc-radius)!important; background:var(--tc-brand-soft)!important; color:var(--tc-brand)!important;
    font-size:12px!important; font-weight:500!important; line-height:20px!important; margin:0 0 8px!important;
}
body.is-authed .plan-card h3, body.is-authed .pack-card h3{ margin:0 0 8px!important; font-size:16px!important; font-weight:600!important; color:var(--tc-text)!important; }
body.is-authed .plan-card .price, body.is-authed .pack-card .price{ color:var(--tc-brand)!important; font-size:28px!important; font-weight:600!important; line-height:36px!important; }
body.is-authed .plan-card .price small, body.is-authed .pack-card .price small{ font-size:12px!important; color:var(--tc-text-2)!important; font-weight:400!important; }

/* Security / portal */
body.is-authed .security-stats{ display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:12px!important; }
body.is-authed .security-stat{
    min-height:88px!important; padding:14px 16px!important; border:1px solid var(--tc-border)!important;
    border-radius:var(--tc-radius)!important; background:#fff!important; box-shadow:none!important;
}
body.is-authed .security-empty, body.is-authed .security-stream .item{
    border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important; background:#fff!important; box-shadow:none!important;
}
body.is-authed .trend-shell{ margin-top:0!important; }
body.is-authed .trend-head{ padding:12px 16px!important; border-bottom:1px solid var(--tc-border)!important; background:#fff!important; }
body.is-authed .trend-title{ font-weight:600!important; color:var(--tc-text)!important; font-size:14px!important; }
body.is-authed .legend-pill{
    border:1px solid var(--tc-border)!important; border-radius:var(--tc-radius)!important; background:#fff!important;
    color:var(--tc-text-2)!important; padding:2px 8px!important; font-size:12px!important;
}
body.is-authed #user-trend{ height:280px!important; border:0!important; border-radius:0!important; }

/* Domain mobile cards */
body.is-authed .domain-mobile-list, body.is-authed .m-domain-list{ display:none!important; }

/* Layers / dialogs — PC 可滚、不溢出；内容区独立滚动 */
body.is-authed .layui-layer{
    border-radius:var(--tc-radius)!important; box-shadow:0 6px 30px rgba(0,0,0,.12)!important; border:1px solid var(--tc-border)!important;
    max-width:min(96vw, 980px)!important; max-height:88vh!important; box-sizing:border-box!important; overflow:hidden!important;
    display:flex!important; flex-direction:column!important;
}
body.is-authed .layui-layer-title{ flex:0 0 auto!important; }
body.is-authed .layui-layer-setwin{ z-index:5!important; }
body.is-authed .layui-layer-btn{ flex:0 0 auto!important; }
body.is-authed .layui-layer > .layui-layer-content{ flex:1 1 auto!important; min-height:0!important; }
body.is-authed .layui-layer-title{
    height:48px!important; line-height:48px!important; padding:0 48px 0 16px!important; background:#fff!important;
    border-bottom:1px solid var(--tc-border)!important; color:var(--tc-text)!important; font-size:14px!important; font-weight:600!important;
    white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
}
body.is-authed .layui-layer-btn{
    padding:12px 16px!important; border-top:1px solid var(--tc-border)!important; background:#fff!important;
    display:flex!important; flex-wrap:wrap!important; gap:8px!important; justify-content:flex-end!important;
}
body.is-authed .layui-layer-btn a{
    height:32px!important; line-height:30px!important; border-radius:var(--tc-radius)!important; font-size:14px!important; margin:0!important;
}
body.is-authed .layui-layer-btn .layui-layer-btn0{ background:var(--tc-brand)!important; border-color:var(--tc-brand)!important; }
body.is-authed .layui-layer-content{
    color:var(--tc-text)!important;
    max-height:calc(100vh - 140px)!important;
    overflow:auto!important; -webkit-overflow-scrolling:touch!important; box-sizing:border-box!important;
}
body.is-authed .layui-layer-page .layui-layer-content{ overflow:auto!important; }
body.is-authed .layui-layer-content .layui-form-item{ margin-bottom:12px!important; }
body.is-authed .layui-layer-content input:not([type="checkbox"]):not([type="radio"]),
body.is-authed .layui-layer-content select,
body.is-authed .layui-layer-content textarea{ max-width:100%!important; box-sizing:border-box!important; }
body.is-authed .layui-layer-content .table-scroll,
body.is-authed .layui-layer-content .log-table-wrap{
    width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
body.is-authed .layui-layer-content .preset-grid{ display:grid; gap:10px; }
body.is-authed .layui-layer-content .preset-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
body.is-authed .layui-layer-content .preset-grid-5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
body.is-authed .layui-layer-content .section-box{
    margin-top:12px; padding:14px; border:1px solid #edf1f6; border-radius:14px; background:#fbfdff;
}
body.is-authed .layui-layer-content .section-head h4{ margin:0 0 2px; font-size:14px; font-weight:700; color:#0f172a; }
body.is-authed .layui-layer-content .section-head p{ margin:0 0 8px; font-size:12px; color:#8a98a8; }
body.is-authed .layui-layer-content .mini-note{ color:#8a98a8; font-size:12px; margin-top:6px; line-height:1.5; }
body.is-authed .layui-layer-content .origin-grid,
body.is-authed .layui-layer-content .cert-bind-grid{
    display:grid; grid-template-columns:96px minmax(0,1fr); gap:10px 12px; align-items:center; margin-top:8px;
}
body.is-authed .layui-layer-content .origin-grid label,
body.is-authed .layui-layer-content .cert-bind-grid label{
    margin:0; color:#415066; font-weight:700; white-space:nowrap;
}
body.is-authed .layui-layer-content .origin-grid .full,
body.is-authed .layui-layer-content .cert-bind-grid .full{ grid-column:2 / 3; }
body.is-authed .layui-layer-content .layer-pad{ padding:16px; box-sizing:border-box; }
body.is-authed .layui-layer-content .layer-stack{ display:grid; gap:12px; }
body.is-authed .layui-layer-content .layer-2col{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body.is-authed .layui-layer-content .layer-3col{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
body.is-authed .layui-layer-content .cond-row{
    display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.4fr) 40px;
    grid-template-areas: "field op value del";
    gap:8px; align-items:center; margin-bottom:8px;
}
body.is-authed .layui-layer-content .cond-row .c-field{ grid-area:field; width:100%!important; min-width:0!important; margin:0!important; }
body.is-authed .layui-layer-content .cond-row .c-op{ grid-area:op; width:100%!important; min-width:0!important; margin:0!important; }
body.is-authed .layui-layer-content .cond-row .c-value{ grid-area:value; width:100%!important; min-width:0!important; margin:0!important; }
body.is-authed .layui-layer-content .cond-row .c-del{
    grid-area:del; width:40px!important; min-width:40px!important; height:38px!important; line-height:38px!important;
    padding:0!important; margin:0!important; text-align:center;
}
body.is-authed .layui-layer-content .rule-toolbar{ margin:0 0 12px; }
body.is-authed .layui-layer-content .rule-toolbar-btns{
    display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
body.is-authed .layui-layer-content .rule-stats-grid{
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px;
}
body.is-authed .layui-layer-content .rule-stat-card{
    border:1px solid #e7eef7; border-radius:12px; background:#f8fbff; padding:12px 14px; min-width:0;
}
body.is-authed .layui-layer-content .rule-stat-card span{ display:block; color:#8a98a8; font-size:12px; }
body.is-authed .layui-layer-content .rule-stat-card b{
    display:block; margin-top:6px; color:#0f172a; font-size:22px; line-height:1.2; word-break:break-word;
}
body.is-authed .layui-layer-content .rule-stat-card em{
    display:block; margin-top:4px; color:#94a3b8; font-style:normal; font-size:12px;
}
body.is-authed .layui-layer-content .rule-rate-box{
    margin-top:10px; border:1px solid #edf1f6; border-radius:12px; padding:12px; background:#fbfdff;
}
body.is-authed .layui-layer-content .rule-rate-title{ font-weight:700; margin-bottom:8px; color:#0f172a; }
body.is-authed .layui-layer-content .rule-rate-grid{
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
}
body.is-authed .layui-layer-content .rule-rate-grid label{ display:block; margin-bottom:4px; color:#415066; font-size:12px; }
body.is-authed .layui-layer-content .layer-kv{
    display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; margin:0 0 12px;
    padding-bottom:10px; border-bottom:1px solid #eef2f7;
}
body.is-authed .layui-layer-content .layer-kv span{ color:#8a98a8; font-size:12px; min-width:64px; }
body.is-authed .layui-layer-content .layer-kv b{ color:#0f172a; font-size:14px; }
body.is-authed .layui-layer-content .layer-kv em{ color:#415066; font-style:normal; font-size:13px; word-break:break-word; }
body.is-authed .layui-layer-content .cert-form-grid label{ display:block; margin:0 0 6px; font-weight:700; color:#415066; }
body.is-authed .layui-layer-content .cert-form-grid textarea{ min-height:140px; font-family:Consolas,Monaco,monospace; font-size:12px; }
body.is-authed .layui-layer-content .cert-form-grid input[type=file]{ margin-top:8px; max-width:100%; }
body.is-authed .layui-layer-content select{
    text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
}
body.is-authed .layui-layer-content .switch-row{ flex-wrap:wrap; }
body.is-authed .layui-layer-content #tier-box{ display:flex; flex-wrap:wrap; gap:8px; }
body.is-authed .layui-layer-content .pay-ch,
body.is-authed .layui-layer-content .tier-btn{ margin:0!important; }
@media (max-width:720px){
    body.is-authed .layui-layer-content .layer-2col,
    body.is-authed .layui-layer-content .layer-3col{ grid-template-columns:1fr!important; }
    body.is-authed .layui-layer-content .preset-grid-4,
    body.is-authed .layui-layer-content .preset-grid-5{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    body.is-authed .layui-layer-content .cond-row{
        grid-template-columns:1fr 1fr 40px!important;
        grid-template-areas:
            "field op del"
            "value value del" !important;
        align-items:stretch;
    }
    body.is-authed .layui-layer-content .cond-row .c-del{ align-self:center!important; }
    body.is-authed .layui-layer-content .rule-stats-grid{ grid-template-columns:1fr!important; }
    body.is-authed .layui-layer-content .rule-rate-grid{ grid-template-columns:1fr 1fr!important; }
    body.is-authed .layui-layer-content .rule-toolbar-btns .layui-btn{ flex:1 1 calc(50% - 8px); }
    body.is-authed .layui-layer-content .rule-stat-card b{ font-size:18px; }
}
body.is-authed .layui-form-label{ color:var(--tc-text-2)!important; }
body.is-authed .status-pill, body.is-authed .badge, body.is-authed .layui-badge{
    border-radius:var(--tc-radius)!important; font-weight:500!important; box-shadow:none!important;
}

/* Mobile menu button */
body.is-authed #mobile-nav-btn, body.is-authed .mobile-nav-btn, body.is-authed .console-menu-btn{
    display:none!important; width:32px!important; height:32px!important; border:1px solid var(--tc-border)!important;
    border-radius:var(--tc-radius)!important; background:#fff!important; color:var(--tc-text)!important; box-shadow:none!important;
}
body.is-authed .console-mask, body.is-authed #console-mask, body.is-authed .nav-mask{
    background:rgba(0,0,0,.45)!important;
}

/* Responsive */
@media (max-width:1200px){
    body.is-authed #dash-cards{ grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    body.is-authed .content-grid{ grid-template-columns:1fr!important; }
}
@media (max-width:980px){
    body.is-authed #dash-cards{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    body.is-authed .security-stats{ grid-template-columns:1fr 1fr!important; }
}
@media (max-width:860px){
    body.is-authed{
        --tc-side:280px;
    }
    body.is-authed .layui-header{
        left:0!important; padding:0 12px!important; justify-content:flex-start!important; gap:10px!important;
    }
    body.is-authed .layui-logo{
        flex:1 1 auto!important; min-width:0!important; max-width:none!important;
        justify-content:flex-start!important; align-items:center!important;
        height:var(--tc-head)!important; line-height:normal!important; gap:0!important;
        overflow:hidden!important;
    }
    body.is-authed .layui-logo:after{ display:none!important; content:none!important; }
    body.is-authed .layui-layout-right{ margin-left:auto!important; }
    body.is-authed #nav-user{ display:none!important; }
    body.is-authed #mobile-nav-btn, body.is-authed .mobile-nav-btn, body.is-authed .console-menu-btn{
        display:inline-flex!important; align-items:center!important; justify-content:center!important; order:-1;
    }
    body.is-authed .layui-layout-admin .layui-body{ left:0!important; }
    body.is-authed .user-content{ padding:12px!important; }
    body.is-authed .layui-header{
        z-index:10060!important;
    }
    body.is-authed .console-sidebar-mask,
    body.is-authed #console-sidebar-mask{
        position:fixed!important; inset:0!important; top:0!important; left:0!important; right:0!important; bottom:0!important;
        background:rgba(0,0,0,.45)!important; z-index:10040!important; display:none!important;
        pointer-events:auto!important; border:0!important; margin:0!important; padding:0!important;
    }
    body.is-authed.console-nav-open .console-sidebar-mask,
    body.is-authed.console-nav-open #console-sidebar-mask{
        display:block!important; z-index:10040!important;
    }
    body.is-authed .user-sidebar{
        position:fixed!important; top:var(--tc-head)!important; left:0!important; right:auto!important; bottom:0!important;
        width:min(82vw,280px)!important; max-width:280px!important; height:auto!important;
        transform:translateX(-105%)!important; transition:transform .2s ease!important;
        box-shadow:none!important; z-index:10050!important;
        pointer-events:auto!important; visibility:visible!important;
        -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
    }
    body.is-authed.console-nav-open{ overflow:hidden!important; }
    body.is-authed.console-nav-open .user-sidebar{
        transform:translateX(0)!important; z-index:10050!important; visibility:visible!important;
    }
    body.is-authed .user-sidebar .brand-sub{ display:none!important; }
    body.is-authed .side-nav button{ min-height:40px!important; }
    body.is-authed #dash-cards{ grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; }
    body.is-authed .dash-stat{ min-height:84px!important; padding:12px!important; }
    body.is-authed .dash-stat .dash-stat-value, body.is-authed .dash-stat b{ font-size:20px!important; line-height:28px!important; }
    body.is-authed .layui-table{ min-width:640px!important; }
    body.is-authed .layui-card-header, body.is-authed .section-header{ padding:12px!important; flex-wrap:wrap; }
    body.is-authed .layui-card-body{ padding:12px!important; }
    body.is-authed .security-stats{ grid-template-columns:1fr!important; }
    body.is-authed #plan-list, body.is-authed #pack-list{ grid-template-columns:1fr!important; }
    body.is-authed .layui-layer{
        max-width:calc(100vw - 12px)!important; left:6px!important; right:6px!important;
        width:calc(100vw - 12px)!important; margin:0 auto!important; max-height:92vh!important;
    }
    body.is-authed .layui-layer-title{
        height:auto!important; min-height:44px!important; line-height:1.35!important;
        padding:12px 42px 12px 14px!important; white-space:normal!important;
    }
    body.is-authed .layui-layer-content{
        max-height:calc(100vh - 148px)!important; overflow:auto!important;
    }
    body.is-authed .layui-layer-btn a{ flex:1 1 calc(50% - 8px); text-align:center; }
    body.is-authed .layui-layer-content .layer-2col,
    body.is-authed .layui-layer-content .layer-3col,
    body.is-authed .layui-layer-content .origin-grid,
    body.is-authed .layui-layer-content .cert-bind-grid{ grid-template-columns:1fr!important; }
    body.is-authed .layui-layer-content .preset-grid-4,
    body.is-authed .layui-layer-content .preset-grid-5{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

@media (max-width:480px){
    body.is-authed #dash-cards{ grid-template-columns:1fr 1fr!important; }
    body.is-authed .dash-stat .dash-stat-value, body.is-authed .dash-stat b{ font-size:18px!important; }
    body.is-authed .content-grid{ gap:8px!important; }
}
        
        /* ---- TC polish: header title / plan tiles / account ---- */
        body.is-authed .layui-logo{
            display:flex!important; align-items:center!important; justify-content:flex-start!important; gap:0!important;
            position:static!important; left:auto!important; top:auto!important; width:auto!important;
            height:var(--tc-head)!important; line-height:normal!important; padding:0!important; margin:0!important;
            background:transparent!important; overflow:hidden!important;
        }
        body.is-authed .layui-logo .brand-shine,
        body.is-authed .layui-logo .brand-wordmark,
        body.is-authed .layui-logo .logo-sub,
        body.is-authed .layui-logo:after{ display:none!important; content:none!important; }
        body.is-authed .console-page-title{
            display:inline-flex!important; align-items:center!important; justify-content:flex-start!important;
            height:var(--tc-head)!important; max-width:min(56vw, 280px)!important;
            color:rgba(0,0,0,.9)!important; font-size:16px!important; font-weight:600!important;
            line-height:1.2!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
            margin:0!important; padding:0!important; vertical-align:middle!important;
            transform:none!important; position:static!important;
        }
        body:not(.is-authed) .console-page-title{ display:none!important; }
        body.is-authed .plan-tile,
        body.is-authed .pack-tile{
            position:relative!important; overflow:hidden!important; min-height:0!important;
            border:1px solid #e7e7e7!important; border-radius:3px!important;
            background:#fff!important; box-shadow:none!important; padding:16px!important;
            transform:none!important; transition:border-color .15s ease!important;
        }
        body.is-authed .plan-tile:hover,
        body.is-authed .pack-tile:hover{
            transform:none!important; box-shadow:none!important; border-color:#0052d9!important;
        }
        body.is-authed .plan-top{ margin-bottom:12px!important; align-items:center!important; }
        body.is-authed .plan-tile h3,
        body.is-authed .pack-tile h3{
            margin:0!important; font-size:16px!important; font-weight:600!important; color:rgba(0,0,0,.9)!important;
        }
        body.is-authed .plan-badge{
            min-height:20px!important; height:20px!important; padding:0 6px!important; border-radius:3px!important;
            background:#ecf2fe!important; color:#0052d9!important; font-size:12px!important; font-weight:500!important;
        }
        body.is-authed .plan-badge.pack{ background:#fff1e9!important; color:#ed7b2f!important; }
        body.is-authed .plan-price{ margin-bottom:12px!important; color:rgba(0,0,0,.4)!important; gap:4px!important; }
        body.is-authed .plan-price b{ color:#0052d9!important; font-size:28px!important; font-weight:600!important; }
        body.is-authed .plan-price span{ color:rgba(0,0,0,.4)!important; font-size:12px!important; margin-bottom:4px; }
        body.is-authed .plan-specs{ gap:0!important; margin:0 0 16px!important; border:1px solid #e7e7e7!important; border-radius:3px!important; overflow:hidden; }
        body.is-authed .plan-specs li{
            min-height:36px; padding:8px 10px; margin:0; border-bottom:1px solid #e7e7e7; font-size:12px!important; color:rgba(0,0,0,.6)!important;
        }
        body.is-authed .plan-specs li:last-child{ border-bottom:0; }
        body.is-authed .plan-specs strong{ color:rgba(0,0,0,.9)!important; font-weight:500!important; }
        body.is-authed .plan-tile .layui-btn,
        body.is-authed .pack-tile .layui-btn{
            width:100%!important; height:32px!important; line-height:30px!important; border-radius:3px!important;
            font-weight:400!important; background:#0052d9!important; border:1px solid #0052d9!important; color:#fff!important;
        }
        body.is-authed .pack-price b{ color:#ed7b2f!important; font-size:20px!important; font-weight:600!important; }
        body.is-authed .pack-tile .layui-btn[disabled],
        body.is-authed .pack-tile .layui-btn:disabled{
            background:#f3f3f3!important; border-color:#dcdcdc!important; color:rgba(0,0,0,.26)!important;
        }
        body.is-authed .account-summary{ display:flex; flex-direction:column; gap:16px; }
        body.is-authed .balance-line{
            display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:0 0 16px;
            border-bottom:1px solid #e7e7e7; background:transparent!important; box-shadow:none!important;
        }
        body.is-authed .account-eyebrow{ display:block; color:rgba(0,0,0,.4); font-size:12px; line-height:20px; margin-bottom:4px; }
        body.is-authed .balance-value{
            color:rgba(0,0,0,.9)!important; font-size:28px!important; font-weight:600!important; line-height:36px!important;
        }
        body.is-authed .account-facts{
            border:1px solid #e7e7e7!important; border-radius:3px!important; overflow:hidden; background:#fff!important;
            box-shadow:none!important; padding:0!important;
        }
        body.is-authed .fact-row{
            display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important;
            min-height:44px!important; margin:0!important; padding:10px 12px!important;
            border-bottom:1px solid #e7e7e7!important; background:#fff!important; border-radius:0!important;
            box-shadow:none!important;
        }
        body.is-authed .fact-row:last-child{ border-bottom:0!important; }
        body.is-authed .fact-row span{ color:rgba(0,0,0,.6)!important; font-size:12px!important; font-weight:400!important; }
        body.is-authed .fact-row b{ color:rgba(0,0,0,.9)!important; font-size:14px!important; font-weight:500!important; }
        body.is-authed .account-progress{
            border:1px solid #e7e7e7!important; border-radius:3px!important; padding:12px!important;
            background:#fafafa!important; box-shadow:none!important;
        }
        body.is-authed .level-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; color:rgba(0,0,0,.6); font-size:12px; }
        body.is-authed .level-row b{ color:rgba(0,0,0,.9); font-weight:500; font-size:12px; text-align:right; }
        body.is-authed .status-pill{
            display:inline-flex!important; align-items:center; height:20px; padding:0 6px; border-radius:3px!important;
            background:#e8f8f2!important; color:#00a870!important; font-style:normal!important; font-size:12px!important; font-weight:500!important;
        }
        body.is-authed .layui-progress{ height:6px!important; background:#e7e7e7!important; border-radius:3px!important; overflow:hidden; }
        body.is-authed .layui-progress-bar{ background:#0052d9!important; border-radius:3px!important; }
        body.is-authed .domain-plan-card{
            border:1px solid #e7e7e7!important; border-radius:3px!important; background:#fff!important;
            box-shadow:none!important; padding:12px!important;
        }
        @media (max-width:860px){
            body.is-authed .console-page-title{
                font-size:15px!important; max-width:calc(100vw - 140px)!important;
                height:var(--tc-head)!important; line-height:1.2!important;
            }
            body.is-authed .console-menu-btn{
                width:36px!important; height:36px!important; margin:0!important; flex:0 0 36px!important;
                align-self:center!important;
            }
            body.is-authed .balance-line{
                flex-direction:column!important; align-items:flex-start!important; gap:10px!important;
            }
            body.is-authed .balance-line .layui-btn,
            body.is-authed .balance-line .tpm-btn,
            body.is-authed #recharge-btn{
                width:auto!important; min-width:0!important; height:32px!important; line-height:30px!important; padding:0 14px!important;
            }
            body.is-authed .balance-value{ font-size:24px!important; }
        }

        
        /* ---- TC polish: certs / remaining soft cards ---- */
        body.is-authed .cert-hero,
        body.is-authed .domain-hero,
        body.is-authed .owned-pack,
        body.is-authed .security-stat,
        body.is-authed .invite-card,
        body.is-authed .ticket-card{
            border:1px solid #e7e7e7!important; border-radius:3px!important;
            background:#fff!important; box-shadow:none!important;
        }
        body.is-authed .cert-hero{
            display:flex!important; align-items:flex-start!important; justify-content:space-between!important;
            gap:16px!important; padding:16px!important; margin:0 0 12px!important;
        }
        body.is-authed .cert-hero h3{ margin:0 0 6px!important; font-size:14px!important; font-weight:600!important; color:rgba(0,0,0,.9)!important; }
        body.is-authed .cert-hero p{ margin:0!important; color:rgba(0,0,0,.6)!important; font-size:12px!important; line-height:1.6!important; max-width:640px; }
        body.is-authed .cert-actions{ display:flex!important; gap:8px!important; flex-wrap:wrap!important; align-items:center!important; justify-content:flex-end!important; }
        body.is-authed .cert-actions .layui-btn,
        body.is-authed .cert-actions .layui-input,
        body.is-authed #cert-domain-select{
            height:32px!important; line-height:30px!important; border-radius:3px!important; margin:0!important; font-weight:400!important;
        }
        body.is-authed #cert-domain-select{ min-width:180px!important; width:auto!important; }
        body.is-authed .cert-table{
            min-width:760px!important; border-collapse:collapse!important; border-spacing:0!important; background:#fff!important;
        }
        body.is-authed .cert-table thead tr{ background:#f3f3f3!important; }
        body.is-authed .cert-table th{
            border:0 0 1px 0!important; border-bottom:1px solid #e7e7e7!important; background:#f3f3f3!important;
            color:rgba(0,0,0,.6)!important; font-size:12px!important; font-weight:500!important; height:44px!important; padding:8px 12px!important;
        }
        body.is-authed .cert-table tbody tr{ background:#fff!important; box-shadow:none!important; }
        body.is-authed .cert-table td{
            border:0!important; border-bottom:1px solid #e7e7e7!important; background:#fff!important; border-radius:0!important;
            height:48px!important; padding:10px 12px!important; box-shadow:none!important;
        }
        body.is-authed .cert-table td:first-child,
        body.is-authed .cert-table td:last-child{ border-radius:0!important; }
        body.is-authed .cert-pill{
            min-height:20px!important; height:20px!important; padding:0 6px!important; border-radius:3px!important; font-weight:500!important;
        }
        body.is-authed .owned-pack{
            display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px!important; margin:0 0 8px!important;
        }
        body.is-authed .owned-pack b{ font-size:14px!important; font-weight:600!important; color:rgba(0,0,0,.9)!important; }
        body.is-authed .owned-pack span{ color:rgba(0,0,0,.4)!important; font-size:12px!important; }
        @media (max-width:860px){
            body.is-authed .cert-hero{ flex-direction:column!important; align-items:stretch!important; gap:10px!important; }
            body.is-authed .cert-actions{
                display:flex!important; flex-wrap:wrap!important; justify-content:flex-start!important; align-items:center!important; gap:8px!important;
            }
            body.is-authed #cert-domain-select,
            body.is-authed .cert-actions .layui-input{
                width:100%!important; min-width:0!important; flex:1 1 100%!important;
            }
            body.is-authed .cert-actions .layui-btn,
            body.is-authed .cert-actions .tpm-btn{
                width:auto!important; min-width:0!important; flex:0 0 auto!important;
                height:32px!important; line-height:30px!important; padding:0 12px!important;
            }
            body.is-authed .domain-hero .layui-btn,
            body.is-authed .domain-hero .tpm-btn{
                width:auto!important; height:32px!important; line-height:30px!important; padding:0 12px!important;
            }
        }


        /* ===== mobile console polish v2 ===== */
        @media (max-width:860px){
            body.is-authed table.desktop-only-table{ display:none!important; }
            body.is-authed .layui-card-body > table.layui-table + .mobile-data-list{ display:grid!important; }
            body.is-authed .layui-card-body > .mobile-data-list{ display:grid!important; }
            body.is-authed .log-table-wrap,
            body.is-authed .invite-table-wrap,
            body.is-authed #section-tickets > .layui-card > .layui-card-body > .layui-table,
            body.is-authed #section-orders > .layui-card > .layui-card-body > .layui-table,
            body.is-authed #section-coupons > .layui-card > .layui-card-body > .layui-table{
                display:none!important;
            }
            body.is-authed .mobile-data-list{
                display:grid!important; gap:10px!important; margin:0!important;
            }
            body.is-authed .m-data-card{
                border:1px solid #e7e7e7!important; border-radius:3px!important;
                box-shadow:none!important; padding:12px!important; background:#fff!important;
                overflow:visible!important; max-width:100%!important; box-sizing:border-box!important;
            }
            body.is-authed .m-data-card .m-title b{ font-size:14px!important; font-weight:600!important; }
            body.is-authed .m-data-card .m-meta{ gap:4px!important; margin:0 0 10px!important; font-size:12px!important; }
            body.is-authed .m-data-card .m-actions{
                display:block!important; width:100%!important; min-width:0!important; max-width:100%!important;
                box-sizing:border-box!important;
            }
            body.is-authed .m-data-card .domain-actions{
                display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:6px!important;
                width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important;
                box-sizing:border-box!important;
            }
            body.is-authed .m-data-card .m-actions > .layui-btn,
            body.is-authed .m-data-card .domain-actions .layui-btn{
                display:inline-flex!important; align-items:center!important; justify-content:center!important;
                width:auto!important; flex:0 0 auto!important; margin:0!important;
                height:28px!important; line-height:26px!important; padding:0 10px!important;
                font-size:12px!important; border-radius:3px!important; font-weight:400!important;
                max-width:100%!important; box-sizing:border-box!important;
            }
            body.is-authed .m-empty{
                border:1px dashed #dcdcdc!important; border-radius:3px!important;
                background:#fafafa!important; padding:28px 16px!important;
            }
            body.is-authed .m-empty b{ font-size:14px!important; font-weight:600!important; margin-bottom:6px!important; }
            body.is-authed .m-empty span{ font-size:12px!important; color:rgba(0,0,0,.4)!important; line-height:1.6!important; }
            body.is-authed .log-switcher{
                display:flex!important; flex-wrap:wrap!important; gap:8px!important; margin:0 0 12px!important;
            }
            body.is-authed .log-switcher .layui-btn{
                width:auto!important; flex:0 0 auto!important; height:30px!important; line-height:28px!important;
                padding:0 12px!important; margin:0!important;
            }
            body.is-authed .log-query-page{
                display:flex!important; flex-wrap:wrap!important; align-items:center!important;
                justify-content:space-between!important; gap:8px!important; margin-top:12px!important;
            }
            body.is-authed .log-query-page .layui-btn{
                width:auto!important; height:30px!important; line-height:28px!important; padding:0 12px!important; margin:0 0 0 6px!important;
            }
            body.is-authed .cert-actions{
                display:flex!important; flex-wrap:wrap!important; gap:8px!important; align-items:center!important;
                justify-content:flex-start!important;
            }
            body.is-authed #cert-domain-select,
            body.is-authed .cert-actions .layui-input{
                width:100%!important; flex:1 1 100%!important; min-width:0!important; height:32px!important;
            }
            body.is-authed .cert-actions .layui-btn,
            body.is-authed .cert-actions .tpm-btn{
                width:auto!important; flex:0 0 auto!important; height:32px!important; line-height:30px!important;
                padding:0 12px!important; margin:0!important;
            }
            body.is-authed .layui-card-header .layui-btn,
            body.is-authed .layui-card-header .tpm-btn,
            body.is-authed .domain-hero .layui-btn,
            body.is-authed .domain-hero .tpm-btn,
            body.is-authed #recharge-btn,
            body.is-authed .balance-line .layui-btn,
            body.is-authed .balance-line .tpm-btn,
            body.is-authed .sub-actions .layui-btn,
            body.is-authed .notify-actions .layui-btn{
                width:auto!important; flex:0 0 auto!important; min-width:0!important;
                height:30px!important; line-height:28px!important; padding:0 12px!important; margin:0!important;
            }
            /* 套餐/流量包购买 CTA 保持通栏，其它不强制 100% */
            body.is-authed .plan-tile .tpm-btn,
            body.is-authed .pack-tile .tpm-btn{
                width:100%!important; height:36px!important; line-height:34px!important;
            }
            body.is-authed .layui-layer{
                max-width:calc(100vw - 24px)!important; left:12px!important; right:12px!important;
                margin:0 auto!important;
            }
            body.is-authed .layui-layer-btn{
                display:flex!important; flex-wrap:wrap!important; gap:8px!important; justify-content:flex-end!important;
            }
            body.is-authed .layui-layer-btn a{
                flex:0 0 auto!important; min-width:72px!important; margin:0!important;
                height:32px!important; line-height:32px!important; padding:0 14px!important;
            }
            body.is-authed .layui-layer-content .layui-btn{
                width:auto!important; height:30px!important; line-height:28px!important; padding:0 12px!important;
            }
            body.is-authed .layui-layer-content .layui-input,
            body.is-authed .layui-layer-content .layui-textarea,
            body.is-authed .layui-layer-content select.layui-input{
                width:100%!important; max-width:100%!important; box-sizing:border-box!important;
            }
            body.is-authed #dash-cards,
            body.is-authed .invite-stats,
            body.is-authed .sub-status-grid,
            body.is-authed .sub-resource-grid,
            body.is-authed .notify-grid{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important;
            }
            body.is-authed .account-facts{ margin-top:12px!important; }
            body.is-authed .tx-table-wrap,
            body.is-authed #section-account .layui-table{
                display:block!important; overflow-x:auto!important; -webkit-overflow-scrolling:touch;
            }
            body.is-authed #section-account .layui-table{
                min-width:520px!important; width:max-content!important;
            }
        }


        /* ===== mobile console polish v3: buttons / columns / invite ===== */
        @media (max-width:860px){
            /* override older 520px 1-col / full-width button mess */
            body.is-authed #dash-cards{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important;
            }
            body.is-authed .invite-stats{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important;
            }
            body.is-authed .security-stats{
                grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important;
            }
            body.is-authed .dash-stat{
                min-height:76px!important; padding:12px!important;
                grid-template-columns:minmax(0,1fr) 28px!important; gap:6px!important;
            }
            body.is-authed .dash-stat .dash-stat-value,
            body.is-authed .dash-stat b{ font-size:16px!important; line-height:22px!important; }
            body.is-authed .dash-icon{ width:28px!important; height:28px!important; }

            body.is-authed .console-page-title{
                display:inline-flex!important; align-items:center!important;
                height:var(--tc-head)!important; line-height:1!important;
                font-size:15px!important; max-width:min(52vw,240px)!important;
                transform:none!important; margin:0!important; padding:0!important;
            }
            body.is-authed .layui-logo{
                align-items:center!important; height:var(--tc-head)!important;
            }

            /* card header buttons never full-bleed */
            body.is-authed .layui-card-header{
                display:flex!important; align-items:center!important; justify-content:space-between!important;
                gap:8px!important; flex-wrap:wrap!important;
            }
            body.is-authed .layui-card-header .layui-btn,
            body.is-authed .layui-card-header .tpm-btn,
            body.is-authed .workspace-actions .layui-btn,
            body.is-authed .workspace-actions .tpm-btn,
            body.is-authed .quick-actions .layui-btn{
                width:auto!important; flex:0 0 auto!important; margin:0!important;
                height:30px!important; line-height:28px!important; padding:0 12px!important;
            }

            /* domain action: Tencent-like compact hole/primary, no rainbow */
            body.is-authed .domain-actions{
                display:flex!important; flex-wrap:wrap!important; gap:6px!important;
                width:100%!important; min-width:0!important;
            }
            body.is-authed .domain-actions .layui-btn,
            body.is-authed .m-data-card .domain-actions .layui-btn{
                height:28px!important; line-height:26px!important; padding:0 10px!important;
                border-radius:3px!important; font-size:12px!important; font-weight:400!important;
                margin:0!important; flex:0 0 auto!important; width:auto!important;
                box-shadow:none!important; min-width:0!important;
            }
            body.is-authed .domain-actions .layui-btn-primary,
            body.is-authed .domain-actions .layui-btn[data-act="cache"],
            body.is-authed .domain-actions .layui-btn[data-act="dns"],
            body.is-authed .domain-actions .layui-btn[data-act="rules"],
            body.is-authed .domain-actions .layui-btn[data-act="logs"],
            body.is-authed .domain-actions .layui-btn[data-act="iplist"]{
                background:#fff!important; border:1px solid #dcdcdc!important; color:rgba(0,0,0,.9)!important;
            }
            body.is-authed .domain-actions .layui-btn[data-act="edit"],
            body.is-authed .domain-actions .layui-btn[data-act="guard"],
            body.is-authed .domain-actions .layui-btn-normal{
                background:#0052d9!important; border:1px solid #0052d9!important; color:#fff!important;
            }
            body.is-authed .domain-actions .layui-btn-danger,
            body.is-authed .domain-actions .layui-btn[data-act="del"]{
                background:#fff!important; border:1px solid #e34d59!important; color:#e34d59!important;
            }
            body.is-authed .domain-actions .dark{ background:#fff!important; border:1px solid #dcdcdc!important; color:rgba(0,0,0,.9)!important; }

            /* invite link card: stack cleanly */
            body.is-authed .invite-link-card{ padding:14px!important; border:1px solid #e7e7e7!important; border-radius:3px!important; box-shadow:none!important; }
            body.is-authed .invite-link-card-head{ flex-wrap:wrap!important; gap:4px 12px!important; margin-bottom:12px!important; }
            body.is-authed .invite-field{ margin:0 0 12px!important; }
            body.is-authed .invite-code-row,
            body.is-authed .invite-link-row{
                display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:8px!important;
            }
            body.is-authed .invite-code-row .layui-input,
            body.is-authed .invite-link-row .layui-input{
                width:100%!important; margin:0!important; height:34px!important; line-height:32px!important;
                font-size:13px!important;
            }
            body.is-authed .invite-code-row .tpm-btn,
            body.is-authed .invite-link-row .tpm-btn,
            body.is-authed .invite-actions .tpm-btn{
                width:auto!important; align-self:flex-start!important; height:30px!important; line-height:28px!important;
                padding:0 14px!important; margin:0!important;
            }
            body.is-authed .invite-stats .invite-stat{
                min-height:72px!important; padding:12px!important; border-radius:3px!important;
            }
            body.is-authed .invite-stats .invite-stat b{
                font-size:18px!important; line-height:24px!important; white-space:nowrap!important;
            }

            /* subscription cards: flat TC, no AI gradient */
            body.is-authed .sub-card{
                background:#fff!important; border:1px solid #e7e7e7!important; border-radius:3px!important;
                box-shadow:none!important; padding:14px!important;
            }
            body.is-authed .sub-card:before,
            body.is-authed .sub-card:after{ display:none!important; content:none!important; }
            body.is-authed .sub-card-grid{ grid-template-columns:1fr!important; gap:8px!important; }
            body.is-authed .sub-card-stat{
                border:1px solid #e7e7e7!important; border-radius:3px!important; background:#fafafa!important;
                padding:10px 12px!important; box-shadow:none!important;
            }
            body.is-authed .sub-card-actions,
            body.is-authed .sub-actions{
                display:flex!important; flex-wrap:wrap!important; gap:6px!important;
            }
            body.is-authed .sub-card-actions .layui-btn,
            body.is-authed .sub-actions .layui-btn{
                width:auto!important; flex:0 0 auto!important; height:28px!important; line-height:26px!important;
                padding:0 10px!important; margin:0!important; border-radius:3px!important; font-weight:400!important;
                font-size:12px!important;
            }
            body.is-authed .sub-pack-badge{
                position:static!important; display:inline-flex!important; flex-direction:column!important;
                margin:0 0 8px!important; padding:5px 8px!important; border-radius:3px!important;
                width:fit-content!important; min-width:0!important;
            }
            body.is-authed .sub-card-top{
                padding-top:0!important; padding-right:0!important; margin-bottom:6px!important; min-height:0!important;
            }
            body.is-authed .sub-card.has-pack .sub-card-top{ padding-right:0!important; }
            body.is-authed .sub-card-title{ gap:6px!important; }
            body.is-authed .sub-card-title h4{ font-size:16px!important; line-height:1.25!important; margin:0!important; }
            body.is-authed .sub-card-meta{ margin:4px 0 0!important; line-height:1.4!important; }
            body.is-authed .sub-card-grid{ margin:6px 0 10px!important; gap:6px!important; }

            /* account tx mobile cards */
            body.is-authed #section-account .log-box > .layui-table{ display:none!important; }
            body.is-authed #account-tx-mobile{ display:grid!important; gap:8px!important; }
            body.is-authed #account-tx-mobile .m-data-card .m-meta div{ gap:10px; }
            body.is-authed #account-tx-mobile .log-amount.positive{ color:#00a870; font-weight:600; }
            body.is-authed #account-tx-mobile .log-amount.negative{ color:#e34d59; font-weight:600; }

            /* cert / order / ticket header actions compact */
            body.is-authed .cert-actions .layui-btn,
            body.is-authed .cert-actions .tpm-btn{ height:30px!important; line-height:28px!important; padding:0 12px!important; }

            /* plan tiles stay 1 col, CTA full width only */
            body.is-authed #plan-list,
            body.is-authed #pack-list{ grid-template-columns:1fr!important; gap:12px!important; }
        }
        @media (min-width:861px){
            body.is-authed #account-tx-mobile{ display:none!important; }
            body.is-authed .mobile-data-list{ display:none!important; }
            body.is-authed table.desktop-only-table{ display:table!important; }
        }

/* =========================================================
   RESTORED + Tencent Cloud EO shell harmony (2026-08-01)
   full-height sidebar, continuous top bar, compact title,
   modal containment, mobile drawer
   ========================================================= */
:root,
body.is-authed {
  --tc-brand: #0052d9;
  --tc-brand-hover: #266fe8;
  --tc-brand-active: #0034b5;
  --tc-brand-soft: #ecf2fe;
  --tc-success: #00a870;
  --tc-warning: #ed7b2f;
  --tc-danger: #e34d59;
  --tc-text: rgba(0,0,0,.9);
  --tc-text-2: rgba(0,0,0,.6);
  --tc-text-3: rgba(0,0,0,.4);
  --tc-border: #e7e7e7;
  --tc-border-2: #dcdcdc;
  --tc-bg: #f3f3f3;
  --tc-card: #fff;
  --tc-radius: 3px;
  --tc-side: 232px;
  --tc-head: 48px;
  --tc-font: "PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}
html, body { height: 100%; }
body.is-authed {
  margin: 0 !important;
  background: var(--tc-bg) !important;
  color: var(--tc-text) !important;
  font-family: var(--tc-font) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  -webkit-font-smoothing: antialiased;
  overflow: hidden !important;
}
body.is-authed .layui-layout.layui-layout-admin {
  min-height: 100vh !important;
  background: var(--tc-bg) !important;
}
body.is-authed .user-sidebar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: var(--tc-side) !important;
  max-width: var(--tc-side) !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border-right: 1px solid var(--tc-border) !important;
  box-shadow: none !important;
  z-index: 1000 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.is-authed .side-profile {
  flex: 0 0 var(--tc-head) !important;
  width: 100% !important;
  height: var(--tc-head) !important;
  min-height: var(--tc-head) !important;
  max-height: var(--tc-head) !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--tc-border) !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
body.is-authed .side-brand {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: transparent !important;
}
body.is-authed .side-brand > div {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
body.is-authed .side-brand .brand-shine,
body.is-authed .side-brand .brand-shine:before {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  animation: none !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  filter: none !important;
  text-shadow: none !important;
  position: static !important;
}
body.is-authed .side-brand .brand-wordmark {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  color: var(--tc-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: normal !important;
}
body.is-authed .side-brand .brand-sub { display: none !important; }
body.is-authed .side-account { display: none !important; }
body.is-authed .side-nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  box-sizing: border-box !important;
  -webkit-overflow-scrolling: touch;
}
body.is-authed .side-nav .nav-group {
  margin: 10px 8px 4px !important;
  padding: 0 !important;
  color: var(--tc-text-3) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}
body.is-authed .side-nav button {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 12px 0 14px !important;
  border: 0 !important;
  border-radius: var(--tc-radius) !important;
  background: transparent !important;
  color: var(--tc-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  text-align: left !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
body.is-authed .side-nav button:before { display: none !important; content: none !important; }
body.is-authed .side-nav button:hover {
  background: #f3f3f3 !important;
  color: var(--tc-text) !important;
  transform: none !important;
}
body.is-authed .side-nav button.active {
  background: var(--tc-brand-soft) !important;
  color: var(--tc-brand) !important;
  font-weight: 500 !important;
}
body.is-authed .side-nav button.active:after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  bottom: 8px !important;
  width: 3px !important;
  background: var(--tc-brand) !important;
  border-radius: 0 2px 2px 0 !important;
}
body.is-authed .layui-header {
  position: fixed !important;
  top: 0 !important;
  left: var(--tc-side) !important;
  right: 0 !important;
  width: auto !important;
  height: var(--tc-head) !important;
  min-height: var(--tc-head) !important;
  max-height: var(--tc-head) !important;
  margin: 0 !important;
  padding: 0 8px 0 4px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--tc-border) !important;
  box-shadow: none !important;
  z-index: 1001 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}
body.is-authed .layui-header .console-menu-btn { display: none !important; }
body.is-authed .layui-header .layui-logo {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: var(--tc-head) !important;
  line-height: var(--tc-head) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  position: static !important;
  left: auto !important;
  width: auto !important;
  overflow: visible !important;
}
body.is-authed .layui-header .layui-logo > .brand-shine,
body.is-authed .layui-header .layui-logo > .logo-sub { display: none !important; }
body.is-authed .console-page-title,
body.is-authed #console-page-title {
  display: inline-flex !important;
  align-items: center !important;
  height: var(--tc-head) !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: var(--tc-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  position: static !important;
  transform: none !important;
}
body.is-authed .layui-header .layui-nav {
  display: flex !important;
  align-items: center !important;
  height: var(--tc-head) !important;
  background: transparent !important;
  padding: 0 8px 0 0 !important;
  margin: 0 !important;
}
body.is-authed .layui-header .layui-nav .layui-nav-item,
body.is-authed .layui-header .layui-nav .layui-nav-item > a {
  height: var(--tc-head) !important;
  line-height: var(--tc-head) !important;
  color: var(--tc-text-2) !important;
  background: transparent !important;
}
body.is-authed .layui-header .layui-nav .layui-nav-item > a:hover { color: var(--tc-brand) !important; }
body.is-authed .layui-body {
  position: fixed !important;
  top: var(--tc-head) !important;
  left: var(--tc-side) !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--tc-bg) !important;
  overflow: auto !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
}
body.is-authed .user-shell { display: block !important; min-height: 0 !important; background: transparent !important; }
body.is-authed .user-content {
  margin: 0 !important;
  padding: 16px 20px 28px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  min-width: 0 !important;
}
body.is-authed .layui-layer,
body.is-authed .layui-layer.layui-layer-page,
body.is-authed .layui-layer.layui-layer-dialog,
body.is-authed .layui-layer.layui-layer-iframe {
  position: fixed !important;
  right: auto !important;
  margin: 0 !important;
  max-width: min(96vw, 980px) !important;
  max-height: 88vh !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  /* DO NOT force fixed z-index; layui increments per open. Fixed z-index makes shade cover dialog on 2nd open. */
}
body.is-authed .layui-layer.layui-layer-msg,
body.is-authed .layui-layer.layui-layer-loading {
  position: fixed !important;
  right: auto !important;
  margin: 0 !important;
  max-width: min(96vw, 980px) !important;
  box-sizing: border-box !important;
}
body.is-authed .layui-layer-shade {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100% !important; height: 100% !important;
  margin: 0 !important; transform: none !important;
  /* z-index left to layui; JS will pair shade under its layer */
}
body.is-authed .layui-layer-title { flex: 0 0 auto !important; }
body.is-authed .layui-layer-setwin { z-index: 5 !important; }
body.is-authed .layui-layer-btn { flex: 0 0 auto !important; }
body.is-authed .layui-layer > .layui-layer-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
  box-sizing: border-box !important;
}
@media (max-width: 860px) {
  body.is-authed { --tc-side: 0px; overflow: auto !important; }
  body.is-authed .layui-header { left: 0 !important; padding: 0 8px !important; z-index: 10020 !important; }
  body.is-authed .layui-header .console-menu-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 36px !important; height: 36px !important; margin: 0 4px 0 0 !important;
    border: 0 !important; border-radius: 3px !important; background: transparent !important; flex: 0 0 auto !important;
  }
  body.is-authed .layui-body { left: 0 !important; top: var(--tc-head) !important; }
  body.is-authed .user-sidebar {
    top: var(--tc-head) !important; left: 0 !important; bottom: 0 !important;
    width: min(82vw, 280px) !important; max-width: 280px !important;
    height: auto !important; max-height: none !important;
    transform: translateX(-105%) !important; transition: transform .2s ease !important;
    z-index: 10050 !important; box-shadow: 2px 0 8px rgba(0,0,0,.08) !important;
  }
  body.is-authed.console-nav-open .user-sidebar { transform: translateX(0) !important; }
  body.is-authed .console-sidebar-mask {
    position: fixed !important; inset: var(--tc-head) 0 0 0 !important;
    background: rgba(0,0,0,.45) !important; z-index: 10040 !important;
  }
  body.is-authed .user-content { padding: 12px !important; }
  body.is-authed .console-page-title,
  body.is-authed #console-page-title {
    font-size: 15px !important; padding: 0 8px !important;
    max-width: calc(100vw - 160px) !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
  body.is-authed .layui-layer,
  body.is-authed .layui-layer.layui-layer-page,
  body.is-authed .layui-layer.layui-layer-dialog,
  body.is-authed .layui-layer.layui-layer-iframe {
    left: 6px !important; right: 6px !important;
    width: calc(100vw - 12px) !important; max-width: calc(100vw - 12px) !important;
    max-height: 92vh !important; margin: 0 !important;
  }
  body.is-authed .layui-layer-title {
    height: auto !important; min-height: 44px !important; line-height: 1.35 !important;
    padding: 12px 42px 12px 14px !important; white-space: normal !important; word-break: break-word !important;
  }
  body.is-authed .layui-layer-content { max-height: calc(100vh - 148px) !important; }
  body.is-authed .layui-layer-btn { display: flex !important; justify-content: stretch !important; flex-wrap: wrap !important; gap: 8px !important; }
  body.is-authed .layui-layer-btn a { flex: 1 1 calc(50% - 8px) !important; text-align: center !important; }
}

/* specificity fix: boot-authed used display:block on sidebar */
html.boot-authed body.is-authed .user-sidebar,
html.boot-authed body .user-sidebar,
body.is-authed .user-sidebar {
  display: flex !important;
  flex-direction: column !important;
}
html.boot-authed body.is-authed .side-nav,
body.is-authed .side-nav {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}


/* mobile sidebar full viewport height */
@media (max-width: 860px) {
  body.is-authed .user-sidebar {
    top: var(--tc-head) !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(82vw, 280px) !important;
    max-width: 280px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    transform: translateX(-105%) !important;
    transition: transform .2s ease !important;
    z-index: 10050 !important;
    box-shadow: 2px 0 8px rgba(0,0,0,.08) !important;
  }
  body.is-authed.console-nav-open .user-sidebar {
    transform: translateX(0) !important;
  }
  body.is-authed .console-sidebar-mask {
    position: fixed !important;
    inset: var(--tc-head) 0 0 0 !important;
    background: rgba(0,0,0,.45) !important;
    z-index: 10040 !important;
  }
}


/* =========================================================
   Mobile drawer: edge-aligned, full remaining height, no float
   ========================================================= */
@media (max-width: 860px) {
  body.is-authed {
    --tc-side: 0px;
  }
  body.is-authed .layui-header {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 10060 !important; /* keep header above drawer */
  }
  body.is-authed .layui-body {
    left: 0 !important;
    top: var(--tc-head) !important;
  }
  html.boot-authed body.is-authed .user-sidebar,
  html.boot-authed body .user-sidebar,
  body.is-authed .user-sidebar {
    position: fixed !important;
    top: var(--tc-head) !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(86vw, 300px) !important;
    max-width: 300px !important;
    height: auto !important;              /* pinned by top+bottom */
    min-height: calc(100vh - var(--tc-head)) !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--tc-border, #e7e7e7) !important;
    border-radius: 0 !important;
    box-shadow: none !important;          /* kill floating card look */
    background: #fff !important;
    transform: translate3d(-102%, 0, 0) !important;
    transition: transform .18s ease !important;
    z-index: 10050 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  body.is-authed.console-nav-open .user-sidebar,
  html.boot-authed body.is-authed.console-nav-open .user-sidebar {
    transform: translate3d(0, 0, 0) !important;
  }
  /* brand row becomes first nav header strip, flush */
  body.is-authed .side-profile {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    border-bottom: 1px solid var(--tc-border, #e7e7e7) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 16px !important;
  }
  body.is-authed .side-nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 8px !important;
    margin: 0 !important;
    background: #fff !important;
  }
  body.is-authed .console-sidebar-mask {
    position: fixed !important;
    top: var(--tc-head) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(0, 0, 0, 0.45) !important;
    box-shadow: none !important;
    z-index: 10040 !important;
  }
  body.is-authed .console-sidebar-mask[hidden] {
    display: none !important;
  }
}

/* FINAL mobile no-shadow, pinned height, mask under header */
body.is-authed.console-nav-open .user-sidebar,
html.boot-authed body.is-authed.console-nav-open .user-sidebar {
  box-shadow: none !important;
  border-radius: 0 !important;
  top: var(--tc-head) !important;
  height: auto !important;
  min-height: calc(100vh - var(--tc-head)) !important;
  border-right: 1px solid var(--tc-border, #e7e7e7) !important;
}
body.is-authed .console-sidebar-mask {
  top: var(--tc-head) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  border-radius: 0 !important;
}

/* FINAL: header logo brand hidden on desktop */
body.is-authed .layui-header .layui-logo .brand-shine,
body.is-authed .layui-header .layui-logo .logo-sub,
body.is-authed .layui-header .layui-logo .brand-wordmark {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
body.is-authed .layui-header .layui-logo {
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: var(--tc-head) !important;
  line-height: var(--tc-head) !important;
}
body.is-authed .console-page-title,
body.is-authed #console-page-title {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* ===== FINAL FIX 2026-08-01: page title visible, brand only in sidebar ===== */
body.is-authed .layui-header .brand-shine,
body.is-authed .layui-header .logo-sub,
body.is-authed .layui-header .brand-wordmark,
body.is-authed .layui-header .layui-logo .brand-shine,
body.is-authed .layui-header .layui-logo .logo-sub,
body.is-authed .layui-header .layui-logo .brand-wordmark {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.is-authed .layui-header .layui-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--tc-head, 48px) !important;
  line-height: var(--tc-head, 48px) !important;
  margin: 0 !important;
  padding: 0 4px 0 12px !important;
  background: transparent !important;
  overflow: visible !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
}
body.is-authed .console-page-title,
body.is-authed #console-page-title,
body.is-authed .layui-header .layui-logo > .console-page-title,
body.is-authed .layui-header .layui-logo > #console-page-title {
  display: inline-flex !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: var(--tc-head, 48px) !important;
  max-width: min(48vw, 360px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(0,0,0,.9) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  z-index: 2 !important;
}

/* sidebar brand: system font, no decorative skew/shine */
body.is-authed .side-brand .brand-shine {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  position: static !important;
  line-height: 22px !important;
}
body.is-authed .side-brand .brand-shine:before {
  display: none !important;
  content: none !important;
  animation: none !important;
}
body.is-authed .side-brand .brand-wordmark {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  color: rgba(0,0,0,.9) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
  text-shadow: none !important;
  word-break: keep-all !important;
}
@media (max-width: 860px) {
  body.is-authed .layui-header .layui-logo {
    padding: 0 4px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  body.is-authed .console-page-title,
  body.is-authed #console-page-title {
    font-size: 15px !important;
    max-width: calc(100vw - 150px) !important;
  }
}

/* ===== Tencent console dashboard layout 2026-08-01 ===== */
body.is-authed #section-dashboard-panel {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.is-authed #section-dashboard-panel .tc-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 100%;
}
body.is-authed #section-dashboard-panel .tc-page-head {
  display: none; /* top header already shows title */
}
body.is-authed #section-dashboard-panel .tc-panel {
  background: #fff !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body.is-authed #section-dashboard-panel .tc-panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-bottom: 1px solid #e7e7e7 !important;
  background: #fff !important;
}
body.is-authed #section-dashboard-panel .tc-panel-title {
  color: rgba(0,0,0,.9) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
}
body.is-authed #section-dashboard-panel .tc-panel-body {
  padding: 16px 20px 20px !important;
  background: #fff !important;
}
body.is-authed #section-dashboard-panel .tc-chart-body {
  position: relative !important;
  padding: 8px 12px 16px !important;
}
body.is-authed #section-dashboard-panel .tc-metric-grid,
body.is-authed #section-dashboard-panel #dash-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
}
body.is-authed #section-dashboard-panel .dash-stat {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 96px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 16px 16px 16px 18px !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 3px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
body.is-authed #section-dashboard-panel .dash-stat:before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: #0052d9 !important;
}
body.is-authed #section-dashboard-panel .dash-stat.tone-cyan:before { background: #00a870 !important; }
body.is-authed #section-dashboard-panel .dash-stat.tone-purple:before { background: #7c5cfc !important; }
body.is-authed #section-dashboard-panel .dash-stat.tone-gray:before { background: #999999 !important; }
body.is-authed #section-dashboard-panel .dash-stat.tone-orange:before { background: #ed7b2f !important; }
body.is-authed #section-dashboard-panel .dash-stat.tone-red:before { background: #e34d59 !important; }
body.is-authed #section-dashboard-panel .dash-stat-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0 !important;
}
body.is-authed #section-dashboard-panel .dash-stat-label,
body.is-authed #section-dashboard-panel .dash-stat span.dash-stat-label {
  display: block !important;
  margin: 0 !important;
  color: rgba(0,0,0,.4) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.is-authed #section-dashboard-panel .dash-stat-value,
body.is-authed #section-dashboard-panel .dash-stat b.dash-stat-value {
  display: block !important;
  margin: 0 !important;
  color: rgba(0,0,0,.9) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 36px !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.is-authed #section-dashboard-panel .dash-stat small,
body.is-authed #section-dashboard-panel .dash-icon {
  display: none !important;
}
body.is-authed #section-dashboard-panel .tc-alert-box {
  margin-top: 12px !important;
  padding: 10px 12px !important;
  border: 1px solid #f9d7a2 !important;
  border-radius: 3px !important;
  background: #fff8f0 !important;
}
body.is-authed #section-dashboard-panel .security-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
}
body.is-authed #section-dashboard-panel .security-stat {
  min-height: 88px !important;
  padding: 16px !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 3px !important;
  background: #fff !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
}
body.is-authed #section-dashboard-panel .security-stat .dash-stat-label,
body.is-authed #section-dashboard-panel .security-stat span {
  color: rgba(0,0,0,.4) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}
body.is-authed #section-dashboard-panel .security-stat .dash-stat-value,
body.is-authed #section-dashboard-panel .security-stat b {
  color: rgba(0,0,0,.9) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 32px !important;
  margin: 0 !important;
}
body.is-authed #section-dashboard-panel .security-stat-top,
body.is-authed #section-dashboard-panel .security-stat em {
  display: none !important;
}
body.is-authed #section-dashboard-panel .tc-reason-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
}
body.is-authed #section-dashboard-panel .security-stream {
  border: 1px solid #e7e7e7 !important;
  border-radius: 3px !important;
  background: #fff !important;
  overflow: hidden !important;
}
body.is-authed #section-dashboard-panel .security-item {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  gap: 8px 16px !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #e7e7e7 !important;
  background: #fff !important;
}
body.is-authed #section-dashboard-panel .security-item:last-child {
  border-bottom: 0 !important;
}
body.is-authed #section-dashboard-panel .security-time {
  color: rgba(0,0,0,.4) !important;
  font-size: 12px !important;
  line-height: 20px !important;
}
body.is-authed #section-dashboard-panel .security-main {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
body.is-authed #section-dashboard-panel .security-main b {
  color: rgba(0,0,0,.9) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
body.is-authed #section-dashboard-panel .security-main span {
  color: #0052d9 !important;
  font-size: 12px !important;
  background: #ecf2fe !important;
  border-radius: 3px !important;
  padding: 0 6px !important;
  line-height: 20px !important;
}
body.is-authed #section-dashboard-panel .security-detail {
  grid-column: 1 / -1 !important;
  color: rgba(0,0,0,.6) !important;
  font-size: 12px !important;
  line-height: 20px !important;
}
body.is-authed #section-dashboard-panel .security-detail em {
  display: block !important;
  margin-top: 2px !important;
  color: rgba(0,0,0,.4) !important;
  font-style: normal !important;
}
body.is-authed #section-dashboard-panel .security-empty,
body.is-authed #section-dashboard-panel .tc-empty {
  padding: 24px 16px !important;
  color: rgba(0,0,0,.4) !important;
  font-size: 13px !important;
  text-align: center !important;
}
body.is-authed #section-dashboard-panel .tc-topips {
  margin-top: 12px !important;
}
body.is-authed #section-dashboard-panel .tc-topips-title {
  margin: 0 0 8px !important;
  color: rgba(0,0,0,.6) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
body.is-authed #section-dashboard-panel .tc-topips .layui-badge {
  margin: 0 8px 8px 0 !important;
  height: 24px !important;
  line-height: 24px !important;
  padding: 0 10px !important;
  border-radius: 3px !important;
  background: #ecf2fe !important;
  color: #0052d9 !important;
  border: 0 !important;
  font-weight: 400 !important;
}
body.is-authed #section-dashboard-panel .tc-page-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 0 4px !important;
  color: rgba(0,0,0,.26) !important;
  font-size: 12px !important;
  line-height: 20px !important;
}
body.is-authed #section-dashboard-panel .tc-dot {
  color: rgba(0,0,0,.2) !important;
}
body.is-authed #section-dashboard-panel .trend-legend {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
body.is-authed #section-dashboard-panel .legend-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 24px !important;
  padding: 0 8px !important;
  border-radius: 3px !important;
  background: #f3f3f3 !important;
  color: rgba(0,0,0,.6) !important;
  font-size: 12px !important;
}
body.is-authed #section-dashboard-panel .legend-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
}
body.is-authed #section-dashboard-panel #user-trend {
  display: block !important;
  width: 100% !important;
  height: 300px !important;
  background: #fff !important;
}
@media (max-width: 1200px) {
  body.is-authed #section-dashboard-panel .tc-metric-grid,
  body.is-authed #section-dashboard-panel #dash-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 980px) {
  body.is-authed #section-dashboard-panel .tc-metric-grid,
  body.is-authed #section-dashboard-panel #dash-cards,
  body.is-authed #section-dashboard-panel .security-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.is-authed #section-dashboard-panel .security-item {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 640px) {
  body.is-authed #section-dashboard-panel .tc-panel-head,
  body.is-authed #section-dashboard-panel .tc-panel-body {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.is-authed #section-dashboard-panel .tc-metric-grid,
  body.is-authed #section-dashboard-panel #dash-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat {
    min-height: 84px !important;
    padding: 12px 12px 12px 14px !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat-value,
  body.is-authed #section-dashboard-panel .dash-stat b.dash-stat-value {
    font-size: 22px !important;
    line-height: 28px !important;
  }
  body.is-authed #section-dashboard-panel .security-stats {
    grid-template-columns: 1fr !important;
  }
  body.is-authed #section-dashboard-panel #user-trend {
    height: 240px !important;
  }
  body.is-authed #section-dashboard-panel .tc-page-foot {
    flex-direction: column !important;
    gap: 2px !important;
  }
}

/* security recent events as table rows */
body.is-authed #section-dashboard-panel .tc-table-wrap,
body.is-authed .tc-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 3px !important;
  background: #fff !important;
}
body.is-authed #section-dashboard-panel .tc-table,
body.is-authed .tc-table.security-table {
  width: 100% !important;
  min-width: 720px !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  margin: 0 !important;
  background: #fff !important;
}
body.is-authed .tc-table.security-table thead th {
  height: 40px !important;
  padding: 0 12px !important;
  background: #fafafa !important;
  border-bottom: 1px solid #e7e7e7 !important;
  color: rgba(0,0,0,.6) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: left !important;
  white-space: nowrap !important;
  line-height: 40px !important;
}
body.is-authed .tc-table.security-table tbody td {
  height: 44px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid #e7e7e7 !important;
  color: rgba(0,0,0,.9) !important;
  font-size: 13px !important;
  line-height: 20px !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body.is-authed .tc-table.security-table tbody tr:last-child td {
  border-bottom: 0 !important;
}
body.is-authed .tc-table.security-table tbody tr:hover td {
  background: #f3f3f3 !important;
}
body.is-authed .tc-table.security-table .col-time {
  color: rgba(0,0,0,.6) !important;
  font-variant-numeric: tabular-nums !important;
}
body.is-authed .tc-table.security-table .col-domain {
  font-weight: 500 !important;
}
body.is-authed .tc-table.security-table .col-detail,
body.is-authed .tc-table.security-table .col-uri {
  color: rgba(0,0,0,.6) !important;
}
body.is-authed .tc-tag {
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 8px !important;
  border-radius: 3px !important;
  background: #ecf2fe !important;
  color: #0052d9 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  white-space: nowrap !important;
}
/* hide old card layout leftovers */
body.is-authed #section-dashboard-panel .security-stream {
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
body.is-authed #section-dashboard-panel .security-item {
  display: none !important;
}
@media (max-width: 860px) {
  body.is-authed .tc-table.security-table {
    min-width: 640px !important;
  }
  body.is-authed .tc-table.security-table thead th,
  body.is-authed .tc-table.security-table tbody td {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* ===== 数据概览卡片：腾讯云 EO 简约直角风 ===== */
body.is-authed #section-dashboard-panel .tc-metric-grid,
body.is-authed #section-dashboard-panel #dash-cards{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body.is-authed #section-dashboard-panel .dash-stat,
body.is-authed #section-dashboard-panel .dash-stat.tone-blue,
body.is-authed #section-dashboard-panel .dash-stat.tone-cyan,
body.is-authed #section-dashboard-panel .dash-stat.tone-purple,
body.is-authed #section-dashboard-panel .dash-stat.tone-gray,
body.is-authed #section-dashboard-panel .dash-stat.tone-orange,
body.is-authed #section-dashboard-panel .dash-stat.tone-red{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:stretch !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:12px 14px !important;
  border:1px solid #e7e7e7 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
  gap:0 !important;
  transform:none !important;
  transition:border-color .15s ease, background-color .15s ease !important;
  grid-template-columns:none !important;
}
body.is-authed #section-dashboard-panel .dash-stat:hover{
  border-color:#cfd5de !important;
  background:#fafbfc !important;
  box-shadow:none !important;
  transform:none !important;
}
/* 去掉左侧色条 / 圆点 / 伪装饰 */
body.is-authed #section-dashboard-panel .dash-stat:before,
body.is-authed #section-dashboard-panel .dash-stat:after,
body.is-authed #section-dashboard-panel .dash-stat .dash-stat-main:before,
body.is-authed #section-dashboard-panel .dash-stat .dash-stat-main:after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  box-shadow:none !important;
}
body.is-authed #section-dashboard-panel .dash-stat-main{
  position:static !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:6px !important;
  min-width:0 !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.is-authed #section-dashboard-panel .dash-stat-label,
body.is-authed #section-dashboard-panel .dash-stat span.dash-stat-label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(0,0,0,.4) !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:18px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  opacity:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.is-authed #section-dashboard-panel .dash-stat-value,
body.is-authed #section-dashboard-panel .dash-stat b.dash-stat-value{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(0,0,0,.9) !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:28px !important;
  letter-spacing:0 !important;
  font-variant-numeric:tabular-nums !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.is-authed #section-dashboard-panel .dash-stat small,
body.is-authed #section-dashboard-panel .dash-icon{
  display:none !important;
}

/* 数据概览面板本身也更紧凑 */
body.is-authed #section-dashboard-panel .tc-panel-body:has(#dash-cards){
  padding:12px 16px 14px !important;
}
body.is-authed #section-dashboard-panel .tc-panel:has(#dash-cards) > .tc-panel-head{
  padding-bottom:8px !important;
}

@media (max-width: 1200px){
  body.is-authed #section-dashboard-panel #dash-cards,
  body.is-authed #section-dashboard-panel .tc-metric-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px){
  body.is-authed #section-dashboard-panel #dash-cards,
  body.is-authed #section-dashboard-panel .tc-metric-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat,
  body.is-authed #section-dashboard-panel .dash-stat.tone-blue,
  body.is-authed #section-dashboard-panel .dash-stat.tone-cyan,
  body.is-authed #section-dashboard-panel .dash-stat.tone-purple,
  body.is-authed #section-dashboard-panel .dash-stat.tone-gray,
  body.is-authed #section-dashboard-panel .dash-stat.tone-orange,
  body.is-authed #section-dashboard-panel .dash-stat.tone-red{
    padding:10px 12px !important;
    border-radius:0 !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat-value,
  body.is-authed #section-dashboard-panel .dash-stat b.dash-stat-value{
    font-size:18px !important;
    line-height:26px !important;
  }
}
@media (max-width: 480px){
  body.is-authed #section-dashboard-panel #dash-cards,
  body.is-authed #section-dashboard-panel .tc-metric-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:6px !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat,
  body.is-authed #section-dashboard-panel .dash-stat.tone-blue,
  body.is-authed #section-dashboard-panel .dash-stat.tone-cyan,
  body.is-authed #section-dashboard-panel .dash-stat.tone-purple,
  body.is-authed #section-dashboard-panel .dash-stat.tone-gray,
  body.is-authed #section-dashboard-panel .dash-stat.tone-orange,
  body.is-authed #section-dashboard-panel .dash-stat.tone-red{
    padding:10px !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat-label,
  body.is-authed #section-dashboard-panel .dash-stat span.dash-stat-label{
    font-size:11px !important;
    line-height:16px !important;
  }
  body.is-authed #section-dashboard-panel .dash-stat-value,
  body.is-authed #section-dashboard-panel .dash-stat b.dash-stat-value{
    font-size:16px !important;
    line-height:22px !important;
  }
}

body.is-authed .layui-layer {
  /* never pin all dialogs to same z-index */
}
body.is-authed .layui-layer-shade {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto !important;
}
/* orphan shades without active dialog must not block clicks */
body.is-authed .layui-layer-shade.oecd-shade-orphan {
  display: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
}
body.is-authed .layui-layer.layui-layer-page,
body.is-authed .layui-layer.layui-layer-dialog,
body.is-authed .layui-layer.layui-layer-iframe {
  pointer-events: auto !important;
}
body.is-authed .layui-layer .layui-layer-content,
body.is-authed .layui-layer .layui-layer-btn,
body.is-authed .layui-layer .layui-layer-title,
body.is-authed .layui-layer .layui-layer-setwin {
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2 !important;
}


/* OECD layer close safety */
body.is-authed .layui-layer{
    pointer-events:auto!important;
}
body.is-authed .layui-layer-setwin{
    position:absolute!important;
    right:10px!important;
    top:12px!important;
    z-index:40!important;
    pointer-events:auto!important;
    display:block!important;
}
body.is-authed .layui-layer-setwin a,
body.is-authed .layui-layer-close{
    pointer-events:auto!important;
    cursor:pointer!important;
    z-index:41!important;
    position:relative!important;
}
body.is-authed .layui-layer-btn{
    pointer-events:auto!important;
    position:relative!important;
    z-index:20!important;
    background:#fff!important;
}
body.is-authed .layui-layer-shade{
    pointer-events:auto!important;
}
body.is-authed .layui-layer-shade.oecd-shade-orphan{
    display:none!important;
    pointer-events:none!important;
}

/* domain logs dual-tab modal */
.domain-logs-panel{ min-height: 320px; }
.domain-logs-panel .domain-log-tabs .layui-btn.active{
  background:#0052d9 !important;
  border-color:#0052d9 !important;
  color:#fff !important;
}
.domain-access-wrap{
  max-height: min(58vh, 560px);
  overflow: auto !important;
  border: 1px solid #edf1f6;
  border-radius: 10px;
  background: #fff;
  scrollbar-width: thin !important;
}
.domain-access-wrap::-webkit-scrollbar{ width:8px; height:8px; }
.domain-access-wrap::-webkit-scrollbar-thumb{ background:#c5cdd8; border-radius:8px; }
.domain-access-table{
  min-width: 1680px !important;
  width: max-content !important;
  margin: 0 !important;
}
.domain-access-table th,
.domain-access-table td{
  white-space: nowrap;
  font-size: 12px;
  padding: 8px 10px !important;
}
@media (max-width: 768px){
  .domain-logs-panel .domain-log-tabs{ gap:6px; }
  .domain-access-wrap{ max-height: 52vh; }
}


/* ===== TOP10 双列：访问 / 拦截 ===== */
.top30-panel > .tc-panel-head.top30-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.top30-panel .top30-sub{
  margin-left:6px;
  font-size:12px;
  font-weight:500;
  color:#8b95a5;
}
.top30-head-meta{
  margin:0;
  padding:0;
  background:transparent;
  border-radius:0;
  font-size:12px;
  color:#8b95a5;
  white-space:nowrap;
}
.top30-head-meta b{
  color:#1f2329;
  font-weight:600;
}
.top30-body{
  padding-top:4px !important;
}
.top30-dual{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
}
.top30-col{
  min-width:0;
  border:1px solid #e7e7e7;
  border-radius:3px;
  background:#fff;
  overflow:hidden;
}
.top30-col-head{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px 14px 10px;
  border-bottom:1px solid #f0f0f0;
  background:linear-gradient(180deg,#fafbfc 0%,#fff 100%);
}
.top30-col-title{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:22px;
}
.top30-col-title b{
  font-size:14px;
  font-weight:600;
  color:#1f2329;
}
.top30-col-title em{
  margin-left:auto;
  font-style:normal;
  font-size:12px;
  color:#8b95a5;
  background:#f3f3f3;
  border-radius:10px;
  padding:1px 8px;
  line-height:18px;
}
.top30-col-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 auto;
}
.top30-col-dot.access{ background:#0052d9; box-shadow:0 0 0 3px rgba(0,82,217,.12); }
.top30-col-dot.block{ background:#e34d59; box-shadow:0 0 0 3px rgba(227,77,89,.12); }
.top30-tabs{
  display:flex;
  gap:0;
  flex-wrap:nowrap;
  width:100%;
  padding:0;
  background:#f5f7fa;
  border:1px solid #e7e7e7;
  border-radius:3px;
  overflow:hidden;
}
.top30-tab{
  flex:1 1 0;
  margin:0;
  padding:7px 0;
  border:0;
  border-right:1px solid #e7e7e7;
  border-radius:0;
  background:transparent;
  color:#4b5563;
  font-size:12px;
  font-weight:500;
  line-height:1;
  cursor:pointer;
  box-shadow:none !important;
  transition:background .15s ease,color .15s ease;
  white-space:nowrap;
}
.top30-tab:last-child{ border-right:0; }
.top30-tab:hover{
  background:#eef3ff;
  color:#0052d9;
}
.top30-tab.active{
  background:#fff;
  color:#0052d9;
  font-weight:600;
  box-shadow:inset 0 -2px 0 #0052d9 !important;
}
.top30-col-block .top30-tab:hover{ background:#fff1f0; color:#e34d59; }
.top30-col-block .top30-tab.active{
  color:#e34d59;
  box-shadow:inset 0 -2px 0 #e34d59 !important;
}
.top30-list{
  max-height:360px;
  overflow:auto;
  padding:0;
  background:#fff;
}
.top30-table-wrap{ width:100%; overflow:auto; }
.top30-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.top30-table th,
.top30-table td{
  padding:9px 12px;
  border-bottom:1px solid #f0f0f0;
  vertical-align:middle;
  font-size:12px;
  line-height:1.4;
}
.top30-table th{
  position:sticky;
  top:0;
  z-index:1;
  text-align:left;
  font-weight:600;
  color:#8b95a5;
  background:#fafbfc;
}
.top30-table tbody tr:hover{ background:#f7f8fa; }
.top30-table .col-rank{ width:42px; text-align:center; color:#8b95a5; }
.top30-table .col-hits{ width:72px; text-align:right; color:#1f2329; font-variant-numeric:tabular-nums; font-weight:600; }
.top30-table .col-ratio{ width:120px; }
.top30-table .col-name{
  width:auto;
  color:#1f2329;
  font-weight:500;
  overflow:hidden;
}
.top30-name{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.top30-rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:3px;
  background:#f3f3f3;
  color:#6b7280;
  font-size:12px;
  font-weight:700;
}
.top30-rank.rank-1{ background:#fff1f0; color:#e34d59; }
.top30-rank.rank-2{ background:#fff7e8; color:#ed7b2f; }
.top30-rank.rank-3{ background:#e8f8f2; color:#00a870; }
.top30-bar-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.top30-bar{
  flex:1 1 auto;
  height:6px;
  min-width:36px;
  max-width:72px;
  border-radius:99px;
  background:#eef0f3;
  overflow:hidden;
}
.top30-bar i{
  display:block;
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#0052d9,#4d82f7);
}
.top30-table-block .top30-bar i{
  background:linear-gradient(90deg,#e34d59,#f38b93);
}
.top30-bar-row em{
  flex:0 0 auto;
  min-width:38px;
  font-style:normal;
  font-size:12px;
  color:#8b95a5;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.top30-empty{
  padding:42px 16px;
  text-align:center;
  color:#b0b6bf;
  font-size:13px;
  background:#fff;
}
@media (max-width: 1100px){
  .top30-dual{ gap:12px; }
  .top30-table .col-ratio{ width:100px; }
}
@media (max-width: 900px){
  .top30-dual{ grid-template-columns:1fr; }
  .top30-panel > .tc-panel-head.top30-head{ align-items:flex-start; }
  .top30-head-meta{ white-space:normal; }
  .top30-list{ max-height:none; }
  .top30-table .col-ratio{ width:108px; }
  .top30-table th,
  .top30-table td{ padding:8px 10px; }
}
@media (max-width: 480px){
  .top30-col-head{ padding:10px; }
  .top30-tab{ font-size:11px; padding:8px 0; }
  .top30-table .col-hits{ width:58px; }
  .top30-table .col-ratio{ width:92px; }
  .top30-bar{ max-width:48px; }
}


/* 域名日志弹窗分页 */
.domain-log-pager-wrap{margin-top:10px;}
.domain-log-pager{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 0 2px;border-top:1px solid #eef2f7;color:#667085;font-size:12px;
}
.domain-log-pager-ops{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.domain-log-limit select{
  height:30px;min-width:64px;border:1px solid #d0d7de;border-radius:4px;padding:0 8px;background:#fff;color:#1f2329;
}
.domain-log-page-num{min-width:52px;text-align:center;color:#475467;}
.domain-log-pager .layui-btn[disabled]{opacity:.45;cursor:not-allowed;}
@media (max-width:768px){
  .domain-log-pager{align-items:flex-start;}
  .domain-log-pager-ops{width:100%;}
}
