:root{--green:#0BA66D;--bg:#f5f6f8;--line:#e7e9ee;--ink:#222}
*{box-sizing:border-box}
body{margin:0;display:flex;min-height:100vh;font-family:system-ui,"Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink)}
.side{width:220px;background:#fff;border-right:1px solid var(--line);padding:16px;display:flex;flex-direction:column}
.brand{font-weight:700;color:var(--green);font-size:18px;margin-bottom:20px}
nav a{display:block;padding:10px 12px;border-radius:8px;color:#333;text-decoration:none;margin:2px 0;font-size:14px}
nav a.on{background:var(--green);color:#fff}
nav a.soon{color:#c2c2ca;pointer-events:none}
.platform-nav{font-weight:600}
.platform-nav.xhs.on{background:#e94b67}
.nav-more{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.nav-more summary{list-style:none;cursor:pointer;padding:10px 12px;border-radius:8px;color:#555;font-size:14px;user-select:none}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary:after{content:'⌄';float:right;color:#aaa}
.nav-more[open] summary:after{content:'⌃'}
.nav-more a{padding-left:28px;color:#666}
.grp{font-size:11px;color:#b7b7bf;letter-spacing:.05em;margin:15px 8px 5px;font-weight:600}
.grp:first-child{margin-top:4px}
.side-foot{margin-top:auto;color:var(--green);font-size:13px;padding-top:16px}
main{flex:1;min-width:0}
.top{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line)}
.top h1{margin:0;font-size:20px}
.top .logout{color:#888;text-decoration:none;font-size:13px}
.body{padding:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}
.stat{display:inline-block;min-width:120px;margin-right:16px}
.stat b{display:block;font-size:28px;color:var(--green)}
input,select{padding:8px;border:1px solid var(--line);border-radius:6px;width:100%;margin:4px 0}
button{background:var(--green);color:#fff;border:0;padding:10px 16px;border-radius:8px;cursor:pointer}
table{width:100%;border-collapse:collapse}
td,th{padding:8px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.login-page{display:flex;align-items:center;justify-content:center;background:var(--bg)}
.login-card{width:320px}
.login-card h2{margin:8px 0 12px;font-size:18px}

/* ===== 运营工作台 dashboard ===== */
.wb .greet{font-size:22px;margin:0 0 16px;font-weight:600}
.wb .greet b{color:var(--green);font-size:28px}
.wb-top{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}
.wb-left{min-width:0}
.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.statcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px}
.statcard .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.statcard .lbl{color:#888;font-size:14px}
.statcard .num{font-size:28px;font-weight:700;line-height:1.1}
.card h3{margin:0 0 14px;font-size:16px}
.steps{display:flex;align-items:flex-start;justify-content:space-between;gap:2px}
.step{text-align:center;flex:1;min-width:0}
.step .sic{width:48px;height:48px;border-radius:50%;background:#eefaf3;display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 8px}
.step.pend .sic{background:#f1f1f4;filter:grayscale(1);opacity:.65}
.step .slbl{font-size:13px;color:#555;white-space:nowrap}
.step .snum{font-size:20px;font-weight:700;color:var(--green)}
.step.pend .snum{color:#c2c2c8}
.step .stag{font-size:11px;color:#c99b3a;background:#fdf6e8;border-radius:4px;display:inline-block;padding:0 5px;margin-top:3px}
.arrow{color:#d0d0d6;padding-top:12px;font-size:20px;flex:none}
.prog{height:6px;background:#eee;border-radius:3px;margin:18px 0 6px}
.prog .bar{height:6px;background:var(--green);border-radius:3px;transition:width .3s}
.progtxt{text-align:center;color:#888;font-size:13px}
.ai{display:flex;flex-direction:column}
.ai .tip{margin:6px 0 12px}
.ai .tt{font-weight:600;font-size:14px}
.ai .td{color:#8a8a8a;font-size:13px;margin-top:2px}
.aibtn{margin-top:auto;background:var(--green);color:#fff;text-align:center;padding:11px;border-radius:8px;text-decoration:none;font-size:14px}
.wb-mid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.wb-bot{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.opp{width:100%;font-size:14px}
.opp th{color:#999;font-weight:500;font-size:13px;border-bottom:1px solid var(--line)}
.opp td{border-bottom:1px solid var(--line)}
.pill{background:#eef4ff;color:#3b6fd4;font-size:12px;padding:2px 8px;border-radius:10px}
.muted{color:#a6a6ac;font-size:12px}
.mini{background:#eefaf3;color:var(--green);padding:3px 10px;border-radius:6px;text-decoration:none;font-size:13px;white-space:nowrap}
.foot{margin-top:10px}
.calitem{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.calitem b{font-size:14px}
.empty-chart{height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#8a8a8a;background:#faf9f6;border-radius:8px}
.empty-chart .ec-ic{font-size:34px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.metric .mic{font-size:22px}
.metric .mlbl{color:#888;font-size:13px;margin-top:4px}
.metric .mv{font-size:26px;font-weight:700}
@media(max-width:980px){.wb-top,.wb-mid,.wb-bot{grid-template-columns:1fr}.statrow{grid-template-columns:1fr}}

/* ===== 公众号 / 小红书独立创作页 ===== */
.platform-page{max-width:1280px;margin:0 auto}
.platform-hero,.topic-strip,.history-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:18px}
.platform-hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.5fr);gap:30px;align-items:center}
.platform-heading{display:flex;gap:14px;align-items:flex-start}
.platform-icon{width:48px;height:48px;border-radius:14px;background:#eefaf3;display:flex;align-items:center;justify-content:center;font-size:23px;flex:none}
.platform-xhs .platform-icon{background:#fff0f3}
.platform-heading h2{font-size:22px;margin:2px 0 7px}
.platform-heading p,.section-title p,.history-head p{font-size:13px;color:#888;line-height:1.6;margin:0}
.quick-create label{display:block;font-weight:700;font-size:15px;margin-bottom:8px}
.create-row{display:flex;gap:10px}
.create-row input{height:46px;margin:0;padding:0 14px;font-size:14px;border-color:#dfe3e8}
.create-row button{min-width:112px;font-weight:600;font-size:14px}
.platform-xhs .create-row button{background:#e94b67}
.create-help{font-size:12px;color:#aaa;margin-top:7px}
.notice{padding:12px 16px;border-radius:10px;background:#fff8e8;color:#9a6b12;border:1px solid #f4dfaa;margin-bottom:16px}
.writing-now{display:flex;align-items:center;gap:13px;background:#f2faf6;border:1px solid #cdebdc;border-radius:13px;padding:15px 19px;margin-bottom:18px}
.platform-xhs .writing-now{background:#fff5f6;border-color:#f3cfd7}
.writing-now b{font-size:14px}.writing-now p{font-size:13px;color:#777;margin:3px 0 0}
.writing-spin{width:19px;height:19px;border:2px solid #c7ded2;border-top-color:var(--green);border-radius:50%;animation:platform-spin .8s linear infinite;flex:none}
.platform-xhs .writing-spin{border-color:#f1cbd3;border-top-color:#e94b67}
@keyframes platform-spin{to{transform:rotate(360deg)}}
.section-title,.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.section-title h3,.history-head h3{font-size:17px;margin:0 0 4px}
.section-title a{font-size:13px;color:var(--green);text-decoration:none;white-space:nowrap}
.topic-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.topic-chip{background:#f3f5f7;color:#444;border:1px solid transparent;padding:8px 13px;font-weight:400}
.topic-chip:hover{background:#eefaf3;border-color:#bfe6d3;color:#087d52}
.platform-xhs .topic-chip:hover{background:#fff1f4;border-color:#f2c5cf;color:#c93d58}
.empty-inline{font-size:13px;color:#999}
.history-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#888;white-space:nowrap}
.history-stats b{font-size:17px;color:#222;margin-right:3px}
.content-list{margin-top:16px;border-top:1px solid #f0f1f3}
.content-row{display:grid;grid-template-columns:minmax(280px,1fr) 90px 100px;align-items:center;gap:18px;text-decoration:none;color:inherit;padding:16px 4px;border-bottom:1px solid #f0f1f3}
.content-row:hover{background:#fafcfb}
.content-main{min-width:0}.content-main b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-main span{display:block;color:#aaa;font-size:12px;margin-top:5px}
.content-status{justify-self:start;font-size:12px;padding:4px 9px;border-radius:12px;white-space:nowrap}
.status-working{background:#f0f2f5;color:#777}.status-warning{background:#fff4e3;color:#a66b11}.status-review{background:#eaf2ff;color:#376cc4}.status-ready{background:#eef9f3;color:#087d52}.status-done{background:#edf8f2;color:#26855c}
.row-action{font-size:12px;color:var(--green);text-align:right;white-space:nowrap}
.platform-xhs .row-action{color:#d84460}
.platform-empty{text-align:center;padding:52px 20px;color:#999}.platform-empty div{font-size:34px}.platform-empty b{display:block;color:#555;margin:8px 0 5px}.platform-empty p{font-size:13px;margin:0}
@media(max-width:900px){.platform-hero{grid-template-columns:1fr}.history-head{display:block}.history-stats{margin-top:14px}.content-row{grid-template-columns:minmax(180px,1fr) 85px}.row-action{display:none}}
