:root{--bg: #0f1419;--panel: #1a2029;--line: #2a3340;--text: #e6edf3;--muted: #8b98a5;--accent: #4c8dff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,sans-serif}.app{max-width:1100px;margin:0 auto;padding:24px}header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:12px}h1{font-size:20px;margin:0}.brand{display:flex;flex-direction:column}.brand .subtitle{margin:2px 0 0;color:var(--muted);font-size:12px;letter-spacing:.02em}.meta{color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.card h3{margin:0 0 10px;font-size:14px}.counts{list-style:none;margin:0 0 8px;padding:0}.counts li{display:flex;justify-content:space-between;padding:2px 0;color:var(--muted)}.counts strong{color:var(--text)}.tabs{display:flex;gap:8px;margin:8px 0 12px}.tabs button{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer;text-transform:capitalize}.tabs button.active{color:var(--text);border-color:var(--accent)}.tabs a{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:6px 12px;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--text);border-color:var(--accent)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-weight:600}.loading,.login{max-width:420px;margin:80px auto;text-align:center}.login input{width:100%;padding:9px 12px;margin:8px 0;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px}.btn:disabled{opacity:.5;cursor:not-allowed}.err{color:var(--accent)}.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:8px 16px;cursor:pointer;text-decoration:none;margin-top:8px}.link{background:none;border:0;color:var(--accent);cursor:pointer;margin-left:12px}.chart{display:flex;gap:6px;align-items:flex-end;height:140px;margin:8px 0;overflow-x:auto}.bar{display:flex;flex-direction:column;align-items:center;gap:4px}.stack{display:flex;flex-direction:column-reverse;width:22px;border-radius:3px 3px 0 0;overflow:hidden}.bar-label{color:var(--muted);font-size:11px}.legend{display:flex;gap:14px;color:var(--muted);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.stamp{font-weight:400;font-size:11px;color:var(--muted);margin-left:8px}.warn{color:#f85149}h4{margin:12px 0 6px;font-size:13px}.minibar{display:inline-block;height:9px;background:var(--accent);border-radius:2px;margin-right:6px;vertical-align:middle}.tab-count{margin-left:6px;color:var(--muted);font-size:11px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover,th[aria-sort]{color:var(--text)}.sort-ind{margin-left:4px;font-size:10px;opacity:.7}td.empty{text-align:center;color:var(--muted);padding:18px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px}.filters label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:12px}.filters input,.filters select,.pager select,.window input{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit}.pager{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 24px;color:var(--muted);font-size:13px}.pager-controls{display:inline-flex;align-items:center;gap:6px}.pager button,.window button{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 10px;cursor:pointer}.pager button:disabled{opacity:.4;cursor:not-allowed}.window{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;color:var(--muted);font-size:13px}.window-label{margin-right:4px}.window button{color:var(--muted)}.window button.active{color:var(--text);border-color:var(--accent)}td .link{margin-left:0;padding:0;font:inherit}a.xdr{color:var(--accent);text-decoration:none;white-space:nowrap}a.xdr:hover{text-decoration:underline}@media(max-width:720px){.cards{grid-template-columns:1fr}table{display:block;overflow-x:auto}}.refresh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:12px;color:var(--muted);font-size:13px}.refresh strong{color:var(--text);font-weight:500}.refresh .link{margin-left:0;padding:0;font:inherit}.muted{color:var(--muted);font-weight:400}.refreshing{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.spinner{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.updated{color:#3fb950;animation:fade 5s ease-out forwards}@keyframes fade{0%,70%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.spinner,.updated{animation:none}}.refresh .err{color:#d29922}header{gap:16px}.views{display:flex;gap:4px;margin-right:auto;margin-left:16px}.views a{color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:6px;border:1px solid transparent}.views a:hover{color:var(--text)}.views a.active{color:var(--text);border-color:var(--accent)}.cards.two{grid-template-columns:repeat(2,1fr)}@media(max-width:720px){.cards.two{grid-template-columns:1fr}}.table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px;margin:0 0 12px}.table-toolbar .filters{margin:0}.table-toolbar .export{margin-left:auto}.table-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 6px}.table-head h4{margin:0}.card h3{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}.card-actions{margin-left:auto;font-weight:400}.export{display:inline-flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.export-note:empty{display:none}.export-note{max-width:260px;overflow:hidden;text-overflow:ellipsis}.export-group{display:inline-flex}.export-group button{display:inline-flex;align-items:center;gap:4px;background:var(--panel);color:var(--muted);border:1px solid var(--line);padding:2px 8px;font:500 11px/18px system-ui,sans-serif;letter-spacing:.02em;cursor:pointer}.export-group button:first-child{border-radius:6px 0 0 6px}.export-group button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.export-group button:hover:not(:disabled),.export-group button:focus-visible{color:var(--text);border-color:var(--accent);position:relative}.export-group button:disabled{opacity:.5;cursor:progress}.export-group .spinner{width:10px;height:10px;border-width:1.5px}.card .export-group button{background:var(--bg)}.horizon{margin:8px 0 0;font-size:12px}.horizon strong{color:var(--text);font-weight:500}.card .note{margin:0 0 8px;font-size:12px}.seg{display:inline-flex;margin-left:10px;vertical-align:middle}.seg button{background:var(--panel);color:var(--muted);border:1px solid var(--line);padding:1px 8px;font:500 11px/18px system-ui,sans-serif;cursor:pointer}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.seg button+button{margin-left:-1px}.seg button.active{color:var(--text);border-color:var(--accent);position:relative}table.hist td:first-child{width:90px}.trend-note{margin:6px 0 0;font-size:12px}.sevbar{display:inline-flex;height:9px;border-radius:2px;overflow:hidden;margin-right:6px;vertical-align:middle}.sevbar i{display:block;min-width:1px}.delta{font-size:12px;white-space:nowrap}.cards>*{min-width:0}.card{min-width:0}@media(max-width:720px){.app{padding:16px}header{flex-wrap:wrap;align-items:center;gap:8px 16px}.brand h1,.brand .subtitle{white-space:nowrap}.meta{margin-left:auto}.meta .link{margin-left:0;padding:6px 0}.views{order:3;flex:1 0 100%;margin:0;overflow-x:auto;scrollbar-width:none}.views::-webkit-scrollbar{display:none}.views a{flex:none;padding:6px 12px}.tabs{overflow-x:auto}.tabs button,.tabs a{flex:none}.filters{gap:10px}.filters label{flex:1 1 140px;min-width:0}.filters input,.filters select{width:100%;min-width:0}.table-toolbar .filters{flex:1 1 100%}table{max-width:100%;-webkit-overflow-scrolling:touch}.card{padding:12px}.card h3 .stamp{margin-left:0;flex-basis:100%;order:1}.card h3 .card-actions{order:2}.table-head{flex-wrap:wrap}.export-note{max-width:50vw}.window .window-label{flex-basis:100%}.pager{font-size:12px}.pager button,.window button{padding:6px 12px}.chart{height:120px}}
