.network-page { display:block; height:auto; min-height:100vh; overflow:auto; font-family:var(--font-prose); }
.network-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px max(24px,calc((100% - 1180px)/2)); border-bottom:1px solid var(--line-strong); }
.network-brand { font:600 22px var(--font-mono); text-decoration:none; color:var(--text); }
.network-top nav { display:flex; flex-wrap:wrap; gap:24px; }
.network-top a { min-height:44px; display:inline-flex; align-items:center; }
.network-shell { max-width:1180px; margin:auto; padding:40px 24px; }
.network-intro { max-width:810px; margin-bottom:28px; }
.network-intro h1 { font:600 clamp(28px,4vw,46px)/1.13 var(--font-prose); letter-spacing:-.035em; margin:14px 0 18px; }
.network-page p { font-size:15px; line-height:1.65; color:var(--text-dim); }
.network-intro p { font-size:17px; }
.network-page .btn { min-height:44px; text-transform:none; letter-spacing:0; font:600 13px var(--font-prose); padding:11px 15px; text-decoration:none; }
.network-page .primary { background:var(--accent); color:var(--bg); border-color:var(--accent); }
.network-how { display:inline-block; margin-left:20px; }
.network-status { border-left:2px solid var(--accent); padding:12px 18px; background:var(--bg-sunk); }
.network-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:22px 0 28px; border-block:1px solid var(--line); }
.network-metrics span { display:block; color:var(--text-dim); font-size:13px; }
.network-metrics strong { display:block; margin-top:9px; font:500 32px var(--font-mono); }
.network-map-panel { padding:24px 0; }
.section-head { display:flex; justify-content:space-between; gap:18px; align-items:baseline; flex-wrap:wrap; }
.network-page h2 { font:600 23px/1.3 var(--font-prose); margin:0 0 18px; }
.network-page h3 { font:600 17px/1.4 var(--font-prose); margin:12px 0; }
.network-page h4 { font-size:14px; margin:24px 0 12px; }
#networkMap { height:410px; width:100%; border:1px solid var(--line-strong); border-radius:var(--r); background:var(--bg-sunk); }
.network-page .network-small { font-size:13px; color:var(--muted); }
.network-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.network-card { border:1px solid var(--line-strong); border-radius:var(--r); background:var(--bg-sunk); padding:26px; margin-bottom:24px; min-width:0; }
.network-columns .network-card { margin:0; }
.network-page label { display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--text-dim); margin-bottom:16px; }
.network-page input { background:var(--bg); color:var(--text); border:1px solid var(--line-strong); border-radius:var(--r); min-height:44px; padding:10px; font:14px var(--font-mono); width:100%; min-width:0; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.network-page label.check { display:block; line-height:1.6; }
.network-page .check input { width:18px; height:18px; min-height:18px; padding:0; margin-right:8px; vertical-align:middle; accent-color:var(--accent); }
.network-page .check a { text-decoration:underline; }
.owner-metrics { display:grid; grid-template-columns:1fr 1fr; gap:20px; border-block:1px solid var(--line-strong); padding:20px 0; }
.owner-metrics dt { color:var(--muted); font-size:13px; }
.owner-metrics dd { font:500 24px var(--font-mono); margin:6px 0 0; }
.owner-actions { display:flex; gap:8px; flex-wrap:wrap; }
.network-badge { font:12px var(--font-mono); color:var(--accent); border:1px solid var(--line-strong); padding:5px 8px; }
#stationSecrets { border:1px solid var(--accent); padding:16px; margin:20px 0; }
#stationSecrets .btn { margin:4px; }
#hourlyGraph svg { width:100%; height:100px; }
#hourlyGraph polyline { fill:none; stroke:var(--accent); stroke-width:2; }
#hourlyGraph text { fill:var(--muted); font:11px var(--font-mono); }
.range-row { display:grid; grid-template-columns:30px 1fr 58px; align-items:center; gap:10px; font:12px var(--font-mono); color:var(--text-dim); padding:3px 0; }
.range-row progress { width:100%; height:8px; accent-color:var(--accent); }
.station-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:12px; }
.station-summary { border-top:1px solid var(--line-strong); padding:16px 0; }
.station-summary h3 { margin:0 0 8px; }
.station-summary p { font-size:13px; margin:4px 0; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.download-links { display:flex; gap:24px; flex-wrap:wrap; margin:20px 0; }
.download-links a { min-height:44px; display:inline-flex; align-items:center; }
.network-page pre { background:var(--bg); border:1px solid var(--line-strong); padding:18px; overflow:auto; color:var(--text); line-height:1.6; font:13px var(--font-mono); }
.network-footer { max-width:1180px; margin:auto; padding:24px; border-top:1px solid var(--line); display:flex; gap:24px; flex-wrap:wrap; color:var(--muted); font-size:13px; }
.network-page [hidden] { display:none!important; }
@media(max-width:760px) { .network-top { padding:16px; align-items:flex-start; flex-direction:column; gap:8px; }.network-top nav { gap:16px; }.network-shell { padding:26px 16px; }.network-columns,.steps { grid-template-columns:1fr; }.network-card { padding:20px; }.network-metrics { gap:12px; }.network-metrics strong { font-size:25px; }#networkMap { height:330px; }.network-metrics span { font-size:12px; } }

.receiver-aircraft { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding:8px 0; font:13px var(--font-mono); } .receiver-aircraft a { display:inline-flex; align-items:center; min-height:34px; }

.network-page .check input { width:24px; height:24px; min-height:24px; }
.network-page .leaflet-popup-content-wrapper,.network-page .leaflet-popup-tip { background:var(--bg); color:var(--text); }
.network-page .leaflet-popup-content-wrapper { border:1px solid var(--line-strong); border-radius:var(--r); }
.network-page .leaflet-popup-content a { color:var(--accent); display:inline-flex; align-items:center; min-height:44px; }
@media(pointer:coarse) { .network-page .check input { width:34px; height:34px; min-height:34px; } }

#signupVerification { min-height:65px; margin:16px 0; }

.programme-request { border-top:1px solid var(--line); margin:20px 0; } .programme-request summary { cursor:pointer; min-height:44px; padding:14px 0; } .network-page select,.network-page textarea { background:var(--bg); color:var(--text); border:1px solid var(--line-strong); padding:12px; min-height:44px; font:14px var(--font-prose); } .network-page textarea { min-height:110px; resize:vertical; }
