:root{--bg:#f5f3ee;--panel:#fff;--panel2:#faf9f6;--text:#24211d;--muted:#756f66;--line:#ddd8ce;--accent:#7c2d2d;--accent2:#a94442;--success:#246b43;--warn:#9a6300;--danger:#a32323;--shadow:0 12px 36px rgba(36,33,29,.08);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#211f1c;color:#eee8df;padding:22px 14px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 22px;border-bottom:1px solid #3b3833}.brand-mark{width:42px;height:42px;border:1px solid #9b8576;display:grid;place-items:center;font:700 24px/1 Georgia,serif}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#afa89f;margin-top:3px}.sidebar nav{display:grid;gap:3px;margin-top:16px;overflow:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#cfc8bf;font-size:14px}.nav-item:hover,.nav-item.active{background:#39352f;color:#fff}.nav-icon{width:22px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid #3b3833;padding:16px 10px 0;display:grid;gap:10px}.sidebar-bottom a,.link-button{color:#cfc8bf;background:none;border:0;padding:0;text-align:left;cursor:pointer}.main{min-width:0}.topbar{min-height:86px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:16px 28px;position:sticky;top:0;z-index:10}.topbar h1{font-size:22px;margin:0}.topbar p{font-size:13px;color:var(--muted);margin:4px 0 0}.user-chip{margin-left:auto;background:#ece8e0;border:1px solid var(--line);padding:7px 11px;border-radius:999px;font-size:13px}.mobile-menu{display:none}.content{padding:26px;max-width:1680px;margin:auto}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel,.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.panel{padding:20px}.panel+.panel{margin-top:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-head h2,.panel h2{font-size:17px;margin:0}.panel-head p,.panel>p{color:var(--muted);font-size:13px;line-height:1.7;margin:5px 0 0}.stat-card{padding:18px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:25px;margin:7px 0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:8px;padding:9px 13px;cursor:pointer;font-size:14px}.btn:hover{background:#f2eee7}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#632323}.btn-danger{background:#fff5f4;border-color:#e2b5b2;color:var(--danger)}.btn-warning{background:#fff8e8;border-color:#e7cf96;color:#744d00}.btn-small{padding:6px 9px;font-size:12px}.btn-wide{width:100%}.search-form,.filter-form{display:flex;gap:8px;flex-wrap:wrap}.filter-form input,.filter-form select{min-width:130px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:1/-1}.stack-form{display:grid;gap:14px;max-width:720px}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);padding:10px 11px;border-radius:8px;outline:none}input:focus,textarea:focus,select:focus{border-color:#9e736b;box-shadow:0 0 0 3px rgba(124,45,45,.08)}textarea{resize:vertical}.hint,.muted{font-size:12px;color:var(--muted);font-weight:400}.alert{padding:12px 14px;border-radius:8px;margin-bottom:15px;border:1px solid}.alert-success{background:#eef8f2;border-color:#b8dbc6;color:#215a38}.alert-error{background:#fff2f1;border-color:#e7bbb7;color:#84231f}.alert-info{background:#eef5fb;border-color:#bed2e4;color:#284d6d}.table-panel{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:11px 10px;text-align:left;border-bottom:1px solid #ebe7df;vertical-align:top}.data-table th{color:var(--muted);font-weight:600;background:var(--panel2);position:sticky;top:0}.data-table td small{display:block;color:var(--muted);margin-top:4px}.actions,.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.inline-form{display:inline}.tag,.status{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eee9e0;color:#5e554b;font-size:11px}.status-published,.status-success{background:#e5f4e9;color:#22623d}.status-draft,.status-queued{background:#f0ede7;color:#5c554b}.status-hidden,.status-failed{background:#fbe9e7;color:#84231f}.status-scheduled,.status-running,.status-dispatched{background:#e7effa;color:#28557d}.editor-page{display:grid;gap:18px}.editor-top{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.save-state{color:var(--muted);font-size:12px;margin-left:auto}.editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:600px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.write-pane,.preview-pane{min-width:0}.write-pane{border-right:1px solid var(--line)}#body{border:0;border-radius:0;min-height:600px;height:100%;padding:28px;font:17px/1.9 ui-monospace,SFMono-Regular,"PingFang SC",monospace;resize:none}.preview-pane{padding:28px;overflow:auto;background:#fff}.preview-pane h1,.preview-pane h2,.preview-pane h3{font-family:Georgia,"Songti SC",serif}.preview-pane p,.preview-pane li{line-height:1.9}.mode-write{grid-template-columns:1fr}.mode-write .preview-pane{display:none}.mode-preview{grid-template-columns:1fr}.mode-preview .write-pane{display:none}.md-toolbar{display:flex;gap:6px;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--line);border-bottom:0;padding:8px;border-radius:10px 10px 0 0}.md-toolbar button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 9px}.ai-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}.ai-controls{display:grid;gap:10px;align-content:start}.ai-review{display:grid;gap:10px}.review-item{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff}.review-item del{color:#8b2a28;background:#fff0ef}.review-item ins{color:#22623d;background:#edf8f1;text-decoration:none}.review-reason{font-size:12px;color:var(--muted);margin-top:7px}.archive-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.archive-tabs button{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:8px}.archive-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}[data-tab-panel]{display:none}[data-tab-panel].active{display:block}.archive-card{margin-bottom:12px}.archive-card ul{list-style:none;padding:0;margin:0}.archive-card li{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #eeeae3}.archive-card time{color:var(--muted);font-size:12px}.list{display:grid;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px;border:1px solid var(--line);border-radius:8px}.list-row span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.dialog{border:0;border-radius:12px;padding:20px;box-shadow:0 20px 70px rgba(0,0,0,.25);max-width:520px;width:calc(100% - 30px)}.dialog::backdrop{background:rgba(0,0,0,.42)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.diff-table{display:grid;gap:2px;font:13px/1.55 ui-monospace,SFMono-Regular,monospace}.diff-row{display:grid;grid-template-columns:1fr 1fr;gap:2px}.diff-cell{white-space:pre-wrap;padding:7px 10px;background:#faf9f7;min-height:32px}.diff-change .diff-cell:first-child,.diff-delete .diff-cell:first-child{background:#fff0ef}.diff-change .diff-cell:last-child,.diff-add .diff-cell:last-child{background:#edf8f1}.calendar-list{display:grid;gap:10px}.schedule-row{display:grid;grid-template-columns:150px 100px 1fr 120px auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px}.issue-list{display:grid;gap:8px}.issue{padding:10px 12px;border-left:3px solid var(--warn);background:#fff9ed}.health-ok{color:var(--success)}.health-bad{color:var(--danger)}.secret-box{font:13px ui-monospace,monospace;background:#27231f;color:#f4eee6;padding:12px;border-radius:8px;word-break:break-all}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#ede2d4,transparent 35%),var(--bg)}.login-card{width:min(440px,100%);padding:32px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.login-card h1{margin-top:0}.progress{height:10px;background:#eeeae3;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}pre.log{max-height:520px;overflow:auto;background:#1f1e1c;color:#ddd5cc;padding:15px;border-radius:9px;font:12px/1.6 ui-monospace,monospace;white-space:pre-wrap}.checkbox{display:flex;align-items:center;gap:7px;font-weight:400}.checkbox input{width:auto}.pwa-banner{display:none}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.media-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.media-card img{width:100%;height:150px;object-fit:contain;background:#f2efe9}.media-card .meta{padding:10px;font-size:12px}.code{font-family:ui-monospace,monospace;word-break:break-all}.checklist{list-style:none;padding:0}.checklist li{padding:7px 0;border-bottom:1px solid #eeeae3}.checklist .ok::before{content:"✓ ";color:var(--success)}.checklist .bad::before{content:"✕ ";color:var(--danger)}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.ai-grid{grid-template-columns:1fr}.editor-workspace{grid-template-columns:1fr}.preview-pane{border-top:1px solid var(--line)}.write-pane{border-right:0}.mode-split .write-pane,.mode-split .preview-pane{display:block}.schedule-row{grid-template-columns:1fr 1fr}.schedule-row>*:nth-child(n+3){grid-column:1/-1}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:block;border:0;background:none;font-size:22px}.topbar{padding:14px 16px}.content{padding:15px}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar-actions{margin-left:0}.user-chip{display:none}.editor-workspace{min-height:520px}#body{min-height:520px;padding:18px;font-size:16px}.preview-pane{padding:18px}.diff-row{grid-template-columns:1fr}.data-table{min-width:760px}}

/* v7 production additions */
.nav-group-label{padding:13px 12px 5px;color:#837b72;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.sidebar-scrim{display:none}.topbar-title{min-width:0}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar-actions .user-chip{margin-left:0}.sticky-actions{position:sticky;top:87px;z-index:8;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:rgba(245,243,238,.96);backdrop-filter:blur(10px);padding:10px;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.sticky-actions .save-state{margin-right:auto}.editor-mode-switch{display:flex;gap:5px}.editor-mode-switch .active{background:#ece5db;border-color:#baa99b}.markdown-toolbar{display:flex;gap:6px;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--line);padding:8px;border-radius:10px}.markdown-toolbar button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 9px;cursor:pointer}.markdown-toolbar button:hover{background:#f3eee6}.advanced-fields{margin-top:16px;border-top:1px dashed var(--line);padding-top:12px}.advanced-fields summary{cursor:pointer;font-weight:700;color:var(--accent);margin-bottom:14px}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:500}.checkbox-label input{width:auto}.preflight-panel{border-left:4px solid #9a6300}.preflight-summary{font-weight:700;padding:10px 12px;border-radius:8px}.preflight-summary.ok{background:#eaf6ee;color:#215d39}.preflight-summary.has-error{background:#fff2ed;color:#8c2d20}.preflight-item{margin-top:8px;padding:9px 11px;border-radius:7px}.preflight-item.error{background:#fff2f1;color:#84231f}.preflight-item.warning{background:#fff8e8;color:#744d00}.preflight-panel details{margin-top:10px}.preflight-panel li{margin:5px 0}.ai-controls{display:flex;flex-wrap:wrap;gap:8px}.ai-controls select{width:auto;min-width:150px}.custom-prompt-row{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:10px;margin:12px 0}.ai-metrics{font-size:12px;color:var(--muted);margin:6px 0 12px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.tabs button{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tabs-scroll{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.tabs-scroll button{white-space:nowrap}.review-item.accepted{border-color:#8bc29f;background:#f0faf3}.review-item.rejected{opacity:.48}.review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.review-grid>div:last-child{grid-column:1/-1}.review-grid strong{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.review-grid pre{white-space:pre-wrap;word-break:break-word;margin:0;background:#f6f4ef;border-radius:7px;padding:10px;font:13px/1.65 ui-monospace,SFMono-Regular,monospace}.ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.toolbar-wrap{align-items:flex-start}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;flex:1;min-width:min(780px,100%)}.filter-actions{display:flex;gap:7px;align-items:end}.btn-ghost{background:transparent}.summary-chips{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.summary-chips span{padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}.bulk-bar{position:sticky;top:154px;z-index:7;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid #c9b99f;background:#fff9ed;border-radius:10px;box-shadow:var(--shadow)}.bulk-bar[hidden]{display:none}.bulk-bar input,.bulk-bar select{width:auto;min-width:130px}.row-description{margin:5px 0 0;color:var(--muted);font-size:12px;max-width:460px}.tag-light{background:#f6f2eb}.tag-outline{background:#fff;border:1px solid var(--line)}.health-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-radius:12px;margin-bottom:18px;border:1px solid}.health-strip div span{display:block;font-size:12px;margin-top:4px}.health-strip.healthy{background:#edf8f1;border-color:#bcdac7;color:#205c38}.health-strip.warning{background:#fff6e6;border-color:#e6c982;color:#764d00}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.small-strong{font-size:14px!important;line-height:1.4;word-break:break-word}.health-list{display:grid;gap:0}.health-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #eeeae3}.health-list strong{font-size:13px;text-align:right}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-grid>div{background:var(--panel2);padding:12px;border-radius:8px}.metric-grid span{display:block;color:var(--muted);font-size:12px}.metric-grid strong{display:block;margin-top:5px;font-size:18px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.issue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.issue-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:9px;border:1px solid var(--line)}.issue-card strong{font-size:22px}.issue-card.has-issue{background:#fff8e8;border-color:#e7cf96}.issue-card.ok{background:#edf8f1;border-color:#b8dbc6}.diff-view{padding:0;overflow:hidden}.diff-line{display:grid;grid-template-columns:36px 1fr;border-bottom:1px solid #eeeae3;font:13px/1.55 ui-monospace,SFMono-Regular,monospace}.diff-line>span{padding:7px;text-align:center;background:#f2efe9;color:var(--muted)}.diff-line pre{margin:0;padding:7px 10px;white-space:pre-wrap;word-break:break-word}.diff-add{background:#edf8f1}.diff-remove{background:#fff0ef}.schedule-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.schedule-column{margin:0!important}.schedule-card{border:1px solid var(--line);border-radius:8px;padding:11px;margin-top:9px}.schedule-card strong,.schedule-card span{display:block}.schedule-card span{font-size:12px;color:var(--muted);margin-top:4px}.media-drop{border:2px dashed #c9c0b4;border-radius:10px;padding:28px;text-align:center;cursor:pointer;background:#faf8f4}.media-drop span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.media-drop.dragging{border-color:var(--accent);background:#f8eded}.media-card>div{padding:10px}.media-card strong,.media-card span,.media-card code{display:block}.media-card span{font-size:12px;color:var(--muted);margin:4px 0}.media-card code{background:#f4f1eb;padding:7px;border-radius:6px;word-break:break-all;font-size:11px}.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.notice{background:#fff9ed;border:1px solid #e5ce98;padding:12px 14px;border-radius:9px;margin-bottom:16px;color:#6f4b08}.comment-content{max-width:620px;white-space:pre-wrap;word-break:break-word;margin:0}.settings-form{display:grid;gap:18px}.settings-form .panel+.panel{margin-top:0}.recovery-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:12px 0}.recovery-codes code{background:#27231f;color:#f4eee6;padding:10px;border-radius:7px;text-align:center}.rule-list{line-height:1.9;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#ede2d4,transparent 35%),var(--bg)}.login-brand{color:var(--text);border-color:var(--line);padding:0 0 18px}.login-brand .brand-mark{border-color:#ad9d91}.login-brand span{color:var(--muted)}.login-foot{text-align:center;color:var(--muted);font-size:11px;margin-top:18px}.task-panel .progress{margin:16px 0}.task-log{max-height:520px;overflow:auto;background:#1f1e1c;color:#ddd5cc;padding:15px;border-radius:9px;font:12px/1.6 ui-monospace,monospace;white-space:pre-wrap}.task-success-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.toast-stack{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:100}.toast{transform:translateY(10px);opacity:0;transition:.2s;background:#25221e;color:#fff;padding:11px 14px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:360px}.toast.visible{transform:none;opacity:1}.toast-success{background:#246b43}.toast-error{background:#9a2929}.danger-text{color:var(--danger)}.success-text{color:var(--success)}.empty{text-align:center;color:var(--muted);padding:24px}.progress>div{width:0;transition:width .3s}.inline-form button{vertical-align:middle}
@media(max-width:1250px){.stats-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr);min-width:100%}.schedule-board{grid-template-columns:repeat(2,1fr)}.custom-prompt-row{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-grid>div:last-child{grid-column:auto}}
@media(max-width:760px){.sidebar-scrim{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:19}.sidebar-open .sidebar-scrim{display:block}.topbar-actions .btn{display:none}.topbar-title p{display:none}.sticky-actions{top:70px}.sticky-actions .save-state{width:100%;order:10}.editor-mode-switch{width:100%;order:9}.editor-mode-switch .btn{flex:1}.stats-grid,.schedule-board{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.filter-grid .span-2{grid-column:auto}.bulk-bar{top:125px}.archive-grid{grid-template-columns:1fr}.topbar-actions{margin-left:auto}.health-strip{align-items:flex-start;flex-direction:column}.media-grid{grid-template-columns:1fr}.toast-stack{left:12px;right:12px;bottom:12px}.custom-prompt-row{grid-template-columns:1fr}}


/* v7 minimal client-first visual system */
:root{--bg:#f6f7f6;--panel:#ffffff;--panel2:#f2f4f3;--text:#1b211e;--muted:#69736e;--line:#dce2df;--accent:#244b3b;--accent2:#35644f;--success:#2f6c4d;--warn:#91651e;--danger:#9a3b38;--shadow:0 5px 20px rgba(24,40,32,.055)}
body{background:var(--bg)}a{color:var(--accent)}.sidebar{background:#1d2421;color:#ecf0ee}.brand{border-color:#38433e}.brand-mark{border-color:#718078}.brand span{color:#aab4af}.nav-item{color:#c9d0cd}.nav-item:hover,.nav-item.active{background:#303a35}.sidebar-bottom{border-color:#38433e}.sidebar-bottom a,.link-button{color:#c9d0cd}.topbar{min-height:72px;padding:13px 24px;background:rgba(255,255,255,.92)}.topbar h1{font-size:20px}.content{padding:22px}.panel,.stat-card{border-radius:10px;box-shadow:var(--shadow)}.panel{padding:18px}.btn{border-radius:7px}.btn-primary{background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:#19372b}.btn:hover{background:#eef2f0}input:focus,textarea:focus,select:focus{border-color:#789286;box-shadow:0 0 0 3px rgba(36,75,59,.10)}.tabs button.active,.archive-tabs button.active{background:var(--accent);border-color:var(--accent)}.progress>div,.progress>i,.bar-track>i{background:var(--accent)}.login-shell,.login-page{background:var(--bg)}
.desktop-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#f4f6f5;color:var(--muted);font-size:11px}.is-desktop-client .desktop-chip{color:var(--accent);border-color:#b8c9c1;background:#eef5f1}.stats-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.status-text.ok{color:var(--success)}.status-text.bad{color:var(--danger)}.small-value{font-size:13px!important;line-height:1.5;word-break:break-all}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.metric-block{padding:12px 0;border-bottom:1px solid var(--line)}.metric-block>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.metric-block span,.metric-block small{color:var(--muted);font-size:12px}.metric-block strong{font-size:14px}.progress{height:7px}.progress i{display:block;height:100%;border-radius:999px}.kv-list{display:grid}.kv-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.kv-list span{color:var(--muted);font-size:12px}.kv-list strong{text-align:right;font-size:13px;max-width:68%;word-break:break-word}.bar-list{display:grid;gap:11px}.bar-row{display:grid;grid-template-columns:minmax(82px,130px) minmax(120px,1fr) 64px;align-items:center;gap:10px;font-size:12px}.bar-row>span{color:var(--muted)}.bar-row>strong{text-align:right}.bar-track{height:7px;border-radius:999px;background:#e8ecea;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:999px}.filter-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filter-bar label{min-width:150px}.filter-bar .grow{flex:1;min-width:260px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table-wrap th{color:var(--muted);font-weight:600}.empty-state{text-align:center;padding:42px 24px}.empty-state p{max-width:680px;margin:8px auto 18px}.desktop-local-panel{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.desktop-local-panel>span{font-size:12px;color:var(--muted)}.desktop-local-panel.unavailable{opacity:.8}.desktop-local-panel #desktop-model-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.desktop-local-panel #desktop-model-list span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;color:var(--muted)}.form-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.separated-actions{margin:18px 0}.compact{padding:10px 12px;margin:12px 0}.vertical{display:grid!important}.grow{flex:1}.notice{background:#f7f5ed;border-color:#ddd3b8;color:#67562f}.health-strip.healthy,.issue-card.ok{background:#eef6f1;border-color:#c7dbcf;color:#28563e}.health-strip.warning,.issue-card.has-issue{background:#faf5e8;border-color:#e1d0a5;color:#6d531d}.toast{border-radius:7px}.editor-workspace{border-radius:10px}.sticky-actions{background:rgba(246,247,246,.96);top:73px}.nav-group-label{color:#8f9b95}.ai-controls{align-items:center}.pwa-banner{display:none!important}
@media(max-width:1200px){.stats-grid-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.stats-grid-5{grid-template-columns:1fr 1fr}.desktop-local-panel{grid-template-columns:1fr}.desktop-local-panel #desktop-model-list{grid-column:auto}.topbar{padding:12px 16px}.content{padding:15px}}
@media(max-width:520px){.stats-grid-5{grid-template-columns:1fr}.desktop-chip{display:none}}
.editor-counter{margin-left:auto;align-self:center;color:var(--muted);font-size:12px;padding:6px 8px}.markdown-preview p{white-space:normal}.markdown-preview br{display:block;content:"";margin-top:.35em}.preview-pane .md-space{height:1em}
.security-score{display:flex;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.security-score strong{font-size:34px}.risk-grid{display:grid;gap:10px}.risk-item{border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:8px;padding:10px 12px;background:#fff}.risk-item.high{border-left-color:var(--danger)}.risk-item.low{border-left-color:var(--success)}.risk-item b{display:block}.risk-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px}

/* ===== v8.1 editor writing-first layout fix ===== */
.editor-page {
  gap: 10px !important;
}

/* 顶部操作条更紧凑 */
.editor-top-actions,
.sticky-actions {
  gap: 6px !important;
  padding: 8px 0 !important;
  margin: 0 !important;
}

.editor-top-actions .btn,
.sticky-actions .btn {
  padding: 7px 10px !important;
  font-size: 12px !important;
}

.editor-top-actions .save-state,
.sticky-actions .save-state {
  font-size: 11px !important;
}

/* 文章信息压缩，不再占掉半屏 */
.article-meta {
  padding: 12px 14px !important;
}

.article-meta .panel-head {
  margin-bottom: 8px !important;
}

.article-meta .panel-head h2 {
  font-size: 14px !important;
}

.article-meta .panel-head p {
  display: none !important;
}

.article-meta .form-grid {
  gap: 8px !important;
}

.article-meta label {
  gap: 4px !important;
  font-size: 12px !important;
}

.article-meta input,
.article-meta select,
.article-meta textarea {
  padding: 7px 8px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
}

.article-meta textarea#description {
  min-height: 48px !important;
  max-height: 70px !important;
}

/* 发布前检查不再常驻占地：顶部按钮仍可运行检查 */
.preflight-panel {
  display: none !important;
}

/* Markdown 工具栏紧凑化 */
.markdown-toolbar,
.md-toolbar {
  display: flex !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  padding: 6px !important;
  border: 1px solid var(--line) !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: var(--panel2) !important;
}

.markdown-toolbar button,
.md-toolbar button {
  padding: 5px 7px !important;
  font-size: 12px !important;
  border-radius: 5px !important;
}

/* 写作区成为主角 */
.editor-workspace {
  min-height: calc(100vh - 245px) !important;
}

#body {
  min-height: calc(100vh - 245px) !important;
  padding: 22px 24px !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
}

.preview-pane {
  padding: 22px 24px !important;
}

/* 默认写作模式下隐藏预览，写作区域撑满 */
.editor-workspace.mode-write {
  grid-template-columns: 1fr !important;
}

.editor-workspace.mode-write .preview-pane {
  display: none !important;
}

/* 桌面端文章元信息改成紧凑多列 */
@media (min-width: 1100px) {
  .article-meta .form-grid {
    grid-template-columns: 1.4fr 1fr .65fr .75fr .75fr .8fr !important;
    align-items: end !important;
  }

  .article-meta .span-2 {
    grid-column: auto !important;
  }

  .article-meta .form-grid label:nth-child(1) {
    grid-column: span 2 !important;
  }

  .article-meta .form-grid label:nth-child(7),
  .article-meta .form-grid label:nth-child(8),
  .article-meta .form-grid label:nth-child(9) {
    grid-column: span 2 !important;
  }
}

/* ===== AI 助手改成可呼出的右侧抽屉 ===== */
.ai-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(560px, 94vw) !important;
  height: 100vh !important;
  overflow: auto !important;
  z-index: 9999 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  box-shadow: -18px 0 50px rgba(0,0,0,.18) !important;
  transform: translateX(105%) !important;
  transition: transform .22s ease !important;
  background: var(--panel) !important;
}

body.ai-drawer-open .ai-panel {
  transform: translateX(0) !important;
}

.ai-panel .panel-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: var(--panel) !important;
  padding: 4px 0 12px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid var(--line) !important;
}

.ai-panel .panel-head h2 {
  font-size: 16px !important;
}

.ai-panel .panel-head p {
  display: none !important;
}

.ai-controls {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

.ai-controls select,
.ai-controls .btn,
.custom-prompt-row select,
.custom-prompt-row textarea,
.custom-prompt-row .btn {
  font-size: 12px !important;
  padding: 7px 8px !important;
}

.custom-prompt-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  margin: 10px 0 !important;
}

#ai-result {
  min-height: 260px !important;
}

.ai-drawer-fab {
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 9998 !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: var(--accent) !important;
  color: #fff !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.22) !important;
  font-size: 22px !important;
  cursor: pointer !important;
}

.ai-drawer-fab:hover {
  background: var(--accent2) !important;
}

.ai-drawer-scrim {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.28) !important;
  z-index: 9997 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .2s ease !important;
}

body.ai-drawer-open .ai-drawer-scrim {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.ai-drawer-close {
  margin-left: auto !important;
  padding: 6px 9px !important;
  font-size: 12px !important;
}

/* 手机端仍然全屏抽屉 */
@media (max-width: 760px) {
  .article-meta .form-grid {
    grid-template-columns: 1fr !important;
  }

  .editor-workspace {
    min-height: calc(100vh - 220px) !important;
  }

  #body {
    min-height: calc(100vh - 220px) !important;
    padding: 18px !important;
  }

  .ai-panel {
    width: 100vw !important;
  }

  .ai-controls {
    grid-template-columns: 1fr !important;
  }
}
