.dashboard,.web-modal{--bg:#101410;--panel:#181d18;--card:#1b211b;--muted:#a5aea3;--text:#edf1eb;--line:#343c34;--accent:#e06435;--good:#64be83;--warn:#e0a84c;--bad:#ef7580;--blue:#72a9e7;--panel-line:#343c34;--panel-card:#1b211b;--panel-text:#edf1eb;--panel-muted:#a5aea3;--panel-accent:#e06435}.web-modal button.secondary{background:#1c221c;color:#edf1eb;border-color:#343c34}.web-modal .chat-feed{max-height:65vh;overflow:auto}.web-modal .chat-row{background:#181d18;color:#edf1eb;border-color:#343c34;display:grid;grid-template-columns:1fr auto}.web-modal .chat-text{white-space:pre-wrap}.web-modal .chat-time{color:#a5aea3;font-size:11px}.web-modal .chat-date{padding:8px;background:#283128}.web-modal .chat-meta{display:flex;gap:8px}.web-modal .chat-channel-badge{font-size:10px;color:#72a9e7}
.dashboard .toolbar,.dashboard .bans-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dashboard .toolbar input{width:260px}.dashboard .toolbar select{width:auto}.dashboard .section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.dashboard .section-title h2{font-size:17px;margin:0}.dashboard .sub{font-size:12px;color:var(--muted)}
.dashboard .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.dashboard .table{width:100%;border-collapse:collapse;min-width:1100px;background:var(--panel)}.dashboard .table th,.dashboard .table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.dashboard .table th{position:sticky;top:0;z-index:1;background:#202720;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.dashboard .table tbody tr:hover{background:#202720}.dashboard .player-sort,.dashboard .player-link{background:transparent;border:0;padding:0;color:inherit;font:inherit;text-align:left}.dashboard .player-link{font-weight:700}.dashboard .player-sort{text-transform:inherit}.dashboard .player-country{display:flex;align-items:center;gap:7px}.player-country img{width:24px;height:18px;object-fit:cover;border-radius:3px}.dashboard .pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#283128;color:#edf1eb}.dashboard .risk-high{color:var(--bad)}.dashboard .risk-medium{color:var(--warn)}.dashboard .risk-low{color:var(--good)}.dashboard .risk-unknown{color:var(--muted)}.player-scroll{max-height:48vh}.offline-scroll{max-height:28vh}.offline-section{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px;margin-top:14px}.offline-section summary{font-weight:700;cursor:pointer;margin-bottom:12px}.offline-section .toolbar input{flex:1;width:auto}.dashboard .table td small{display:block}
.dashboard .live-map-layout{display:grid;grid-template-columns:minmax(0,900px) minmax(200px,1fr);gap:16px;margin-top:14px}.dashboard .live-map-layout canvas{width:100%;height:auto;aspect-ratio:1;border:1px solid var(--line);border-radius:12px}.dashboard .live-map-layout aside{position:static;height:auto;max-height:80vh;overflow:auto;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.dashboard .live-map-layout button{display:block;width:100%;text-align:left;margin:5px 0}.dashboard .bans-tools input{width:280px}.dashboard .bans-tools label{display:flex;align-items:center;gap:8px;margin:0}.dashboard input[type=checkbox]{width:auto}.dashboard .btn{border:1px solid var(--line);background:#1c221c;color:var(--text);border-radius:8px;padding:9px 12px;font-weight:400}.dashboard .notice{background:var(--panel);color:var(--muted);border-color:var(--line)}
.dashboard .overview-live-card{padding:16px}.dashboard .card-head{margin-bottom:12px}.dashboard .card-head h3{font-size:17px}.dashboard .eyebrow{font-weight:400;letter-spacing:.08em}.dashboard .chat-feed{border:1px solid var(--line);border-radius:12px;background:#101610;overflow:auto;max-height:480px;display:block;scrollbar-color:#586558 #101610}.dashboard .chat-feed .chat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;align-items:start}.dashboard .chat-meta{display:flex;gap:8px;align-items:center;margin-bottom:4px}.dashboard .chat-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.dashboard .chat-time{font:11px/1.4 Consolas,monospace;color:var(--muted)}.dashboard .chat-channel-badge{font-size:9px;font-weight:800;padding:3px 7px;border-radius:99px;background:#1b303e;color:#72a9e7;letter-spacing:.06em}.dashboard .chat-channel-badge.team{background:#173321;color:#64be83}.dashboard .chat-date{background:#283128;border-bottom:1px solid var(--line);padding:8px 14px;font-size:10px;font-weight:800}.chat-search-form{display:flex;gap:0;margin-bottom:10px}.chat-search-form input{min-width:0;flex:1;border-radius:8px 0 0 8px}.dashboard .chat-search-form button{background:transparent;padding:10px 14px}.chat-search-form svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.parity-console-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.parity-console-tools input[type=search]{flex:1;min-width:160px;width:240px}.parity-console-tools label{display:flex;gap:8px;margin:0;font-size:12px}.dashboard .console-list{height:400px;border:1px solid var(--line);border-radius:12px 12px 0 0;padding:12px 14px;font:12px/1.55 Consolas,monospace;background:#101610}.dashboard .console-line{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;border:0;padding:2px 0}.console-message{white-space:pre-wrap;overflow-wrap:anywhere}.dashboard .console-card form{padding:9px 10px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.dashboard .console-card form input{border:0;background:transparent;padding:0;font:13px Consolas,monospace}.dashboard button{font-weight:400}.dashboard button:not(.secondary):not(.nav):not(.player-link):not(.player-sort):not(.btn){font-weight:700}.dashboard .table button.secondary{white-space:nowrap;padding:9px 12px}.dashboard .card{padding:16px}
@media(max-width:900px){.dashboard .live-map-layout{grid-template-columns:1fr}.dashboard .live-map-layout aside{max-height:260px}.player-scroll,.offline-scroll{max-height:55vh}}
