:root{--bg: #eff2f8;--card: #ffffff;--line: #d8e1ef;--text: #223149;--muted: #70809c;--primary: #3b5998;--primary-hover: #304c8c;--shadow: 0 14px 40px rgba(38, 58, 97, .08)}*{box-sizing:border-box}html,body,#app,#root{width:100%;min-height:100%;margin:0}body{color:var(--text);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at 12% 10%,rgba(59,89,152,.12),transparent 34%),var(--bg)}.dashboard-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.side-panel{position:sticky;top:0;height:100vh;padding:26px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8faff)}.brand-panel h1{margin:0;font-size:32px}.brand-panel p{margin:6px 0 0;color:var(--muted);font-size:13px}.menu-list{display:grid;gap:8px;margin-top:20px}.menu-item{border:1px solid #dce6f8;background:#f6f9ff;color:#2b3f69;border-radius:10px;padding:10px 12px;font-size:14px;text-align:left;cursor:pointer}.menu-item.active{background:var(--primary);color:#fff;border-color:var(--primary)}.main-panel{padding:22px}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.page-name{font-size:24px;font-weight:700}.announcement-card{position:relative;border-radius:18px;padding:20px;margin-bottom:16px;color:#fff;box-shadow:var(--shadow);background-image:linear-gradient(105deg,#1c2b4a59,#3b599873),url(https://free.boltp.com/2026/04/15/69dfaffd6e90a.webp);background-size:cover;background-position:center center}.announcement-tag{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:#fff3;font-size:12px;font-weight:700}.announcement-meta{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-row{display:flex;align-items:center;gap:8px}.status-dot{width:9px;height:9px;border-radius:999px;background:#c9d3e7;box-shadow:0 0 0 3px #c9d3e747;flex:0 0 auto}.status-dot.status-ok{background:#1f9f65;box-shadow:0 0 0 3px #1f9f6533}.status-dot.status-bad{background:#be2f3a;box-shadow:0 0 0 3px #be2f3a33}.status-dot.status-unknown{background:#ac7a05;box-shadow:0 0 0 3px #ac7a0533}.announcement-status{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#ffffffe6;border:1px solid rgba(210,220,238,.9)}.announcement-status span{color:#1f2f4f;font-size:12px;font-weight:700}.query-total{display:inline-flex;align-items:center;border-radius:999px;min-height:34px;padding:0 12px;border:1px solid rgba(206,219,244,.9);background:#f0f5ffe6;color:#2b4480;font-weight:700;font-size:12px}.announcement-card h2{margin:10px 0 8px;font-size:24px}.announcement-card p{margin:0;font-size:13px}.card{padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.result-card{margin-top:14px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-head h3,h4{margin:0}.light-tip{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field{display:grid;gap:5px}.field-full{grid-column:1 / -1}.field span{font-size:13px;color:var(--muted)}input,select{height:42px;border-radius:10px;border:1px solid var(--line);padding:0 12px;font-size:14px;color:var(--text);background:#fff}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b599824}.actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.primary-btn{height:40px;border:0;border-radius:10px;background:var(--primary);color:#fff;padding:0 14px;font-size:14px;font-weight:700;cursor:pointer}.primary-btn:hover{background:var(--primary-hover)}.primary-btn:disabled{opacity:.65;cursor:not-allowed}.primary-btn.ghost{background:#8ba1cf}.error-text{margin:10px 0 0;color:#be2f3a;font-size:13px}.empty-state{color:var(--muted);font-size:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e8eef8;padding:8px 6px;text-align:left;white-space:nowrap;font-size:13px}.desktop-table{display:block}.mobile-cards{display:none}.mobile-card{border:1px solid #d9e4f5;border-radius:12px;padding:10px;background:#f8fbff}.mobile-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.mobile-title span{font-weight:700;color:#2f4f8f}.mobile-line{font-size:12px;line-height:1.4;color:#2a3e62}.mobile-line.muted{color:#6a7d98;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.stat-box{border:1px solid #dbe6f7;border-radius:10px;background:#f5f9ff;padding:10px;display:grid;gap:4px}.stat-box span{color:#6a7d98;font-size:12px}.stat-box b{font-size:16px}.split-table{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comment-list{margin-top:12px;display:grid;gap:10px}.comment-item{border:1px solid #dbe6f7;border-radius:10px;background:#f7faff;padding:10px}.comment-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.comment-head span{font-size:12px;color:#7286a2}.comment-item p{margin:0;font-size:13px;color:#2b3f69}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-table{grid-template-columns:1fr}}@media(max-width:960px){.dashboard-shell{grid-template-columns:1fr}.side-panel{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding-bottom:calc(16px + env(safe-area-inset-bottom))}.menu-list{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-item{text-align:center;padding:9px 6px}.top-bar{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.main-panel{padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.page-name{font-size:22px}.announcement-card h2{font-size:19px;margin-top:42px}.announcement-meta{position:static;margin-top:8px;margin-bottom:6px}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}input,select{height:44px;font-size:16px}.actions{width:100%}.primary-btn{height:44px;font-size:15px;min-width:120px;flex:1 1 auto}.desktop-table{display:none}.mobile-cards{display:grid;gap:8px}.stats-grid{grid-template-columns:1fr}}
