:root{color:#000000e0;background:#f2f3f6;font-family:-apple-system,system-ui,PingFang SC,Segoe UI,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:#1677ff}:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.muted,small{color:#00000073}.nav{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 24px;border-bottom:1px solid #ededf0;background:#fff}.nav h1{margin:0;font-size:16px;font-weight:500}.home{color:#1677ff;font-weight:600}.nav-divider{width:1px;height:20px;background:#ededf0}.nav-spacer{flex:1}.nav-meta{color:#00000073}main{width:min(1120px,calc(100% - 32px));margin:16px auto 48px}.card{border:1px solid #ededf0;border-radius:8px;background:#fff}.filter{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;padding:16px}.filter label{display:grid;gap:4px;min-width:160px}.filter label span{color:#000000a6}.filter select,.filter input,.keyword-bar select{height:32px;padding:0 10px;border:1px solid #d9d9d9;border-radius:6px;background:#fff}.filter .search{flex:1;min-width:220px}.filter .search input{width:100%}.hits{flex:1 0 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.hits button{display:grid;width:100%;padding:8px 10px;border:1px solid #ededf0;border-radius:6px;text-align:left}.hits button:hover{border-color:#1677ff}.hits small{display:block}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.kpi{padding:14px 16px;border:1px solid #ededf0;border-radius:8px;background:#fff}.kpi span,.kpi small{display:block;color:#00000073}.kpi strong{display:block;margin:4px 0 2px;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0}.kpi.accent strong{color:#1677ff}.crumb{margin:12px 2px;color:#00000073}.report{margin-top:4px}.tabs{display:flex;gap:0;border-bottom:1px solid #ededf0;padding:0 8px;overflow-x:auto}.tabs button{display:inline-flex;align-items:center;gap:6px;height:46px;margin-bottom:-1px;padding:0 14px;border-bottom:2px solid transparent;color:#000000a6;white-space:nowrap}.tabs button.on{border-bottom-color:#1677ff;color:#1677ff;font-weight:500}.tabs small{color:inherit;opacity:.7}.panel{padding:8px 16px 16px}.is-loading{opacity:.55}.bars{margin:8px 0 0;padding:0;list-style:none}.bars li+li{border-top:1px solid #f5f5f5}.bars button,.bars li>div{display:grid;grid-template-columns:minmax(140px,220px) 1fr 108px;gap:12px;align-items:center;width:100%;min-height:48px;padding:8px 0;text-align:left}.bar-copy{display:grid;min-width:0}.bar-copy b{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.bar-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track{height:8px;border-radius:99px;background:#f0f2f5;overflow:hidden}.track span{display:block;height:100%;border-radius:inherit;background:#1677ff}.bar-value{display:grid;justify-items:end;font-variant-numeric:tabular-nums}.bar-value small{font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse}th,td{padding:10px 8px 10px 0;border-bottom:1px solid #f0f0f0;vertical-align:top;text-align:left}th{color:#00000073;font-weight:500}td small{display:block}.num{text-align:right;font-variant-numeric:tabular-nums}.keyword-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;color:#000000a6}.keyword-bar label{display:flex;align-items:center;gap:8px}.empty{margin:28px 0;color:#00000073}.alert{margin-bottom:12px;padding:8px 12px;border:1px solid #ffccc7;border-radius:8px;background:#fff2f0;color:#a8071a}.logout{color:#000000a6}.login{display:grid;min-height:100vh;place-items:center}.login form{display:grid;gap:12px;width:min(380px,calc(100% - 32px));padding:28px}.login h1{margin:0;font-size:22px;font-weight:600}.login p{margin:0;color:#00000073}.login label{display:grid;gap:4px}.login input{height:36px;padding:0 10px;border:1px solid #d9d9d9;border-radius:6px}.login button{height:36px;border-radius:6px;background:#1677ff;color:#fff}.login-wait{padding:24px}@media (max-width: 800px){.kpis,.hits{grid-template-columns:1fr 1fr}.bars button,.bars li>div{grid-template-columns:1fr;gap:4px}.nav{padding:0 12px}main{width:min(100% - 16px,1120px)}}
