/* Add devices (provisioning.js). Tokens from tokens.css. Cards, not a wide table: the
   page is used on a phone while fitting units, with no sideways scrolling. */
.pv-scan{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pv-scan input{flex:1 1 200px;max-width:320px}
.pv-subnets{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pv-subnet{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--control);border-radius:var(--radius-1);padding:2px 4px 2px 8px;font-family:var(--font-mono);font-size:12px;background:var(--bg-2);max-width:100%}
.pv-subnet span{overflow-wrap:anywhere}
.pv-subnet button{border:0;background:none;cursor:pointer;color:var(--fg-2);font-size:16px;line-height:1;padding:0 4px}
.pv-subnet button:hover{color:var(--bad)}
.pv-subnet.running{border-color:var(--accent)}
.pv-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.pv-tools input[type=search]{flex:1 1 220px;max-width:360px}
.pv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.pv-card{border:1px solid var(--line);border-radius:var(--radius-2);background:var(--bg-1);padding:12px 14px;min-width:0;display:flex;flex-direction:column;gap:6px}
.pv-card.sel{border-color:var(--accent);background:var(--accent-dim)}
.pv-card.bad{border-color:var(--bad)}
.pv-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pv-head strong{font-family:var(--font-mono);font-size:15px}
.pv-head .checkbox{margin-left:auto}
.pv-state{font-size:13px;overflow-wrap:anywhere}
.pv-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0;font-size:12px}
.pv-facts dt{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--label-track);text-transform:uppercase;color:var(--fg-3);padding-top:2px}
.pv-facts dd{margin:0;overflow-wrap:anywhere;color:var(--fg-1)}
.pv-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.pv-follow{font-size:12px;color:var(--fg-2);margin:0;padding-left:18px}
.pv-checks{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:13px}
.pv-checks li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:flex-start}
/* The words take the row; a check's controls (select + two buttons on Test alert) wrap
   below them rather than squeezing them to one character a line (2026-10-06). */
.pv-checks li > span{flex:1 1 12em;min-width:0;overflow-wrap:anywhere}
.pv-checks i{flex:none;width:16px;text-align:center;font-style:normal;font-weight:700}
.pv-checks .pass i{color:var(--ok-text)}
.pv-checks .fail i{color:var(--bad)}
.pv-checks .na{color:var(--fg-3)}
.pv-checks .btn{padding:2px 8px;font-size:12px;margin-left:auto;flex:none}
.pv-checks select{padding:2px 4px;font-size:12px;margin-left:auto;flex:none}
.pv-checks select + .btn{margin-left:0}
.pv-note{font-size:12px;color:var(--fg-3)}
.pv-csv{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pv-csv input[type=file]{max-width:100%}
#confirm.pv-lines p{white-space:pre-line}
/* Units made live in the last day: a line each, folded away - the cards are what's left to do (2026-10-06). */
.pv-live{margin-top:12px;font-size:13px}
.pv-live summary{cursor:pointer;color:var(--fg-2)}
.pv-live ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
