/* Dossier réseau : identité client/site fixe, équipements et détails consultables. */
/* V205 — segmented tabs matching the asset sheet reference. */
@media screen{
 /* V206 — white content surface shared by every network tab. */
 #networkPortfolioDialog .np-body{background:#fff!important;color:#24374d;--ink:#24374d;--muted:#53647a;--navy:#14144b;--line:#cbd6e4;--pale:#edf2f7;--panel:#fff;--surface:#fff;--card:#fff;--text:#24374d;--border:#cbd6e4}
 #networkPortfolioDialog .np-body :is(.np-equipment-details,.np-site-card,.nc-site-wifi,.nc-radio-card){background:#fff!important}
 #networkPortfolioDialog .np-tabs{display:flex;align-items:stretch;gap:0;padding:10px 10px 0;background:#edf2f7!important;border-bottom:1px solid #cbd6e4;overflow-x:auto;flex-wrap:nowrap}
 #networkPortfolioDialog .np-tabs button{position:relative;flex:0 0 auto;box-sizing:border-box;min-height:40px!important;margin:0;padding:8px 14px;border:1px solid #cbd6e4!important;border-radius:0;background:#e6ecf3!important;color:#33465e!important;font-size:13px;font-weight:600;line-height:1.2;box-shadow:none;white-space:nowrap}
 #networkPortfolioDialog .np-tabs button+button{margin-left:-1px}
 #networkPortfolioDialog .np-tabs button:first-child{border-radius:7px 0 0 0}
 #networkPortfolioDialog .np-tabs button:last-child{border-radius:0 7px 0 0}
 #networkPortfolioDialog .np-tabs button:is(.active,[aria-selected="true"]){z-index:1;padding-top:6px;border-top:3px solid #0f6b78!important;border-bottom-color:#fff!important;background:#fff!important;color:#14144b!important;font-weight:700;box-shadow:none}
 #networkPortfolioDialog .np-tabs button:focus-visible{outline:2px solid #0f6b78;outline-offset:-4px}
}
.np-page .np-toolbar,.np-dialog .np-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.np-page label,.np-dialog label,.np-start-dialog label{display:flex;flex-direction:column;gap:7px;min-width:160px;font-weight:600;font-size:12px;color:var(--ink)}
.np-page input,.np-page select,.np-dialog input,.np-dialog select,.np-start-dialog select{min-height:40px;max-width:100%;width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--pale);color:var(--ink);font-size:14px}
.np-page .np-toolbar label:first-child{flex:1;min-width:220px}.np-client-name{display:flex;gap:12px;align-items:center}.np-client-name img{width:40px;height:40px;object-fit:contain}.np-client-name small,.np-page td small,.np-equipment-list td small{display:block;margin-top:5px;color:var(--muted)}
.np-dialog{width:min(1420px,96vw);max-width:96vw;height:min(940px,94dvh);max-height:94dvh;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--pale)}
.np-dialog[open]{display:flex;flex-direction:column}.np-dialog .np-head{flex:none;gap:16px;padding:18px 22px;background:var(--navy);color:#fff;align-items:center;flex-wrap:wrap}.np-heading{flex:1;min-width:150px}.np-heading small{color:#d6e6f8;letter-spacing:.06em;font-size:10px}.np-heading h2{margin:4px 0 0;font-size:22px;overflow-wrap:anywhere}.np-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.np-head-actions .btn{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35)}.np-head-actions .icon-btn{background:rgba(255,255,255,.15);color:#fff}.np-head-actions .context-help-button{margin:0}.np-head #npLogo img{max-width:56px;max-height:56px;object-fit:contain}
.np-context{flex:none;padding:14px 22px;display:flex;gap:12px 24px;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--pale)}.np-contact{flex:1;min-width:150px;overflow-wrap:anywhere}.np-contact small{display:block;color:var(--muted);margin-top:5px}.np-context .np-site-context{min-width:190px;max-width:100%;flex:0 1 260px}.np-counts{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;align-items:center}.np-counts span{border:1px solid var(--line);border-radius:8px;padding:7px 10px}.np-counts strong{font-size:16px;margin-right:4px}
.np-tabs{flex:none;display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 12px}.np-tabs button{padding:13px 17px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);white-space:nowrap;font-size:14px;cursor:pointer}.np-tabs button.active{color:var(--teal);font-weight:700;border-bottom-color:var(--teal)}.dark-mode .np-tabs button.active{color:#77dfeb;border-bottom-color:#77dfeb}
.np-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px}.np-help{font-size:12px;color:var(--muted);line-height:1.5;padding:10px 16px;margin:0;border-bottom:1px solid var(--line)}.np-help[hidden]{display:none}.np-warning{padding:12px;border:1px solid #ae6425;border-radius:8px;color:var(--ink);background:var(--pale)}
.np-dialog .np-toolbar .np-search{flex:1}.np-equipment-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px;align-items:start}.np-equipment-list,.np-equipment-details{min-width:0}.np-equipment-list .table-wrap{border:1px solid var(--line);border-radius:10px}.np-equipment-list td{padding:11px 10px;vertical-align:top}.np-device-select{padding:0;text-align:left;background:transparent;border:0;cursor:pointer;color:var(--ink);font-size:13px;min-width:110px}.np-device-select strong{overflow-wrap:anywhere}.np-device-select small{font-size:11px}.np-dialog tr.np-selected td{background:color-mix(in srgb,var(--blue) 12%,var(--pale));box-shadow:inset 0 1px var(--blue),inset 0 -1px var(--blue)}.np-dialog tr.np-selected td:first-child{box-shadow:inset 3px 0 var(--blue),inset 0 1px var(--blue),inset 0 -1px var(--blue)}.np-device-select:focus-visible,.np-dialog tr:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.np-equipment-details{border:1px solid var(--line);border-radius:12px;padding:17px;background:var(--pale)}.np-device-head h3{margin:6px 0 10px;overflow-wrap:anywhere}.np-device-head>small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.np-device-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.np-device-actions .btn{flex:1;font-size:12px}.np-detail-section{border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.np-detail-section h4{margin:0 0 10px;font-size:13px}.np-detail-section dl{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:9px 14px;font-size:12px;margin:0}.np-detail-section dt{color:var(--muted)}.np-detail-section dd{margin:0;overflow-wrap:anywhere}.np-detail-section p{font-size:12px;color:var(--muted)}.np-related{display:block;width:100%;text-align:left;padding:9px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:6px;cursor:pointer;margin-bottom:6px}.np-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.np-status{display:inline-block;padding:4px 7px;border-radius:7px;font-size:11px;font-weight:650;border:1px solid var(--line);white-space:nowrap}.np-neutral{background:var(--pale);color:var(--muted)}.np-green{background:#d7efdf;color:#14572c;border-color:#7ab18c}.np-red{background:#f9dddd;color:#8b1e1e;border-color:#d19393}.np-amber{background:#faebcd;color:#754300;border-color:#caab71}.dark-mode .np-green{background:#173e2b;color:#a4ecc2;border-color:#3f8762}.dark-mode .np-red{background:#4b242b;color:#ffb8be;border-color:#aa5963}.dark-mode .np-amber{background:#46391f;color:#f2d49b;border-color:#967839}
.np-result{font-size:12px;color:var(--muted);margin:0 0 12px}.np-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;font-size:12px}.np-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.np-section-heading h3{margin:0 0 6px}.np-section-heading p{font-size:13px;color:var(--muted);margin:0}.np-site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.np-site-card{border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px}.np-site-card h4,.np-site-card p{margin:0;overflow-wrap:anywhere}.np-site-card p,.np-site-card small{color:var(--muted);font-size:12px}.np-site-card .btn{margin-top:3px}
.np-start-dialog{width:min(620px,94vw);padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--pale);color:var(--ink)}.np-start-dialog .dialog-head{padding:18px 22px;gap:16px;background:var(--navy);color:white}.np-start-dialog h2{margin:0;font-size:20px}.np-start-dialog .icon-btn{color:#fff;background:rgba(255,255,255,.15)}.np-start-body{display:grid;gap:20px;padding:24px}.np-start-body p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.np-start-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding:16px 24px}
@media(max-width:1050px){.np-equipment-layout{grid-template-columns:minmax(0,1fr)}.np-equipment-details{width:100%}.np-detail-section dl{grid-template-columns:minmax(130px,.5fr) minmax(0,1fr)}.np-dialog{height:94dvh}.np-counts{width:100%}}
@media(max-width:600px){.np-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.np-dialog .np-head{padding:12px 14px;gap:10px}.np-heading h2{font-size:18px}.np-head-actions{width:100%;justify-content:flex-end}.np-head #npLogo img{max-width:40px;max-height:40px}.np-context{padding:10px 14px;gap:10px}.np-contact{font-size:12px}.np-context .np-site-context{flex:1}.np-counts{gap:6px}.np-counts span{font-size:10px;padding:5px 7px}.np-counts strong{font-size:13px}.np-body{padding:14px}.np-dialog .np-toolbar label,.np-page .np-toolbar label{flex:1;min-width:140px}.np-dialog .np-toolbar button{width:100%}.np-detail-section dl{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr)}.np-equipment-list .table-wrap{overflow-x:auto}.np-equipment-list table{min-width:620px}.np-head-actions .btn{padding:7px 10px;font-size:11px}.np-section-heading{align-items:flex-start;flex-wrap:wrap}.np-start-body{padding:20px}.np-start-actions{padding:14px 20px}}
#recordDialog[data-record-kind="network"] .form-field[hidden]{display:none!important}

/* Nebula Base portal shortcut keeps the existing action layout on small screens. */
.np-page .panel-head{flex-wrap:wrap;gap:14px}.np-page .panel-head .actions{flex-wrap:wrap}.np-page .panel-head a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.np-page #npNebulaMode{padding:0 0 12px;margin:0 0 14px}

.np-collected-config{border:1px solid var(--border,#8995a6);border-radius:8px;margin:12px 0;padding:12px;min-width:0;overflow-wrap:anywhere}.np-collected-config summary{cursor:pointer;font-weight:600;padding:6px 0}.np-collected-config dl{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:8px 16px}.np-collected-config dt,.np-collected-config dd{margin:0;min-width:0;overflow-wrap:anywhere}.np-collected-config section{padding:10px 0;border-top:1px solid var(--border,#8995a6)}@media(max-width:600px){.np-collected-config dl{grid-template-columns:1fr}.np-collected-config dd{padding:0 0 10px 8px}}

.np-collected-config dd dl{display:block;padding-left:8px}.np-collected-config dd dl dt{margin-top:8px}.np-collected-config dd dl dd{margin-bottom:8px}.np-collected-config a{color:inherit}

/* Radio configuration cards: readable in the equipment sidebar and on mobile. */
.nc-radio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin:12px 0;min-width:0}.np-detail-section .nc-radio-card{padding:0;border:1px solid var(--line,#cbd5e1);border-top:4px solid var(--radio-accent,#0f766e);border-radius:12px;overflow:hidden;background:var(--pale,#fff);min-width:0}.nc-radio-card.band24{--radio-accent:#087f8c}.nc-radio-card.band5{--radio-accent:#7058bd}.nc-radio-card.band6{--radio-accent:#a65d12}.nc-radio-card>header{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line,#cbd5e1)}.nc-radio-card h5{font-size:19px;line-height:1.2;margin:0 0 4px;color:var(--ink,#16233b)}.nc-radio-card header span:not(.nc-band-mark){font-size:11px;color:var(--muted,#526477)}.nc-band-mark{font-size:24px;color:var(--radio-accent)}.nc-radio-statuses{display:flex;gap:6px;flex-wrap:wrap;padding:12px 14px 0}.nc-radio-status{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line,#cbd5e1);border-radius:6px;padding:5px 7px;font-size:11px;line-height:1.3}.nc-radio-status.is-on{color:#086346;background:#e6f6ee;border-color:#abd7c4}.nc-radio-status.is-off{color:#68421b;background:#fff3df;border-color:#e2c69c}.nc-radio-status.is-unknown{color:var(--muted,#526477)}.np-detail-section .nc-radio-origin{margin:10px 14px 0;font-size:11px}.nc-radio-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:14px 10px;padding:14px}.nc-radio-field{min-width:0;display:flex;flex-direction:column;gap:5px}.nc-radio-field>span,.nc-radio-channel-block>span{font-size:11px;color:var(--muted,#526477);line-height:1.4}.nc-radio-field>strong{font-size:13px;font-weight:650;color:var(--ink,#16233b);overflow-wrap:anywhere;line-height:1.5}.nc-radio-channel-block{padding:0 14px 14px}.nc-channel-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;min-width:0}.nc-channel{display:inline-flex;justify-content:center;align-items:center;min-width:29px;padding:4px 7px;background:var(--pale,#f3f6fa);border:1px solid var(--line,#cbd5e1);border-radius:5px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink,#16233b)}.nc-not-provided{font-size:12px;color:var(--muted,#526477)}.nc-radio-live{border-top:1px solid var(--line,#cbd5e1)}.nc-radio-live h6{margin:12px 14px 0;font-size:12px;color:var(--radio-accent);font-weight:650}.nc-radio-available{border-top:1px solid var(--line,#cbd5e1);padding:8px 14px 12px}.nc-radio-available summary{font-size:11px;font-weight:600;cursor:pointer;line-height:1.5}.nc-radio-available-row{padding-top:10px}.nc-radio-available-row>strong{font-size:12px}.nc-radio-selection{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line,#cbd5e1);border-radius:8px;padding:12px;margin:10px 0}.nc-radio-selection>span{font-size:12px;color:var(--muted,#526477)}.nc-radio-selection>strong{font-size:13px;color:var(--ink,#16233b)}
@media(max-width:600px){.nc-radio-grid{grid-template-columns:minmax(0,1fr)}.nc-radio-card>header{padding:12px}.nc-radio-values{padding:12px}}
@media print{.nc-radio-card{break-inside:avoid}.nc-radio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.np-site-radios{margin-top:24px;padding-top:18px;border-top:1px solid var(--line,#cbd5e1)}.np-site-radios>h3{margin:0 0 8px}.np-site-radios .np-collected-config{margin-bottom:0}

/* Site Wi-Fi configuration and readable AP assignments. */
.nc-general-wifi{display:grid;gap:24px;min-width:0}.nc-site-wifi{min-width:0;border:1px solid var(--line,#cbd5e1);border-radius:12px;padding:20px}.nc-site-wifi>h3{margin:0 0 18px}.nc-ap-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.nc-ap-list>li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--line,#cbd5e1);border-radius:8px}.nc-ap-name{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 220px}.nc-ap-name strong{font-size:13px;overflow-wrap:anywhere}.nc-ap-name small{font-size:11px;color:var(--muted,#526477)}.nc-ap-properties{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;flex:1 1 260px}.nc-ssid-assignments{margin:12px 0}.nc-ssid-assignments summary{font-weight:600;cursor:pointer}.nc-site-wifi .np-detail-section{padding:0}.np-tabs{flex-wrap:wrap}@media(max-width:600px){.nc-site-wifi{padding:12px}.nc-ap-list>li{align-items:flex-start}.nc-ap-properties{flex-basis:100%}}@media print{.nc-ap-list>li{break-inside:avoid}}

/* V208 — equipment sidebar: white cards on the reference blue-grey backdrop. */
@media screen{
 #networkPortfolioDialog #npEquipmentDetails{background:#e9eef4!important;border:0;border-radius:12px;padding:16px;min-width:0;color:#24374d}
 #networkPortfolioDialog #npEquipmentDetails>.np-device-head,
 #networkPortfolioDialog #npEquipmentDetails>.np-detail-section{box-sizing:border-box;background:#fff!important;border:1px solid #bdc9d7;border-radius:12px;padding:18px;margin:0 0 16px;min-width:0}
 #networkPortfolioDialog #npEquipmentDetails>.np-detail-section:last-child{margin-bottom:0}
 #networkPortfolioDialog #npEquipmentDetails :is(h3,h4,h5){color:#14144b}
 #networkPortfolioDialog #npEquipmentDetails dt{color:#53647a}
 #networkPortfolioDialog #npEquipmentDetails dd{color:#24374d}
 #networkPortfolioDialog #npEquipmentDetails>.np-device-actions{margin:0 0 16px}
 #networkPortfolioDialog #npEquipmentDetails>.empty{background:#fff;border:1px solid #bdc9d7;border-radius:12px}
 @media(max-width:600px){
  #networkPortfolioDialog #npEquipmentDetails{padding:10px}
  #networkPortfolioDialog #npEquipmentDetails>.np-device-head,
  #networkPortfolioDialog #npEquipmentDetails>.np-detail-section{padding:14px;margin-bottom:12px}
 }
}
