/* Network view (network.js). Foundation language: hairline rules, status words, no cards. */
.net-grp{margin:0 0 22px}
.net-grp h2{font:600 13px/1.3 var(--font);margin:0 0 6px;display:flex;gap:10px;align-items:baseline}
.net-grp > p{margin:0 0 8px;max-width:72ch}
table.netdevs td.act{text-align:right;white-space:nowrap}
table.netdevs td.m{font-family:var(--mono);font-size:12px}
table.netdevs a.btn{text-decoration:none}
.net-att{margin-bottom:14px;border-top:1px solid var(--bd)}
.net-wiz{border:1px solid var(--bd2);border-radius:var(--r);background:var(--sf);padding:16px 18px;margin:0 0 20px;max-width:980px}
.net-wiz h2{font:600 15px var(--font);margin:0 0 6px}
.net-wiz h3{font:600 12.5px var(--font);margin:16px 0 6px}
.net-wiz code{font:12px var(--mono);background:var(--sf3);padding:1px 4px;border-radius:2px}
.net-wiz pre.code{font:12px/1.5 var(--mono);background:var(--sf2);border:1px solid var(--bd);border-radius:var(--r);padding:10px 12px;margin:0 0 6px;overflow:auto;max-height:340px;white-space:pre;user-select:all}
.net-steps{margin:6px 0 0;padding-left:20px;color:var(--ink2);max-width:90ch}
.net-steps li{margin:0 0 6px}
.net-form{display:grid;grid-template-columns:120px minmax(220px,420px);gap:8px 12px;align-items:center;margin:10px 0}
.net-form .sel{width:100%}
.net-live{margin:8px 0 12px;font-size:13px;min-height:22px}
.net-warn{border:1px solid color-mix(in srgb,var(--warn) 45%,var(--bd));background:var(--warnBg);padding:8px 12px;border-radius:var(--r);margin:0 0 6px;font-size:12.5px}
.net-help{border-left:2px solid var(--warn);padding:2px 0 2px 12px;margin-top:8px;color:var(--ink2);max-width:90ch;white-space:normal}
.net-help ul{margin:6px 0 0;padding-left:18px}.net-help li{margin:0 0 5px}
.net-adv{margin-top:18px;border-top:1px solid var(--bd);padding-top:10px}
.net-adv summary{cursor:pointer;color:var(--ink2);font-weight:500}
.net-manage{padding:10px 4px 14px;display:grid;gap:10px;white-space:normal}
.net-manage .net-form{margin:0}
@media (max-width:719px){.net-form{grid-template-columns:1fr}.net-wiz{padding:12px}}

/* ---- the sites table (one row per site, owner-named; details expand under the row) ---- */
.net-bar{margin:0 0 10px}
.net-search{min-width:240px;height:30px}
table.netsites{width:100%}
table.netsites td{vertical-align:middle}
table.netsites td.c-name{min-width:170px}
table.netsites td.c-cust{min-width:210px;white-space:normal}
table.netsites td.c-loc{max-width:240px}
table.netsites td.n{text-align:right}
table.netsites td.act{text-align:right;white-space:nowrap}
table.netsites td .block{display:block;font-size:11px}
table.netsites td .nm{display:inline-flex;gap:6px;align-items:center}
table.netsites tr.hid td{opacity:.65}
.net-tog{all:unset;display:inline-flex;gap:6px;align-items:baseline;cursor:pointer;color:var(--ink);max-width:100%}
.net-tog:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.net-tog b{font-weight:650}
.net-tog .chev{color:var(--ink3);width:10px;flex:none}
.net-cust{display:inline-flex;gap:8px;align-items:center}
.net-cust .cn{font-weight:500}
.net-sug .cn{font-weight:500}
.net-sug .why{display:block;font-size:11px;color:var(--ink3)}
.btn.net-q{height:24px;padding:0 6px;font-weight:400;font-size:12px}
tr.net-ex>td{background:var(--sf2);padding:12px 14px 14px;white-space:normal}
.net-det{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px 26px;align-items:start}
.net-det .grp h3{font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:0 0 6px;border-bottom:1px solid var(--bd);padding-bottom:4px}
.net-det .grp.wide{grid-column:1/-1}
.net-det dl{margin:0;display:grid;gap:3px}
.net-det .kv{display:grid;grid-template-columns:124px minmax(0,1fr);gap:8px}
.net-det dt{color:var(--ink3)}
.net-det dd{margin:0;overflow-wrap:anywhere;text-align:left}
.net-det p{margin:6px 0 0}
.net-actions .act-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 8px}
.net-actions .lbl{min-width:54px}
.net-devw{margin-top:14px;background:var(--sf)}
.net-nod{margin:12px 0 0}
.net-pick{display:grid;gap:6px;min-width:240px;max-width:340px}
.net-pl{display:grid;border:1px solid var(--bd2);border-radius:var(--r);background:var(--sf);max-height:260px;overflow:auto}
.net-po{all:unset;display:block;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--bd);line-height:1.35}
.net-po:last-child{border-bottom:0}
.net-po:hover,.net-po:focus-visible{background:var(--sel)}
.net-po .po-n{font-weight:500}
.po-more{padding:6px 10px}
.net-pa{display:flex;gap:6px}
.net-confirm{border:1px solid var(--bd2);border-left:3px solid var(--acc);background:var(--sf);padding:10px 14px;margin:0 0 10px;max-width:880px}
.net-confirm ul{margin:6px 0 10px;padding-left:18px;max-height:220px;overflow:auto}
.net-undo{border:1px solid var(--bd2);background:var(--sf);padding:6px 12px;margin:0 0 10px;display:flex;gap:12px;align-items:center;max-width:520px}
.net-cat{margin:20px 0 6px}
.net-cat table td{vertical-align:top}
.net-probe{margin-top:8px;max-width:760px}
.c-mute{color:var(--ink3)}

@media (max-width:719px){
  .net-search{min-width:0;width:100%}
  .net-tw{overflow:visible}
  table.netsites,table.netsites tbody{display:block}
  table.netsites thead{display:none}
  table.netsites tr.net-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;border:1px solid var(--bd);border-radius:var(--r);background:var(--sf);padding:10px 12px;margin:0 0 8px}
  table.netsites tr.net-row td{display:block;border:0;padding:0;min-width:0;max-width:none;height:auto;text-align:left;font-size:12.5px}
  table.netsites tr.net-row td::before{content:attr(data-l);display:block;font:600 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink3)}
  table.netsites tr.net-row td[data-l=""]::before{display:none}
  table.netsites tr.net-row td.c-name,table.netsites tr.net-row td.c-cust,table.netsites tr.net-row td.c-loc,table.netsites tr.net-row td.act{grid-column:1/-1}
  table.netsites tr.net-row td.c-name::before{display:none}
  table.netsites tr.net-row td.n{text-align:left}
  table.netsites tr.net-row td.act{text-align:left;padding-top:4px}
  table.netsites tr.ex,table.netsites tr.ex>td{display:block}
  table.netsites tr.net-ex>td{border:1px solid var(--bd);border-top:0;margin:-9px 0 8px;padding:10px 12px}
  .net-det{grid-template-columns:1fr}
  .net-det .kv{grid-template-columns:104px minmax(0,1fr)}
  .net-pick{max-width:none}
  .net-devw{overflow-x:auto}
}
/* the expansion sits in a cell as wide as the whole table: keep it readable and in view while the table scrolls sideways */
.net-det,.net-devw{max-width:min(1180px,calc(100vw - 300px));position:sticky;left:14px;box-sizing:border-box}
.net-devw{margin-left:0}
@media (max-width:719px){.net-det,.net-devw{position:static;max-width:none}}

/* ---- hide, rename, share ---- */
.net-ic{all:unset;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:4px;vertical-align:middle;color:var(--ink3);cursor:pointer;border-radius:var(--r);box-sizing:border-box}
.net-ic:hover{color:var(--ink);background:var(--sel)}
.net-ic:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.btn.net-ic{border:1px solid var(--bd2);width:30px;height:30px;margin:0 4px 0 0;color:var(--ink2)}
.net-rn{width:100%;max-width:280px}
.net-chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin:4px 0 0}
.net-chip{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--bd2);border-radius:999px;padding:0 4px 0 8px;height:22px;font:12px var(--font);color:var(--ink2);background:var(--sf);box-sizing:border-box}
button.net-chip.sug{border-style:dashed;padding:0 8px;cursor:pointer;color:var(--ink3)}
button.net-chip.sug:hover,button.net-chip.sug:focus-visible{color:var(--ink);border-color:var(--acc)}
.net-chip-x{all:unset;cursor:pointer;width:16px;height:16px;line-height:15px;text-align:center;color:var(--ink3);border-radius:50%;font-size:14px}
.net-chip-x:hover,.net-chip-x:focus-visible{color:var(--ink);background:var(--sel);outline:none}
.net-hint{margin:-4px 0 10px}
select.net-dc{max-width:220px}
/* the Undo bar stays in view wherever the row was */
.net-undo{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;max-width:min(520px,calc(100vw - 32px));box-shadow:0 6px 24px rgba(0,0,0,.28)}
@media (max-width:719px){.net-undo{bottom:76px}.btn.net-ic{width:36px;height:36px}.net-ic{width:32px;height:32px}.net-chip{height:28px}.net-chip-x{width:24px;height:24px;line-height:23px}}
.net-brand{vertical-align:-3px;flex:none}
.net-head-brands{display:inline-flex;gap:8px;align-items:center;margin-left:8px}
table.netsites th[data-inet],table.netsites td.c-inet{min-width:330px}
table.netsites td.c-inet{overflow:hidden;max-width:420px}
@media (max-width:719px){table.netsites td.c-inet{min-width:0;max-width:none}}
