:root{color-scheme:dark;--bg:#0b111b;--sidebar:#0e1520;--panel:#141d29;--panel2:#182332;--line:#293446;--muted:#8493a8;--text:#ecf2fb;--aqua:#68d2cd;--green:#4ed8a1;--amber:#ecbd72;--red:#f38d91;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}.shell{min-height:100vh;display:flex}.side{width:230px;flex:none;background:var(--sidebar);border-right:1px solid var(--line);padding:29px 17px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:2px 8px 58px;font-size:16px;letter-spacing:.085em;font-weight:800;line-height:1.1;white-space:nowrap}.brand-light{font-weight:400;color:#91a9ba}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:.21em;margin-top:6px}.brand-symbol{font-size:34px;color:var(--aqua);font-weight:400}.side-section,.side-kicker{font-size:10px;font-weight:700;letter-spacing:.16em;color:#65758c;margin:0 12px 13px}.nav{padding:12px 14px;color:#9cabbd;text-decoration:none;display:flex;align-items:center;gap:14px;border-radius:8px;font-weight:550;margin-bottom:5px}.nav.active,.nav:hover{background:#1d2f3c;color:var(--aqua)}.nav-icon{font-size:20px;line-height:1}.side-bottom{margin-top:auto;padding:0 10px}.side-bottom .side-kicker{margin:0 0 12px}.src-name{font-weight:650;font-size:12px;color:#c7d3e3}.src-address{font-size:11px;color:var(--muted);margin-top:4px}.side-rule{height:1px;background:var(--line);margin:18px 0}.main{flex:1;min-width:0}.top{height:65px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 39px;gap:20px}.crumb,.view-label{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:700}.crumb span{padding:0 13px;color:#4c5c70}.connection{display:flex;align-items:center;gap:9px;color:#a5b2c2;font-size:12px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#a2abb8;box-shadow:0 0 0 3px #a2abb812}.connection.ok .dot{background:var(--green);box-shadow:0 0 0 3px #4ed8a121}.connection.bad .dot{background:var(--red);box-shadow:0 0 0 3px #f38d9121}.content{max-width:1500px;padding:48px 40px 32px;margin:0 auto}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--aqua);margin:0 0 13px}h1{font-size:37px;font-weight:700;letter-spacing:-.035em;margin:0 0 9px}h2{font-size:18px;letter-spacing:-.015em;margin:0}.subtitle,.section-head p{margin:0;color:var(--muted);line-height:1.6}.refresh{display:flex;align-items:flex-end;gap:9px;flex-direction:column;min-width:140px}.btn-small{border:1px solid #3b5061;background:#203342;color:#d9f4f3;border-radius:7px;padding:10px 15px;cursor:pointer;font:inherit;font-size:12px;font-weight:650}.btn-small:hover{background:#294558}.refresh span{font-size:10px;color:var(--muted)}.notice{padding:13px 17px;border:1px solid #8b6951;background:#30251c;color:#f1c9a5;border-radius:8px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:42px}.metric{border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#17212e,#131b26);padding:20px 22px;min-height:142px}.metric-title{display:flex;justify-content:space-between;letter-spacing:.13em;font-size:10px;font-weight:800;color:#9aadc1}.metric-title span{font-size:17px;font-weight:400}.green{color:var(--green)}.amber{color:var(--amber)}.metric-number{font-size:36px;letter-spacing:-.035em;font-weight:700;margin:15px 0 4px;font-variant-numeric:tabular-nums}.metric-foot{font-size:11px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}.section-head p{font-size:12px;margin-top:6px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.toolbar{padding:16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.searchwrap{position:relative;flex:1;min-width:180px}.searchwrap input{width:100%;padding-left:37px}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-52%);font-size:21px;color:#8191a4}input[type=search],select{font-family:inherit;background:#111a25;color:#ccd7e6;border:1px solid #304055;border-radius:7px;padding:10px 12px;outline:none;font-size:12px;height:39px}input[type=search]:focus,select:focus{border-color:var(--aqua)}select{max-width:185px}.filters{padding:10px 17px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.check{display:flex;align-items:center;gap:9px;cursor:pointer}.check input{accent-color:var(--aqua)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}thead{background:#111924}th{font-size:10px;color:#8b9bb0;letter-spacing:.12em;padding:16px 19px;font-weight:750}td{padding:14px 19px;border-top:1px solid #263242;font-size:12px;color:#b9c6d6}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover{background:#1c2a38}.grid-title{color:#eaf2fa;font-weight:650}.grid-sub{color:#718399;font-size:10px;margin-top:4px}.size-chip{display:inline-block;font-size:10px;font-weight:650;padding:4px 8px;color:#b5cbe0;background:#243447;border:1px solid #38506a;border-radius:5px}.status{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:650}.status:before{content:"";height:7px;width:7px;border-radius:50%;background:currentColor}.status.on{color:var(--green)}.status.off{color:var(--amber)}.narrow{width:28px}.arrow{color:#667b92;font-size:19px}.empty{text-align:center!important;color:var(--muted);padding:42px!important;white-space:normal}.activity{margin-top:40px}.events{max-height:365px;overflow:auto}.event{padding:15px 20px;display:flex;align-items:center;gap:15px;border-top:1px solid #263242}.event:first-child{border-top:0}.event-icon{height:33px;width:33px;background:#24364b;border-radius:9px;display:grid;place-items:center;font-size:16px;color:#93b5d9;flex:none}.event-icon.power{background:#284338;color:var(--green)}.event-icon.missing{background:#4c362a;color:var(--amber)}.event-body{flex:1;min-width:0}.event-name{font-size:12px;font-weight:650}.event-desc{font-size:11px;color:var(--muted);margin-top:4px}.event-time{font-size:10px;color:var(--muted);white-space:nowrap}footer{font-size:10px;text-align:center;color:#60728a;padding:34px 0 8px}footer span{margin:0 8px}.overlay[hidden]{display:none}.overlay{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end}.overlay-shade{position:absolute;inset:0;background:#030810ad}.drawer{z-index:1;position:relative;width:min(470px,100vw);background:#131d2a;border-left:1px solid #42536a;box-shadow:-10px 0 50px #0008;padding:32px;overflow:auto}.drawer-top{display:flex;justify-content:space-between;align-items:center}.drawer-top .eyebrow{margin:0}.close{background:transparent;border:1px solid #4b5c72;border-radius:7px;color:#e6f0fa;cursor:pointer;padding:9px 12px}.drawer h2{font-size:25px;line-height:1.3;margin:24px 0}.detail-item{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #2a3648;padding:15px 0}.detail-label{font-size:12px;color:var(--muted)}.detail-value{font-size:12px;text-align:right;font-weight:600;overflow-wrap:anywhere}.detail-heading{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--aqua);margin:25px 0 6px}@media(max-width:1170px){.side{width:190px}.content{padding:36px 24px}.top{padding:0 24px}.metrics{gap:10px}.metric{padding:16px}.toolbar{flex-wrap:wrap}.searchwrap{min-width:100%;max-width:100%}}@media(max-width:760px){.side{display:none}.top{padding:0 18px}.content{padding:29px 17px}.hero{align-items:flex-start}.metrics{grid-template-columns:repeat(2,1fr)}.section-head{align-items:flex-start}.view-label{display:none}h1{font-size:30px}.refresh{min-width:unset}.toolbar{gap:8px}select{flex:1;max-width:none;min-width:130px}.metric-number{font-size:29px}.drawer{padding:24px}}


/* Expanded opt-in telemetry: independent per-grid charts and material stock */
.drawer{width:min(760px,100vw)}
.fleet-trends{border-top:1px solid #314256;margin-top:24px;padding-top:22px}
.fleet-chart-header{font-size:20px;margin:0 0 16px;letter-spacing:-.02em}
.chart-range{display:flex;gap:12px;align-items:center;margin:0 0 18px}
.chart-range select,.stock-select{height:34px;background:#101a26;color:#e5eef8;border:1px solid #3a4e64;border-radius:7px;padding:5px 9px}
.fleet-graph-panel{background:#151f2c;border:1px solid #2b3b4d;border-radius:10px;padding:19px;margin:0 0 18px;overflow:hidden}
.fleet-graph-title{font-size:14px;margin:0 0 14px;color:#e9f3fc}
.fleet-chart{display:block;width:100%;height:auto;margin-top:8px}
.chart-legend{display:flex;gap:9px 17px;flex-wrap:wrap}
.chart-legend-item{font-size:11px;font-weight:650}
.chart-legend-item:before{content:"● ";font-size:13px}
.chart-caption{color:#899bb2;font-size:11px;line-height:1.5;margin:10px 0 0}
.chart-empty{font-size:12px;color:#93a5b9;padding:15px 0}
.stock-bars{display:grid;gap:11px;margin:17px 0 20px}
.stock-row{display:grid;grid-template-columns:minmax(78px,115px) minmax(60px,1fr) 85px;align-items:center;gap:10px;font-size:12px}
.stock-name{color:#e1eaf5;overflow-wrap:anywhere}
.stock-track{height:9px;border-radius:8px;background:#26394c;overflow:hidden}
.stock-fill{height:100%;background:linear-gradient(90deg,#4f9da9,#68d2cd);border-radius:8px}
.stock-amount{text-align:right;color:#c7d9e8;font-variant-numeric:tabular-nums}
.stock-select-wrap{display:flex;gap:12px;align-items:center;justify-content:space-between}
@media(max-width:530px){.fleet-graph-panel{padding:12px}.stock-row{grid-template-columns:80px minmax(40px,1fr) 72px;gap:5px;font-size:10px}.drawer{padding:16px}}

/* Last-known player grids may temporarily vanish from VRage's results. */
.status.unknown{color:#94a6b8}

/* Full-page navigation from each fleet row. */
.grid-open{display:block;text-decoration:none;color:inherit}
.grid-open:hover{text-decoration:underline;color:#68d2cd}
.grid-open:focus-visible{outline:2px solid #68d2cd;outline-offset:2px;border-radius:3px}
