:root{--navy:#071b2e;--navy-2:#0b2741;--ink:#172437;--muted:#718096;--line:#dde5ed;--surface:#fff;--canvas:#f3f6f9;--blue:#3558e8;--blue-soft:#eaf0ff;--green:#12835c;--green-soft:#e8f7f0;--red:#c2493d;--red-soft:#fff0ed;--amber:#aa6c10;--amber-soft:#fff5df;--purple:#754acb;--purple-soft:#f1ebff;--shadow:0 8px 28px rgba(18,39,63,.07)}
*{box-sizing:border-box}
html{min-height:100%;background:var(--canvas)}
body{margin:0;min-width:320px;color:var(--ink);background:var(--canvas);font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
h1,h2,h3,h4,p{margin-top:0}
input,textarea,select{width:100%;border:1px solid #cfd9e4;border-radius:6px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
input,select{height:38px;padding:0 10px}
textarea{padding:9px 10px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:#6d88ee;box-shadow:0 0 0 3px rgba(53,88,232,.12)}

.app-shell{min-height:100vh}
.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:224px;display:flex;flex-direction:column;background:var(--navy);color:#d7e2ed;box-shadow:4px 0 20px rgba(4,20,35,.1)}
.brand{height:66px;display:flex;align-items:center;gap:11px;padding:0 19px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px;font-weight:750;color:#fff;letter-spacing:.2px}
.wp-mark,.site-logo{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:0 0 auto;border-radius:7px;background:#3159e8;color:#fff;font-family:Georgia,serif;font-size:19px;font-weight:700}
.nav-list{display:flex;flex:1;flex-direction:column;gap:3px;padding:14px 10px}
.nav-item{position:relative;width:100%;height:40px;display:flex;align-items:center;gap:11px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#aebdcb;text-align:left;font-weight:600}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.active{background:#3159e8;color:#fff;box-shadow:0 4px 12px rgba(49,89,232,.28)}
.nav-icon{width:18px;text-align:center;font-size:16px}
.nav-item em{margin-left:auto;min-width:19px;padding:1px 5px;border-radius:10px;background:rgba(255,255,255,.16);font-size:10px;font-style:normal;text-align:center}
.sidebar-footer{display:flex;align-items:center;gap:7px;margin:10px;padding:13px 10px;border-top:1px solid rgba(255,255,255,.08);color:#8fa2b4;font-size:10px}
.connection-dot{width:7px;height:7px;border-radius:50%;background:#36ce91;box-shadow:0 0 0 3px rgba(54,206,145,.13)}
.version{margin-left:auto;color:#687e91}
.sidebar-backdrop{display:none}

.main-area{min-height:100vh;margin-left:224px}
.topbar{position:sticky;z-index:30;top:0;height:66px;display:flex;align-items:center;gap:20px;padding:0 25px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.mobile-menu{display:none;border:0;background:transparent;font-size:20px}
.page-heading{min-width:250px}
.page-heading h1{margin:0;font-size:18px;line-height:1.3;letter-spacing:-.2px}
.page-heading p{margin:2px 0 0;color:var(--muted);font-size:11px}
.global-search{width:min(340px,32vw);height:36px;display:flex;align-items:center;gap:7px;margin-left:auto;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fb;color:#8290a0}
.global-search input{height:auto;padding:0;border:0;box-shadow:none;background:transparent}
.profile-button{height:40px;display:grid;grid-template-columns:29px auto;grid-template-rows:20px 14px;column-gap:8px;align-items:center;color:var(--ink);text-decoration:none}
.profile-button>span{grid-row:1/3;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8edff;color:#3159e8;font-weight:750}
.profile-button strong{align-self:end;font-size:11px;white-space:nowrap}
.profile-button i{align-self:start;color:#8895a3;font-size:9px;font-style:normal}
.content-area{position:relative;padding:20px 24px 32px}
.loading-line{position:fixed;z-index:100;top:0;left:224px;width:0;height:2px;background:#4f70ee;opacity:0;transition:width .2s,opacity .2s}
.loading-line.show{width:calc(100% - 224px);opacity:1;animation:loading 1.2s ease-in-out infinite}
@keyframes loading{0%{transform:scaleX(.15);transform-origin:left}50%{transform:scaleX(.6)}100%{transform:scaleX(1);transform-origin:left}}

.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}
.stat-card{min-height:94px;display:flex;align-items:center;gap:13px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:8px;font-size:20px}
.stat-icon.blue{background:var(--blue-soft);color:var(--blue)}.stat-icon.purple{background:var(--purple-soft);color:var(--purple)}.stat-icon.sky{background:#e6f5fb;color:#167ba2}.stat-icon.green{background:var(--green-soft);color:var(--green)}
.stat-card p{margin:0;color:var(--muted);font-size:11px}.stat-card strong{display:block;margin:1px 0;font-size:25px;line-height:1.25}.stat-card small{color:#8a97a4;font-size:10px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:15px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.panel-header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line)}
.panel-header h2,.section-toolbar h2{margin:0;font-size:15px}.panel-header p,.section-toolbar p{margin:2px 0 0;color:var(--muted);font-size:11px}
.small-button,.secondary-button,.ghost-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:6px;font-weight:650}
.small-button,.secondary-button{border:1px solid #d4dde7;background:#fff;color:#526274}.small-button{height:30px;padding:0 10px;font-size:11px}
.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:0 3px 9px rgba(53,88,232,.18)}
.primary-button:hover{background:#294bd3}.primary-button:disabled{opacity:.5;cursor:not-allowed}
.ghost-button{border:1px solid transparent;background:transparent;color:#687788}
.table-wrap{width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}
th{height:36px;padding:0 14px;background:#f8fafc;border-bottom:1px solid var(--line);color:#7b8999;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.35px}
td{height:57px;padding:7px 14px;border-bottom:1px solid #edf1f5;color:#435164;font-size:11px}
tbody tr:hover{background:#fbfcfe}tbody tr:last-child td{border-bottom:0}td>strong{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;color:#233246;font-size:12px}
.site-cell{display:flex;align-items:center;gap:9px}.site-cell>i{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#edf1ff;color:#3159e8;font:700 14px Georgia,serif}.site-cell span{max-width:155px;overflow:hidden;text-overflow:ellipsis}.site-cell small{display:block;overflow:hidden;text-overflow:ellipsis;color:#8995a3;font-size:9px}
.status-badge,.article-status,.health{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:650}
.status-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}
.status-badge.pending{color:#936313;background:var(--amber-soft)}.status-badge.publishing{color:#3159e8;background:var(--blue-soft)}.status-badge.published{color:#0d7b50;background:var(--green-soft)}.status-badge.failed{color:#bd463b;background:var(--red-soft)}
.row-error,.excerpt-line{display:block;max-width:340px;overflow:hidden;text-overflow:ellipsis;color:#c15349;font-size:9px}.excerpt-line{color:#8290a0}
.panel-footer{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-top:1px solid var(--line);color:#83909d;font-size:10px}.panel-footer button,.text-link{border:0;background:transparent;color:#3159e8;font-weight:650;text-decoration:none}
.side-stack{display:flex;flex-direction:column;gap:13px}
.quick-panel{padding-bottom:10px}.quick-panel .panel-header{border-bottom:0}.quick-panel>button{width:calc(100% - 28px);height:34px;margin:0 14px 7px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#4d5d70;text-align:left}.quick-panel>button.primary-action{border-color:var(--blue);background:var(--blue);color:#fff;text-align:center}
.progress-panel,.alert-panel{padding:15px}.progress-panel h3,.alert-panel h3{margin:0 0 10px;font-size:12px}.progress-panel p{margin:0;color:#7d8996}.progress-panel p strong{color:var(--ink);font-size:22px}.progress-track{height:6px;margin:9px 0;border-radius:8px;background:#e8edf2;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:#2ab579}.progress-panel small{color:#83909e;font-size:10px}
.alert-panel{background:#fffaf0;border-color:#f0dfbc}.alert-panel>div{display:flex;gap:9px}.alert-panel>div>span{color:#c0801a}.alert-panel p{margin:0}.alert-panel small{display:block;color:#947e5d}.alert-panel>button{margin-top:10px;padding:0;border:0;background:transparent;color:#a26713;font-size:10px;font-weight:700}

.page-stack{display:flex;flex-direction:column;gap:15px}.section-toolbar{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-toolbar>div:last-child{display:flex;gap:8px}
.site-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:13px}.site-card,.add-card{min-height:206px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.site-card-top{display:flex;align-items:center;justify-content:space-between}.health.online{background:var(--green-soft);color:var(--green)}.health.offline{background:var(--red-soft);color:var(--red)}.health.unchecked{background:#eef1f4;color:#758393}
.site-card h3{margin:14px 0 2px;font-size:14px}.site-card>a{display:block;overflow:hidden;text-overflow:ellipsis;color:#3159e8;font-size:10px;text-decoration:none}.site-card dl{margin:13px 0}.site-card dl div{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #e5eaf0}.site-card dt{color:#8794a1}.site-card dd{max-width:145px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#445266}
.card-actions{display:flex;justify-content:space-between;gap:7px;margin-top:10px}.card-actions button,.inline-actions button{height:29px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#5d6b7a}.card-actions button:first-child{flex:1}.card-actions button.danger-icon,.inline-actions button:last-child{color:#bd4a40}
.add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;border-style:dashed;color:#798797}.add-card span{font-size:28px;color:#3159e8}.add-card strong{margin:6px 0;color:#334356}.add-card small{font-size:10px}
.article-status.ready{color:var(--green);background:var(--green-soft)}.article-status.draft{color:#6e7b8b;background:#edf1f4}.inline-actions{display:flex;gap:5px}.muted{color:#a1acb7}
.empty-state{min-height:165px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a97a4;text-align:center}.empty-state b{font-size:27px;color:#acb6c1}.empty-state strong{margin-top:5px;color:#647283}.empty-state p{margin:3px 0;font-size:10px}
.media-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.media-card{min-width:0;padding:8px 8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.media-card>div{position:relative;height:125px;border-radius:6px;overflow:hidden;background:#eef2f5}.media-card img{width:100%;height:100%;object-fit:cover}.media-card button{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(17,31,47,.75);color:#fff}.media-card strong,.media-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-card strong{margin-top:8px;font-size:11px}.media-card small{color:#8794a1;font-size:9px}.large-empty{min-height:360px;padding:35px}.large-empty>span{font-size:48px;color:#bbc6d0}.large-empty h3{margin:8px 0 3px}.large-empty p{color:#84919f}
.timeline{padding:4px 16px}.timeline-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:61px;border-bottom:1px solid #edf1f4}.timeline-item:last-child{border-bottom:0}.timeline-item>span{width:23px;height:23px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#edf1f5}.timeline-item>span.success{color:var(--green);background:var(--green-soft)}.timeline-item>span.warning{color:var(--amber);background:var(--amber-soft)}.timeline-item strong{font-size:11px}.timeline-item p{margin:2px 0 0;color:#7e8b98;font-size:10px}.timeline-item time{color:#8d99a5;font-size:9px}
.settings-layout{display:grid;grid-template-columns:minmax(420px,620px) 290px;gap:15px}.settings-panel{padding:0 18px 18px}.settings-panel .panel-header{margin:0 -18px 15px}.settings-panel>label{display:block;margin-bottom:13px;color:#3e4d60;font-weight:650}.input-suffix{display:flex;margin-top:6px}.input-suffix input{border-radius:6px 0 0 6px}.input-suffix span{min-width:54px;display:flex;align-items:center;justify-content:center;border:1px solid #cfd9e4;border-left:0;border-radius:0 6px 6px 0;background:#f5f7f9;color:#768493}.security-card{align-self:start;padding:22px}.security-card>span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:19px}.security-card h3{margin:13px 0 5px}.security-card p{color:#748292;font-size:11px}.security-card ul{margin:15px 0 0;padding:0;list-style:none;color:#536275}.security-card li{margin:7px 0;font-size:10px}

.modal-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,18,31,.58);backdrop-filter:blur(2px)}
.modal{width:min(510px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:10px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.28)}.modal.wide{width:min(980px,100%)}
.modal-header{position:sticky;z-index:2;top:0;min-height:70px;display:flex;align-items:center;justify-content:space-between;padding:15px 19px;border-bottom:1px solid var(--line);background:#fff}.modal-header h2{margin:0;font-size:16px}.modal-header p{margin:2px 0 0;color:#7e8b99;font-size:10px}.modal-header>button{width:31px;height:31px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#647283;font-size:18px}
.modal-form,.editor-form{padding:18px}.modal-form>label,.editor-fields>label,.schedule-fields>label{display:block;margin-bottom:13px;color:#435266;font-weight:650}.modal-form input,.modal-form select,.editor-fields input,.editor-fields select,.editor-fields textarea,.schedule-fields input{margin-top:6px}
.form-grid,.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-result{margin-top:4px;padding:9px 11px;border-radius:6px}.form-result.ok{color:var(--green);background:var(--green-soft)}.form-result.bad{color:var(--red);background:var(--red-soft)}
.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.editor-form{padding:0}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px}.editor-fields{padding:17px}.excerpt-input{min-height:72px}.content-editor{min-height:280px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.label-action{float:right;padding:0;border:0;background:transparent;color:#3159e8;font-size:9px}.insert-panel{padding:17px;border-left:1px solid var(--line);background:#f8fafc}.insert-panel h4{margin:0 0 3px}.insert-panel>p{color:#7c8997;font-size:10px}.insert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:205px;overflow:auto}.insert-media{position:relative;height:62px;padding:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#e9eef3}.insert-media img{width:100%;height:100%;object-fit:cover}.insert-media span{position:absolute;inset:auto 0 0;padding:2px;background:rgba(9,26,42,.75);color:#fff;font-size:9px}.mini-empty{grid-column:1/-1;padding:20px 8px;color:#8794a1;text-align:center;font-size:10px}.html-hint{margin-top:14px;padding:11px;border:1px solid #dbe2ea;border-radius:6px;background:#fff}.html-hint strong,.html-hint code{display:block}.html-hint code{margin:6px 0;padding:5px;background:#edf2f6;color:#3159e8;font-size:10px}.html-hint p{margin:0;color:#7e8c99;font-size:9px}.task-actions{margin:0;padding:14px 17px}
.target-step{padding:17px;border-top:1px solid var(--line);background:#fafbfd}.selection-head{display:flex;align-items:center;justify-content:space-between}.selection-head h3{margin:0;font-size:13px}.selection-head p{margin:2px 0 0;color:#7d8a98;font-size:10px}.selection-head>button{border:0;background:transparent;color:#3159e8;font-size:10px}.target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.target-grid>label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.target-grid>label.selected{border-color:#879df0;background:#f3f6ff}.target-grid input{display:none}.site-logo.small{width:26px;height:26px;font-size:14px}.target-grid strong,.target-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-grid strong{font-size:10px}.target-grid small{color:#8a97a3;font-size:8px}.health-dot{width:7px;height:7px;border-radius:50%;background:#a7b0ba}.health-dot.online{background:#21b479}.health-dot.offline{background:#d35b4e}.schedule-fields{margin-top:12px}.drop-zone{min-height:190px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #cfd9e5;border-radius:8px;background:#f8fafc;color:#6f7e8d;cursor:pointer}.drop-zone input{display:none}.drop-zone>span{font-size:32px;color:#3159e8}.drop-zone strong{margin:8px 0 2px;color:#405064}.drop-zone small{font-size:10px}
.toast{position:fixed;z-index:150;right:22px;bottom:22px;max-width:380px;display:flex;gap:9px;padding:12px 15px;border-radius:7px;background:#183047;color:#fff;box-shadow:0 12px 35px rgba(7,24,40,.28)}.toast.success{background:#127452}.toast.error{background:#ad433b}

.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 75% 15%,#163c60 0,transparent 35%),#071b2e}
.login-card{width:min(410px,100%);padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.32)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:27px}.login-brand>span{width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#3159e8;color:#fff;font:700 23px Georgia,serif}.login-brand strong,.login-brand small{display:block}.login-brand small{color:#8995a2;font-size:10px}.login-card h1{margin-bottom:4px;font-size:21px}.login-card>p{color:#7f8c99}.login-card label{display:block;margin:15px 0 0;font-weight:650}.login-card input{margin-top:6px}.login-card form button{width:100%;height:41px;margin-top:21px;border:0;border-radius:6px;background:#3159e8;color:#fff;font-weight:700}.login-error{padding:10px 12px;border-radius:6px;background:var(--red-soft);color:var(--red)}

@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.site-grid{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.is-open{transform:none}.sidebar.is-open+.sidebar-backdrop{position:fixed;z-index:35;inset:0;display:block;border:0;background:rgba(4,18,31,.5)}.main-area{margin-left:0}.topbar{padding:0 15px}.mobile-menu{display:block}.loading-line{left:0}.loading-line.show{width:100%}.dashboard-grid,.settings-layout{grid-template-columns:1fr}.side-stack{display:grid;grid-template-columns:repeat(3,1fr)}.global-search{width:min(280px,30vw)}.editor-layout{grid-template-columns:1fr}.insert-panel{border-top:1px solid var(--line);border-left:0}.target-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.content-area{padding:14px}.topbar{height:60px;gap:10px}.page-heading{min-width:0}.page-heading p,.profile-button strong,.profile-button i{display:none}.profile-button{display:block;height:auto}.global-search{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{min-height:82px;padding:11px;gap:9px}.stat-icon{width:34px;height:34px}.stat-card strong{font-size:20px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.side-stack{grid-template-columns:1fr}.section-toolbar{align-items:flex-start}.section-toolbar>div:last-child{flex-direction:column}.site-grid,.media-grid{grid-template-columns:1fr 1fr}.site-card,.add-card{min-height:195px}.settings-layout{display:block}.security-card{margin-top:14px}.form-grid,.schedule-fields{grid-template-columns:1fr}.target-grid{grid-template-columns:1fr}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px)}.editor-layout{display:block}.modal-actions{grid-template-columns:auto 1fr auto}.modal-actions>span{display:none}.article-table td:first-child strong,.article-table .excerpt-line{max-width:180px}.timeline-item{grid-template-columns:25px 1fr}.timeline-item time{display:none}}
@media(max-width:420px){.stats-grid,.site-grid,.media-grid{grid-template-columns:1fr}.stat-card{min-height:76px}.site-card,.add-card{min-height:185px}}
