/* ==========================================================================
   微信分享卡片 · 后台样式（暗色科技风）
   ========================================================================== */

:root{
    --bg:#0a0e13;
    --bg-soft:#0e131a;
    --panel:#121820;
    --panel-2:#161d27;
    --border:#1e2731;
    --border-soft:#182029;
    --text:#e7eef6;
    --text-dim:#93a1b1;
    --text-mute:#66727f;
    --accent:#2ee6a8;
    --accent-2:#38bdf8;
    --danger:#f76c6c;
    --warn:#e3b341;
    --radius:12px;
    --shadow:0 10px 30px rgba(0,0,0,.35);
}

*{margin:0;padding:0;box-sizing:border-box}

html,body{height:100%}

body{
    background:var(--bg);
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
    font-size:14px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

a{color:var(--accent);text-decoration:none}
a:hover{opacity:.85}
code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    background:rgba(46,230,168,.09);
    color:var(--accent);
    padding:2px 6px;border-radius:5px;font-size:12.5px;
    word-break:break-all;
}
em{font-style:normal}
b,strong{font-weight:600}

/* ---------- 布局 ---------- */
.layout{display:flex;min-height:100vh}

.sidebar{
    width:224px;flex:0 0 224px;
    background:linear-gradient(180deg,#0d1319,#0a0f14);
    border-right:1px solid var(--border-soft);
    display:flex;flex-direction:column;
    position:sticky;top:0;height:100vh;
}

.brand{
    display:flex;align-items:center;gap:11px;
    padding:20px 18px 18px;
    border-bottom:1px solid var(--border-soft);
}
.brand-dot{
    width:11px;height:11px;border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 4px rgba(46,230,168,.13),0 0 16px rgba(46,230,168,.85);
    flex:0 0 auto;
    animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse{
    0%,100%{box-shadow:0 0 0 4px rgba(46,230,168,.13),0 0 14px rgba(46,230,168,.7)}
    50%{box-shadow:0 0 0 6px rgba(46,230,168,.06),0 0 22px rgba(46,230,168,1)}
}
.brand strong{display:block;font-size:14.5px;letter-spacing:.4px}
.brand small{
    display:block;font-size:9.5px;letter-spacing:1.6px;
    color:var(--text-mute);text-transform:uppercase;margin-top:2px;
}

.nav{padding:14px 10px;flex:1;overflow-y:auto}
.nav a{
    display:flex;align-items:center;gap:10px;
    padding:10px 12px;border-radius:10px;
    color:var(--text-dim);font-size:13.5px;
    border:1px solid transparent;
    transition:.16s;
    margin-bottom:3px;
}
.nav a:hover{background:rgba(255,255,255,.035);color:var(--text)}
.nav a.on{
    background:linear-gradient(90deg,rgba(46,230,168,.13),rgba(46,230,168,.02));
    border-color:rgba(46,230,168,.22);
    color:var(--accent);
    box-shadow:inset 2px 0 0 var(--accent);
}
.ico{
    width:15px;height:15px;flex:0 0 auto;position:relative;
    border-radius:4px;border:1.5px solid currentColor;opacity:.85;
}
.ico-dash{border-radius:3px;border-style:dashed}
.ico-card{border-radius:3px}
.ico-card::after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:1.5px;background:currentColor}
.ico-set{border-radius:50%}
.ico-set::after{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor}

.sidebar-foot{
    padding:14px;border-top:1px solid var(--border-soft);
    display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.who{display:flex;align-items:center;gap:9px;min-width:0}
.who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}
.who small{display:block;font-size:11px;color:var(--text-mute);white-space:nowrap}
.avatar{
    width:32px;height:32px;flex:0 0 auto;border-radius:9px;
    background:linear-gradient(135deg,rgba(46,230,168,.22),rgba(56,189,248,.18));
    border:1px solid rgba(46,230,168,.3);
    color:var(--accent);font-weight:700;font-size:14px;
    display:flex;align-items:center;justify-content:center;
}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:18px 26px;border-bottom:1px solid var(--border-soft);
    background:rgba(10,14,19,.82);backdrop-filter:blur(8px);
    position:sticky;top:0;z-index:5;
}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.topbar h1{font-size:16.5px;font-weight:600;letter-spacing:.3px}
.tag{
    font-size:11.5px;color:var(--text-mute);
    border:1px solid var(--border);border-radius:20px;padding:4px 11px;
    font-family:ui-monospace,Menlo,Consolas,monospace;
}
.page{padding:22px 26px 60px}

/* ---------- 栅格 ---------- */
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
@media (max-width:1100px){.grid-2,.grid-3{grid-template-columns:1fr}}

.form-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.col-main,.col-side{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (max-width:1000px){.form-grid{grid-template-columns:1fr}}

/* ---------- 面板 ---------- */
.panel{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:18px 18px 20px;
    position:relative;
}
.panel-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex-wrap:wrap;margin-bottom:14px;
}
.panel-head h2{
    font-size:14.5px;font-weight:600;letter-spacing:.3px;
    display:flex;align-items:center;gap:8px;
}
.panel-head h2::before{
    content:"";width:3px;height:14px;border-radius:2px;
    background:linear-gradient(180deg,var(--accent),var(--accent-2));
}
.panel-head h2 em{color:var(--danger);font-size:13px}
.panel-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.count{
    font-size:11.5px;color:var(--accent);
    background:rgba(46,230,168,.1);border:1px solid rgba(46,230,168,.22);
    border-radius:20px;padding:1px 9px;font-weight:500;
}
.badge{
    font-size:11.5px;color:var(--text-mute);
    border:1px solid var(--border);border-radius:20px;padding:3px 10px;
}

/* ---------- 统计卡 ---------- */
.stat{
    background:linear-gradient(160deg,var(--panel-2),var(--panel));
    border:1px solid var(--border);border-radius:var(--radius);
    padding:18px;position:relative;overflow:hidden;
}
.stat::after{
    content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;
    border-radius:50%;background:radial-gradient(circle,rgba(46,230,168,.12),transparent 70%);
}
.stat-label{display:block;font-size:12.5px;color:var(--text-dim)}
.stat-value{
    display:block;font-size:30px;font-weight:700;letter-spacing:.5px;
    margin:6px 0 4px;line-height:1.15;
    font-family:ui-monospace,Menlo,Consolas,monospace;
}
.stat-value.ok{color:var(--accent)}
.stat-value.warn{color:var(--warn);font-size:22px}
.stat-sub{display:block;font-size:12px;color:var(--text-mute)}

/* ---------- 提示条 ---------- */
.alert{
    border-radius:10px;padding:12px 15px;font-size:13px;line-height:1.7;
    margin-bottom:16px;border:1px solid;
}
.alert-success{background:rgba(46,230,168,.08);border-color:rgba(46,230,168,.3);color:#7ef0c6}
.alert-error{background:rgba(247,108,108,.09);border-color:rgba(247,108,108,.32);color:#ffa8a8}
.alert-warn{background:rgba(227,179,65,.08);border-color:rgba(227,179,65,.3);color:#f0d585}
.alert-info{background:rgba(56,189,248,.07);border-color:rgba(56,189,248,.26);color:#9ad9f7}

/* ---------- 按钮 ---------- */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    border-radius:9px;border:1px solid transparent;
    padding:9px 16px;font-size:13.5px;font-family:inherit;
    cursor:pointer;transition:.16s;white-space:nowrap;line-height:1.4;
}
.btn-sm{padding:7px 12px;font-size:13px}
.btn-xs{padding:4px 10px;font-size:12px}
.btn-block{display:flex;width:100%;margin-top:8px}
.btn-primary{
    background:linear-gradient(135deg,var(--accent),#1fbf8b);
    color:#05231a;font-weight:600;
    box-shadow:0 5px 16px rgba(46,230,168,.24);
}
.btn-primary:hover{filter:brightness(1.07);opacity:1}
.btn-ghost{
    background:rgba(255,255,255,.04);border-color:var(--border);
    color:var(--text-dim);
}
.btn-ghost:hover{background:rgba(255,255,255,.075);color:var(--text);opacity:1}
.btn-danger{
    background:rgba(247,108,108,.12);border-color:rgba(247,108,108,.32);color:#ffa8a8;
}
.btn-danger:hover{background:rgba(247,108,108,.2);opacity:1}
.inline{display:inline-block}

/* ---------- 表单 ---------- */
.field{display:block;margin-bottom:16px}
.field>span{display:block;font-size:13px;color:var(--text-dim);margin-bottom:7px}
.field>span em{color:var(--danger)}
.field input[type=text],.field input[type=password],.field input[type=number],
.field textarea,select,input[type=text],input[type=password]{
    width:100%;background:var(--bg-soft);
    border:1px solid var(--border);border-radius:9px;
    color:var(--text);padding:10px 13px;font-size:13.5px;
    font-family:inherit;transition:.16s;
}
.field input:focus,.field textarea:focus{
    outline:none;border-color:rgba(46,230,168,.55);
    box-shadow:0 0 0 3px rgba(46,230,168,.1);
}
.field textarea{resize:vertical;line-height:1.7}
.field small,.hint{display:block;font-size:12px;color:var(--text-mute);margin-top:6px;line-height:1.7}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:760px){.field-row{grid-template-columns:1fr}}

.switch-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:11px 0;border-top:1px solid var(--border-soft);
    font-size:13.5px;color:var(--text-dim);cursor:pointer;
}
.switch{
    width:42px;height:23px;border-radius:20px;flex:0 0 auto;
    background:rgba(255,255,255,.09);border:1px solid var(--border);
    position:relative;cursor:pointer;transition:.2s;
}
.switch::after{
    content:"";position:absolute;top:2px;left:2px;
    width:17px;height:17px;border-radius:50%;
    background:#6b7683;transition:.2s;
}
.switch.on{background:rgba(46,230,168,.26);border-color:rgba(46,230,168,.5)}
.switch.on::after{left:21px;background:var(--accent);box-shadow:0 0 10px rgba(46,230,168,.75)}

/* ---------- 表格 ---------- */
.table-wrap{overflow-x:auto;margin:0 -4px}
.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.table th{
    text-align:left;font-weight:500;font-size:12.5px;color:var(--text-mute);
    padding:9px 12px;border-bottom:1px solid var(--border);
    white-space:nowrap;text-transform:uppercase;letter-spacing:.6px;
}
.table td{padding:13px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle}
.table tr:last-child td{border-bottom:none}
.table tbody tr:hover{background:rgba(255,255,255,.018)}
.row-title{display:block;font-size:14px;margin-bottom:3px}
.row-desc{font-size:12.5px;color:var(--text-dim);line-height:1.6}
.row-link{font-size:11.5px;color:var(--text-mute);margin-top:3px;word-break:break-all}

.thumb-sm{
    width:40px;height:40px;border-radius:9px;overflow:hidden;flex:0 0 auto;
    background:var(--bg-soft);border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;
}
.thumb-sm.big{width:52px;height:52px}
.thumb-sm img{width:100%;height:100%;object-fit:cover;display:block}
.noimg{font-size:10.5px;color:var(--text-mute)}

.copy-box{display:flex;gap:6px;align-items:center}
.copy-box input{
    flex:1;min-width:0;background:var(--bg-soft);border:1px solid var(--border);
    border-radius:7px;color:var(--text-dim);padding:6px 9px;font-size:12px;
    font-family:ui-monospace,Menlo,Consolas,monospace;
}
.copy-box.wide input{font-size:12.5px;padding:8px 10px;color:var(--text)}
.mini-link{display:inline-block;font-size:11.5px;color:var(--text-mute);margin-top:5px}
.mini-link:hover{color:var(--accent)}

.search{display:flex;gap:7px;align-items:center}
.search input{
    background:var(--bg-soft);border:1px solid var(--border);border-radius:9px;
    color:var(--text);padding:7px 12px;font-size:13px;width:190px;font-family:inherit;
}
.search input:focus{outline:none;border-color:rgba(46,230,168,.5)}

.pager{display:flex;align-items:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.page-num{
    min-width:32px;height:32px;padding:0 8px;border-radius:8px;
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--border);color:var(--text-dim);font-size:13px;
}
.page-num.on{
    background:rgba(46,230,168,.14);border-color:rgba(46,230,168,.42);color:var(--accent);
}
.empty{
    padding:36px 10px;text-align:center;color:var(--text-mute);font-size:13.5px;
}
.muted{color:var(--text-mute);font-size:12.5px}

/* ---------- 上传 ---------- */
.uploader{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.uploader-preview{
    width:200px;height:200px;flex:0 0 auto;border-radius:14px;overflow:hidden;
    background:var(--bg-soft);border:1.5px dashed var(--border);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    transition:.18s;position:relative;
}
.uploader-preview:hover{border-color:rgba(46,230,168,.5);background:rgba(46,230,168,.03)}
.uploader-preview.drag{border-color:var(--accent);background:rgba(46,230,168,.07)}
.uploader-preview img{width:100%;height:100%;object-fit:cover;display:block}
.uploader-empty{text-align:center;color:var(--text-mute);padding:0 14px}
.uploader-empty span{
    display:block;font-size:34px;line-height:1;color:var(--accent);
    opacity:.75;margin-bottom:9px;font-weight:200;
}
.uploader-empty p{font-size:12.5px;line-height:1.6}
.uploader-side{flex:1;min-width:200px;display:flex;flex-direction:column;gap:9px;align-items:flex-start}

/* ---------- 步骤 / 流程 ---------- */
.steps{list-style:none;counter-reset:s}
.steps li{
    position:relative;padding:0 0 14px 30px;counter-increment:s;
    border-left:1px solid var(--border);margin-left:9px;
}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps li::before{
    content:counter(s);position:absolute;left:-10px;top:0;
    width:20px;height:20px;border-radius:50%;
    background:var(--panel-2);border:1px solid rgba(46,230,168,.4);
    color:var(--accent);font-size:11px;font-weight:700;
    display:flex;align-items:center;justify-content:center;
}
.steps b{display:block;font-size:13.5px;margin-bottom:3px}
.steps span{display:block;font-size:12.5px;color:var(--text-dim);line-height:1.75}
.steps.small li{padding-bottom:11px}

.recent{list-style:none;display:flex;flex-direction:column;gap:11px}
.recent li{display:flex;align-items:center;gap:11px}
.recent-main{flex:1;min-width:0}
.recent-main b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-main small{font-size:12px;color:var(--text-mute);display:flex;align-items:center;gap:5px}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--text-mute);flex:0 0 auto}
.dot.ok{background:var(--accent);box-shadow:0 0 8px rgba(46,230,168,.8)}
.dot.off{background:#4a5462}

.flow{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.flow-step{
    flex:1;min-width:180px;display:flex;gap:11px;align-items:flex-start;
    background:var(--panel-2);border:1px solid var(--border-soft);
    border-radius:11px;padding:14px;
}
.flow-step i{
    width:24px;height:24px;flex:0 0 auto;border-radius:8px;
    background:linear-gradient(135deg,rgba(46,230,168,.2),rgba(56,189,248,.16));
    border:1px solid rgba(46,230,168,.3);color:var(--accent);
    font-style:normal;font-size:12px;font-weight:700;
    display:flex;align-items:center;justify-content:center;
}
.flow-step b{display:block;font-size:13.5px;margin-bottom:3px}
.flow-step span{display:block;font-size:12px;color:var(--text-mute);line-height:1.65;word-break:break-all}
.flow-arrow{
    align-self:center;width:16px;height:1.5px;background:var(--border);
    position:relative;flex:0 0 auto;
}
.flow-arrow::after{
    content:"";position:absolute;right:-1px;top:-3px;
    border-left:5px solid var(--border);border-top:4px solid transparent;border-bottom:4px solid transparent;
}
@media (max-width:820px){.flow-arrow{display:none}}

/* ---------- 诊断列表 ---------- */
.diag{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:14px}
.diag li{font-size:12.5px;line-height:1.65}
.diag b{display:inline;margin-right:6px;color:var(--text-dim)}
.diag em{display:block;color:var(--text-mute);word-break:break-all;padding-left:14px;margin-top:2px}
.diag a{color:var(--accent)}

/* ---------- 登录页 ---------- */
.body-login{
    display:flex;align-items:center;justify-content:center;
    background:
        radial-gradient(60% 50% at 50% 0%,rgba(46,230,168,.09),transparent 70%),
        radial-gradient(50% 40% at 80% 100%,rgba(56,189,248,.07),transparent 70%),
        var(--bg);
    padding:24px;
}
.login-wrap{width:100%;max-width:392px}
.login-card{
    background:linear-gradient(165deg,var(--panel-2),var(--panel));
    border:1px solid var(--border);border-radius:18px;
    padding:32px 28px 26px;box-shadow:var(--shadow);
}
.login-brand{text-align:center;margin-bottom:24px}
.login-brand .brand-dot{display:inline-block;margin-bottom:14px}
.login-brand h1{font-size:19px;letter-spacing:.5px}
.login-brand p{font-size:12.5px;color:var(--text-mute);margin-top:5px}
.login-card .btn-block{margin-top:22px;padding:12px}
.login-tip{
    margin-top:18px;font-size:11.5px;color:var(--text-mute);
    text-align:center;line-height:1.75;
}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#202932;border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:#2b3641}


/* ---------- 微信卡片预览（模拟微信聊天里的链接卡片） ---------- */
.wxcard{
    display:flex;gap:10px;align-items:stretch;
    background:#f7f7f7;border-radius:6px;padding:10px 12px;
    margin-bottom:13px;
}
.wxcard-info{
    flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;
}
.wxcard-info b{
    font-size:13.5px;font-weight:400;color:#191919;line-height:1.45;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wxcard-info span{
    font-size:11.5px;color:#a3a3a3;line-height:1.5;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wxcard-thumb{
    width:56px;height:56px;flex:0 0 auto;border-radius:4px;overflow:hidden;
    background:#e6e6e6;display:flex;align-items:center;justify-content:center;
}
.wxcard-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wxcard-thumb .noimg{color:#aaa;font-size:10.5px}

/* ---------- 移动端导航 ---------- */
.nav-toggle,.nav-close{display:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;cursor:pointer;padding:0;color:var(--text)}
.nav-toggle{
    width:38px;height:38px;flex:0 0 auto;border-radius:10px;
    border:1px solid var(--border);background:rgba(255,255,255,.04);
    align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{
    display:block;width:16px;height:1.5px;border-radius:2px;background:var(--text-dim);
}
.nav-close{
    margin-left:auto;width:34px;height:34px;border-radius:9px;
    border:1px solid var(--border);background:rgba(255,255,255,.04);
    color:var(--text-dim);font-size:22px;line-height:1;
    align-items:center;justify-content:center;
}
.sidebar-backdrop{
    position:fixed;inset:0;z-index:35;
    background:rgba(0,0,0,.55);backdrop-filter:blur(2px);
}
html.nav-lock,html.nav-lock body{overflow:hidden}

@media (min-width:901px){
    .sidebar-backdrop{display:none!important}
    .nav-close{display:none!important}
}

/* ---------- 自适应 ---------- */
@media (max-width:900px){
    .nav-toggle{display:inline-flex}
    .nav-close{display:inline-flex}
    .brand{padding-right:12px}

    .sidebar{
        position:fixed;left:0;top:0;bottom:0;z-index:40;
        width:min(280px,86vw);flex:none;
        transform:translateX(-105%);
        transition:transform .22s ease;
        box-shadow:none;
        height:100%;
        height:100dvh;
    }
    .layout.nav-open .sidebar{
        transform:translateX(0);
        box-shadow:12px 0 40px rgba(0,0,0,.45);
    }

    .topbar{padding:14px 16px;gap:10px}
    .topbar h1{font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .topbar .tag{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .page{padding:16px 14px 48px}

    .panel{padding:15px 14px 16px}
    .panel-actions{width:100%}
    .panel-actions .search{flex:1;min-width:0;width:100%}
    .search{flex-wrap:wrap}
    .search input{width:100%;flex:1;min-width:0}

    .stat-value{font-size:26px}
    .uploader-preview{width:160px;height:160px}
}

@media (max-width:640px){
    .body-login{padding:16px;align-items:flex-start;padding-top:max(24px,env(safe-area-inset-top))}
    .login-card{padding:26px 18px 22px;border-radius:16px}
    .login-brand h1{font-size:17.5px}

    .topbar .tag{display:none}
    .page{padding:14px 12px 40px}
    .stat{padding:14px}
    .stat-value{font-size:24px}
    .stat-value.warn{font-size:18px}

    .uploader{flex-direction:column;align-items:stretch}
    .uploader-preview{width:100%;max-width:280px;height:auto;aspect-ratio:1;margin:0 auto}
    .uploader-side{width:100%;align-items:stretch}
    .uploader-side .btn{width:100%}

    .copy-box{flex-wrap:wrap}
    .copy-box .btn{width:100%}

    /* 卡片列表改为块状，避免窄屏横向硬滚 */
    .table-wrap{margin:0;overflow:visible}
    .table,.table tbody,.table tr,.table td{display:block;width:100%}
    .table thead{display:none}
    .table tr{
        background:var(--panel-2);
        border:1px solid var(--border);
        border-radius:12px;
        padding:12px;
        margin-bottom:12px;
    }
    .table tr:last-child{margin-bottom:0}
    .table td{
        border:0;padding:8px 0;
        display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    }
    .table td:first-child{padding-top:0}
    .table td:last-child{padding-bottom:0}
    .table td::before{
        content:attr(data-label);
        flex:0 0 auto;min-width:64px;
        font-size:12px;color:var(--text-mute);padding-top:2px;
    }
    .table td[data-label="缩略图"],
    .table td[data-label="分享内容"]{
        flex-direction:column;align-items:stretch;
    }
    .table td[data-label="缩略图"]::before,
    .table td[data-label="分享内容"]::before{margin-bottom:6px}
    .table td[data-label="操作"]{align-items:center}
    .table td[data-label="操作"] .inline{display:inline-flex}
    .table tbody tr:hover{background:var(--panel-2)}

    .sidebar-foot{flex-wrap:wrap}
    .who b{max-width:140px}
}

