body.kv{margin:0}
.kvbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:3}
.kvbrand{background:none;border:0;color:inherit;font:inherit;display:flex;align-items:center;gap:8px;cursor:pointer;padding:0}
.kvlogo{font-size:22px}
.kvtools{display:flex;gap:8px;align-items:center}
.kvbadge{background:#ff6b6b;color:#fff;border-radius:999px;font-size:11px;padding:1px 6px;margin-left:2px}
.kvmain{max-width:760px;margin:0 auto;padding:16px}
.kvmain h1{font-size:24px;margin:4px 0 12px}
.kvmain h2{font-size:18px;margin:0 0 4px}
.kvmain h3{font-size:15px;margin:14px 0 6px}
.kvcards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.kvchild{cursor:pointer}
.kvchild .top{display:flex;align-items:center;gap:10px}
.kvchild .av{font-size:34px}
.kvleft{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin:6px 0 0}
.kvbar2{height:8px;border-radius:99px;background:rgba(127,127,127,.25);overflow:hidden;margin:6px 0}
.kvbar2>i{display:block;height:100%;background:#3ecf6e}
.kvbar2.low>i{background:#e0a526}.kvbar2.out>i{background:#ff6b6b}
.kvrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.kvrow:last-child{border-bottom:0}
.kvrow .name{min-width:0;overflow-wrap:anywhere}
.kvrow .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.kvrow button{padding:4px 10px;font-size:13px}
.kvnum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kvweek{display:flex;gap:6px;align-items:flex-end;height:90px;margin-top:8px}
.kvweek div{flex:1;text-align:center;font-size:11px}
.kvweek i{display:block;background:#3ecf6e;border-radius:4px 4px 0 0;min-height:2px}
.kvchip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:12px;margin-left:4px}
.kvchip.block{color:#ff6b6b;border-color:#ff6b6b}.kvchip.allow{color:#3ecf6e;border-color:#3ecf6e}.kvchip.highlight{color:#e0a526;border-color:#e0a526}
.kvbanner{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 12px}
.kvbanner.warn{border-color:#e0a526}.kvbanner.bad{border-color:#ff6b6b}
.kvauth{max-width:440px;margin:24px auto}
.kvtabs{display:flex;gap:8px;margin-bottom:10px}
.kvtabs button{flex:1}
.kvgrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kvdays{display:flex;gap:4px;flex-wrap:wrap}
.kvdays label{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:13px}
.kvcode{font-size:34px;letter-spacing:6px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;margin:8px 0}
.kvtoggle{display:flex;justify-content:space-between;align-items:center;padding:6px 0}
.kvalert.unread{font-weight:600}
@media (max-width:480px){.kvgrid2{grid-template-columns:1fr}}
.kvmain .acts{display:flex;gap:8px;flex-wrap:wrap}
.kvrow{flex-wrap:wrap}
.kvrow .name{flex:1 1 150px}
.kvrow .acts{flex:1 1 100%;justify-content:flex-start}
.kvrow .kvnum{margin-left:auto}
