:root{color:#18212f;background:#f4f6f8;font-family:Inter,Segoe UI,Microsoft YaHei,PingFang SC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#eef3f6 0,#f8fafb 260px),#f8fafb}button{font:inherit}.dashboard-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:28px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 0 26px;border-bottom:1px solid #d9e0e7}.title-block{min-width:260px}.eyebrow{color:#0f8b8d;font-size:13px;font-weight:700}h1,h2{margin:0;letter-spacing:0}h1{margin-top:6px;color:#121a24;font-size:30px;line-height:1.2;font-weight:760}h2{margin-top:4px;color:#162232;font-size:20px;line-height:1.25;font-weight:760}h3,h4{margin:0}.topbar-meta{display:flex;align-items:stretch;justify-content:flex-end;gap:10px;flex-wrap:wrap}.meta-item{min-width:148px;padding:11px 13px;border:1px solid #d8e0e8;border-radius:8px;background:#ffffffbf}.meta-item span,.platform-label,.metric-label,.trend-row,.source-foot{color:#667085;font-size:12px}.meta-item strong{display:block;margin-top:4px;color:#1f2937;font-size:14px;font-weight:720}.refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:126px;height:58px;padding:0 16px;border:0;border-radius:8px;background:#0f6f73;color:#fff;cursor:pointer;font-weight:720}.refresh-button:disabled{cursor:wait;opacity:.72}.notice,.loading-panel,.empty-state{display:flex;align-items:center;gap:10px}.notice{margin-top:18px;padding:12px 14px;border-radius:8px;border:1px solid #f4c7c3;background:#fff4f2;color:#a33a31}.loading-panel{min-height:360px;justify-content:center;color:#52606d}.source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}.operational-audit-panel{margin-top:24px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.section-heading>span{color:#667085;font-size:12px}.audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}.audit-card{border:1px solid #d8e0e8;border-top-width:4px;border-radius:8px;background:#fff;box-shadow:0 10px 24px #19243412;overflow:hidden}.audit-card-success{border-top-color:#1f9d75}.audit-card-working{border-top-color:#2f80c8}.audit-card-warning{border-top-color:#d58a16}.audit-card-danger{border-top-color:#d04437}.audit-card-pending{border-top-color:#8b98a7}.audit-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px 14px;border-bottom:1px solid #e5eaf0}.audit-card-head h3{margin-top:4px;color:#162232;font-size:20px}.audit-run-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;border-bottom:1px solid #e5eaf0;background:#e5eaf0}.audit-run-meta div{min-width:0;padding:11px 12px;background:#fbfcfd}.audit-run-meta dt{color:#667085;font-size:12px}.audit-run-meta dd{margin:4px 0 0;color:#1f2937;font-size:13px;font-weight:700;overflow-wrap:anywhere}.audit-notice{display:flex;align-items:flex-start;gap:8px;margin:12px 18px 0;padding:10px 11px;border:1px solid;border-radius:8px;font-size:13px;line-height:1.4}.audit-notice svg{flex:0 0 auto;margin-top:1px}.audit-notice-warning{border-color:#efcf8e;background:#fff8e7;color:#865b12}.audit-notice-danger{border-color:#f4c7c3;background:#fff4f2;color:#a33a31}.audit-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 18px}.audit-metric{min-width:0;padding:11px;border:1px solid #e6ebf0;border-radius:8px;background:#fbfcfd}.audit-metric>span,.audit-metric small{color:#667085;font-size:11px}.audit-metric strong{display:block;margin:5px 0 3px;color:#111827;font-size:20px;overflow-wrap:anywhere}.audit-metric .audit-value-empty{color:#98a2b3}.audit-store-sections{display:grid;gap:14px;padding:0 18px 18px}.audit-store-sections h4{color:#223044;font-size:13px}.audit-store-empty{margin:7px 0 0;color:#667085;font-size:12px}.audit-store-list{display:grid;gap:6px;max-height:220px;margin-top:7px;overflow-y:auto}.audit-store-row{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(3,minmax(72px,1fr));align-items:center;gap:8px;padding:9px 10px;border:1px solid #f0d7ae;border-radius:7px;background:#fffbf2;color:#5f4a28;font-size:12px}.audit-store-row strong{color:#382f22;overflow-wrap:anywhere}.audit-store-failed{grid-template-columns:minmax(130px,1fr) minmax(150px,1.5fr) minmax(120px,1fr);border-color:#f1cac6;background:#fff7f5;color:#8f3931}.audit-decline{color:#b42318;font-weight:760;text-align:right}.collector-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.collector-status-card{min-height:146px;padding:14px;border:1px solid #d8e0e8;border-left-width:4px;border-radius:8px;background:#fff;box-shadow:0 8px 18px #1924340f}.collector-status-success{border-left-color:#1f9d75}.collector-status-working{border-left-color:#2f80c8}.collector-status-warning{border-left-color:#d58a16}.collector-status-danger{border-left-color:#d04437}.collector-status-pending{border-left-color:#8b98a7}.collector-status-head{min-height:46px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.collector-source-name{color:#172033;font-size:15px;font-weight:760;line-height:1.25}.collector-status-detail{display:grid;gap:9px;margin:14px 0 0}.collector-status-detail div{display:grid;gap:3px}.collector-status-detail dt{color:#667085;font-size:12px}.collector-status-detail dd{min-width:0;margin:0;color:#1f2937;font-size:13px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.source-card{min-height:560px;display:flex;flex-direction:column;border:1px solid #d8e0e8;border-radius:8px;background:#fff;box-shadow:0 12px 26px #19243414;overflow:hidden}.source-card-empty{background:#fbfcfd}.source-card-cached{border-color:#e2b45f}.source-card-head{min-height:88px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid #e5eaf0}.platform-label{font-weight:720}.status{display:inline-flex;align-items:center;gap:5px;min-height:28px;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:720}.status-success{background:#e7f5ef;color:#12715b}.status-working{background:#e9f2fb;color:#215f95}.status-warning{background:#fff7df;color:#9b6714}.status-danger{background:#fff0ee;color:#b42318}.status-pending{background:#eef1f4;color:#5d6875}.cache-notice{display:flex;align-items:flex-start;gap:9px;margin:14px 18px 0;padding:11px 12px;border:1px solid #efcf8e;border-radius:8px;background:#fff8e7;color:#865b12}.cache-notice div{display:grid;gap:3px}.cache-notice strong{font-size:13px}.cache-notice span{font-size:12px}.metric-sections{display:grid;gap:16px;padding:16px 18px 10px}.metric-section{display:grid;gap:8px}.metric-section-title{color:#223044;font-size:14px;font-weight:760}.metric-section-grid{display:grid;gap:8px}.metric-cell{min-height:92px;padding:12px;border:1px solid #e6ebf0;border-radius:8px;background:#fbfcfd}.metric-value{margin-top:6px;color:#111827;font-size:24px;line-height:1.15;font-weight:780;overflow-wrap:anywhere}.metric-value-empty{color:#98a2b3}.metric-trends{display:grid;gap:4px;margin-top:10px}.trend-row{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.25}.trend-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;min-width:68px;color:#12715b;font-size:12px;font-weight:760}.trend-down{color:#b42318}.trend-flat,.trend-missing{color:#667085}.empty-state{min-height:190px;justify-content:center;padding:24px;color:#667085;text-align:center}.source-foot{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding:14px 18px 16px;border-top:1px solid #edf1f4}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.audit-run-meta,.audit-metric-grid,.collector-status-grid,.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dashboard-shell{padding:18px}.topbar{flex-direction:column}.topbar-meta,.refresh-button,.meta-item{width:100%}.section-heading{align-items:flex-start;flex-direction:column}.audit-grid,.audit-run-meta,.audit-metric-grid,.audit-store-row,.audit-store-failed{grid-template-columns:1fr}.audit-decline{text-align:left}.collector-status-grid,.source-grid{grid-template-columns:1fr}}
