:root{background:#f4f6f3;color:#26312d;font-family:Avenir Next,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-synthesis:none;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{min-height:38px;border:1px solid #0b6b5f;border-radius:6px;background:#0b6b5f;color:#fff;cursor:pointer;font-weight:700;padding:0 14px;white-space:nowrap}button:hover{background:#07594f}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}a:hover{color:#0b6b5f}h1,h2,p,dl,dd{margin:0}.app-shell{display:grid;gap:14px;min-height:100vh;padding:18px}.login-shell{align-items:center;display:grid;min-height:100vh;padding:18px}.login-panel{background:#fff;border:1px solid #cfd8d1;border-radius:8px;box-shadow:0 1px 2px #26312d0f;display:grid;gap:18px;margin:0 auto;max-width:420px;padding:22px;width:min(100%,420px)}.login-panel h1{font-size:24px;letter-spacing:0;line-height:1.15}.login-panel p{color:#5d6863;margin-top:8px}.login-error{background:#fff3d8;border:1px solid #f0d89b;border-radius:6px;color:#8a5a00;font-size:14px;margin-top:0;padding:9px 10px}.login-button{align-items:center;background:#0b6b5f;border-radius:6px;color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-height:40px;padding:0 14px}.login-button:hover{background:#07594f;color:#fff}.topbar{align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(280px,520px)}.title-block,.health-panel,.control-panel,.settings-panel,.auto-crawl-panel,.notification-panel,.run-panel,.posts-panel{background:#fff;border:1px solid #cfd8d1;border-radius:8px;box-shadow:0 1px 2px #26312d0f}.title-block{align-items:center;display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px 16px}.title-block h1{font-size:24px;letter-spacing:0;line-height:1.15}.topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.system-pill{border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:700;padding:5px 10px}.system-pill.good{background:#dff3eb;color:#08705f}.system-pill.pending,.system-pill.warning{background:#fff3d8;color:#8a5a00}.user-pill{background:#eef7f4;border:1px solid #c6ded7;border-radius:999px;color:#28564d;display:inline-flex;font-size:13px;font-weight:800;max-width:180px;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;white-space:nowrap}.health-panel{padding:12px 14px}.health-panel h2,.section-title h2{color:#47524d;font-size:14px;font-weight:800;letter-spacing:0}.health-items{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:9px}.health-items span{background:#f7faf7;border:1px solid #e2e8e3;border-radius:6px;color:#33413c;font-size:13px;min-width:0;overflow-wrap:anywhere;padding:8px 9px}.control-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr)}.control-panel,.settings-panel,.auto-crawl-panel,.notification-panel,.run-panel,.posts-panel{min-width:0;padding:14px}.section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;min-height:28px}.section-title.with-count{gap:12px}.field-row{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(120px,160px)) repeat(2,minmax(110px,max-content))}label{color:#5d6863;display:grid;font-size:13px;font-weight:700;gap:6px;min-width:0}input[type=number],input[type=text],select{background:#fff;border:1px solid #b8c6be;border-radius:6px;color:#26312d;min-height:38px;min-width:0;padding:7px 9px;width:100%}textarea{border:1px solid #b8c6be;border-radius:6px;color:#26312d;min-height:84px;min-width:0;padding:8px 9px;resize:vertical;width:100%}textarea:focus{border-color:#0b6b5f;outline:2px solid rgb(11 107 95 / 18%)}.secret-input{-webkit-text-security:disc;font-family:SFMono-Regular,Cascadia Code,Menlo,monospace}input[type=number]:focus,input[type=text]:focus,select:focus{border-color:#0b6b5f;outline:2px solid rgb(11 107 95 / 18%)}input[type=number]:disabled{background:#eef2ef;color:#7a8580}.toggle{align-items:center;border:1px solid #b8c6be;border-radius:6px;color:#26312d;display:flex;gap:8px;min-height:38px;padding:0 10px;white-space:nowrap}.toggle input{accent-color:#0b6b5f;height:16px;width:16px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.status-badge{border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;padding:4px 8px}.status-badge.good{background:#dff3eb;color:#08705f}.status-badge.warning{background:#fff3d8;color:#8a5a00}.secret-field{margin-top:2px}.settings-meta{color:#68746f;display:grid;font-size:13px;gap:5px;margin-top:10px;overflow-wrap:anywhere}.auto-crawl-fields{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(150px,max-content) repeat(3,minmax(120px,1fr)) minmax(130px,max-content)}.notification-fields{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(130px,1fr))}.watermark-field{grid-column:1 / -1}.auto-crawl-meta{background:#f7faf7;border:1px solid #e2e8e3;border-radius:8px;color:#64706b;display:grid;font-size:13px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;overflow-wrap:anywhere;padding:10px}.ghost-button{background:#fff;border-color:#b8c6be;color:#2f423c}.ghost-button:hover{background:#eef4f0}.ghost-button.compact{min-height:32px;padding:0 10px}.secondary-button{background:#fff;color:#0b6b5f}.secondary-button:hover{background:#eef7f4}.secondary-button.compact{min-height:32px;padding:0 10px}.run-panel dl{display:grid;gap:8px}.run-panel dl div{align-items:baseline;border-top:1px solid #e3ebe5;display:grid;gap:10px;grid-template-columns:82px minmax(0,1fr);padding-top:8px}.run-panel dt{color:#6d7772;font-size:13px;font-weight:700}.run-panel dd{color:#26312d;font-size:14px;min-width:0;overflow-wrap:anywhere}.table-actions{align-items:center;color:#5d6863;display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:10px;justify-content:flex-end}.table-wrap{border:1px solid #e1e8e2;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;min-width:1040px;width:100%}th,td{border-top:1px solid #e1e8e2;font-size:14px;padding:10px 11px;text-align:left;vertical-align:middle}thead th{background:#f7faf7;border-top:0;color:#596660;font-size:12px;font-weight:800}tbody tr:hover td{background:#fbfdfb}tbody tr.selected-row td{background:#eef8f4}.title-cell{font-weight:700;max-width:360px;min-width:220px}.title-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-cell{color:#40504a;font-weight:700;white-space:nowrap}.time-cell{color:#52605a;font-variant-numeric:tabular-nums;white-space:nowrap}.detail-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:4px 8px}.detail-badge.pending{background:#fff3d8;color:#8a5a00}.detail-badge.fetched{background:#dff3eb;color:#08705f}.detail-badge.failed{background:#ffe4df;color:#a43422}.empty-cell{color:#707b76;height:72px;text-align:center}.detail-modal-backdrop{align-items:center;background:#171f1c6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:40}.detail-modal{background:#fff;border:1px solid #cfd8d1;border-radius:8px;box-shadow:0 16px 44px #171f1c38;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 36px);min-width:0;overflow:hidden;width:min(980px,calc(100vw - 36px))}.detail-modal-head{align-items:center;background:#f7faf7;border-bottom:1px solid #e1e8e2;display:flex;gap:12px;justify-content:space-between;padding:13px 14px}.detail-modal-title{display:grid;gap:3px;min-width:0}.detail-modal-title h2{color:#47524d;font-size:14px;font-weight:800;letter-spacing:0;margin:0}.detail-modal-title span{color:#26312d;font-size:15px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-modal-actions{align-items:center;display:flex;flex:0 0 auto;gap:10px}.detail-modal-body{min-height:180px;overflow:auto;padding:14px}.detail-source{color:#0b6b5f;font-size:13px;font-weight:800}.detail-empty{background:#f7faf7;border:1px dashed #c9d7ce;border-radius:8px;color:#65716b;font-size:14px;padding:18px}.detail-empty.error{background:#fff3ef;border-color:#f3c0b6;color:#a43422}.detail-reader{border:1px solid #e1e8e2;border-radius:8px;overflow:hidden}.detail-reader-head{background:#f7faf7;border-bottom:1px solid #e1e8e2;display:grid;gap:9px;padding:14px}.detail-reader-head h3{color:#26312d;font-size:18px;letter-spacing:0;line-height:1.25;margin:0}.detail-meta{color:#62716a;display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:8px 14px}.detail-body{background:#fff;color:#26312d;font-family:Avenir Next,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:15px;line-height:1.75;margin:0;max-height:520px;overflow:auto;padding:16px;white-space:pre-wrap;word-break:break-word}.detail-modal-body .detail-body{max-height:none}.detail-media{border-top:1px solid #e1e8e2;display:grid;gap:12px;padding:14px}.detail-media h4{color:#47524d;font-size:14px;letter-spacing:0;margin:0}.media-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.media-thumb{aspect-ratio:1 / 1;background:#f7faf7;border:1px solid #dbe5de;border-radius:8px;display:block;overflow:hidden}.media-thumb img{display:block;height:100%;object-fit:cover;width:100%}.media-links,.attachment-list{display:grid;gap:8px}.media-links a,.attachment-list a{align-items:center;background:#f7faf7;border:1px solid #dbe5de;border-radius:8px;color:#26312d;display:flex;font-size:14px;font-weight:700;gap:10px;min-height:42px;min-width:0;overflow-wrap:anywhere;padding:8px 10px}.media-links a:hover,.attachment-list a:hover{background:#eef8f4;color:#0b6b5f}.attachment-list img{border-radius:6px;flex:0 0 auto;height:42px;object-fit:cover;width:42px}@media(max-width:860px){.app-shell{padding:12px}.topbar,.control-grid,.health-items{grid-template-columns:1fr}.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.auto-crawl-fields,.notification-fields,.auto-crawl-meta{grid-template-columns:1fr}.toggle{grid-column:1 / -1}}@media(max-width:520px){.title-block{align-items:flex-start;flex-direction:column}.field-row{grid-template-columns:1fr}.action-row button,.table-actions button{width:100%}.section-title.with-count{align-items:flex-start;flex-direction:column}.table-actions{justify-content:flex-start;width:100%}.detail-modal-backdrop{align-items:stretch;padding:10px}.detail-modal{max-height:calc(100vh - 20px);width:100%}.detail-modal-head{align-items:flex-start;flex-direction:column}.detail-modal-actions{justify-content:space-between;width:100%}}
