.status-dot.registered{background:var(--green);color:#25b47e25}
.status-dot.unregistered{background:var(--yellow);color:#e9a61a25}
.status-dot.unknown{background:var(--red);color:#e0526325}
.status-dot.unavailable{background:#8d96a8;color:#8d96a825}
.status-dot.disabled{background:#8d96a8;color:#8d96a825}
.status-dot.error{background:var(--red);color:#e0526325}
.infrastructure-indicator{display:inline-block;width:.72rem;height:.72rem;border-radius:50%;background:#8d96a8;box-shadow:0 0 0 4px #8d96a825;vertical-align:middle;cursor:help}
.infrastructure-indicator.infrastructure-ok{background:var(--green);box-shadow:0 0 0 4px #25b47e25}
.infrastructure-indicator.infrastructure-warning{background:var(--yellow);box-shadow:0 0 0 4px #e9a61a25}
.infrastructure-indicator.infrastructure-error{background:var(--red);box-shadow:0 0 0 4px #e0526325}
.infrastructure-indicator.infrastructure-unavailable,.infrastructure-indicator.infrastructure-neutral{background:#8d96a8;box-shadow:0 0 0 4px #8d96a825}
.infrastructure-time{display:block;margin-top:.3rem;color:var(--muted);font-size:.7rem}
.tooltip-inner{white-space:pre-line;text-align:left}
.tooltip-nowrap .tooltip-inner{max-width:none;white-space:pre;text-align:left}
.live-label{display:block;margin-top:.45rem;font-size:.86rem}
.table-danger-subtle{--bs-table-bg:#fff4f5}

.live-refresh-bar{display:flex;align-items:center;justify-content:flex-end;margin:-.75rem 0 1rem;color:var(--muted);font-size:.8rem}
.live-refresh-trigger{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .55rem;border:0;border-radius:.55rem;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color .15s,color .15s}
.live-refresh-trigger:hover,.live-refresh-trigger:focus-visible{background:#e9edf7;color:var(--blue);outline:0}
.live-refresh-trigger:disabled{opacity:.75;cursor:wait}
.live-refresh-trigger .fa-rotate{margin-right:.15rem}

.customer-groups{display:grid;gap:.75rem}
.customer-group{margin:0}
.customer-group-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-group[hidden],[data-list-item][hidden]{display:none!important}
.technical-list{display:grid}
.technical-row{background:#fff;border-top:1px solid var(--line)}
.technical-row:first-child{border-top:0}
.technical-row-warning{background:#fff8f8}
.technical-summary{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(260px,1.35fr) auto auto auto;align-items:center;gap:1rem;padding:1rem 1.2rem}
.technical-identity{display:flex;min-width:0;flex-direction:column}
.technical-identity strong,.technical-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.technical-identity small,.technical-meta{color:var(--muted);font-size:.84rem}
.technical-meta{display:flex;min-width:0;flex-wrap:wrap;gap:.45rem 1rem}
.technical-meta span{overflow-wrap:anywhere}
.technical-meta i{width:16px;color:#8b94a8}
.sip-registration-binding{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .4rem;border-radius:.4rem;background:#f3f5f9;white-space:nowrap}
.technical-state{display:flex;max-width:220px;flex-direction:column;align-items:flex-start;gap:.25rem}
.technical-state code{max-width:100%;overflow-wrap:anywhere;font-size:.72rem}

.runtime-details{display:grid;grid-template-columns:130px minmax(170px,1fr);gap:.3rem .8rem;margin:0;padding:0 1.2rem 1rem;font-size:.8rem}
.runtime-details dt{color:var(--muted)}
.runtime-details dd{margin:0;overflow-wrap:anywhere}
.runtime-modal-body{display:grid;gap:1rem}
.runtime-modal-section{padding:1rem;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.runtime-modal-section h3,.runtime-modal-section-title{margin:0 0 .75rem;font-size:.95rem}
.runtime-modal-section small{display:block;margin-top:.65rem;color:var(--muted)}
.modal-detail-list{display:grid;grid-template-columns:1fr;gap:.35rem;padding:0}
.modal-detail-pair{display:grid;grid-template-columns:minmax(125px,.45fr) minmax(0,1fr);gap:.75rem}
.modal-detail-pair dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.runtime-modal-routes{display:grid;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--line)}
.sip-secret-display{display:flex;align-items:center;gap:.45rem;min-height:36px}
.sip-secret-display [data-sip-secret-value]{min-width:0;overflow-wrap:anywhere;word-break:break-all}
.empty-state{padding:2rem;border:1px dashed #ccd2df;border-radius:14px;background:#fff;color:var(--muted);text-align:center}
.wireguard-interface-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:.7rem 1.2rem;border-bottom:1px solid var(--line);background:#fafbfe;color:var(--muted);font-size:.8rem}
.wireguard-cross-access{padding:0 1.2rem 1rem}
.wireguard-cross-access h3{margin:0 0 .65rem;font-size:.82rem}
.wireguard-cross-access .empty-contact{padding:.75rem 0}
.wireguard-route{display:grid;grid-template-columns:minmax(170px,1fr) minmax(100px,.6fr) minmax(150px,.8fr);gap:.6rem;padding:.6rem .75rem;border-top:1px solid var(--line);background:#fff;font-size:.78rem}
.wireguard-route:first-child{border-top:0}
.wireguard-route span{color:var(--muted)}

.customer-users-panel{min-width:0;border-left:1px solid var(--line);padding-left:1.5rem}
.customer-infrastructure-summary{margin:1rem 0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:#fafbfc}
.customer-infrastructure-summary h3{margin:0 0 .8rem;font-size:.95rem}
.customer-infrastructure-summary .runtime-details{padding:0}
.mobile-nav-actions{align-items:center;gap:.45rem}
.mobile-profile-link{color:#fff;padding:.5rem .65rem}
.mobile-logout{margin-top:.75rem;padding-top:.65rem;border-top:1px solid #ffffff25}
.mobile-logout .nav-link{width:100%;color:#ffffffbf;text-align:left}
.mobile-logout .nav-link:hover,.mobile-logout .nav-link:focus{color:#fff}
.sip-setup-hint{margin:1rem 0 0;color:var(--muted);font-size:.85rem}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.section-head h3{margin:0;font-size:1.15rem}
.customer-user-list{display:grid;gap:.55rem}
.customer-user-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fafbfe}
.customer-user-identity{display:flex;min-width:0;flex-direction:column}
.customer-user-identity strong,.customer-user-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-user-identity small{color:var(--muted);font-size:.76rem}

@media(max-width:1000px){
  .technical-summary{grid-template-columns:auto minmax(160px,1fr) auto}
  .technical-meta,.technical-state,.technical-summary>.badge{grid-column:2/4}
  .technical-summary>.device-actions{grid-column:3;grid-row:1;justify-self:end}
  .technical-state{max-width:none;flex-direction:row;align-items:center}
}
@media(max-width:900px){
  .runtime-details{grid-template-columns:110px minmax(150px,1fr)}
  .customer-users-panel{border-top:1px solid var(--line);border-left:0;padding-top:1.5rem;padding-left:calc(var(--bs-gutter-x)*.5)}
}
@media(max-width:700px){
  .live-refresh-bar{justify-content:flex-start;margin-top:0}
  .technical-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;padding:.9rem}
  .technical-meta,.technical-state,.technical-summary>.badge{grid-column:2/4}
  .technical-summary>.device-actions{grid-column:3;grid-row:1;justify-self:end}
  .technical-meta{flex-direction:column;gap:.25rem}
  .technical-summary>.device-actions{justify-content:flex-start}
  .runtime-details{grid-template-columns:95px minmax(0,1fr);padding:0 .9rem .9rem}
  .modal-detail-pair{grid-template-columns:1fr;gap:.1rem;padding:.35rem 0}
  .customer-group-title{max-width:calc(100vw - 165px)}
  .customer-user-row{grid-template-columns:minmax(0,1fr) auto}
  .wireguard-route{grid-template-columns:1fr}
  .customer-user-actions{grid-column:1/3}
  .section-head{align-items:flex-start;flex-direction:column}
}
