/* Offline field console. Existing theme tokens remain authoritative. */
:root{--rail:196px;--radius:10px}
:root[data-theme="dark"]{--bg:#121212;--panel:#1c1c1c;--panel-2:#272727;--ink:#eeeeee;--ink-2:#c2c2c2;--ink-3:#ababab;--line:#484848;--line-2:#363636;--accent:#d0d0d0;--accent-soft:#373737;--accent-ink:#181818;--c-mesh:#bdbdbd;--code-bg:#101010;--code-ink:#dddddd;--off:#888888;--glow1:transparent;--glow2:transparent;--glow3:transparent}
:root[data-theme="light"]{--bg:#eeeeee;--panel:#ffffff;--panel-2:#f5f5f5;--ink:#222222;--ink-2:#505050;--ink-3:#626262;--line:#cccccc;--line-2:#dedede;--accent:#505050;--accent-soft:#e0e0e0;--accent-ink:#ffffff;--c-mesh:#606060;--code-bg:#242424;--code-ink:#eeeeee;--off:#888888;--glow1:transparent;--glow2:transparent;--glow3:transparent}
body{background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}
h1,h2,h3,.lbl,.btn,.tabs button,th,.stat .n{font-family:inherit}
.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:12px}.skip:focus{top:12px}
.top{position:static;box-shadow:none;border:0}
.top-in{max-width:none;margin-left:var(--rail);padding:18px 28px;border-bottom:1px solid var(--line);background:var(--panel)}
.brand{position:fixed;left:0;top:0;width:var(--rail);height:108px;padding:20px 16px;display:flex;flex-direction:column;gap:10px;z-index:7;background:var(--panel);border-right:1px solid var(--line)}
.brand h1{width:100%;max-width:200px;line-height:0;background:none;overflow:hidden}.brand h1:after{content:none}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:2048/478;object-fit:contain;background:transparent;transform:scale(1.18)}
:root[data-theme="dark"] .brand-logo{content:url("logo-dark.png");object-fit:cover}
:root[data-theme="light"] .brand-logo{content:url("logo-light.png");object-fit:cover}
.brand small{color:var(--ink-2);font-size:12px}
.strip{margin:0;gap:8px;width:100%}.pill{border-radius:5px;padding:7px 9px;font-size:12px}.theme{margin-left:auto}.theme button{min-height:36px;color:var(--ink-2)}
.tabs{position:fixed;left:0;top:108px;bottom:0;width:var(--rail);padding:14px 12px;display:flex;flex-direction:column;gap:5px;background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;z-index:6}
.tabs button{display:flex;align-items:center;gap:13px;min-height:46px;padding:10px 12px;text-align:left;text-transform:none;font-size:14px;letter-spacing:0;border:1px solid transparent;border-radius:6px;font-weight:500}
.tabs button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.tabs button:hover{background:var(--panel-2)}
main{max-width:1600px;margin:0 0 0 var(--rail);padding:28px 28px 64px}
.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.eyebrow{font:10px ui-monospace,monospace;letter-spacing:.18em;color:var(--accent);margin-bottom:10px}
#workspaceTitle{font-size:30px;font-weight:650;letter-spacing:-.8px}
#workspaceDescription{color:var(--ink-2);margin:8px 0 0;max-width:650px}
.observation{font:12px ui-monospace,monospace;color:var(--ink-2);border-left:2px solid var(--line);padding-left:12px;max-width:240px}
.observation[data-state="stale"]{color:var(--fair);border-color:var(--fair)}
.grid{gap:16px;align-items:start}.card{border-radius:var(--radius);padding:18px;gap:14px;box-shadow:none}.card-h h2{font-size:18px;letter-spacing:-.3px}.hint{color:var(--ink-2)}
.big{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}
.card[data-c]{background:var(--panel);border-color:var(--line)}
.btn.p{background:var(--accent);border-color:var(--accent);box-shadow:none}
.subtabs button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.stat{padding:9px 11px;border-radius:6px;gap:3px;align-self:start}.stat .n{font-size:24px;line-height:1.2;letter-spacing:-.5px}.lbl,th{color:var(--ink-3);font-size:11px;letter-spacing:.08em}
.power-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.power-flow strong{font-size:22px;letter-spacing:-.5px}.power-flow small{color:var(--ink-2);font-size:12px}.power-flow .stat{gap:5px}.power-card p{margin:0}
#t-radio .big{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}#t-radio .stat .n{font-size:19px;line-height:1.4;letter-spacing:0}
.mb-Legacy{color:var(--ink-2);border-color:var(--line);font-family:inherit}
.observatory-entry{margin-bottom:20px;border-top:3px solid var(--accent)}.observatory-entry p{max-width:850px;color:var(--ink-2);margin:0}
.appearance-option{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}.appearance-option select{width:auto;min-height:36px;font:inherit}
.network-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.network-brief strong{font-size:22px}.network-brief small{color:var(--ink-2)}.network-notice{border-left:3px solid var(--accent);padding:12px 16px;background:var(--panel);color:var(--ink-2);margin:16px 0 22px}.network-notice[data-state="attention"]{border-color:var(--fair)}
:root[data-accent="blue"]:not([data-theme="nvg"]){--accent:#80beff;--accent-soft:#182e45;--accent-ink:#071827;--c-mesh:#80beff}
:root[data-accent="amber"]:not([data-theme="nvg"]){--accent:#f4c267;--accent-soft:#392c16;--accent-ink:#251b08;--c-mesh:#f4c267}
:root[data-theme="light"][data-accent="blue"]{--accent:#175e9e;--accent-soft:#e1edf9;--accent-ink:#fff;--c-mesh:#175e9e}
:root[data-theme="light"][data-accent="amber"]{--accent:#815400;--accent-soft:#f9edcf;--accent-ink:#fff;--c-mesh:#815400}
:root[data-layout="compact"] main{padding-top:16px}:root[data-layout="compact"] .card{padding:14px;gap:12px}:root[data-layout="compact"] .grid{gap:12px}:root[data-layout="compact"] td{padding:8px 10px}
:root[data-layout="wide"] main{max-width:none}:root[data-layout="wide"]{--rail:172px}
@media(max-width:700px){.network-brief{grid-template-columns:minmax(0,1fr)}.network-brief .stat{gap:8px}}
@media(max-width:1100px){.power-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.power-flow{grid-template-columns:minmax(0,1fr)}}
th{padding:12px 10px}td{padding:12px 10px}.tbl{max-width:100%}.topo{background-size:32px 32px}.topo svg{max-height:470px}
.btn,.btn.sm{min-height:40px;border-radius:6px;font-size:12px;letter-spacing:.03em;padding:9px 13px}.subtabs button{min-height:40px;border-radius:6px}
input[type=text],input[type=password],input[type=number],select{min-height:42px}.kv .k{white-space:normal}.kv{grid-template-columns:minmax(90px,auto) minmax(0,1fr)}
@media(min-width:1100px){#t-network .grid{grid-template-columns:repeat(2,minmax(0,1fr))}#t-network .card:nth-child(3),#t-network .card:nth-child(4){grid-column:auto}}
@media(max-width:1000px){:root{--rail:160px}.brand{padding:20px 12px}.top-in{padding:14px 18px}main{padding:24px 18px}.workspace-heading{align-items:flex-start;flex-direction:column;gap:14px}.theme{margin-left:0}}
@media(max-width:700px){
 .brand{position:static;width:auto;height:auto;padding:0;border:0;flex-direction:row;align-items:center}.brand h1{font-size:22px}
 .brand-logo{transform:scale(1.15)}
 .top-in{margin:0;padding:16px;gap:14px}.strip{gap:6px}.pill{font-size:11px;padding:6px}.theme button{min-height:40px}
 .tabs{position:sticky;top:0;bottom:auto;width:100%;flex-direction:row;flex-wrap:wrap;gap:4px;padding:8px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
 .tabs button{justify-content:center;flex:1 1 17%;min-height:44px;font-size:12px;padding:8px 5px}.tabs button:before{display:none}
 main{margin:0;padding:22px 12px 48px}.workspace-heading{margin-bottom:20px}#workspaceTitle{font-size:27px}.card{padding:16px;gap:14px}.grid{gap:14px}
 .grid,.grid.two,#t-node .grid{grid-template-columns:minmax(0,1fr)}.form{grid-template-columns:minmax(0,1fr)}
 .topo .hint{position:static;padding:8px}.topo .legend{position:static;flex-wrap:wrap;margin:6px}.workspace-heading p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Overview: coordinate strings and lookup controls fit narrow status cards. */
#t-node .card{min-width:0}
#t-node .kv>.v{overflow-wrap:anywhere;min-width:0}
#gFormat{width:100%;min-width:0}
.geocoder{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.geocoder summary{cursor:pointer;font-weight:600;margin-bottom:12px}
.geocoder .fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
#gGeoResult{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}

#t-node label[for="gFormat"],#gFormat{grid-column:1/-1}
