html {
  font-size: 14px;
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-bottom: 64px;
  background: #f4f6f8;
  color: #1f2933;
}

a {
  text-decoration: none;
}

.navbar-brand {
  font-weight: 700;
}

.monitor-brand {
  display: inline-flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}

.header-logo {
  display: block;
  width: auto;
  height: 31px;
  max-width: 178px;
  object-fit: contain;
}

.app-header-sticky {
  position: sticky;
  top: 0;
  z-index: 1040;
}

.impersonation-banner {
  position: sticky;
  top: 49px;
  z-index: 1035;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 24px;
  border-bottom: 1px solid #fbbf24;
  background: #fffbeb;
  color: #713f12;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .08);
}

.impersonation-banner__main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-weight: 700;
}

.impersonation-banner__expires {
  color: #92400e;
  font-size: .86rem;
  font-weight: 600;
}

.header-api-button,
.header-api-button:hover,
.header-api-button:focus {
  color: #ffffff;
}

.header-api-button:hover,
.header-api-button:focus {
  background: rgba(255, 255, 255, .14);
  border-color: #ffffff;
}

.header-client-version {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 6px;
  color: #ffffff;
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
}

.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0;
}

.page-heading h1 {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 700;
}

.title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.icon-button {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  color: #334155;
  font-size: 1.12rem;
  line-height: 1;
}

.icon-button:hover,
.icon-button:focus {
  border-color: #94a3b8;
  background: #f8fafc;
  color: #0f5ea8;
}

.confirm-action-message {
  white-space: pre-line;
}

.eyebrow {
  margin: 0 0 4px;
  color: #6b7280;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.timestamp,
.muted-small {
  color: #6b7280;
  font-size: .84rem;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.metric-tile,
.monitor-section,
.login-panel {
  background: #ffffff;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
}

.metric-tile {
  padding: 14px 16px;
}

.metric-tile span {
  display: block;
  color: #64748b;
  font-size: .84rem;
}

.metric-tile strong {
  display: block;
  margin-top: 6px;
  font-size: 1.65rem;
}

.metric-tile .metric-inline-value {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}

.metric-link {
  color: inherit;
}

.metric-link:hover,
.metric-link:focus {
  color: #0f5ea8;
  text-decoration: underline;
}

.dashboard-page {
  display: grid;
  gap: 16px;
}

.dashboard-heading {
  margin-bottom: 2px;
}

.dashboard-title-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
}

.dashboard-company-filter {
  display: grid;
  min-width: min(320px, 100%);
  gap: 4px;
}

.dashboard-company-filter label {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.dashboard-company-filter .form-select {
  min-height: 38px;
  border-radius: 8px;
}

.dashboard-page.is-refreshing [data-dashboard-refresh] {
  opacity: .72;
}

.dashboard-hero,
.dashboard-card,
.dashboard-panel {
  background: #ffffff;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
}

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  border-left: 5px solid #22c55e;
}

.dashboard-page[data-dashboard-tone="warning"] .dashboard-hero {
  border-left-color: #f59e0b;
}

.dashboard-page[data-dashboard-tone="danger"] .dashboard-hero {
  border-left-color: #ef4444;
}

.dashboard-hero-kicker {
  display: block;
  margin-bottom: 6px;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.dashboard-hero h2 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
}

.dashboard-hero p {
  max-width: 820px;
  margin: 7px 0 0;
  color: #475569;
}

.dashboard-health-panel {
  display: grid;
  min-width: 310px;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid #dce5ee;
  border-radius: 8px;
}

.dashboard-health-gauge {
  position: relative;
  display: grid;
  width: 88px;
  height: 88px;
  place-items: center;
}

.dashboard-health-gauge svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.dashboard-health-gauge circle {
  fill: none;
  stroke-width: 11;
}

.dashboard-health-gauge-bg {
  stroke: #e5e7eb;
}

.dashboard-health-gauge-value {
  stroke: #22c55e;
  stroke-linecap: round;
  transition: stroke-dasharray .25s ease;
}

.dashboard-page[data-dashboard-tone="warning"] .dashboard-health-gauge-value {
  stroke: #f59e0b;
}

.dashboard-page[data-dashboard-tone="danger"] .dashboard-health-gauge-value {
  stroke: #ef4444;
}

.dashboard-health-gauge-core {
  display: grid;
  place-items: center;
  gap: 1px;
  line-height: 1;
}

.dashboard-health-gauge-core strong {
  font-size: 1.28rem;
  font-weight: 800;
}

.dashboard-health-gauge-core small,
.dashboard-health-meta span {
  color: #64748b;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.dashboard-health-meta {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.dashboard-health-meta strong {
  font-size: .98rem;
  font-weight: 800;
  color: #0f172a;
}

.dashboard-health-meta small {
  display: -webkit-box;
  overflow: hidden;
  color: #64748b;
  font-size: .78rem;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dashboard-health-track {
  height: 8px;
  margin-top: 3px;
  overflow: hidden;
  background: #e5e7eb;
  border-radius: 999px;
}

.dashboard-health-track i {
  display: block;
  width: 0;
  height: 100%;
  background: #22c55e;
  border-radius: inherit;
  transition: width .25s ease, background-color .25s ease;
}

.dashboard-page[data-dashboard-tone="warning"] .dashboard-health-track i {
  background: #f59e0b;
}

.dashboard-page[data-dashboard-tone="danger"] .dashboard-health-track i {
  background: #ef4444;
}

.dashboard-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(164px, 1fr));
  gap: 12px;
}

.dashboard-card {
  display: grid;
  min-height: 136px;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 14px 16px;
  color: inherit;
  transition: border-color .15s ease, transform .15s ease;
}

.dashboard-card:hover,
.dashboard-card:focus {
  border-color: #94a3b8;
  color: inherit;
  transform: translateY(-1px);
}

.dashboard-card-icon {
  display: inline-grid;
  width: 34px;
  height: 34px;
  grid-column: 2;
  grid-row: 1 / span 2;
  place-items: center;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f5ea8;
}

.dashboard-card-label {
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.dashboard-card strong {
  font-size: 2rem;
  line-height: 1;
}

.dashboard-card small {
  grid-column: 1 / -1;
  color: #64748b;
}

.dashboard-tone-ok .dashboard-card-icon,
.dashboard-attention-item.dashboard-tone-ok .dashboard-attention-icon {
  background: #dcfce7;
  color: #15803d;
}

.dashboard-tone-warning .dashboard-card-icon,
.dashboard-attention-item.dashboard-tone-warning .dashboard-attention-icon {
  background: #fef3c7;
  color: #b45309;
}

.dashboard-tone-danger .dashboard-card-icon,
.dashboard-attention-item.dashboard-tone-danger .dashboard-attention-icon {
  background: #fee2e2;
  color: #b91c1c;
}

.dashboard-main-grid,
.dashboard-lower-grid,
.dashboard-operational-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 16px;
}

.dashboard-operational-grid {
  grid-template-columns: minmax(300px, 1.2fr) repeat(3, minmax(230px, .9fr));
}

.dashboard-lower-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
}

.dashboard-panel {
  min-width: 0;
  padding: 16px;
}

.dashboard-presence {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.dashboard-presence-chart {
  display: grid;
  width: 176px;
  height: 176px;
  place-items: center;
  border-radius: 50%;
  box-shadow: inset 0 0 0 18px rgba(255, 255, 255, .9);
}

.dashboard-presence-chart span {
  display: grid;
  width: 104px;
  height: 104px;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #0f172a;
  font-size: 1.7rem;
  font-weight: 800;
  box-shadow: 0 2px 12px rgba(15, 23, 42, .08);
}

.dashboard-presence-list {
  display: grid;
  gap: 8px;
}

.dashboard-presence-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: inherit;
}

.dashboard-presence-row:hover,
.dashboard-presence-row:focus {
  border-color: #bfdbfe;
  background: #f8fbff;
  color: inherit;
}

.dashboard-presence-row span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
  color: #475569;
  font-weight: 700;
}

.dashboard-presence-row span i,
.dashboard-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.dashboard-presence-row strong {
  font-size: 1.08rem;
}

.dashboard-presence-row small {
  color: #64748b;
}

.dashboard-attention-list,
.dashboard-company-list {
  display: grid;
  gap: 8px;
}

.dashboard-attention-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: inherit;
}

.dashboard-attention-item:hover,
.dashboard-attention-item:focus {
  border-color: #bfdbfe;
  background: #f8fbff;
  color: inherit;
}

.dashboard-attention-icon {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
}

.dashboard-attention-copy {
  display: grid;
  min-width: 0;
}

.dashboard-attention-copy strong,
.dashboard-company-title strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-attention-copy small,
.dashboard-company-title small {
  overflow: hidden;
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-attention-item em {
  color: #64748b;
  font-style: normal;
  white-space: nowrap;
}

.dashboard-empty {
  padding: 18px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  color: #64748b;
  text-align: center;
}

.dashboard-empty-error {
  border-color: #fecaca;
  color: #b91c1c;
}

.triage-filters {
  grid-template-columns: minmax(220px, 1.1fr) minmax(170px, .8fr) minmax(170px, .8fr) auto auto;
}

.triage-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.triage-summary-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  min-height: 106px;
  padding: 16px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #fff;
}

.triage-summary-card span:not(.triage-summary-icon) {
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.triage-summary-card strong {
  grid-column: 2;
  font-size: 2rem;
  line-height: 1;
}

.triage-summary-icon {
  display: inline-grid;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-items: center;
  border-radius: 10px;
  background: #e0f2fe;
  color: #0369a1;
}

.triage-card-critical .triage-summary-icon {
  background: #fee2e2;
  color: #b91c1c;
}

.triage-card-attention .triage-summary-icon {
  background: #fef3c7;
  color: #b45309;
}

.triage-card-watchdog .triage-summary-icon {
  background: #dcfce7;
  color: #15803d;
}

.triage-worklist .section-title-row p {
  margin: 3px 0 0;
  color: #64748b;
}

.triage-table small,
.triage-event-cell span,
.triage-event-cell small {
  display: block;
}

.triage-event-cell {
  min-width: 320px;
}

.triage-event-cell strong {
  display: block;
  margin-bottom: 3px;
}

.triage-event-cell span {
  color: #334155;
}

.triage-event-cell small {
  margin-top: 3px;
  color: #64748b;
}

.triage-type-icon {
  display: inline-grid;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-items: center;
  margin-right: 5px;
  border-radius: 8px;
  background: #eef6ff;
  color: #0f766e;
}

.triage-row-critical {
  border-left: 3px solid #ef4444;
}

.triage-row-attention {
  border-left: 3px solid #f59e0b;
}

.triage-table tbody tr {
  border-top: 1px solid #e2e8f0;
}

.triage-table tbody td {
  border-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}

.triage-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 230px;
  align-items: center;
}

.triage-actions .btn {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  min-height: 30px;
}

.dashboard-portfolio-panel {
  display: grid;
  gap: 14px;
}

.dashboard-portfolio-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.dashboard-portfolio-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f5ea8;
  font-size: 1.1rem;
}

.dashboard-portfolio-head.dashboard-tone-ok .dashboard-portfolio-icon {
  background: #dcfce7;
  color: #15803d;
}

.dashboard-portfolio-head.dashboard-tone-warning .dashboard-portfolio-icon {
  background: #fef3c7;
  color: #b45309;
}

.dashboard-portfolio-head.dashboard-tone-danger .dashboard-portfolio-icon {
  background: #fee2e2;
  color: #b91c1c;
}

.dashboard-portfolio-head h2,
.dashboard-segment-head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
}

.dashboard-portfolio-head p {
  margin: 5px 0 0;
  color: #64748b;
}

.dashboard-insight-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.dashboard-insight {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: inherit;
}

.dashboard-insight:hover,
.dashboard-insight:focus {
  border-color: #bfdbfe;
  background: #f8fbff;
  color: inherit;
}

.dashboard-insight span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  color: #64748b;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.dashboard-insight strong {
  font-size: 1.45rem;
  line-height: 1;
}

.dashboard-insight small {
  overflow: hidden;
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-segment-panel {
  display: grid;
  align-content: start;
  gap: 12px;
}

.dashboard-segment-head {
  display: grid;
  gap: 3px;
}

.dashboard-segment-head small {
  color: #64748b;
}

.dashboard-segment-stack {
  display: flex;
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.dashboard-segment-fill {
  display: block;
  min-width: 4px;
  transition: filter .15s ease;
}

.dashboard-segment-fill:hover,
.dashboard-segment-fill:focus {
  filter: brightness(.92);
}

.dashboard-segment-fill.dashboard-tone-ok {
  background: #22c55e;
}

.dashboard-segment-fill.dashboard-tone-warning {
  background: #f59e0b;
}

.dashboard-segment-fill.dashboard-tone-danger {
  background: #ef4444;
}

.dashboard-segment-fill.dashboard-tone-neutral {
  background: #94a3b8;
}

.dashboard-segment-list {
  display: grid;
  gap: 6px;
}

.dashboard-segment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  color: inherit;
  font-size: .85rem;
}

.dashboard-segment-row:hover,
.dashboard-segment-row:focus {
  color: #0f5ea8;
}

.dashboard-segment-row span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: #475569;
  font-weight: 700;
}

.dashboard-segment-row span i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 999px;
}

.dashboard-segment-row small {
  color: #64748b;
}

.dashboard-activity-chart {
  display: grid;
  min-height: 210px;
  grid-template-columns: repeat(24, minmax(10px, 1fr));
  gap: 5px;
  align-items: end;
  padding: 10px 0 0;
}

.dashboard-activity-bar {
  display: grid;
  min-width: 0;
  height: 210px;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 6px;
  justify-items: center;
}

.dashboard-activity-bar > span {
  display: flex;
  width: 100%;
  min-height: 4px;
  max-width: 18px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: 999px 999px 2px 2px;
  background: #e2e8f0;
}

.dashboard-activity-bar i {
  display: block;
  width: 100%;
}

.dashboard-activity-alerts,
.dashboard-dot-alerts {
  background: #ef4444;
}

.dashboard-activity-watchdog,
.dashboard-dot-watchdog {
  background: #f59e0b;
}

.dashboard-activity-audit,
.dashboard-dot-audit {
  background: #38bdf8;
}

.dashboard-activity-bar small {
  color: #64748b;
  font-size: .66rem;
  writing-mode: vertical-rl;
}

.dashboard-activity-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
}

.dashboard-activity-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dashboard-company-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: inherit;
}

.dashboard-company-row:hover,
.dashboard-company-row:focus {
  border-color: #bfdbfe;
  background: #f8fbff;
  color: inherit;
}

.dashboard-company-title {
  display: grid;
  min-width: 0;
}

.dashboard-company-metrics {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #475569;
  font-size: .82rem;
  white-space: nowrap;
}

.dashboard-company-metrics em {
  font-style: normal;
  font-weight: 700;
}

.dashboard-company-score {
  grid-column: 1 / -1;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.dashboard-company-score i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #22c55e;
}

.dashboard-company-row.dashboard-tone-warning .dashboard-company-score i {
  background: #f59e0b;
}

.dashboard-company-row.dashboard-tone-danger .dashboard-company-score i {
  background: #ef4444;
}

.metric-separator {
  color: #94a3b8;
}

.online-check-icon {
  color: #15803d;
  font-size: 1.1rem;
  line-height: 1;
}

.client-feature-icons {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 8px;
  vertical-align: middle;
  white-space: nowrap;
}

.client-feature-icon {
  font-size: 1rem;
  line-height: 1;
}

.client-os-icon {
  margin-left: 6px;
  color: #0f766e;
  font-size: 1rem;
  line-height: 1;
  vertical-align: -0.05em;
}

.client-language-flag {
  display: inline-block;
  height: 18px;
  margin-left: 6px;
  object-fit: cover;
  vertical-align: -0.18em;
  width: 24px;
}

.client-feature-on {
  color: #15803d;
}

.client-feature-off {
  color: #94a3b8;
}

.client-feature-enterprise {
  color: #d97706;
}

.client-health-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid #d9e1e8;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.client-health-badge i {
  font-size: .9rem;
}

.client-health-ok {
  border-color: #9fd7ae;
  background: #ecfdf3;
  color: #0b6b2f;
}

.client-health-ok-offline {
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #4b5563;
}

.client-health-attention {
  border-color: #f3c267;
  background: #fff7df;
  color: #9a5b00;
}

.client-health-critical {
  border-color: #f2b3b3;
  background: #fff1f1;
  color: #b42318;
}

.client-health-unmonitored {
  border-color: #cbd5e1;
  background: #f1f5f9;
  color: #475569;
}

.device-detail-note {
  margin-top: 4px;
  color: #64748b;
  font-size: .82rem;
}

.client-assistant-ticket-button {
  width: 26px;
  height: 26px;
  margin-left: 0;
  border: 1px solid #f59e0b;
  border-radius: 7px;
  background: #fff7ed;
  color: #c2410c;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14);
}

.client-assistant-ticket-button i {
  font-size: 0.92rem;
}

.client-assistant-ticket-button:hover,
.client-assistant-ticket-button:focus {
  border-color: #fdba74;
  background: #ffedd5;
  color: #b45309;
}

.assistant-ticket-summary {
  margin-bottom: 16px;
}

.config-status-alert {
  color: #b91c1c;
  font-weight: 700;
}

.config-status-ok {
  color: #15803d;
  font-weight: 700;
}

.company-info-button {
  display: inline-grid;
  place-items: center;
  margin-left: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f5ea8;
  line-height: 1;
}

.company-info-button:hover,
.company-info-button:focus {
  color: #083f74;
}

.nearline-check-icon {
  color: #d97706;
  font-size: 1.1rem;
  line-height: 1;
}

.log-upload-type-icon {
  color: #0f5ea8;
  font-size: 1.15rem;
  line-height: 1;
}

.log-upload-origin-icon {
  color: #334155;
  font-size: 1.12rem;
  line-height: 1;
}

.log-file-icon {
  color: #0f5ea8;
  font-size: 1.1rem;
  line-height: 1;
}

.reputation-query-counters {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  white-space: nowrap;
}

.reputation-counter-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 4px 9px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.reputation-counter-button:hover {
  border-color: #9db7d1;
  color: #0f5ea8;
}

.reputation-query-counters strong {
  color: #111827;
  font-size: .95rem;
}

.log-type-filter {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.log-type-filter-button {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #ffffff;
  color: #64748b;
  text-decoration: none;
}

.log-type-filter-button:hover,
.log-type-filter-button:focus {
  border-color: #0f5ea8;
  color: #0f5ea8;
}

.log-type-filter-button.active {
  border-color: #0f5ea8;
  background: #e8f3ff;
  color: #0f5ea8;
}

.log-received-filter-bar,
.log-date-range-filter {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 8px;
}

.log-date-range-filter label {
  display: grid;
  gap: 3px;
  margin: 0;
  color: #5c6675;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.log-date-range-filter input[type="date"] {
  min-width: 150px;
}

.log-date-range-filter.disabled {
  opacity: .55;
}

.message-queue-heading {
  margin-bottom: 10px;
}

.message-queue-filters {
  display: grid;
  grid-template-columns:
    minmax(180px, 1.15fr)
    minmax(130px, .75fr)
    minmax(130px, .75fr)
    minmax(150px, .85fr)
    minmax(210px, 1.2fr)
    auto
    auto
    auto
    auto;
  align-items: end;
  gap: 8px;
  margin: 0 0 14px;
  min-width: 0;
}

.message-queue-filters .form-select,
.message-queue-filters .form-control {
  min-width: 0;
}

.message-queue-date-range {
  flex-wrap: nowrap;
  align-items: end;
}

.message-queue-date-range input[type="date"] {
  min-width: 132px;
}

.message-queue-filters .btn {
  min-height: 38px;
  white-space: nowrap;
}

.notification-bell-button {
  position: relative;
  min-width: 38px;
}

.notification-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  line-height: 18px;
}

.notification-dropdown {
  width: min(380px, calc(100vw - 24px));
  padding: 0;
  overflow: hidden;
}

.notification-dropdown.show {
  display: flex;
  flex-direction: column;
  max-height: min(640px, 70dvh);
}

.notification-dropdown [data-notification-items] {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.notification-dropdown-header { flex-shrink: 0; }
.notification-menu-actions { padding: 8px 12px; }
.notification-menu-more { display: block; padding: 10px 12px; border-top: 1px solid #e2e8f0; }
.notification-dropdown-body { overflow-wrap: anywhere; }
.version-dropdown-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

@media (max-width: 575.98px) {
  [data-notification-header] {
    position: static;
  }

  [data-notification-header] .notification-dropdown {
    position: absolute;
    top: 100%;
    left: 12px;
    right: 12px;
    width: auto;
    max-height: 60vh;
    overflow-y: auto;
  }
}

.notification-dropdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0;
}

.notification-dropdown-header a {
  font-size: .82rem;
  text-decoration: none;
}

.notification-dropdown-empty {
  padding: 18px 12px;
  color: #64748b;
  font-size: .9rem;
}

.notification-dropdown-item {
  display: block;
  padding: 10px 12px;
  border-bottom: 1px solid #eef2f7;
  color: #0f172a;
  text-decoration: none;
}

.notification-dropdown-item:hover {
  background: #f8fafc;
  color: #0f172a;
}

.notification-dropdown-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.notification-dropdown-read-form {
  margin-top: 6px;
}

.notification-dropdown-item.is-unread {
  background: #eff6ff;
}

.notification-dropdown-title,
.notification-dropdown-body,
.notification-dropdown-meta {
  display: block;
}

.notification-dropdown-title {
  font-weight: 700;
}

.notification-dropdown-body {
  margin-top: 2px;
  color: #475569;
  font-size: .86rem;
}

.notification-dropdown-meta {
  margin-top: 4px;
  color: #64748b;
  font-size: .76rem;
}

.notification-filters {
  margin-bottom: 14px;
}

.filters.notification-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto 36px;
}

.notification-filters > a.btn,
.notification-card-actions button[aria-label] {
  display: inline-grid;
  place-items: center;
  min-width: 30px;
  min-height: 30px;
}

.notification-filters > a.btn {
  width: 36px;
  min-height: 34px;
}

.notification-list {
  display: grid;
  gap: 10px;
}

.notification-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 310px;
  padding: 40px 20px;
  text-align: center;
  border-top: 1px solid #dbe3ec;
  background: #fff;
}

.notification-empty-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background: #e9f5f1;
  color: #187362;
  font-size: 28px;
}

.notification-empty h2 {
  margin: 0;
  max-width: 480px;
  font-size: 1.15rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.notification-empty .btn {
  max-width: 100%;
  white-space: normal;
}

.notification-delivery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  margin-top: 16px;
  padding-top: 10px;
  border-top: 1px solid #dbe3ec;
  font-size: .78rem;
}

.notification-delivery-label { color: #64748b; }
.notification-delivery-channel { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px; color: #526476; }
.notification-delivery-channel.is-sent, .notification-delivery-channel.is-available { color: #187362; }
.notification-delivery-channel.is-failed { color: #ad2938; }
.notification-delivery-channel.is-mixed { color: #825916; }

.notification-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid #dbe3ec;
  border-radius: 8px;
  background: #fff;
}

.notification-card.is-unread {
  border-color: #93c5fd;
  background: #f8fbff;
}

.notification-card-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #0f766e;
  background: #ecfeff;
}

.notification-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.notification-card h2 {
  margin: 4px 0 4px;
  font-size: 1rem;
}

.notification-card p {
  margin: 0;
  color: #475569;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

.notification-card.is-selected {
  border-color: #1874c4;
  box-shadow: inset 4px 0 #1874c4;
  background: #f2f8ff;
  scroll-margin-block: 90px;
}

.notification-card:focus-visible {
  outline: 2px solid #1874c4;
  outline-offset: 3px;
}

.notification-context {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  color: #526476;
  font-size: .8rem;
  margin: 6px 0 12px;
}

.notification-card-body {
  min-width: 0;
  overflow-wrap: anywhere;
}

.notification-status {
  margin-left: auto;
  color: #526476;
}

.notification-card-actions {
  display: flex;
  flex-wrap: wrap;
  max-width: 270px;
  align-items: center;
  gap: 6px;
}

@media (max-width: 1400px) {
  .message-queue-filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .filters.notification-filters {
    grid-template-columns: minmax(0, 1fr) 36px;
  }

  .notification-filters > select {
    grid-column: 1 / -1;
  }

  .message-queue-filters {
    grid-template-columns: 1fr;
  }

  .message-queue-date-range {
    flex-wrap: wrap;
  }

  .notification-card {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .notification-card-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

.legacy-online-check-icon::before {
  content: "✓";
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
}

.containment-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.containment-status-icon {
  font-size: 1.05rem;
  line-height: 1;
}

.containment-status-icon-ok {
  color: #15803d;
}

.legacy-containment-status-icon-ok::before {
  content: "\2713";
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 800;
}

.containment-status-icon-failed {
  color: #dc2626;
}

.legacy-containment-status-icon-failed::before {
  content: "\00d7";
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
}

.monitor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 16px;
}

.version-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(420px, .75fr);
}

.version-form {
  padding: 0 16px 16px;
}

.version-changelog-modal-body {
  display: grid;
  gap: 18px;
}

.version-new-modal-body {
  padding-bottom: 8px;
}

.version-changelog-add,
.version-changelog-entry {
  border: 1px solid #d8e1ed;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.version-changelog-add h3,
.version-changelog-list h3 {
  margin: 0 0 12px;
  font-size: .95rem;
  font-weight: 700;
}

.version-changelog-list {
  display: grid;
  gap: 12px;
}

.version-changelog-entry {
  display: grid;
  gap: 10px;
}

.version-changelog-entry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.auto-grow-textarea {
  min-height: 42px;
  overflow: hidden;
  resize: none;
}

.version-release-future-row {
  background: #fff7ed;
}

.version-release-future {
  background: #ffedd5;
  color: #9a3412;
  border-color: #fed7aa;
}

.server-health-filters {
  align-items: end;
  padding: 0 16px 12px;
}

.server-health-filters .form-label {
  display: grid;
  gap: 4px;
  margin: 0;
}

.server-health-filters .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  white-space: nowrap;
}

.admin-users-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
}

.user-profile-grid {
  grid-template-columns: minmax(360px, .8fr) minmax(420px, .8fr);
}

.user-profile-details {
  padding: 0 16px 16px;
}

.profile-tab-content .user-profile-details {
  padding: 0;
}

.profile-tabs {
  padding: 0 16px;
}

.profile-tab-content {
  padding: 18px 16px 16px;
}

.profile-tab-form {
  padding: 0;
}

.profile-push-summary {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: .92rem;
}

.profile-push-summary p {
  margin: 0;
}

.profile-push-summary p + p {
  margin-top: 6px;
}

.profile-modal-section {
  padding: 14px 0;
  border-bottom: 1px solid #e2e8f0;
}

.profile-modal-section:first-of-type {
  padding-top: 0;
}

.profile-modal-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.profile-modal-section h3 {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 700;
}

.profile-modal-form .form-label {
  font-weight: 600;
  color: #475569;
}

.admin-user-form {
  padding: 0 16px 16px;
}

.admin-user-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.password-rules {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: .9rem;
}

.password-rules ul {
  margin: 6px 0 0 18px;
  padding: 0;
}

.release-message-toolbar {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}

.version-message-button {
  width: 28px;
  height: 28px;
  margin: 0 auto;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.version-message-button:hover,
.version-message-button:focus {
  border-color: transparent;
  background: transparent;
}

.inline-icon-button {
  display: inline-grid;
  width: 24px;
  height: 24px;
  margin-left: 4px;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #0f5ea8;
  line-height: 1;
}

.inline-icon-button:hover,
.inline-icon-button:focus {
  background: #e0f2fe;
  color: #075985;
}

.inline-icon-button.copy-ok {
  color: #15803d;
}

.supremo-inline-detail {
  margin-left: 8px;
  white-space: nowrap;
}

.legacy-fa-message::before {
  content: "\2709";
}

.version-message-content {
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
}

.client-version {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.client-version-current {
  background: #dcfce7;
  color: #166534;
}

.client-version-outdated {
  background: #ffedd5;
  color: #9a3412;
}

.client-version-deprecated {
  background: #fee2e2;
  color: #991b1b;
}

.client-version-unknown {
  background: #e5e7eb;
  color: #374151;
}

.upload-progress-body {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 28px;
}

.config-modal-dialog {
  height: calc(100vh - 28px);
  margin-top: 14px;
  margin-bottom: 14px;
}

.config-modal-dialog .modal-content {
  max-height: 100%;
}

.config-modal-dialog form {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.config-modal-dialog .modal-body {
  min-height: 0;
  overflow-y: auto;
}

.config-modal-dialog .modal-footer {
  position: sticky;
  bottom: 0;
  z-index: 5;
  flex-shrink: 0;
  background: #ffffff;
  box-shadow: 0 -6px 14px rgba(15, 23, 42, .06);
}

.config-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  color: #475569;
}

.config-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.localization-settings-grid {
  display: grid;
  gap: 14px;
}

.localization-setting-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 18px;
  align-items: start;
}

.localization-setting-control {
  width: 100%;
}

@media (max-width: 768px) {
  .localization-setting-row {
    grid-template-columns: 1fr;
  }
}

.config-alert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.resource-threshold-panel {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.resource-threshold-header {
  display: flex;
  width: 100%;
  margin: 0 0 14px;
  padding: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  font-size: 1rem;
}

.resource-threshold-header strong,
.resource-threshold-header small {
  display: block;
}

.resource-threshold-header small {
  margin-top: 5px;
  color: #64748b;
  font-size: .84rem;
  font-weight: 400;
  line-height: 1.35;
}

.resource-threshold-header .form-switch {
  flex: 0 0 auto;
  min-height: 28px;
  margin: 0;
}

.resource-threshold-settings {
  display: grid;
  gap: 12px;
}

.resource-threshold-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(126px, .55fr);
  gap: 14px;
  align-items: end;
}

.resource-threshold-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: center;
}

.resource-threshold-range strong {
  text-align: right;
}

.resource-threshold-option {
  margin-top: 2px;
}

.resource-threshold-system-state {
  display: grid;
  gap: 6px;
  padding-top: 2px;
}

.resource-threshold-panel.resource-threshold-disabled .resource-threshold-settings {
  opacity: .58;
}

@media (max-width: 1050px) {
  .config-alert-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .resource-threshold-row {
    grid-template-columns: 1fr;
  }
}

.config-editor-shell {
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.config-tabs {
  padding: 8px 8px 0;
}

.config-tabs .nav-link {
  border-radius: 0;
  color: #111827;
  font-weight: 700;
}

.config-tab-content {
  padding: 14px;
}

.config-card {
  padding: 16px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #ffffff;
}

.config-card h3 {
  margin: 0 0 14px;
  font-size: 1rem;
  font-weight: 700;
}

.config-card h4 {
  margin: 0 0 8px;
  font-size: .94rem;
  font-weight: 700;
}

.wake-on-lan-summary {
  margin-top: 12px;
}

.wake-on-lan-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.wake-on-lan-refresh-status {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  font-size: .78rem;
  font-weight: 600;
}

#wakeOnLanShutdownTestModal {
  z-index: 1100;
}

.wol-shutdown-test-backdrop {
  z-index: 1095;
}

.wol-shutdown-test-status,
.wol-shutdown-test-progress {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid #d9e1e8;
  border-left-width: 4px;
  border-radius: 6px;
  background: #f8fafc;
}

.wol-shutdown-test-status.is-success { border-left-color: #16a34a; color: #166534; }
.wol-shutdown-test-status.is-danger { border-left-color: #dc2626; color: #991b1b; }
.wol-shutdown-test-status.is-warning,
.wol-shutdown-test-status.is-pending { border-left-color: #d97706; color: #854d0e; }
.wol-shutdown-test-status.is-neutral,
.wol-shutdown-test-status.is-loading { border-left-color: #64748b; color: #475569; }

.wol-shutdown-test-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 12px;
  border: 1px solid #d9e1e8;
  background: #d9e1e8;
}

.wol-shutdown-test-meta > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  background: #fff;
}

.wol-shutdown-test-meta span {
  color: #64748b;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.wol-shutdown-test-meta strong {
  overflow-wrap: anywhere;
}

.wol-shutdown-test-progress {
  margin-top: 12px;
  border-left-color: #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
}

.wol-shutdown-test-warning {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

@media (max-width: 700px) {
  .wol-shutdown-test-meta {
    grid-template-columns: 1fr;
  }
}

.wake-on-lan-details {
  margin-top: 14px;
}

.wake-on-lan-separator {
  margin: 16px 0;
  border-color: #d9e1e8;
  opacity: 1;
}

.wake-relay-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.wake-relay-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.wake-relay-copy span,
.wake-on-lan-adapter-description {
  color: #64748b;
  font-size: .82rem;
}

.wake-on-lan-adapter-description {
  display: block;
  margin-top: 3px;
}

.wake-on-lan-adapter-table {
  min-width: 1060px;
}

.wake-on-lan-adapter-table th,
.wake-on-lan-adapter-table td {
  text-align: center;
  vertical-align: middle;
}

.wake-on-lan-adapter-table thead th {
  height: 154px;
  padding: 8px 8px 12px;
  white-space: nowrap;
}

.wake-on-lan-adapter-table thead th > span {
  display: inline-block;
  transform: rotate(-75deg);
  transform-origin: center;
}

.wake-on-lan-adapter-table thead th:nth-child(-n + 2) {
  height: auto;
}

.wake-on-lan-adapter-table thead th:nth-child(-n + 2) > span {
  transform: none;
}

.wake-on-lan-adapter-table td:first-child {
  min-width: 230px;
}

.wake-on-lan-adapter-table th:nth-child(2),
.wake-on-lan-adapter-table td:nth-child(2) {
  min-width: 126px;
}

.wake-on-lan-value-icon {
  font-size: 1rem;
}

.wake-on-lan-value-icon-ok {
  color: #16864b;
}

.wake-on-lan-value-icon-no {
  color: #c93c45;
}

.wake-relay-setting .form-check {
  flex: 0 0 auto;
  margin: 0 6px 0 0;
}

.client-wol-operation-icon {
  margin-left: 3px;
  color: #0d6efd;
}

.client-wol-operation-icon.is-warning {
  color: #ffa800;
}

.wake-on-lan-relay-body {
  padding: 20px 24px;
}

.wake-on-lan-relay-summary {
  padding: 16px 18px;
  border: 1px solid #d6e2f0;
  background: #f7faff;
}

.wake-on-lan-relay-summary h3,
.wake-on-lan-history h3 {
  margin: 0 0 6px;
  font-size: 1rem;
}

.wake-on-lan-relay-summary p {
  margin: 0 0 12px;
  color: #526273;
}

.wake-on-lan-relay-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(210px, 0.65fr);
  gap: 18px;
  margin-top: 18px;
}

.wake-on-lan-history {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #d6e2f0;
}

.wake-on-lan-relay-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 20px;
  padding: 12px 14px;
  border-left: 3px solid #0d6efd;
  background: #f2f7fd;
  color: #43566b;
}

@media (max-width: 767.98px) {
  .wake-on-lan-relay-fields {
    grid-template-columns: 1fr;
  }
  .wake-relay-setting {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

.config-section-header,
.iip-asset-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.iip-asset-header .form-check {
  flex: 0 0 auto;
  margin-top: 4px;
}

.iip-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.iip-summary-card,
.iip-upload-summary,
.iip-schedule-card,
.iip-feature-section {
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.iip-feature-section .iip-upload-summary,
.iip-feature-section .iip-schedule-card {
  background: #fff;
}

.iip-summary-card dl,
.iip-upload-summary dl {
  margin: 0;
}

.iip-summary-card dt {
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.iip-summary-card dd {
  margin: 0 0 8px;
  color: #0f172a;
  font-weight: 700;
}

.iip-schedule-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.iip-schedule-row .form-label {
  margin: 0;
}

.iip-schedule-row .form-select {
  width: 82px;
}

.iip-schedule-row .iip-scan-mode-select {
  width: min(320px, 100%);
}

.iip-weekday-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.iip-weekday-list .form-check {
  margin: 0;
}

@media (max-width: 768px) {
  .config-section-header,
  .iip-asset-header {
    display: block;
  }

  .iip-summary-grid {
    grid-template-columns: 1fr;
  }
}

.config-xdr-card {
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.config-xdr-card + .config-xdr-card {
  margin-top: 12px;
}

.config-xdr-card h4 {
  margin: 0 0 12px;
  font-size: .96rem;
  font-weight: 700;
}

.xdr-drive-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.xdr-drive-tab {
  min-width: 54px;
  padding: 7px 12px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-weight: 700;
}

.xdr-drive-tab.active {
  border-color: #7db3ff;
  background: #eaf3ff;
  color: #075bb5;
}

.xdr-unit-meta {
  margin: 0 0 18px;
  color: #64748b;
  font-weight: 700;
}

.xdr-editor {
  display: grid;
  gap: 14px;
}

.xdr-section,
.xdr-subsection {
  padding: 16px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #ffffff;
}

.xdr-subsection {
  margin-top: 14px;
  background: #f8fafc;
}

.xdr-section h4,
.xdr-subsection h4 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
}

.xdr-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.xdr-learning-period {
  margin-top: 8px;
  color: #d97706;
  font-size: .9rem;
  font-weight: 700;
}

.xdr-switch-actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
}

.xdr-toggle {
  display: inline-flex;
  min-width: 54px;
  justify-content: flex-end;
  margin: 0;
  padding-left: 0;
}

.xdr-toggle .form-check-input {
  width: 3.2rem;
  height: 1.75rem;
  margin: 0;
  cursor: pointer;
}

.xdr-event-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 10px 16px;
  max-width: 540px;
}

.xdr-event-control {
  display: grid;
  grid-template-columns: auto 1fr auto 76px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #ffffff;
}

.xdr-form-grid,
.xdr-threshold-grid {
  display: grid;
  gap: 10px;
  max-width: 720px;
}

.xdr-number-field {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 110px auto;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-weight: 700;
}

.xdr-threshold-field {
  grid-template-columns: minmax(180px, 1fr) 110px auto auto minmax(150px, auto);
}

.xdr-number-field input {
  text-align: right;
}

.xdr-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.xdr-dot-green {
  background: #82d66b;
}

.xdr-dot-orange {
  background: #d99000;
}

.xdr-dot-red {
  background: #df3f3f;
}

.xdr-dot-purple {
  background: #7b4ee6;
}

.xdr-threshold-indicators {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 150px;
}

.xdr-threshold-indicator {
  color: #cbd5e1;
  font-size: 1.08rem;
  line-height: 1;
}

.xdr-threshold-indicator.active {
  color: #15803d;
}

.xdr-canary-section {
  display: grid;
  gap: 12px;
}

.xdr-canary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.xdr-canary-summary {
  padding-top: 4px;
}

.xdr-canary-modal .modal-body {
  max-height: 70vh;
}

.xdr-canary-config-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(170px, .45fr);
  gap: 16px;
}

.xdr-canary-rules {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
}

.xdr-canary-rule-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, .45fr);
  align-items: center;
  gap: 16px;
  margin: 0;
}

.xdr-canary-status-card {
  grid-template-columns: 1fr;
}


.xdr-pag-config-card,
.xdr-pag-rules-card {
  grid-template-columns: 1fr;
}

.windows-update-panel {
    min-width: 0;
}

.windows-update-select-column {
    width: 5.5rem;
    text-align: center;
}

.windows-update-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.windows-update-command-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .8rem;
    border: 1px solid #9ec5fe;
    border-left-width: 4px;
    background: #f4f8ff;
}

.windows-update-command-status.is-success {
    border-color: #75b798;
    background: #f1fbf5;
}

.windows-update-command-status.is-warning {
    border-color: #ffda6a;
    background: #fff9e8;
}

.windows-update-command-status.is-error {
    border-color: #ea868f;
    background: #fff3f4;
}

.windows-update-results h4 {
    margin-bottom: .65rem;
    font-size: .92rem;
}

.windows-update-result {
    border: 1px solid #d9e2ef;
    border-radius: 6px;
    margin-bottom: .6rem;
    overflow: hidden;
}

.windows-update-result summary {
    padding: .65rem .75rem;
    cursor: pointer;
    font-weight: 600;
    background: #f8fbff;
}

.windows-update-result-body {
    padding: .8rem;
}

.windows-update-result-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .8rem;
}

.windows-update-result-fact {
    display: grid;
    gap: .12rem;
    padding: .5rem .6rem;
    border: 1px solid #e1e8f2;
    background: #fbfdff;
}

.windows-update-result-fact > span {
    color: #637087;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.windows-update-result-fact > strong {
    font-size: .82rem;
    overflow-wrap: break-word;
}

.windows-update-result-fact.is-count {
    background: #f6f9fd;
}

.windows-update-result-fact.is-count > strong {
    font-size: 1rem;
}

.windows-update-result-fact.is-wide {
    grid-column: 1 / -1;
}

.windows-update-result-fact.is-wide > strong {
    font-size: .76rem;
    overflow-wrap: anywhere;
}

.windows-update-result-summary-content {
    align-items: center;
    display: inline-grid;
    gap: .45rem .75rem;
    grid-template-columns: auto minmax(8.5rem, auto) auto minmax(12rem, 1fr);
    margin-left: .35rem;
    width: calc(100% - 1.4rem);
}

.windows-update-result-status {
    border: 1px solid #9ec5fe;
    border-radius: 999px;
    color: #075bb5;
    font-size: .72rem;
    padding: .18rem .5rem;
}

.windows-update-result-status.is-success {
    border-color: #75b798;
    color: #146c43;
}

.windows-update-result-status.is-warning {
    border-color: #ffca2c;
    color: #8a5a00;
}

.windows-update-result-status.is-error {
    border-color: #ea868f;
    color: #b02a37;
}

.windows-update-result-date,
.windows-update-result-counts {
    font-size: .8rem;
}

.windows-update-result-command {
    color: #637087;
    font-size: .72rem;
    justify-self: end;
    overflow-wrap: anywhere;
}

.windows-update-result-table-wrap {
    border: 1px solid #e1e8f2;
}

.windows-update-result-items {
    margin-bottom: 0;
    table-layout: fixed;
    width: 100%;
}

.windows-update-result-items thead th {
    background: #f4f7fb;
    color: #53627a;
    font-size: .68rem;
    text-transform: uppercase;
}

.windows-update-result-items th,
.windows-update-result-items td {
    padding: .45rem .55rem;
    vertical-align: top;
    overflow-wrap: break-word;
}

.windows-update-result-items th:nth-child(1),
.windows-update-result-items td:nth-child(1) {
    width: 56%;
}

.windows-update-result-items th:nth-child(2),
.windows-update-result-items td:nth-child(2) {
    width: 11%;
}

.windows-update-result-items th:nth-child(3),
.windows-update-result-items td:nth-child(3) {
    width: 14%;
}

.windows-update-result-items th:nth-child(4),
.windows-update-result-items td:nth-child(4) {
    width: 19%;
}

.windows-update-confirm-modal {
    z-index: 1095;
}

.windows-update-confirm-modal + .modal-backdrop,
.modal-backdrop.windows-update-confirm-backdrop {
    z-index: 1090;
}

@media (max-width: 767.98px) {
    .windows-update-actions,
    .windows-update-command-status {
        align-items: stretch;
        flex-direction: column;
    }

    .windows-update-actions .btn {
        width: 100%;
    }

    .windows-update-result-summary-content {
        grid-template-columns: 1fr;
        width: calc(100% - 1.4rem);
    }

    .windows-update-result-facts {
        grid-template-columns: 1fr;
    }

    .windows-update-result-items {
        min-width: 46rem;
    }

    .windows-update-result-command {
        justify-self: start;
    }
}

@media (min-width: 768px) and (max-width: 899.98px) {
    .windows-update-result-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.xdr-pag-rules-card > * {
  grid-column: 1 / -1;
}

.xdr-pag-config-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 16px;
}

.xdr-pag-field {
  display: grid;
  gap: 6px;
}

.xdr-pag-rule-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.xdr-pag-rule-list,
.xdr-pag-scope-list {
  display: grid;
  gap: 10px;
}

.xdr-pag-rule-item {
  display: grid;
  grid-template-columns: minmax(130px, .6fr) minmax(240px, 1.15fr) minmax(190px, .9fr) minmax(230px, 1fr) minmax(150px, .7fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #d8e4f0;
  border-radius: 8px;
  background: #f8fbff;
}

.xdr-pag-rule-field {
  min-width: 0;
}

.xdr-pag-rule-field span,
.xdr-pag-scopes-title {
  display: block;
  color: #60728a;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.xdr-pag-rule-field strong {
  display: block;
  overflow-wrap: anywhere;
  color: #10243a;
  font-size: .88rem;
}

.xdr-pag-readiness-card {
  grid-template-columns: 1fr;
}

.xdr-pag-readiness-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.xdr-pag-readiness-status,
.xdr-pag-readiness-flag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .78rem;
  font-weight: 800;
}

.xdr-pag-readiness-status.is-ok,
.xdr-pag-readiness-flag.is-ok {
  color: #166534;
  background: #dcfce7;
  border: 1px solid #86efac;
}

.xdr-pag-readiness-status.is-warning {
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fbbf24;
}

.xdr-pag-readiness-status.is-info {
  color: #075985;
  background: #e0f2fe;
  border: 1px solid #7dd3fc;
}

.xdr-pag-readiness-status.is-danger,
.xdr-pag-readiness-flag.is-ko {
  color: #991b1b;
  background: #fee2e2;
  border: 1px solid #fca5a5;
}

.xdr-pag-readiness-status.is-muted,
.xdr-pag-readiness-flag.is-unknown {
  color: #475569;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
}

.xdr-pag-readiness-message {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #d8e4f0;
}

.xdr-pag-readiness-overview {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.xdr-pag-readiness-flags,
.xdr-pag-scope-details {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.xdr-pag-readiness-flags {
  justify-content: flex-end;
}

.xdr-pag-scope-list {
  grid-template-columns: 1fr;
}

.xdr-pag-scope-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #d8e4f0;
  border-radius: 8px;
  background: #fff;
}

.xdr-pag-scope-row > strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.xdr-pag-scope-row .xdr-pag-scope-details {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .xdr-pag-config-grid {
    grid-template-columns: 1fr;
  }

  .xdr-pag-rule-item {
    grid-template-columns: 1fr;
  }

  .xdr-pag-readiness-overview {
    grid-template-columns: 1fr;
  }

  .xdr-pag-scope-list {
    grid-template-columns: 1fr;
  }

  .xdr-pag-scope-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .xdr-pag-scope-row .xdr-pag-scope-details {
    justify-content: flex-start;
  }
}

/* Vault list controls and dense workspace */
.vault-system-filter {
  flex: 0 1 260px;
  min-width: 210px;
}

.vault-key-legend {
  position: relative;
  flex: 0 0 auto;
}

.vault-key-legend summary {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  gap: .4rem;
  padding: .35rem .65rem;
  border: 1px solid #cfe1f5;
  border-radius: 6px;
  background: #fff;
  color: #075bb5;
  cursor: pointer;
  font-size: .82rem;
  font-weight: 700;
  list-style: none;
}

.vault-key-legend summary::-webkit-details-marker {
  display: none;
}

.vault-key-legend-items {
  position: absolute;
  right: 0;
  z-index: 20;
  display: grid;
  width: max-content;
  min-width: 250px;
  gap: .55rem;
  margin-top: .35rem;
  padding: .75rem;
  border: 1px solid #cfe1f5;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .14);
}

.vault-key-legend-items > span {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: #334155;
  font-size: .82rem;
  white-space: nowrap;
}

.vault-key-legend-items .vault-card-icon.small {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 6px;
  font-size: .78rem;
}

.vault-panel-collapsed-trigger {
  display: none;
}

.vault-grid.vault-grid--focus-private {
  grid-template-columns: minmax(0, 1fr) 3.25rem;
}

.vault-grid.vault-grid--focus-company {
  grid-template-columns: 3.25rem minmax(0, 1fr);
}

.vault-list-card.is-collapsed {
  display: flex;
  min-width: 0;
  align-items: stretch;
  padding: .35rem;
}

.vault-list-card.is-collapsed > :not(.vault-panel-collapsed-trigger) {
  display: none !important;
}

.vault-list-card.is-collapsed .vault-panel-collapsed-trigger {
  display: flex;
  width: 100%;
  min-height: 11rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 6px;
  background: #f3f8ff;
  color: #075bb5;
  cursor: pointer;
}

.vault-list-card.is-collapsed .vault-panel-collapsed-trigger span {
  display: none;
}

.vault-panel-expand-button {
  width: 2.1rem;
  height: 2rem;
  padding: 0;
}

.vault-credential-list--compact {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
  gap: .6rem;
}

.vault-credential-list--compact .vault-credential-item {
  display: grid;
  min-height: 0;
  grid-template-columns: 1.8rem minmax(0, 1fr) auto;
  grid-template-areas:
    "icon title actions"
    "icon specs actions"
    "secret secret secret";
  gap: .3rem .65rem;
  align-items: center;
  padding: .65rem .75rem;
  border-radius: 6px;
}

.vault-credential-list--compact .vault-card-icon {
  grid-area: icon;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 6px;
  font-size: .75rem;
}

.vault-credential-list--compact .vault-credential-title-block {
  grid-area: title;
  min-width: 0;
}

.vault-credential-list--compact .vault-credential-title-block h3 {
  margin: 0;
  font-size: .86rem;
}

.vault-credential-list--compact .vault-credential-host {
  max-width: 100%;
  font-size: .72rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vault-credential-list--compact .vault-credential-created,
.vault-credential-list--compact .vault-credential-meta {
  display: none !important;
}

.vault-credential-list--compact .vault-credential-specs {
  grid-area: specs;
  justify-self: start;
}

.vault-credential-list--compact .vault-credential-actions {
  grid-area: actions;
  display: flex;
  flex-wrap: nowrap;
  gap: .35rem;
  padding-left: .15rem;
}

.vault-credential-list--compact .vault-icon-button {
  width: 1.8rem;
  height: 1.75rem;
  min-width: 1.8rem;
}

.vault-credential-list--compact .vault-action-label {
  display: none;
}

.vault-credential-list--compact .vault-secret-panel {
  grid-area: secret;
}

.vault-credential-list--table .vault-credential-item,
.vault-credential-table-header {
  grid-template-columns: 2.15rem minmax(160px, 1.55fr) minmax(105px, .75fr) minmax(145px, 1fr) minmax(95px, .65fr) 80px 11rem;
  min-width: 940px;
}

.vault-credential-list--table .vault-credential-actions {
  width: 11rem;
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .vault-grid.vault-grid--focus-private,
  .vault-grid.vault-grid--focus-company {
    grid-template-columns: minmax(0, 1fr);
  }

  .vault-list-card.is-collapsed {
    display: none;
  }

  .vault-key-legend-items {
    right: auto;
    left: 0;
  }
}
.alert-canary-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  color: #496174;
  font-size: 0.82rem;
}

.alert-canary-pill {
  color: #075985;
  border-color: #bae6fd;
  background: #e0f2fe;
}


.alert-pag-pill {
  color: #7c2d12;
  border-color: #fed7aa;
  background: #ffedd5;
}

.alerts-row-actions,
.client-support-inline-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  min-width: max-content;
  white-space: nowrap;
}

.alerts-row-actions form {
  display: inline-flex;
  margin: 0;
}

.alerts-row-actions .btn,
.client-support-inline-actions .btn,
.alerts-row-actions button,
.client-support-inline-actions button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.alerts-action-cell,
.alerts-notes-cell {
  white-space: nowrap;
}

.alert-note-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}

.alerts-groupkey-cell {
  width: 42px;
  min-width: 42px;
  text-align: center;
  white-space: nowrap;
}

.alert-groupkey-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  line-height: 1;
}

.alert-groupkey-chip i {
  font-size: 0.95rem;
}

.alert-groupkey-xdr {
  border-color: #fecaca;
  background: #fff1f2;
  color: #dc2626;
}

.alert-groupkey-watchdog {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
}

.alert-groupkey-network {
  border-color: #bae6fd;
  background: #f0f9ff;
  color: #0284c7;
}

.alert-groupkey-storage {
  border-color: #c7d2fe;
  background: #eef2ff;
  color: #4f46e5;
}

.alert-groupkey-security {
  border-color: #fde68a;
  background: #fffbeb;
  color: #d97706;
}

.alert-groupkey-system {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #475569;
}

.alert-notes-modal .modal-body {
  display: grid;
  gap: 18px;
}

.alert-note-list {
  display: grid;
  gap: 12px;
}

.alert-note-card,
.alert-note-new {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.alert-note-card {
  display: grid;
  gap: 10px;
}

.alert-note-meta,
.alert-note-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.alert-note-meta strong,
.alert-note-meta small {
  display: block;
}

.alert-note-meta small,
.alert-note-text {
  color: #64748b;
}

.alert-note-meta-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px 10px;
  text-align: right;
}

.alert-note-text {
  white-space: pre-wrap;
}

.alert-note-form {
  display: grid;
  gap: 10px;
}

.alert-note-new h3 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 1rem;
}

.xdr-list-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr);
  gap: 22px;
}

.xdr-list-editor {
  display: grid;
  gap: 8px;
}

.xdr-list-editor select {
  min-height: 120px;
  font-family: Consolas, "Liberation Mono", monospace;
}

.xdr-list-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.xdr-list-include {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: #334155;
  font-size: .86rem;
}

.xdr-disabled-section {
  opacity: .62;
}

.xdr-duration-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.xdr-duration-row select {
  width: 110px;
}

.xdr-learning-decision-actions {
  display: grid;
  gap: 14px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #f5c16c;
  border-radius: 8px;
  background: #fff7e6;
}

.xdr-learning-decision-actions strong {
  color: #a15c00;
}

.xdr-learning-decision-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 10px;
  max-width: 540px;
}

.xdr-learning-decision-button {
  min-height: 34px;
  white-space: nowrap;
}

.xdr-learning-setting-card {
  margin-top: 12px;
}

.xdr-learning-ai-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin-top: 12px;
  padding: 16px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.xdr-learning-ai-status {
  margin-top: 12px;
  color: #475569;
  font-size: .9rem;
  font-weight: 700;
}

.xdr-learning-report-actions {
  margin-top: 12px;
}

.xdr-learning-report-actions .btn {
  min-width: 230px;
}

@media (max-width: 720px) {
  .xdr-learning-decision-buttons {
    grid-template-columns: 1fr;
  }

  .xdr-learning-ai-card {
    grid-template-columns: 1fr;
  }
}

.xdr-actions-modal .modal-body {
  display: grid;
  gap: 12px;
}

.xdr-action-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.xdr-action-card h4 {
  margin: 0 0 4px;
  font-size: .96rem;
  font-weight: 700;
}

.xdr-action-title-icon {
  color: #0f5ea8;
}

.xdr-action-card textarea {
  grid-column: 1 / -1;
  resize: vertical;
}

.xdr-containment-actions-card {
  display: grid;
  grid-template-columns: 1fr;
}

.xdr-containment-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.xdr-containment-actions {
  display: grid;
  gap: 8px;
}

.xdr-containment-actions.disabled .xdr-containment-action-row {
  opacity: .58;
}

.xdr-containment-action-row {
  display: grid;
  grid-template-columns: 54px minmax(190px, .36fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.xdr-containment-action-row select {
  min-height: 32px;
}

.xdr-containment-action-button {
  min-height: 34px;
  background: #ffffff;
}

.xdr-containment-action-row.active .xdr-containment-action-button {
  border-color: #0d6efd;
  background: #c8efff;
  color: #111827;
}

.config-control {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.config-control-wide {
  grid-column: span 1;
}

.communication-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.watchdog-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.watchdog-panel-header h3 {
  margin: 0 0 6px;
}

.watchdog-panel-header .form-switch {
  min-width: 52px;
  padding-left: 0;
}

.watchdog-panel-header .form-check-input {
  width: 3.2rem;
  height: 1.7rem;
  margin-left: 0;
}

.watchdog-recipients-textarea {
  min-height: 82px;
  margin-top: 12px;
  resize: vertical;
}

.assistant-settings-card {
  max-width: 980px;
}

.assistant-main-toggle {
  min-width: 330px;
  display: flex;
  align-items: center;
  gap: .65rem;
  justify-content: flex-end;
}

.assistant-main-toggle .form-check-input {
  width: 3.2rem;
  height: 1.7rem;
  margin-left: 0;
  order: 2;
}

.assistant-main-toggle .form-check-label {
  margin-bottom: 0;
  font-weight: 700;
}

.assistant-smart-status {
  margin: 12px 0 0;
  font-weight: 700;
}

.assistant-smart-ok {
  color: #0f7a47;
}

.assistant-smart-ko {
  color: #a16207;
}

.assistant-ticket-rules {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.assistant-rules-header,
.assistant-rule-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 18px;
  align-items: center;
}

.assistant-rules-header {
  margin-bottom: 10px;
  color: #64748b;
  font-weight: 700;
}

.assistant-rule-row {
  min-height: 40px;
}

.assistant-rule-parent {
  grid-template-columns: minmax(0, 1fr);
  font-weight: 700;
}

.assistant-rule-sub {
  padding-left: 42px;
}

.assistant-rule-row .form-check {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 32px;
  padding-left: 0;
}

.assistant-rule-row .form-check-input {
  width: 2.6rem;
  height: 1.35rem;
  margin: 0;
}

.assistant-rule-row .form-check-label {
  margin: 0;
  font-weight: 700;
}

.assistant-rule-row .form-select {
  min-height: 34px;
}

.assistant-validation-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 12px;
  border-radius: 8px;
  font-weight: 700;
}

.assistant-validation-box[hidden] {
  display: none !important;
}

.assistant-validation-warning {
  border: 1px solid #fbbf24;
  background: #fffbeb;
  color: #92400e;
}

.assistant-validation-ok {
  border: 1px solid #86efac;
  background: #f0fdf4;
  color: #15803d;
}

.protection-settings-grid {
  display: grid;
  gap: 12px;
}

.protection-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 12px;
  border: 1px solid #d9e3f0;
  border-radius: 8px;
  background: #fbfdff;
}

.protection-row h4 {
  margin: 0 0 8px;
  font-size: 0.95rem;
}

.protection-toggle {
  min-width: 52px;
  padding-left: 0;
}

.protection-toggle .form-check-input {
  width: 3.2rem;
  height: 1.7rem;
  margin-left: 0;
}

.pin-input {
  max-width: 140px;
  font-family: Consolas, "Liberation Mono", monospace;
  letter-spacing: 0.08em;
}

.watchdog-notification-enabled {
  color: #168a45;
  font-size: 1.05rem;
}

.watchdog-notification-sent {
  color: #168a45;
  font-size: 1.05rem;
}

.watchdog-notification-failed {
  color: #dc2626;
  font-size: 1.05rem;
}

.watchdog-notification-partial {
  color: #d97706;
  font-size: 1.05rem;
}

.watchdog-notification-disabled {
  color: #94a3b8;
  font-size: 1.05rem;
}

.watchdog-filters {
  align-items: center;
  margin-bottom: 12px;
  max-width: none;
  padding: 0 16px;
}

.watchdog-include-resolved {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 132px;
  padding-left: 0;
  margin: 0;
  white-space: nowrap;
}

.watchdog-include-resolved .form-check-input {
  margin-left: 0;
  width: 34px;
  height: 18px;
}

.watchdog-notification-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.server-settings-form {
  display: grid;
  gap: 14px;
  max-width: 980px;
}

.settings-panel {
  padding: 16px;
  border: 1px solid #d9e1e8;
  border-radius: 12px;
  background: #ffffff;
}

.settings-panel-header,
.settings-title-row,
.settings-inline-toggle,
.settings-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.settings-panel-header {
  justify-content: space-between;
  margin-bottom: 14px;
}

.settings-panel h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
}

.help-dot {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid #acd0ff;
  border-radius: 50%;
  background: #eef6ff;
  color: #0d6efd;
  font-size: .78rem;
  font-weight: 800;
}

.monitor-switch {
  min-width: 52px;
  padding-left: 0;
}

.monitor-switch .form-check-input {
  width: 3.2rem;
  height: 1.7rem;
  margin-left: 0;
}

.settings-grid {
  display: grid;
  gap: 12px;
}

.settings-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.settings-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-grid-span-2 {
  grid-column: span 2;
}

.settings-inline-toggle {
  align-self: end;
  justify-content: space-between;
  min-height: 38px;
}

.settings-actions {
  justify-content: flex-end;
  margin-top: 12px;
}

.settings-status {
  margin: 12px 0 0;
  font-weight: 700;
}

.communication-panel h4 {
  margin: 0 0 14px;
  font-size: .96rem;
  font-weight: 700;
}

.communication-panel:first-child {
  grid-column: 1 / -1;
}

.config-fixed-value {
  min-height: 32px;
  padding: 5px 0;
  color: #111827;
  font-weight: 700;
}

.segmented-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.config-readonly-grid {
  display: grid;
  grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr);
  gap: 8px 18px;
  margin: 0;
}

.config-readonly-grid dt {
  color: #64748b;
  font-weight: 700;
}

.config-readonly-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.program-version-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.program-qr-button {
  flex: 0 0 auto;
  color: #0f5ea8;
}

.client-qr-dialog {
  max-width: 460px;
}

.client-qr-code {
  display: flex;
  justify-content: center;
  padding: 16px;
  margin-bottom: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #ffffff;
}

.client-qr-code svg {
  display: block;
  width: 256px;
  height: 256px;
}

.client-qr-url {
  font-size: .86rem;
}

.config-data-table {
  border: 1px solid #cbd5e1;
}

.config-data-table th,
.config-data-table td {
  border: 1px solid #d9e1e8;
}

.storage-modal-dialog {
  max-width: min(1220px, calc(100vw - 32px));
}

.storage-summary {
  color: #334155;
  font-size: .9rem;
}

.storage-table {
  min-width: 1120px;
}

.storage-table th {
  background: #f8fafc;
  color: #0f172a;
  font-size: .78rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.storage-table td {
  white-space: nowrap;
  vertical-align: middle;
}

.storage-health-ok {
  color: #15803d;
  font-weight: 700;
}

.storage-health-warning {
  color: #b45309;
  font-weight: 700;
}

.storage-health-neutral {
  color: #64748b;
}

.storage-status-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  font-size: 1.05rem;
  line-height: 1;
  cursor: help;
}

.storage-status-ok {
  color: #15803d;
}

.storage-status-warning {
  color: #d97706;
}

.storage-status-neutral {
  color: #64748b;
}

.storage-status-danger {
  color: #dc2626;
}

.config-storage-control-cell {
  text-align: center;
  vertical-align: middle;
}

.config-storage-number {
  max-width: 92px;
  margin: 0 auto;
  text-align: right;
}

.config-editor-textarea {
  min-height: 52vh;
  font-family: Consolas, "Liberation Mono", monospace;
  font-size: .86rem;
  line-height: 1.45;
  resize: vertical;
  white-space: pre;
}

.config-json-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.config-json-search-wrap {
  position: relative;
}

.config-json-textarea {
  height: 70vh;
  min-height: 560px;
}

.config-json-search-wrap.is-searching .config-json-textarea {
  color: transparent;
}

.config-json-search-overlay {
  display: none;
  position: absolute;
  top: 1px;
  right: 18px;
  bottom: 1px;
  left: 1px;
  z-index: 2;
  overflow: hidden;
  padding: .375rem .75rem;
  border-radius: .375rem 0 0 .375rem;
  background: #ffffff;
  color: #111827;
  font-family: Consolas, "Liberation Mono", monospace;
  font-size: .86rem;
  line-height: 1.45;
  pointer-events: none;
}

.config-json-search-wrap.is-searching .config-json-search-overlay {
  display: block;
}

.config-json-search-overlay pre {
  margin: 0;
  white-space: pre;
}

.config-json-search-overlay mark {
  padding: 0;
  border-radius: 2px;
  background: #fff3a3;
  color: inherit;
}

.config-json-search-overlay mark.config-json-current-match {
  background: #ffbf69;
  outline: 1px solid #c76d00;
}

.config-state-textarea {
  height: 46vh;
  min-height: 360px;
  background: #f8fafc;
}

.monitor-section {
  overflow: hidden;
}

.monitor-section > .table-responsive {
  padding-inline: 16px;
  padding-bottom: 12px;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 8px;
}

.section-title h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.table {
  margin: 0;
}

.table th {
  color: #5c6675;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}

.table td {
  vertical-align: middle;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  max-width: 220px;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

.status-pill-warning {
  border-color: #f3c267;
  background: #fff7df;
  color: #9a5b00;
}

.status-ok {
  border-color: #9fd7ae;
  background: #ecfdf3;
  color: #0b6b2f;
}

.status-danger {
  border-color: #f2b3b3;
  background: #fff1f1;
  color: #b42318;
}

.company-inline-form {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 12rem;
}

.company-number-input {
  width: 5.5rem;
}

.company-inline-button {
  padding: 0 0.15rem;
  vertical-align: baseline;
}

.company-actions-cell {
  text-align: center;
  white-space: nowrap;
}

.company-inventory-button {
  padding: 0.2rem 0.45rem;
}

.company-inventory-icon-badge {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  background: #facc15;
  color: #111827;
  line-height: 1;
}

.company-inventory-icon-badge i {
  color: #111827;
}

.company-origin-column {
  width: 2.25rem;
  text-align: center;
}

.company-origin-icon {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  vertical-align: -0.2rem;
}

.company-source-icon {
  display: inline-flex;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 0.35rem;
  vertical-align: -0.18rem;
}

.company-source-argus {
  color: #0f7a47;
  font-size: 1.2rem;
  line-height: 1;
}

.monitor-subsection {
  padding: 12px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.section-small-title {
  margin: 0 0 0.75rem;
  font-size: .95rem;
  font-weight: 700;
}

.company-contacts-modal .modal-dialog {
  max-width: min(760px, calc(100vw - 24px));
}

.scheduled-task-monitoring-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.scheduled-task-monitoring-copy h3,
.scheduled-task-monitoring-copy p {
  margin-bottom: 6px;
}

.scheduled-task-monitoring-result {
  font-weight: 600;
}

.scheduled-task-monitoring-controls {
  display: grid;
  justify-items: end;
  gap: 18px;
  min-width: 290px;
}

.scheduled-task-monitoring-toggle {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}

.scheduled-task-monitoring-toggle .form-check-input {
  margin: 0;
}

.scheduled-task-monitoring-actions,
.scheduled-task-list-actions,
.scheduled-task-list-filters,
.scheduled-task-list-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.scheduled-task-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr);
  gap: 18px;
}

.scheduled-task-list-heading {
  justify-content: space-between;
  margin-bottom: 12px;
}

.scheduled-task-list-filters {
  margin-bottom: 14px;
}

.scheduled-task-list-filters .form-control {
  max-width: 420px;
}

.scheduled-task-table-wrap {
  max-height: 420px;
}

.scheduled-task-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--bs-body-bg);
}

.scheduled-task-check-column {
  width: 38px;
}

.scheduled-task-detail-button {
  border: 0;
  padding: 0;
  color: var(--bs-primary);
  background: transparent;
  font-weight: 600;
  text-align: left;
}

.scheduled-task-detail-button:hover,
.scheduled-task-detail-button:focus-visible {
  text-decoration: underline;
}

.scheduled-task-anomalous {
  --bs-table-bg: rgba(220, 53, 69, 0.06);
}

.scheduled-task-detail-modal {
  z-index: 1080;
}

.scheduled-task-detail-backdrop {
  z-index: 1070;
}

@media (max-width: 900px) {
  .scheduled-task-monitoring-summary,
  .scheduled-task-settings-grid {
    grid-template-columns: 1fr;
  }

  .scheduled-task-monitoring-controls {
    justify-items: stretch;
    min-width: 0;
  }

  .scheduled-task-monitoring-actions,
  .scheduled-task-list-heading,
  .scheduled-task-list-filters {
    align-items: stretch;
    flex-direction: column;
  }
}

.users-company-filter {
    min-width: min(100%, 460px);
}

.users-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.users-summary-card {
    border: 1px solid #d9e4f2;
    border-radius: 8px;
    background: #fff;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 96px;
}

.users-summary-card span,
.users-summary-card small {
    color: #61708a;
}

.users-summary-card span {
    font-size: .74rem;
    font-weight: 700;
    text-transform: uppercase;
}

.users-summary-card strong {
    color: #102033;
    font-size: 1.15rem;
}

.users-panel {
    padding: 16px;
}

.users-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.users-panel-header h2 {
    font-size: 1.2rem;
    margin: 0 0 4px;
}

.users-panel-header p {
    margin: 0;
    color: #61708a;
}

.users-table-wrap {
    overflow-x: auto;
}

.users-table {
    min-width: 1300px;
    table-layout: fixed;
}

.users-table th {
    white-space: nowrap;
    font-size: .72rem;
    text-transform: uppercase;
    color: #61708a;
}

.users-table td {
    vertical-align: top;
}

.users-table th:nth-child(1),
.users-table td:nth-child(1) {
    width: 250px;
}

.users-table th:nth-child(2),
.users-table td:nth-child(2) {
    width: 130px;
}

.users-table th:nth-child(3),
.users-table td:nth-child(3),
.users-table th:nth-child(4),
.users-table td:nth-child(4) {
    width: 145px;
}

.users-table th:nth-child(5),
.users-table td:nth-child(5) {
    width: 90px;
}

.users-table th:nth-child(6),
.users-table td:nth-child(6) {
    width: 120px;
}

.users-table th:nth-child(7),
.users-table td:nth-child(7) {
    width: 145px;
}

.users-table th:nth-child(8),
.users-table td:nth-child(8) {
    width: 145px;
}

.users-table th:nth-child(9),
.users-table td:nth-child(9) {
    width: 210px;
}

.users-inline-form,
.users-name-cell,
.users-password-row,
.users-check-stack,
.users-security-cell,
.users-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.users-name-cell strong {
    color: #102033;
}

.users-name-cell span,
.users-security-cell small,
.users-table td small {
    display: block;
    color: #61708a;
}

.users-check-stack .form-check {
    margin: 0;
    min-height: auto;
}

.users-actions {
    min-width: 170px;
    align-items: stretch;
}

.users-actions .btn {
    justify-content: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.users-token-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 96px;
    text-align: left;
}

.users-token-button > span {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.users-token-button strong {
    font-size: 1rem;
}

.users-token-button small {
    margin-top: 2px;
    white-space: nowrap;
}

.users-token-section {
    margin-bottom: 22px;
}

.users-token-section h3 {
    margin: 0 0 10px;
    font-size: 1rem;
}

.users-token-quota-input {
    max-width: 300px;
}

.users-client-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
}

.users-client-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid #d9e4f2;
    border-radius: 8px;
    padding: 10px;
    background: #fff;
}

.users-client-option span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.users-client-option small {
    color: #61708a;
    overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
    .users-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .users-summary-grid {
        grid-template-columns: 1fr;
    }

    .users-panel-header {
        flex-direction: column;
    }
}

.company-token-limit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.company-token-limit-grid > div {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 0.65rem 0.75rem;
}

.company-token-limit-grid span {
  display: block;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.company-token-limit-grid strong {
  display: block;
  margin-top: 0.25rem;
  color: #0f172a;
  font-size: 1.2rem;
}

.company-software-inventory-modal .modal-dialog {
  max-width: min(1680px, calc(100vw - 32px));
}

.company-software-inventory-modal .modal-body {
  overflow-x: hidden;
}

.company-vulnerability-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.company-vulnerability-summary-grid > div {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px 12px;
}

.company-vulnerability-summary-grid span {
  display: block;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.company-vulnerability-summary-grid strong {
  display: block;
  margin-top: 2px;
  color: #0f172a;
}

.company-software-matrix-wrap {
  max-height: 68vh;
  overflow-x: auto;
}

.company-software-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.company-software-search {
  position: relative;
  flex: 1 1 320px;
  max-width: 520px;
}

.company-software-search i {
  position: absolute;
  left: 0.72rem;
  top: 50%;
  color: #64748b;
  transform: translateY(-50%);
  pointer-events: none;
}

.company-software-search .form-control {
  padding-left: 2rem;
}

.company-software-export-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.company-software-export-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.company-software-view-actions .btn {
  min-width: 78px;
}

.company-software-view-actions .btn.active {
  box-shadow: none;
}

.company-software-matrix[hidden] {
  display: none;
}

.company-software-matrix {
  width: max-content;
  min-width: 100%;
}

.company-software-matrix th,
.company-software-matrix td {
  white-space: nowrap;
}

.company-software-matrix thead th.company-software-program-col {
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  height: 260px;
  padding: 0;
  vertical-align: bottom;
  overflow: visible;
}

.company-software-matrix td:nth-child(n + 4),
.company-software-matrix tfoot td:nth-child(n + 4) {
  width: 34px;
  min-width: 34px;
  max-width: 34px;
}

.company-software-matrix-compact td:nth-child(n + 3),
.company-software-matrix-compact tfoot td:nth-child(n + 3) {
  width: 30px;
  min-width: 30px;
  max-width: 30px;
}

.company-software-assessment-col {
  min-width: 130px;
}

.company-software-matrix thead th.company-software-program-col > span {
  position: absolute;
  left: 50%;
  bottom: 0.65rem;
  display: block;
  width: max-content;
  max-width: none;
  overflow: visible;
  text-align: left;
  transform: rotate(-90deg);
  transform-origin: left center;
}

.company-software-matrix-compact thead th.company-software-program-col {
  width: 30px;
  min-width: 30px;
  max-width: 30px;
  height: 210px;
}

.company-software-matrix-compact thead th.company-software-program-col > span {
  font-size: .76rem;
}

.company-software-present-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  min-height: 1.25rem;
  font-size: 1rem;
  line-height: 1;
}

.company-software-matrix th:nth-child(2n + 4),
.company-software-matrix td:nth-child(2n + 4) {
  background: #f7fbff;
}

.company-software-matrix th:nth-child(2n + 5),
.company-software-matrix td:nth-child(2n + 5) {
  background: #fffdf5;
}

.company-software-matrix .company-software-column-hidden {
  display: none;
}

.company-software-matrix thead th,
.company-software-matrix tfoot th,
.company-software-matrix tfoot td {
  position: sticky;
  z-index: 2;
  background: #f8fbff;
}

.company-software-matrix thead th {
  top: 0;
}

.company-software-matrix tfoot tr:first-child th,
.company-software-matrix tfoot tr:first-child td {
  bottom: 36px;
  border-top: 2px solid #cbd5e1;
}

.company-software-matrix tfoot tr:last-child th,
.company-software-matrix tfoot tr:last-child td {
  bottom: 0;
  border-top: 1px solid #dbe7f3;
}

.company-software-client-col {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 220px;
  background: #fff;
}

.company-software-matrix thead .company-software-client-col,
.company-software-matrix tfoot .company-software-client-col {
  background: #f8fbff;
}

.company-software-matrix tbody td:nth-child(2n + 4),
.company-software-matrix tfoot td:nth-child(2n + 4) {
  background: #f7fbff;
}

.company-software-matrix tbody td:nth-child(2n + 5),
.company-software-matrix tfoot td:nth-child(2n + 5) {
  background: #fffdf5;
}

.company-software-matrix-compact tbody td:nth-child(2n + 3),
.company-software-matrix-compact tfoot td:nth-child(2n + 3) {
  background: #f7fbff;
}

.company-software-matrix-compact tbody td:nth-child(2n + 4),
.company-software-matrix-compact tfoot td:nth-child(2n + 4) {
  background: #fffdf5;
}

.company-software-diff-summary-row th,
.company-software-diff-summary-row td {
  min-height: 36px;
}

.company-software-diff-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 30px;
  min-height: 24px;
  padding: 1px 3px;
  border: 1px solid #fde68a;
  background: #fff7ed;
  color: #111827;
  font-size: .72rem;
  line-height: 1;
}

.company-software-diff-button:hover,
.company-software-diff-button:focus {
  border-color: #f59e0b;
  background: #ffedd5;
}

.company-software-diff-token {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14px;
  font-weight: 800;
}

.company-software-diff-token-new {
  color: #047857;
}

.company-software-diff-token-modified {
  color: #b45309;
}

.company-software-diff-token-removed {
  color: #b91c1c;
}

.company-software-diff-popover {
  max-width: 460px;
}

.company-software-diff-popover .popover-body {
  white-space: pre-line;
  font-size: .82rem;
}

.push-recipient-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.push-recipient-section {
  padding: 0.85rem;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.push-recipient-section h3 {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  font-weight: 800;
}

.push-recipient-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
  padding: 0.55rem 0;
  border-top: 1px solid #e2e8f0;
}

.push-recipient-option:first-of-type {
  border-top: 0;
}

.push-recipient-option strong,
.push-recipient-option span {
  display: block;
  min-width: 0;
}

.single-use-secret {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(320px, 1fr);
  gap: 1rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid #9bd6ff;
  border-radius: 8px;
  background: #eef8ff;
}

.single-use-secret h2 {
  margin: 0;
  font-size: 1.15rem;
}

.schedule-form {
  display: grid;
  gap: 1rem;
  padding: 0 1rem 1rem;
}

.schedule-fieldset {
  display: contents;
  min-width: 0;
  padding: 0;
  border: 0;
}

.schedule-form-grid,
.schedule-frequency-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 0.85rem;
  align-items: end;
}

.schedule-weekdays {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.schedule-weekdays label {
  display: inline-flex;
  gap: 0.3rem;
  align-items: center;
  min-width: 44px;
  padding: 0.35rem 0.45rem;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  font-weight: 700;
}

.schedule-client-picker {
  display: grid;
  gap: 0.5rem;
  padding: 0.75rem;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  background: #f8fafc;
}

.schedule-task-section {
  display: grid;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  background: #fff;
}

.schedule-task-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) repeat(5, minmax(150px, 1fr));
  gap: 0.85rem;
  align-items: end;
}

.schedule-option-check {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  min-height: 38px;
  padding: 0.45rem 0.65rem;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f8fafc;
  font-weight: 700;
}

.schedule-client-table-wrap {
  max-height: 360px;
}

.schedule-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  align-items: center;
}

.schedule-actions form {
  display: inline-flex;
  margin: 0;
}

.aie-schedule-table td {
  vertical-align: top;
}

.aie-schedule-question,
.aie-schedule-created,
.aie-schedule-last-status,
.aie-schedule-run-error {
  display: block;
  margin-top: 3px;
  color: #66758a;
  font-size: 11px;
  line-height: 1.35;
}

.aie-schedule-question {
  max-width: 360px;
}

.aie-schedule-runs {
  min-width: 430px;
  margin-top: 8px;
}

.aie-schedule-runs summary {
  color: #1769aa;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}

.aie-schedule-runs > p {
  margin: 8px 0 0;
  color: #66758a;
  font-size: 12px;
}

.schedule-state-table th {
  white-space: nowrap;
}

.schedule-state-planned-ok td {
  background: #dcfce7;
  color: #14532d;
  font-weight: 700;
}

.schedule-state-planned-ko td {
  background: #fee2e2;
  color: #7f1d1d;
  font-weight: 700;
}

.schedule-state-planned-pending td {
  background: #fef3c7;
  color: #78350f;
  font-weight: 700;
}

.schedule-state-json {
  max-height: 220px;
  overflow: auto;
  margin: 0.4rem 0 0;
  padding: 0.65rem;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
  white-space: pre-wrap;
}

.schedule-state-json-textarea {
  min-height: 62vh;
  font-family: Consolas, "Courier New", monospace;
  font-size: .9rem;
  line-height: 1.45;
  white-space: pre;
}

.compact-title {
  margin: 0;
  padding: 0;
}

.compact-title h3 {
  margin: 0;
  font-size: 1rem;
}

.integration-inline-form {
  display: grid;
  grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.1fr);
  gap: 0.5rem;
  min-width: 430px;
}

.server-status-pill {
  min-width: 92px;
  justify-content: center;
}

.server-status-ok {
  border-color: #86efac;
  background: #ecfdf3;
  color: #166534;
}

.server-status-ko {
  border-color: #fecaca;
  background: #fff1f2;
  color: #991b1b;
}

.server-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.server-metric-card,
.server-counter {
  min-width: 0;
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.server-metric-card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.server-metric-card-header span,
.server-counter span {
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.server-metric-card-header strong,
.server-counter strong {
  color: #111827;
  font-size: 1.45rem;
  line-height: 1.1;
}

.server-metric-card p {
  margin: 10px 0 4px;
  color: #111827;
  font-weight: 700;
}

.server-metric-card small,
.server-counter small {
  display: block;
  margin-top: 4px;
  color: #64748b;
}

.server-meter {
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.server-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #15803d;
}

.server-metric-ok {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.server-metric-info {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.server-metric-warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.server-metric-warning .server-meter span {
  background: #d97706;
}

.server-metric-danger {
  border-color: #fecaca;
  background: #fff1f2;
}

.server-metric-danger .server-meter span {
  background: #dc2626;
}

.server-metric-unknown {
  border-color: #cbd5e1;
  background: #f8fafc;
}

.aie-feedback-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  padding: 0 16px;
}

.aie-feedback-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.aie-feedback-filters .aie-helpful-feedback {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-bottom: 0;
}

.aie-feedback-row {
  cursor: pointer;
}

.aie-feedback-row:hover {
  background: #f8fafc;
}

.aie-feedback-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.aie-feedback-detail-dialog {
  width: min(96vw, 1480px);
  max-width: min(96vw, 1480px);
}

.aie-feedback-detail-grid {
  display: grid;
  gap: 16px;
}

.aie-feedback-detail-grid section {
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.aie-feedback-detail-grid h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: .94rem;
  font-weight: 800;
}

.aie-feedback-detail-grid p,
.aie-feedback-detail-grid ul {
  margin: 0;
  white-space: pre-wrap;
}

.aie-feedback-source-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  list-style: none;
  white-space: normal;
}

.aie-feedback-source-item {
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid #dbeafe;
  border-radius: 6px;
  background: #ffffff;
  color: #1e3a8a;
  font-size: .78rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.aie-kb-proposal-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 16px;
}

.aie-kb-proposal {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
}

.aie-kb-proposal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.aie-kb-proposal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.aie-kb-proposal-header h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 800;
}

.aie-kb-proposal-header p {
  margin: 4px 0 0;
  color: #475569;
}

.aie-heading-with-logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.aie-inline-logo {
  width: auto;
  height: 20px;
  object-fit: contain;
}

.aie-inline-logo-small {
  width: auto;
  height: 20px;
}

.aie-kb-origin-message {
  display: inline-block;
  margin: 0 4px;
  font-weight: 800;
}

.aie-kb-origin-message.is-ai {
  color: #15803d;
}

.aie-kb-origin-message.is-fallback {
  color: #b45309;
}

.aie-button-spinner {
  display: none;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -2px;
  animation: aie-spin .75s linear infinite;
}

.btn.is-loading .aie-button-spinner {
  display: inline-block;
}

@keyframes aie-spin {
  to {
    transform: rotate(360deg);
  }
}

.aie-action-panel,
.aie-refinement-panel,
.aie-version-history {
  margin: 10px 0;
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #f8fbff;
}

.aie-action-panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 10px;
}

.aie-refinement-panel h6 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: .95rem;
  font-weight: 800;
}

.aie-version-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #334155;
  background: #ffffff;
  font-size: .78rem;
  font-weight: 700;
}

.aie-kb-plan-layout {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(420px, 1.45fr);
  gap: 12px 14px;
  align-items: end;
}

.aie-simplified-workflow {
  display: grid;
  gap: 10px;
  margin: 12px 0 16px;
}

.aie-workflow-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #ffffff;
}

.aie-workflow-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-weight: 900;
}

.aie-workflow-question {
  margin: 0 0 4px;
  color: #475569;
  font-size: .8rem;
  font-weight: 800;
  text-transform: uppercase;
}

.aie-workflow-card strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
  font-size: 1rem;
}

.aie-workflow-card p:last-child {
  margin-bottom: 0;
}

.aie-answer-yes {
  color: #166534 !important;
}

.aie-answer-no {
  color: #991b1b !important;
}

.aie-plan-benefit {
  grid-column: 1 / -1;
  margin-top: 2px;
}

.aie-cost-metric-row {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.aie-clickable-card {
  cursor: pointer;
}

.aie-clickable-card:hover {
  border-color: #93c5fd;
  background: #eff6ff;
}

.aie-doc-count-chip {
  display: inline-flex;
  margin: 2px 4px 2px 0;
  padding: 2px 6px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  color: #1e3a8a;
  background: #eff6ff;
  font-size: .75rem;
  font-weight: 800;
}

.aie-deploy-paths {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 6px 12px;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f8fbff;
}

.aie-deploy-paths dt {
  color: #475569;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.aie-deploy-paths dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.aie-workflow-timeline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f8fbff;
}

.aie-workflow-step {
  display: inline-grid;
  grid-template-columns: 10px minmax(0, max-content);
  align-items: start;
  gap: 7px;
  max-width: 260px;
  padding: 5px 8px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #ffffff;
}

.aie-workflow-step strong,
.aie-workflow-step small {
  display: block;
  line-height: 1.2;
}

.aie-workflow-step strong {
  color: #334155;
  font-size: .78rem;
}

.aie-workflow-step small {
  color: #64748b;
  font-size: .7rem;
}

.aie-workflow-dot {
  width: 8px;
  height: 8px;
  margin-top: 4px;
  border-radius: 999px;
  background: #f59e0b;
}

.aie-workflow-step.is-done .aie-workflow-dot {
  background: #16a34a;
}

.aie-workflow-step.is-blocked .aie-workflow-dot {
  background: #dc2626;
}

.aie-kb-proposal textarea {
  min-height: 420px;
  resize: vertical;
  background: #ffffff;
  white-space: pre;
}

.schedule-page {
  display: grid;
  gap: 1rem;
}

.schedule-page-heading {
  align-items: flex-end;
}

.page-heading-description,
.schedule-section-title p {
  margin: 0.2rem 0 0;
  color: #66758a;
  font-size: 0.82rem;
}

.schedule-heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  justify-content: flex-end;
}

.schedule-heading-actions .btn,
.schedule-heading-actions .form-select {
  min-height: 38px;
  height: 38px;
}

.schedule-heading-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  line-height: 1;
  white-space: nowrap;
}

.schedule-filters {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.schedule-filters .form-select {
  min-width: 180px;
}

.schedule-summary {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  margin: 0;
}

.schedule-summary .clients-summary-item,
.schedule-summary .clients-summary-item:hover,
.schedule-summary .clients-summary-item:focus-visible,
.schedule-summary .clients-summary-item.active {
  cursor: default;
  color: #344054;
  border-color: #d8e1ec;
  background: #fff;
  box-shadow: none;
  transform: none;
}

.schedule-section-title {
  padding: 0.8rem 1rem;
}

.schedule-dashboard-table th,
.schedule-execution-table th,
.schedule-worker-table th {
  white-space: nowrap;
}

.schedule-dashboard-table td,
.schedule-execution-table td,
.schedule-worker-table td {
  vertical-align: top;
}

.schedule-kind {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  white-space: nowrap;
  font-size: 0.78rem;
  font-weight: 700;
}

.schedule-kind-aie i {
  color: #0d6efd;
}

.schedule-activity-cell {
  min-width: 220px;
}

.schedule-activity-cell > strong,
.schedule-activity-cell > span,
.schedule-worker-purpose {
  display: block;
}

.schedule-activity-cell > span,
.schedule-worker-purpose {
  margin-top: 0.2rem;
  color: #66758a;
  font-size: 0.75rem;
  line-height: 1.35;
}

.schedule-execution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.schedule-execution-table-wrap {
  max-height: 430px;
}

.schedule-execution-actions {
  vertical-align: middle;
  white-space: nowrap;
}

.schedule-execution-action-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

.schedule-execution-actions .btn {
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.schedule-execution-action-group .dropdown {
  display: inline-flex;
}

.schedule-email-recipients {
  display: grid;
  gap: 0.55rem;
  max-height: 240px;
  overflow-y: auto;
  padding: 0.75rem;
  border: 1px solid #dce4ee;
  border-radius: 5px;
  background: #fff;
}

.schedule-editor-grid {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.4fr) minmax(180px, 0.8fr) minmax(150px, 0.6fr);
  gap: 0.8rem;
  align-items: end;
}

.schedule-frequency-fields {
  margin-top: 1rem;
}

.schedule-task-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 0.75rem;
  align-items: end;
  margin-top: 1rem;
  padding: 0.75rem;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
}

.schedule-native-fields {
  display: block;
  padding: 0.85rem;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
}

.schedule-native-fields legend {
  float: none;
  width: auto;
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  font-weight: 700;
}

.schedule-wake-fields {
  display: block;
}

.schedule-wake-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 0.85rem;
  align-items: end;
}

.schedule-native-weekdays {
  min-height: 38px;
}

.schedule-native-timing-row {
  display: grid;
  grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
  gap: 0.85rem;
  align-items: end;
  min-width: 0;
}

.schedule-native-timing-row .schedule-native-weekdays {
  flex-wrap: nowrap;
}

.schedule-native-edit-layout {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.schedule-native-edit-layout > * {
  min-width: 0;
}

.schedule-native-network-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(320px, 1.3fr);
  gap: 0.85rem;
  align-items: start;
  min-width: 0;
}

#nativeScheduleEditModal .modal-body {
  overflow-x: hidden;
}

.schedule-native-note {
  margin-top: 0.75rem;
  color: #66758a;
  font-size: 0.8rem;
}

.schedule-native-note-box {
  padding: 0.75rem 0.85rem;
  border-left: 3px solid #0d6efd;
  color: #42526a;
  background: #f3f8fd;
  font-size: 0.82rem;
}

.schedule-worker-purpose {
  max-width: 460px;
}

.schedule-json-interpreted {
  color: #1f2937;
}

.schedule-json-grid,
.schedule-worker-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.schedule-json-grid > div,
.schedule-worker-detail-grid > div,
.schedule-json-list-item {
  min-width: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid #d8e3ef;
  border-radius: 6px;
  background: #f8fafc;
}

.schedule-json-grid dt,
.schedule-worker-detail-grid dt {
  margin-bottom: 0.2rem;
  color: #66758a;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.schedule-json-grid dd,
.schedule-worker-detail-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.schedule-json-grid dd > .schedule-json-grid,
.schedule-json-grid dd > .schedule-json-list {
  grid-template-columns: 1fr;
  margin-top: 0.4rem;
}

.schedule-json-list {
  display: grid;
  gap: 0.5rem;
}

.schedule-json-list-item > strong {
  display: block;
  margin-bottom: 0.4rem;
}

.schedule-json-raw summary {
  cursor: pointer;
  color: #0d6efd;
  font-weight: 600;
}

.schedule-worker-modal-purpose {
  margin: 0 0 1rem;
  color: #55657a;
}

.schedule-worker-note {
  margin-top: 1rem;
  padding: 0.8rem;
  border-left: 3px solid #86b7fe;
  background: #f5f9ff;
}

.schedule-worker-note p {
  margin: 0.25rem 0 0;
}

@media (max-width: 1200px) {
  .schedule-execution-grid {
    grid-template-columns: 1fr;
  }

  .schedule-editor-grid,
  .schedule-task-options {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 768px) {
  .schedule-summary,
  .schedule-json-grid,
  .schedule-worker-detail-grid {
    grid-template-columns: 1fr;
  }

  .schedule-heading-actions,
  .schedule-filters {
    width: 100%;
    align-items: stretch;
  }

  .schedule-filters {
    flex-direction: column;
  }

  .schedule-filters .form-select,
  .schedule-heading-actions > .btn {
    width: 100%;
  }

  .schedule-editor-grid,
  .schedule-task-options,
  .schedule-form-grid,
  .schedule-frequency-panel {
    grid-template-columns: 1fr;
  }

  .schedule-native-timing-row,
  .schedule-native-network-grid,
  .schedule-wake-grid {
    grid-template-columns: 1fr;
  }

  .schedule-native-timing-row .schedule-native-weekdays {
    flex-wrap: wrap;
  }
}

.aie-impact-section {
  margin-top: 18px;
}

.aie-impact-section h4 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 800;
}

.aie-document-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.aie-document-section-heading h4 {
  margin-bottom: 0;
}

.aie-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.aie-document-add-panel {
  margin: 10px 0 14px;
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #f8fbff;
}

.aie-document-add-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.aie-document-add-panel-header h5 {
  margin: 0;
  color: #0f172a;
  font-size: .95rem;
  font-weight: 800;
}

.aie-document-search-results {
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
}

.aie-document-search-group {
  display: grid;
  gap: 6px;
}

.aie-document-search-group + .aie-document-search-group {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #dbeafe;
}

.aie-document-search-group h6 {
  margin: 0;
  color: #1e3a8a;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.aie-document-search-item {
  display: grid;
  grid-template-columns: minmax(160px, .7fr) minmax(140px, .5fr) minmax(220px, 1fr);
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  text-align: left;
}

.aie-document-search-item:hover {
  border-color: #93c5fd;
  background: #eff6ff;
}

.aie-document-search-item span,
.aie-document-search-item small {
  color: #64748b;
}

.aie-impact-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.aie-impact-review-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: #475569;
  font-size: .84rem;
}

.aie-impact-review-summary .btn {
  margin-left: 2px;
}

.aie-non-kb-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.aie-impact-review-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  color: #475569;
  font-weight: 800;
}

.aie-impact-review-status.is-accepted {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}

.aie-impact-review-status.is-rejected {
  border-color: #fecaca;
  background: #fee2e2;
  color: #991b1b;
}

.aie-impact-review-status.is-pending {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.aie-impact-review-reason {
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fff7f7;
}

.aie-impact-review-reason strong {
  display: block;
  margin-bottom: 4px;
  color: #991b1b;
}

.aie-impact-review-reason p {
  margin: 0;
  white-space: pre-wrap;
}

.aie-impact-readonly-document,
.aie-impact-readonly-value,
.aie-impact-reason-cell span {
  display: block;
  overflow-wrap: anywhere;
}

.aie-impact-readonly-value {
  font-weight: 700;
}

.aie-impact-reason-cell {
  min-width: 260px;
  color: #334155;
}

.aie-impact-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.aie-impact-table textarea {
  min-height: 38px;
  resize: vertical;
}

.aie-impact-actions-cell {
  width: 92px;
  text-align: right;
  white-space: nowrap;
}

.aie-impact-reason-row td {
  padding-top: 0;
  border-top: 0;
  background: #f8fbff;
}

.aie-impact-reason-row label {
  margin-bottom: 4px;
  color: #475569;
  font-weight: 800;
  text-transform: uppercase;
}

.aie-impact-reason-row textarea {
  min-height: 58px;
}

.aie-impact-tabs {
  gap: 4px;
}

.aie-impact-tabs .nav-link {
  border-radius: 8px 8px 0 0;
  font-weight: 800;
}

.aie-impact-tab-content {
  padding: 12px;
  border: 1px solid #dee2e6;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #ffffff;
}

.aie-impact-tab-content textarea {
  min-height: 360px;
  resize: vertical;
  white-space: pre;
}

.aie-knowledge-doc-manager {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr);
  gap: 14px;
}

.aie-knowledge-doc-list {
  display: grid;
  align-content: start;
  gap: 12px;
  max-height: 72vh;
  overflow: auto;
  padding-right: 6px;
}

.aie-knowledge-doc-list section {
  display: grid;
  gap: 6px;
}

.aie-knowledge-doc-list h3 {
  margin: 0;
  color: #1e3a8a;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.aie-knowledge-doc-list-item {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  text-align: left;
}

.aie-knowledge-doc-list-item:hover,
.aie-knowledge-doc-list-item.is-active {
  border-color: #93c5fd;
  background: #eff6ff;
}

.aie-knowledge-doc-list-item span,
.aie-knowledge-doc-list-item small {
  color: #64748b;
  font-size: .75rem;
  overflow-wrap: anywhere;
}

.aie-knowledge-doc-editor {
  min-width: 0;
}

.aie-knowledge-doc-panel {
  min-width: 0;
}

.aie-document-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.aie-document-editor-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.aie-document-editor-heading h5 {
  margin: 0;
  color: #0f172a;
  font-size: .88rem;
  font-weight: 800;
}

.aie-document-editor-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  justify-content: flex-end;
  position: relative;
}

.aie-text-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  position: relative;
}

.aie-document-editor > .aie-text-panel > .aie-document-editor-heading {
  min-height: 70px;
}

.aie-text-panel.is-expanded > .aie-document-editor-heading {
  min-height: 0;
}

.aie-text-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  color: #0f172a;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.aie-icon-tool {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #ffffff;
  color: #334155;
  font-weight: 900;
  line-height: 1;
}

.aie-icon-tool:hover,
.aie-icon-tool.is-active {
  border-color: #93c5fd;
  color: #1d4ed8;
  background: #eff6ff;
}

.aie-text-tools {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 6px;
}

.aie-text-panel.is-expanded,
.aie-diff-column.is-expanded {
  position: fixed;
  inset: 5vh 5vw;
  z-index: 3000;
  display: flex;
  flex-direction: column;
  padding: 14px;
  border: 1px solid #93c5fd;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(15, 23, 42, .32);
  max-height: 90vh;
  overflow: visible;
}

.aie-text-panel.is-expanded textarea,
.aie-diff-column.is-expanded .aie-diff-column-body {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}

.aie-text-panel.is-soft-wrap textarea,
.aie-diff-column.is-soft-wrap .aie-diff-line {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.aie-text-panel:not(.is-soft-wrap) textarea,
.aie-diff-column:not(.is-soft-wrap) .aie-diff-line {
  white-space: pre;
  overflow-wrap: normal;
}

.aie-inline-confirm {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 20;
  width: min(360px, 90vw);
  padding: 10px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
}

.aie-inline-confirm p {
  margin: 0 0 8px;
  color: #334155;
}

.aie-inline-confirm div {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.aie-compatibility-check,
.aie-document-diff {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f8fbff;
}

.aie-compatibility-check strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
}

.aie-compatibility-check-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.aie-compatibility-status {
  display: inline-flex;
  width: fit-content;
  padding: 3px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #475569;
  background: #f8fafc;
  font-size: .74rem;
  font-weight: 800;
}

.aie-compatibility-status.is-ok {
  border-color: #86efac;
  color: #166534;
  background: #dcfce7;
}

.aie-compatibility-status.is-warning {
  border-color: #fbbf24;
  color: #92400e;
  background: #fffbeb;
}

.aie-compatibility-status.is-pending {
  border-color: #cbd5e1;
  color: #475569;
  background: #f8fafc;
}

.aie-compatibility-check p {
  margin: 0;
  color: #334155;
}

.aie-diff-output {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  max-height: 420px;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .78rem;
  line-height: 1.45;
}

.aie-diff-output:has(.aie-diff-column.is-expanded),
.aie-diff-output.has-expanded-column {
  max-height: none;
  overflow: visible;
}

.aie-diff-column {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #ffffff;
  overflow: hidden;
}

.aie-diff-column-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  padding: 6px 8px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.aie-diff-column-heading h6 {
  margin: 0;
  color: #334155;
  font-family: var(--bs-body-font-family);
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.aie-diff-column-body {
  min-height: 120px;
  overflow: auto;
}

.aie-diff-column:not(.is-soft-wrap) .aie-diff-column-body {
  overflow-x: auto;
}

.aie-diff-column.is-soft-wrap .aie-diff-column-body {
  overflow-x: hidden;
}

.aie-diff-line {
  min-height: 1.45em;
  width: max-content;
  min-width: 100%;
  padding: 1px 8px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.aie-diff-column.is-soft-wrap .aie-diff-line {
  width: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.aie-diff-line.is-added {
  background: #dcfce7;
  color: #166534;
}

.aie-diff-line.is-removed {
  background: #fee2e2;
  color: #991b1b;
}

.aie-diff-line.is-same {
  color: #475569;
}

.aie-diff-line.is-blank {
  background: #f8fafc;
  color: transparent;
}

.aie-non-kb-proposal {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #ffffff;
}

.aie-non-kb-proposal + .aie-non-kb-proposal {
  margin-top: 10px;
}

.aie-non-kb-proposal label {
  color: #475569;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.aie-non-kb-proposal pre {
  margin: 0;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #f8fafc;
  white-space: pre-wrap;
}

.aie-kb-proposal .aie-non-kb-proposal textarea {
  min-height: 120px;
}

.aie-draft-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: .78rem;
  font-weight: 800;
}

.aie-draft-status.is-approved {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}

.aie-draft-status.is-regenerate {
  border-color: #fecaca;
  background: #fee2e2;
  color: #991b1b;
}

.aie-draft-status.is-draft {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.aie-impact-benefit {
  margin-top: 12px;
}

.aie-impact-benefit strong {
  display: block;
  margin-bottom: 6px;
  color: #0f172a;
}

.aie-credit-reconcile {
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f8fbff;
}

.aie-impact-plan {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.aie-impact-plan span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #ffffff;
  color: #475569;
  font-size: .88rem;
  font-weight: 700;
}

.aie-impact-plan strong {
  color: #0f172a;
  font-size: 1rem;
}

.aie-impact-plan-large span {
  padding: 12px;
}

@media (max-width: 1200px) {
  .aie-feedback-filters .aie-helpful-feedback {
    grid-row: auto;
  }

  .aie-feedback-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aie-feedback-filter-actions {
    justify-content: flex-start;
  }

  .aie-kb-plan-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .aie-feedback-filters {
    grid-template-columns: 1fr;
  }

  .aie-impact-plan {
    grid-template-columns: 1fr;
  }

  .aie-document-editor {
    grid-template-columns: 1fr;
  }

  .aie-kb-proposal-header,
  .aie-document-editor-heading,
  .aie-impact-section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .aie-impact-review-summary,
  .aie-document-editor-actions {
    justify-content: flex-start;
  }
}

.service-status-periods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.service-status-period {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #fff;
}

.service-status-period span {
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
}

.service-status-period strong {
  color: #111827;
  font-size: .95rem;
}

.service-status-period-ok {
  border-color: #86efac;
  background: #f0fdf4;
}

.service-status-period-warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.server-status-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.server-counter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.server-counter {
  display: grid;
  gap: 6px;
}

.mono {
  font-family: Consolas, "Liberation Mono", monospace;
  font-size: .84rem;
}

.nowrap {
  white-space: nowrap;
}

.truncate {
  max-width: 640px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.details-json {
  max-width: 860px;
  font-size: .82rem;
  white-space: nowrap;
}

.report-json-preview {
  min-height: 58vh;
  margin: 0;
  padding: 1rem;
  border: 1px solid #d8e1ef;
  border-radius: 8px;
  background: #f7fbff;
  white-space: pre-wrap;
  word-break: break-word;
}

.log-preview {
  min-height: 420px;
  max-height: 70vh;
  padding: 14px 16px;
  overflow: auto;
}

.zip-entry-list {
  max-height: 70vh;
  overflow: auto;
}

.zip-entry-list thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #ffffff;
}

.log-search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: min(360px, 100%);
}

.log-search .form-control {
  width: 220px;
}

.log-preview pre {
  margin: 0;
  color: #111827;
  font-family: Consolas, "Liberation Mono", monospace;
  font-size: .82rem;
  white-space: pre-wrap;
}

.log-preview mark {
  padding: 0 2px;
  border-radius: 2px;
  background: #fff3a3;
  color: inherit;
}

.system-state-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.system-state-toolbar .form-control {
  width: min(320px, 100%);
}

.system-state-service-table-wrap {
  max-height: 68vh;
  overflow: auto;
}

.system-state-modal .modal-dialog {
  max-width: min(1600px, calc(100vw - 32px));
}

.system-state-service-table {
    min-width: 1420px;
  }

.system-state-process-diff-table-wrap {
  max-height: 36vh;
  overflow: auto;
}

.system-state-process-diff-table {
  min-width: 980px;
}

.system-state-diff-heading {
  margin: 0 0 10px;
  color: #111827;
  font-size: .95rem;
}

.system-state-service-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #ffffff;
}

.system-state-service-table th button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
}

.system-state-service-table th button:hover,
.system-state-service-table th button:focus {
  color: #0f5ea8;
}

.system-state-service-table th button::after {
  content: "";
  color: #64748b;
  font-size: .72rem;
}

.system-state-service-table th button.sorted-asc::after {
  content: "▲";
}

.system-state-service-table th button.sorted-desc::after {
  content: "▼";
}

.system-state-service-table mark {
  padding: 0 2px;
  border-radius: 2px;
  background: #fff3a3;
  color: inherit;
}

.system-state-service-table .search-cell-match {
  background: #fff8cf;
  outline: 1px solid #f4c430;
  outline-offset: -2px;
}

.service-row-icon {
  font-size: 1rem;
  color: #64748b;
}

.service-signature-valid {
  color: #168a45;
}

.service-signature-not-signed {
  color: #d18a00;
}

.service-signature-invalid {
  color: #cc2f2f;
}

.service-signature-unknown {
  color: #94a3b8;
}

.service-reputation-whitelisted {
  color: #168a45;
}

.service-reputation-no-specific-threat {
  color: #168a45;
}

.service-reputation-no-verdict,
.service-reputation-pending,
.service-reputation-checking,
.service-reputation-unknown,
.service-reputation-not-found,
.service-reputation-no-sha256 {
  color: #64748b;
}

.service-reputation-suspicious {
  color: #cc2f2f;
}

.service-reputation-malicious,
.service-reputation-error {
  color: #cc2f2f;
}

.log-reputation-icon {
  font-size: 1rem;
}

.reputation-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.reputation-summary-compact {
  gap: 6px;
}

.reputation-summary-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 3px 8px;
  border: 1px solid #d9e1e8;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}

.reputation-summary-item i {
  font-size: .95rem;
}

.reputation-summary-item:hover,
.reputation-summary-item:focus,
.reputation-summary-item.active {
  border-color: #86b7fe;
  background: #eff6ff;
  color: #0f5ea8;
}

.service-icon-button {
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 1;
}

.reputation-details-modal {
  z-index: 1085;
}

.reputation-details-modal + .modal-backdrop {
  z-index: 1080;
}

.company-details-modal {
  z-index: 1085;
}

.company-details-modal + .modal-backdrop {
  z-index: 1080;
}

.reputation-detail-layout {
  display: grid;
  gap: 14px;
}

.reputation-section,
.reputation-report-card {
  padding: 12px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.reputation-section h3,
.reputation-report-card h3 {
  margin: 0 0 10px;
  color: #111827;
  font-size: .95rem;
  font-weight: 800;
}

.reputation-report-card {
  display: grid;
  gap: 12px;
  background: #ffffff;
}

.reputation-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.reputation-chip {
  display: inline-flex;
  max-width: 100%;
  padding: 3px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
}

.status-ok-icon {
  color: #168a45;
  font-size: 1rem;
}

.json-details-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f5ea8;
  font: inherit;
  font-weight: 700;
}

.json-details-button:hover,
.json-details-button:focus {
  color: #083f74;
  text-decoration: underline;
}

.json-preview {
  display: inline-block;
  max-width: 520px;
  margin-left: 8px;
  overflow: hidden;
  color: #64748b;
  font-family: Consolas, "Liberation Mono", monospace;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

.device-name-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f5ea8;
  font: inherit;
  font-weight: 700;
  text-align: left;
}

.device-name-button:hover,
.device-name-button:focus {
  color: #083f74;
  text-decoration: underline;
}

.device-user-button {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 220px;
}

.device-user-button .company-source-icon,
.device-user-button .company-source-argus {
  flex: 0 0 auto;
  margin-left: 0;
}

.device-user-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.device-user-inline {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 280px;
  white-space: nowrap;
}

.device-user-inline .company-source-icon,
.device-user-inline .company-source-argus {
  flex: 0 0 auto;
  margin-left: 0;
}

.device-user-inline > span,
.device-user-inline > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-detail-action {
  flex: 0 0 auto;
  padding-inline: .45rem;
}

.device-user-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
}

.device-user-summary > div {
  padding: .75rem;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #f8fafc;
}

.device-user-summary .detail-label {
  display: block;
  margin-bottom: .25rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.device-user-summary strong {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-width: 0;
}

.device-user-summary .company-source-icon,
.device-user-summary .company-source-argus {
  margin-left: 0;
}

.client-actions-cell {
  white-space: nowrap;
}

.client-actions-cell > .btn,
.client-actions-cell > .dropdown,
.client-actions-cell > form {
  margin-right: 4px;
  margin-bottom: 4px;
}

.client-actions-menu form {
  margin: 0;
}

.clients-table-responsive {
  overflow-x: visible;
}

.clients-table {
  width: 100%;
  table-layout: fixed;
}

.clients-table th,
.clients-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: top;
}

.clients-table th:nth-child(1),
.clients-table td:nth-child(1) {
  width: 5%;
}

.clients-table th:nth-child(2),
.clients-table td:nth-child(2) {
  width: 13%;
}

.clients-table th:nth-child(3),
.clients-table td:nth-child(3) {
  width: 7%;
}

.clients-table th:nth-child(4),
.clients-table td:nth-child(4) {
  width: 4%;
}

.clients-table th:nth-child(5),
.clients-table td:nth-child(5) {
  width: 10%;
}

.clients-table th:nth-child(6),
.clients-table td:nth-child(6) {
  width: 6%;
}

.clients-table th:nth-child(7),
.clients-table td:nth-child(7),
.clients-table th:nth-child(8),
.clients-table td:nth-child(8),
.clients-table th:nth-child(9),
.clients-table td:nth-child(9),
.clients-table th:nth-child(10),
.clients-table td:nth-child(10),
.clients-table th:nth-child(11),
.clients-table td:nth-child(11) {
  width: 4%;
}

.clients-table th:nth-child(12),
.clients-table td:nth-child(12),
.clients-table th:nth-child(13),
.clients-table td:nth-child(13) {
  width: 6%;
}

.clients-table th:nth-child(14),
.clients-table td:nth-child(14) {
  width: 23%;
}

.clients-table .nowrap,
.clients-table .status-pill,
.clients-table .device-user-inline,
.clients-table .client-actions-cell {
  white-space: normal;
}

.clients-table .device-name-button,
.clients-table .device-user-button {
  max-width: 100%;
  min-width: 0;
}

.clients-table .device-user-button span {
  white-space: normal;
  overflow-wrap: anywhere;
}

.clients-table .client-feature-icons {
  display: inline-flex;
  flex-wrap: wrap;
  white-space: normal;
  gap: 4px;
  margin-left: 4px;
}

.clients-table .client-actions-cell > .btn,
.clients-table .client-actions-cell > .dropdown,
.clients-table .client-actions-cell > form {
  display: inline-block;
  margin: 0;
  margin-right: 4px;
  margin-bottom: 4px;
}

.clients-table .client-actions-cell .btn {
  min-width: 30px;
  white-space: normal;
}

.client-personal-note-textarea {
  min-height: 160px;
  resize: vertical;
}

.dropdown-menu-portal {
  z-index: 1080;
}

.device-detail-grid {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 10px 16px;
  margin: 0;
}

.log-detail-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 28px;
  align-items: start;
}

.log-detail-summary h3 {
  margin: 0 0 12px;
  color: #1f2937;
  font-size: .9rem;
  font-weight: 800;
}

.log-detail-summary .device-detail-grid {
  grid-template-columns: 160px minmax(0, 1fr);
}

@media (max-width: 1100px) {
  .log-detail-summary {
    grid-template-columns: 1fr;
  }
}

.json-detail-grid {
  display: grid;
  grid-template-columns: minmax(160px, .34fr) minmax(0, 1fr);
  gap: 8px 16px;
  margin: 0;
}

.json-detail-grid dt {
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  word-break: break-word;
}

.json-detail-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.json-detail-grid .json-null {
  color: #94a3b8;
}

.device-detail-grid dt {
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.device-detail-grid dd {
  margin: 0;
}

.break-word {
  overflow-wrap: anywhere;
}

.filters {
  display: flex;
  gap: 8px;
  min-width: 320px;
}

.login-page {
  min-height: 100vh;
  overflow: hidden;
  background: #1c1c1c;
}

.login-page .app-header-sticky,
.login-page .footer {
  display: none;
}

.login-page .page-content {
  display: grid;
  min-height: 100vh;
  padding: 0 !important;
}

.login-page main {
  display: grid;
  padding: 0 !important;
}

.login-shell {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px 48px;
}

.login-card {
  display: grid;
  grid-template-columns: 370px minmax(0, 1fr);
  width: min(1272px, 100%);
  min-height: min(796px, calc(100vh - 48px));
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
}

.login-brand-panel {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 58px 48px 32px;
  border: 3px solid rgba(255, 255, 255, .9);
  background: #0d1b26;
  color: #ffffff;
}

.login-brand-logo {
  display: block;
  width: 194px;
  max-width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}


.login-brand-top {
  display: grid;
  align-content: start;
  gap: 28px;
}

.login-public-info {
  display: grid;
  gap: 12px;
  max-width: 252px;
}

.login-client-release,
.login-services-status {
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 8px;
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.login-client-release {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
  padding: 12px;
}

.login-client-release span,
.login-services-heading span {
  color: #aebdcc;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.login-client-release strong {
  color: #ffffff;
  font-size: 1.32rem;
  font-weight: 800;
  line-height: 1;
}

.login-download-link {
  display: inline-flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid rgba(88, 160, 255, .55);
  border-radius: 6px;
  color: #ffffff;
  background: rgba(20, 116, 245, .24);
  font-size: .82rem;
  font-weight: 800;
}

.login-download-link:hover,
.login-download-link:focus-visible {
  border-color: rgba(255, 255, 255, .76);
  color: #ffffff;
  background: rgba(20, 116, 245, .42);
}

.login-services-status {
  padding: 12px;
}

.login-services-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.login-services-heading strong {
  font-size: .78rem;
  font-weight: 800;
}

.login-services-heading strong.is-ok {
  color: #8cf1b4;
}

.login-services-heading strong.is-warning {
  color: #fbbf24;
}

.login-service-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 24px;
  color: #dbe7f3;
  font-size: .82rem;
  font-weight: 700;
}

.login-status-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .07);
}

.login-status-dot.is-ok {
  background: #22c55e;
}

.login-status-dot.is-warning {
  background: #f59e0b;
}.login-brand-copy {
  align-self: end;
}

.login-brand-copy p {
  margin: 0 0 16px;
  color: #58a0ff;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.login-brand-copy h2 {
  max-width: 250px;
  margin: 0;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.18;
}

.login-form-panel {
  display: grid;
  place-items: center;
  padding: 48px;
  background: #ffffff;
}

.login-panel {
  width: min(372px, 100%);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.login-heading {
  margin-bottom: 28px;
}

.login-heading h1 {
  margin: 0 0 8px;
  color: #0e2538;
  font-size: 1.72rem;
  font-weight: 800;
  line-height: 1.18;
}

.login-heading p {
  margin: 0;
  color: #64748b;
  font-size: .86rem;
}

.login-panel .form-label {
  margin-bottom: 6px;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
}

.login-panel .form-control {
  min-height: 43px;
  border-color: #cdd8e5;
  border-radius: 5px;
  color: #0f172a;
  box-shadow: none;
}

.login-panel .form-control:focus {
  border-color: #1774f5;
  box-shadow: 0 0 0 .18rem rgba(23, 116, 245, .14);
}

.login-forgot-row {
  display: flex;
  justify-content: flex-end;
  margin: -2px 0 20px;
  font-size: .82rem;
}

.login-forgot-row a {
  color: #176df2;
  text-decoration: none;
}

.login-forgot-row a:hover,
.login-forgot-row a:focus-visible {
  color: #0f55c8;
  text-decoration: underline;
}
.login-back-row {
  margin-top: 18px;
  text-align: center;
  font-size: .84rem;
}

.login-back-row a,
.login-secondary-link {
  color: #176df2;
  text-decoration: none;
}

.login-back-row a:hover,
.login-back-row a:focus-visible,
.login-secondary-link:hover,
.login-secondary-link:focus-visible {
  color: #0f55c8;
  text-decoration: underline;
}

.login-panel .btn-primary {
  min-height: 43px;
  border-radius: 5px;
  background: #1474f5;
  border-color: #1474f5;
  font-weight: 800;
}

.login-panel .btn-primary:hover,
.login-panel .btn-primary:focus-visible {
  background: #0f66dc;
  border-color: #0f66dc;
}


@media (max-width: 900px) {
  .login-page {
    overflow: auto;
  }

  .login-shell {
    min-height: 100vh;
    padding: 18px;
  }

  .login-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .login-brand-panel {
    grid-template-rows: auto;
    gap: 22px;
    padding: 28px 24px;
    border-right: 0;
    border-bottom: 3px solid rgba(255, 255, 255, .9);
  }

  .login-brand-top {
    gap: 20px;
  }

  .login-public-info {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    max-width: none;
  }

  .login-brand-copy {
    display: none;
  }

  .login-form-panel {
    padding: 34px 24px;
  }
}.page-content {
  flex: 1 0 auto;
}

.footer {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1020;
  width: 100%;
  min-height: 56px;
  background: #ffffff;
}

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.footer-help-link {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #ffffff;
  color: #0f5ea8;
  font-size: 1.25rem;
}

.footer-help-link:hover,
.footer-help-link:focus {
  border-color: #0f5ea8;
  background: #eef6ff;
  color: #083f74;
}

.help-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.help-menu,
.help-section {
  background: #ffffff;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
}

.help-menu {
  position: sticky;
  top: 72px;
  padding: 16px;
}

.help-menu h2 {
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 700;
}

.help-menu nav {
  display: grid;
  gap: 6px;
}

.help-menu-extra {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  border-top: 1px solid #d9e1e8;
  padding-top: 12px;
}

.help-menu-extra a {
  font-size: 1rem;
  font-weight: 800;
}

.help-menu-standalone {
  margin-top: 16px;
  border-top: 1px solid #d9e1e8;
  padding-top: 12px !important;
  font-size: 1rem;
  font-weight: 800;
}

.help-menu-child {
  margin: 4px 0 0 14px;
  padding-left: 14px !important;
  border-left: 2px solid #d9e1e8;
}

.help-menu a {
  display: block;
  padding: 7px 9px;
  border-radius: 6px;
  color: #334155;
  font-weight: 700;
}

.help-menu a:hover,
.help-menu a:focus {
  background: #eef6ff;
  color: #0f5ea8;
}

.help-content {
  display: grid;
  gap: 16px;
}

.help-content #dashboard {
  order: 10;
}

.help-content #device {
  order: 20;
}

.help-content #company {
  order: 30;
}

.help-content #alerts {
  order: 40;
}

.help-content #watchdog {
  order: 50;
}

.help-content #timeline {
  order: 60;
}

.help-content #scheduler {
  order: 70;
}

.help-content #state-push {
  order: 80;
}

.help-content #logs {
  order: 90;
}

.help-content #report {
  order: 100;
}

.help-content #audit {
  order: 110;
}

.help-content #tokens {
  order: 120;
}

.help-content #admin {
  order: 130;
}

.help-content #client-popup {
  order: 140;
}

.help-content #client-configuration {
  order: 150;
}

.help-section {
  scroll-margin-top: 88px;
  padding: 22px;
}

.help-section h2 {
  margin: 0 0 12px;
  font-size: 1.35rem;
  font-weight: 800;
}

.help-section h3 {
  margin: 22px 0 10px;
  font-size: 1.05rem;
  font-weight: 800;
}

.help-section p {
  max-width: 980px;
  margin: 0 0 12px;
  color: #344054;
  line-height: 1.6;
}

.help-section-placeholder h2 {
  font-size: 1.08rem;
}

.help-definition-list {
  display: grid;
  grid-template-columns: minmax(170px, 240px) minmax(0, 1fr);
  gap: 10px 16px;
  max-width: 1040px;
  margin: 0;
}

.help-definition-list dt {
  padding-top: 2px;
  color: #0f172a;
  font-weight: 800;
}

.help-definition-list dd {
  margin: 0;
  color: #344054;
  line-height: 1.55;
}

.help-icon-list,
.help-status-list {
  display: grid;
  gap: 9px;
  max-width: 1040px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.help-icon-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  color: #344054;
}

.help-icon-list i {
  color: #0f766e;
  font-size: 1.08rem;
  line-height: 1.45;
}

.help-status-list li {
  color: #344054;
  line-height: 1.55;
}

.help-technical-note {
  max-width: 980px;
  margin-top: 16px;
  padding: 14px 16px;
  border-left: 4px solid #0f5ea8;
  border-radius: 6px;
  background: #f8fafc;
}

.help-technical-note h3 {
  margin: 0 0 8px;
  font-size: .95rem;
  font-weight: 800;
}

.help-technical-note p {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .help-layout {
    grid-template-columns: 1fr;
  }

  .help-menu {
    position: static;
  }

  .help-menu nav {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }

  .help-definition-list {
    grid-template-columns: 1fr;
    gap: 4px 0;
  }
}

.timeline-scope-filters {
  align-items: end;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
  max-width: min(100%, 1040px);
}

.timeline-shift-button {
  min-width: 38px;
  padding-inline: 10px;
}

.timeline-filter-label {
  display: grid;
  flex: 0 1 116px;
  gap: 4px;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.timeline-scope-filters .form-select {
  flex: 1 1 180px;
  min-width: 140px;
  max-width: 240px;
}

.timeline-scope-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.timeline-scope-actions .btn {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
}

.timeline-control-dock {
  position: sticky;
  top: 52px;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  margin: 0 -4px 12px;
  padding: 10px 12px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
  backdrop-filter: blur(8px);
}

.timeline-filter-menus,
.timeline-interval-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
  min-width: 0;
}

.timeline-interval-controls {
  justify-content: flex-end;
}

.timeline-multiselect {
  position: relative;
  flex: 0 0 auto;
}

.timeline-multiselect > summary {
  display: inline-flex;
  min-width: 158px;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font-size: .86rem;
  font-weight: 700;
  list-style: none;
}

.timeline-multiselect > summary::-webkit-details-marker {
  display: none;
}

.timeline-multiselect > summary:hover,
.timeline-multiselect > summary:focus-visible,
.timeline-multiselect[open] > summary {
  border-color: #60a5fa;
  color: #0f5ea8;
  outline: none;
}

.timeline-multiselect.is-partial > summary,
.timeline-multiselect.is-partial > summary:hover,
.timeline-multiselect.is-partial > summary:focus-visible,
.timeline-multiselect.is-partial[open] > summary {
  border-color: #d97706;
  color: #92400e;
  box-shadow: 0 0 0 2px rgba(217, 119, 6, .12);
}

.timeline-multiselect > summary strong {
  margin-left: auto;
  color: #64748b;
  font-size: .72rem;
}

.timeline-multiselect-chevron {
  font-size: .7rem;
  transition: transform .15s ease;
}

.timeline-multiselect[open] .timeline-multiselect-chevron {
  transform: rotate(180deg);
}

.timeline-multiselect-panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 60;
  display: grid;
  width: 290px;
  max-height: min(440px, 70vh);
  overflow-y: auto;
  padding: 7px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 16px 32px rgba(15, 23, 42, .18);
}

.timeline-multiselect-option {
  display: grid;
  grid-template-columns: 18px 20px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 36px;
  margin: 0;
  padding: 6px 8px;
  border-radius: 5px;
  color: #334155;
  cursor: pointer;
  font-size: .84rem;
  font-weight: 650;
  text-transform: none;
}

.timeline-multiselect-option:hover {
  background: #eff6ff;
}

.timeline-multiselect-option input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.timeline-multiselect-option i {
  color: #0f5ea8;
  text-align: center;
}

.timeline-multiselect-option i.severity-info {
  color: #0891b2;
}

.timeline-multiselect-option i.severity-safe {
  color: #16a34a;
}

.timeline-multiselect-option i.severity-warning {
  color: #d97706;
}

.timeline-multiselect-option i.severity-danger {
  color: #dc2626;
}

.timeline-control-dock .timeline-filter-label {
  flex: 0 0 auto;
}

.timeline-control-dock input[type="date"] {
  width: 134px;
}

.timeline-control-dock input[type="time"] {
  width: 98px;
}

.timeline-control-dock .form-control,
.timeline-control-dock .btn {
  min-height: 38px;
}

.timeline-auto-refresh-button {
  width: 40px;
  flex: 0 0 40px;
}

.timeline-auto-refresh-button.active {
  border-color: #0f5ea8;
  background: #0f5ea8;
  color: #fff;
  box-shadow: 0 0 0 3px rgba(15, 94, 168, .16);
}

.timeline-auto-refresh-button.active i {
  animation: timeline-refresh-pulse 1.6s ease-in-out infinite;
}

@keyframes timeline-refresh-pulse {
  50% {
    opacity: .5;
  }
}

.timeline-page {
  --timeline-ink: #15201f;
  --timeline-muted: #64748b;
  --timeline-line: rgba(15, 23, 42, .14);
  --timeline-cyan: #67d9e8;
  --timeline-green: #6ee77f;
  --timeline-amber: #f2c66d;
  --timeline-red: #f37d72;
  --timeline-time-column: 72px;
  --timeline-gap: 18px;
  --timeline-dot-size: 48px;
  --timeline-line-x: calc(var(--timeline-time-column) + var(--timeline-gap) + (var(--timeline-dot-size) / 2));
  position: relative;
  padding: 20px;
  overflow: visible;
}

.timeline-intro {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  min-height: 0;
  margin-bottom: 14px;
  padding-right: 0;
}

.timeline-intro > div:first-child {
  flex: 1 1 560px;
  min-width: 0;
}

.timeline-intro h2 {
  margin: 0;
  color: #111827;
  font-size: 1.05rem;
  font-weight: 800;
}

.timeline-event-filter-bar {
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin-top: 18px;
  max-width: none;
  overflow: visible;
  padding-bottom: 3px;
}

.timeline-event-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 6px 9px;
  border: 1px solid #d9e1e8;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  flex: 0 0 auto;
}

.timeline-event-filter-chip:hover,
.timeline-event-filter-chip:focus-visible {
  border-color: #8ab7ff;
  color: #0052cc;
  outline: none;
}

.timeline-event-filter-chip.active {
  border-color: #0052cc;
  background: #eaf2ff;
  color: #004fb8;
}

.timeline-client-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 7px;
  color: #475569;
  font-size: .86rem;
  font-weight: 700;
}

.timeline-client-summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.timeline-client-actions {
  position: static;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  flex: 0 1 340px;
  gap: 8px;
  justify-content: flex-end;
}

.timeline-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  min-width: 0;
  overflow: visible;
}

.timeline-legend-top {
  position: static;
  z-index: 3;
  width: auto;
  max-width: none;
  justify-content: flex-start;
  margin: 14px 0 0;
}

.timeline-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid #d9e1e8;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: .8rem;
  font-weight: 700;
  white-space: nowrap;
  flex: 0 0 auto;
}

.timeline-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.timeline-legend-dot.severity-info {
  background: var(--timeline-cyan);
}

.timeline-legend-dot.severity-safe {
  background: var(--timeline-green);
}

.timeline-legend-dot.severity-warning {
  background: var(--timeline-amber);
}

.timeline-legend-dot.severity-danger {
  background: var(--timeline-red);
}

.timeline-page .timeline-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .42fr);
  gap: 28px;
  align-items: start;
  min-width: 0;
  margin-top: 6px;
}

.timeline-page .event-timeline {
  position: relative;
  min-height: 1120px;
  padding: 128px 0 54px;
  min-width: 0;
}

.timeline-page .event-timeline::before {
  position: absolute;
  content: "";
  z-index: 0;
  top: 96px;
  bottom: 54px;
  left: var(--timeline-line-x);
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #1a6c72, #6ee77f 35%, #e4bd63 66%, #9a4d43);
}

.timeline-page .timeline-compressed-gap {
  position: absolute;
  left: var(--timeline-line-x);
  z-index: 1;
  width: 19px;
  min-height: 24px;
  transform: translateX(-8px);
  border-radius: 999px;
  background: #ffffff;
}

.timeline-page .timeline-compressed-gap::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 8px;
  content: "";
  border-left: 3px dashed #64748b;
}

.timeline-page .time-boundary {
  position: absolute;
  left: 0;
  display: grid;
  grid-template-columns: var(--timeline-time-column) 1fr;
  gap: var(--timeline-gap);
  align-items: center;
  color: var(--timeline-muted);
}

.timeline-page .time-boundary.top {
  top: 52px;
}

.timeline-page .time-boundary.bottom {
  bottom: 0;
}

.timeline-page .time-boundary span,
.timeline-page .event-time span {
  display: inline-flex;
  justify-content: flex-end;
  color: var(--timeline-ink);
  font-weight: 800;
}

.timeline-page .time-boundary strong {
  font-size: .82rem;
  text-transform: uppercase;
}

.timeline-page .timeline-event {
  position: absolute;
  right: 0;
  left: 0;
  top: var(--event-offset);
  z-index: 3;
  display: grid;
  grid-template-columns: var(--timeline-time-column) var(--timeline-dot-size) minmax(56px, 86px) minmax(0, 1fr);
  gap: var(--timeline-gap);
  align-items: center;
  min-width: 0;
}

.timeline-page .timeline-event:hover,
.timeline-page .timeline-event:focus-within {
  z-index: 20;
}

.timeline-page .timeline-event.selected {
  z-index: 21;
}

.timeline-page .timeline-empty {
  position: absolute;
  top: 178px;
  right: 0;
  left: calc(var(--timeline-line-x) + 72px);
  min-height: 96px;
  padding: 18px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #64748b;
  font-weight: 700;
}

.timeline-page .event-time {
  font-size: .95rem;
}

.timeline-page .event-dot {
  position: relative;
  z-index: 2;
  display: inline-grid;
  width: var(--timeline-dot-size);
  height: var(--timeline-dot-size);
  place-items: center;
  border: 3px solid #ffffff;
  border-radius: 50%;
  color: #07100b;
  cursor: pointer;
  font-size: .72rem;
  font-weight: 900;
  box-shadow: 0 0 0 8px rgba(15, 23, 42, .08);
}

.timeline-page .severity-info .event-dot,
.timeline-page .severity-info.inspector-badge,
.timeline-page .severity-info.timeline-legend-dot {
  background: var(--timeline-cyan);
}

.timeline-page .severity-safe .event-dot,
.timeline-page .severity-safe.inspector-badge,
.timeline-page .severity-safe.timeline-legend-dot {
  background: var(--timeline-green);
}

.timeline-page .severity-warning .event-dot,
.timeline-page .severity-warning.inspector-badge,
.timeline-page .severity-warning.timeline-legend-dot {
  background: var(--timeline-amber);
}

.timeline-page .severity-danger .event-dot,
.timeline-page .severity-danger.inspector-badge,
.timeline-page .severity-danger.timeline-legend-dot {
  background: var(--timeline-red);
}

.timeline-page .event-dot:hover,
.timeline-page .event-dot:focus-visible,
.timeline-page .timeline-event:hover .event-dot,
.timeline-page .timeline-event:focus-within .event-dot {
  z-index: 30;
  transform: scale(1.08);
  box-shadow: 0 0 0 10px rgba(15, 23, 42, .12), 0 10px 24px rgba(15, 23, 42, .18);
}

.timeline-page .timeline-event.selected .event-dot {
  z-index: 30;
  transform: scale(1.12);
  box-shadow: 0 0 0 5px #ffffff, 0 0 0 10px #0b63ce, 0 12px 28px rgba(11, 99, 206, .28);
}

.timeline-page .event-connector {
  height: 2px;
  background: var(--timeline-line);
}

.timeline-page .timeline-event.selected .event-connector {
  height: 4px;
  background: #0b63ce;
}

.timeline-page .event-card {
  position: relative;
  z-index: 1;
  min-height: 104px;
  min-width: 0;
  padding: 16px 132px 16px 16px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #ffffff;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

.timeline-page .timeline-event:hover .event-card,
.timeline-page .timeline-event:focus-within .event-card {
  z-index: 25;
  border-color: #93c5fd;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .14);
}

.timeline-page .timeline-event.selected .event-card {
  border: 2px solid #0b63ce;
  background: #f4f8ff;
  box-shadow: 0 18px 40px rgba(11, 99, 206, .2);
}

.timeline-page .event-card-top {
  display: grid;
  gap: 5px;
}

.timeline-page .event-card-top span {
  color: #0f766e;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.timeline-page .event-card-top strong {
  color: #111827;
  font-size: 1.08rem;
}

.timeline-page .event-card p {
  margin: 10px 0 0;
  color: var(--timeline-muted);
}

.timeline-page .detail-button {
  position: absolute;
  top: 14px;
  right: 14px;
  min-height: 34px;
  border: 1px solid rgba(15, 94, 168, .28);
  border-radius: 8px;
  background: #eff6ff;
  color: #0f5ea8;
  cursor: pointer;
  font: inherit;
  font-size: .86rem;
  font-weight: 800;
  padding: 7px 11px;
}

.timeline-page .detail-button:hover,
.timeline-page .detail-button:focus-visible {
  background: #dbeafe;
}

.timeline-page .event-inspector {
  position: sticky;
  top: 130px;
  display: grid;
  gap: 16px;
  min-width: 0;
  margin-top: 0;
  padding: 18px;
  border: 1px solid #1f3440;
  border-radius: 8px;
  background: linear-gradient(180deg, #17272c, #0d1517);
  color: #f8fafc;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .16);
}

.timeline-page .inspector-header {
  position: relative;
  padding-right: 66px;
}

.timeline-page .inspector-header h2 {
  margin: 0;
  font-size: 1.45rem;
}

.timeline-page .inspector-badge {
  position: absolute;
  top: 2px;
  right: 0;
  display: inline-flex;
  min-width: 48px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #07100b;
  font-size: .78rem;
  font-weight: 900;
}

.timeline-page .inspector-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.timeline-page .inspector-facts div,
.timeline-page .inspector-summary,
.timeline-page .inspector-actions,
.timeline-page .json-panel,
.timeline-page .received-panel {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, .16);
  border-radius: 8px;
  background: rgba(248, 250, 252, .05);
}

.timeline-page .inspector-facts dt {
  color: #94a3b8;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.timeline-page .inspector-facts dd {
  margin: 6px 0 0;
  font-weight: 800;
}

.timeline-page .inspector-summary h3,
.timeline-page .json-panel h3,
.timeline-page .received-panel h3 {
  margin: 0;
  font-size: 1rem;
}

.timeline-page .inspector-summary p {
  margin: 10px 0 0;
  color: #cbd5e1;
}

.timeline-page .inspector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.timeline-page .inspector-actions[hidden] {
  display: none;
}

.timeline-page .inspector-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
}

.timeline-page .json-panel-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  cursor: pointer;
  list-style: none;
}

.timeline-page .json-panel-top::-webkit-details-marker {
  display: none;
}

.timeline-page .json-panel-top span {
  color: var(--timeline-cyan);
  font-size: .78rem;
  font-weight: 800;
  margin-left: auto;
}

.timeline-json-popout-button {
  display: inline-grid;
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(226, 232, 240, .22);
  border-radius: 999px;
  background: rgba(248, 250, 252, .06);
  color: #cbd5e1;
  cursor: pointer;
}

.timeline-json-popout-button:hover,
.timeline-json-popout-button:focus-visible {
  border-color: rgba(103, 217, 232, .78);
  color: #67d9e8;
  outline: none;
}

.timeline-json-popout-button.copy-ok {
  border-color: rgba(34, 197, 94, .74);
  color: #86efac;
}

.timeline-page .json-panel-top::after {
  content: "+";
  display: inline-grid;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(226, 232, 240, .22);
  border-radius: 999px;
  color: #cbd5e1;
  font-size: 1rem;
  font-weight: 800;
}

.timeline-page .json-panel[open] .json-panel-top {
  margin-bottom: 12px;
}

.timeline-page .json-panel[open] .json-panel-top::after {
  content: "-";
}

.timeline-page .json-panel pre {
  max-width: 100%;
  max-height: 330px;
  overflow: auto;
  margin: 0;
  padding: 14px;
  border-radius: 8px;
  background: #081012;
  color: #d8f3e1;
  font-size: .82rem;
  line-height: 1.55;
}

.timeline-json-modal-content {
  min-height: 60vh;
  max-height: 72vh;
  overflow: auto;
  margin: 0;
  padding: 16px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #081012;
  color: #d8f3e1;
  font-size: .9rem;
  line-height: 1.55;
}

.timeline-json-search {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.timeline-json-search .input-group {
  max-width: 460px;
}

.timeline-json-search-count {
  min-width: 92px;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
}

.timeline-json-match {
  border-radius: 2px;
  background: #fde68a;
  color: #111827;
  box-shadow: 0 0 0 1px rgb(245 158 11 / 35%);
}

.timeline-page .received-panel dl {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
}

.timeline-page .received-panel dt {
  color: #94a3b8;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.timeline-page .received-panel dd {
  margin: 6px 0 0;
  font-weight: 800;
}

@media (max-width: 1280px) {
  .timeline-control-dock {
    align-items: stretch;
  }

  .timeline-filter-menus,
  .timeline-interval-controls {
    flex: 1 1 100%;
    justify-content: flex-start;
  }

  .timeline-page .event-inspector {
    top: 184px;
  }
}

@media (max-width: 1100px) {
  .metric-grid,
  .monitor-grid,
  .server-status-split {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .page-heading,
  .filters {
    align-items: stretch;
    flex-direction: column;
  }

  .metric-grid,
  .monitor-grid,
  .server-status-split {
    grid-template-columns: 1fr;
  }

  .config-control-grid {
    grid-template-columns: 1fr;
  }

  .communication-grid {
    grid-template-columns: 1fr;
  }

  .xdr-event-grid,
  .xdr-list-grid {
    grid-template-columns: 1fr;
  }

  .xdr-number-field {
    grid-template-columns: 1fr;
  }

  .settings-grid-3,
  .settings-grid-4 {
    grid-template-columns: 1fr;
  }

  .settings-grid-span-2 {
    grid-column: span 1;
  }

  .settings-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .filters {
    min-width: 0;
  }

  .timeline-intro,
  .timeline-page .timeline-layout {
    grid-template-columns: 1fr;
  }

  .timeline-page .timeline-layout {
    margin-top: 0;
  }

  .timeline-intro {
    flex-direction: column;
    min-height: auto;
    padding-right: 0;
  }

  .timeline-event-filter-bar {
    position: static;
    right: auto;
    left: auto;
    width: 100%;
    margin-top: 8px;
  }

  .timeline-client-actions {
    position: static;
    justify-content: flex-start;
  }

  .timeline-legend {
    justify-content: flex-start;
    min-width: 0;
  }

  .timeline-legend-top {
    position: static;
    justify-content: flex-start;
    margin-bottom: 10px;
    margin-top: 0;
  }

  .timeline-page .event-timeline {
    min-height: auto;
    padding: 44px 0;
  }

  .timeline-page .event-timeline::before {
    left: 18px;
  }

  .timeline-page .timeline-compressed-gap {
    display: none;
  }

  .timeline-page .timeline-event {
    position: relative;
    top: auto;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    margin: 26px 0;
  }

  .timeline-page .timeline-empty {
    position: relative;
    top: auto;
    left: auto;
    margin: 18px 0;
  }

  .timeline-page .event-time {
    grid-column: 2;
    grid-row: 1;
  }

  .timeline-page .event-time span,
  .timeline-page .time-boundary span {
    justify-content: flex-start;
  }

  .timeline-page .event-dot {
    grid-column: 1;
    grid-row: 1 / span 3;
    align-self: start;
  }

  .timeline-page .event-connector {
    display: none;
  }

  .timeline-page .event-card {
    grid-column: 2;
    padding-right: 16px;
  }

  .timeline-page .detail-button {
    position: static;
    margin-top: 12px;
  }

  .timeline-page .time-boundary {
    position: relative;
    grid-template-columns: 38px 1fr;
  }

  .timeline-page .event-inspector {
    position: static;
    margin-top: 0;
  }

  .timeline-page .inspector-facts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .dashboard-hero,
  .dashboard-main-grid,
  .dashboard-lower-grid,
  .dashboard-operational-grid,
  .dashboard-presence {
    grid-template-columns: 1fr;
  }

  .dashboard-health-panel,
  .dashboard-presence-chart {
    justify-self: center;
  }

  .dashboard-health-panel {
    width: min(100%, 420px);
  }

  .dashboard-attention-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .dashboard-attention-item em {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .dashboard-card-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-title-actions {
    align-items: stretch;
    justify-content: stretch;
  }

  .dashboard-company-filter {
    width: 100%;
  }

  .dashboard-insight-list {
    grid-template-columns: 1fr 1fr;
  }

  .dashboard-activity-chart {
    overflow-x: auto;
    grid-template-columns: repeat(24, 22px);
    padding-bottom: 8px;
  }

  .dashboard-company-row {
    grid-template-columns: 1fr;
  }

  .dashboard-company-metrics {
    justify-content: flex-start;
  }
}

.header-version-button {
  position: relative;
}

.version-notice-dot {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #ffcc4d;
  box-shadow: 0 0 0 2px #212529;
}

.version-dropdown {
  width: min(420px, calc(100vw - 24px));
  padding: 0;
  max-height: min(720px, 70dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.version-dropdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid #e4edf7;
}

.version-list,
.version-release-preview {
  padding: 10px 14px;
}

.version-list-row,
.version-list-main,
.version-release-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.version-list-row {
  padding: 5px 0;
}

.version-list-main {
  flex: 1 1 auto;
  min-width: 0;
}

.version-history-button {
  flex: 0 0 auto;
  padding: 0.15rem 0.45rem;
  font-size: .75rem;
}

.version-empty {
  padding: 10px 14px;
  color: #64748b;
  font-size: .9rem;
}

.version-release-changes {
  list-style: none;
  padding: 0;
  margin: 10px 0 12px;
  display: grid;
  gap: 8px;
}

.version-release-changes li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.version-release-changes .version-change-icon { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; font-size: 1rem; }
.version-change-feature { color: #0967c1; background: #eaf3ff; }
.version-change-improvement { color: #147862; background: #e9f6f1; }
.version-change-fix { color: #ad4933; background: #fff0e9; }
.version-change-security { color: #6b4ab0; background: #f2edfb; }
.version-change-technical { color: #52657a; background: #edf1f5; }
.version-change-icon:focus-visible { outline: 2px solid #0967c1; outline-offset: 2px; }
.version-product-name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.version-downloads { display: flex; flex-wrap: wrap; gap: 4px; }
.version-download-button { display: inline-flex; align-items: center; gap: 4px; padding: 2px 5px; font-size: .7rem; }
.version-list-main > strong { flex-shrink: 0; white-space: nowrap; }

.version-release-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.version-release-preview + .version-release-preview {
  border-top: 1px solid #e4edf7;
}

.application-release-admin-grid,
.application-release-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.application-release-admin-card {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  padding: 16px;
  background: #f8fbff;
}

.application-release-admin-card h3,
.application-release-lists h3 {
  font-size: 1rem;
  margin-bottom: 12px;
}

.application-release-lists {
  margin-top: 18px;
}

.application-release-history {
  display: grid;
  gap: 14px;
}

.application-release-card {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  padding: 16px;
  background: #fff;
}

.application-release-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.application-release-entry-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.application-release-entry-list li {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  border-top: 1px solid #edf3f8;
  padding-top: 10px;
}

.application-release-entry-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.application-release-entry-list span {
  color: #0f766e;
  font-size: .75rem;
  text-transform: uppercase;
  font-weight: 800;
}

.application-release-entry-list p {
  margin: 2px 0 0;
  color: #475569;
}

.client-support-heading {
  align-items: flex-start;
}

.client-support-heading h1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.client-support-actions,
.client-support-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.client-support-toolbar {
  justify-content: flex-start;
  margin-bottom: 16px;
}

.client-support-toolbar form {
  display: inline-flex;
}

.client-support-hero {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 2.15fr);
  gap: 16px;
  margin-bottom: 16px;
}

.client-support-state,
.client-support-identity {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
}

.client-support-state {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 112px;
}

.client-support-state-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  background: #e2e8f0;
  color: #334155;
}

.client-support-state-label,
.client-support-identity span,
.client-support-metric span {
  display: block;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.client-support-state-body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.client-support-state strong {
  display: block;
  font-size: 1.55rem;
  line-height: 1.2;
}

.client-support-state .client-health-badge {
  justify-self: start;
}

.client-support-state small,
.client-support-identity small {
  color: #64748b;
}

.config-frame-dialog {
  max-width: min(1180px, calc(100vw - 2rem));
}

.config-frame-dialog .modal-content {
  height: min(90vh, 980px);
  max-height: calc(100vh - 3rem);
}

.config-frame-dialog .modal-body {
  min-height: 0;
  overflow: hidden;
}

.config-frame {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  display: block;
  background: #fff;
}

.embedded-config-body {
  height: 100dvh;
  margin: 0;
  background: transparent;
  overflow: hidden;
}

.embedded-config-body > .page-heading,
.embedded-config-body > .monitor-section,
.embedded-config-body > [data-auto-refresh-seconds],
.embedded-config-body > .help-page-link {
  display: none !important;
}

.embedded-config-body .config-modal-inline {
  display: block;
  position: static;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  outline: 0;
}

.embedded-config-body .config-modal-inline .modal-dialog {
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  transform: none !important;
}

.embedded-config-body .config-modal-inline .modal-content {
  height: 100dvh;
  max-height: 100dvh;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}

.embedded-config-body .config-modal-inline .modal-header {
  display: none;
}

.embedded-config-body .config-modal-inline .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 18px 18px 14px;
}

.embedded-config-body .config-modal-inline .modal-footer {
  flex: 0 0 auto;
  background: #fff;
  border-top: 1px solid #dbe4ef;
  padding: 14px 18px;
}

.support-state-ok .client-support-state-icon {
  background: #dcfce7;
  color: #15803d;
}

.support-state-warning .client-support-state-icon {
  background: #fef3c7;
  color: #b45309;
}

.support-state-critical .client-support-state-icon {
  background: #fee2e2;
  color: #b91c1c;
}

.client-support-identity {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  background: #f8fafc;
}

.client-support-identity-card {
  display: grid;
  gap: 4px;
  align-content: start;
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.client-support-identity-card > i {
  color: #0f766e;
  font-size: 1rem;
}

.client-support-identity-card strong {
  display: block;
  color: #0f172a;
  overflow-wrap: anywhere;
}

.client-support-version-card strong span {
  display: inline-flex;
  width: auto;
  max-width: max-content;
  padding: 4px 10px;
  border-radius: 999px;
}

.client-support-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.client-support-metric {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
  align-items: center;
  min-height: 88px;
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.client-support-metric i {
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef6ff;
  color: #2563eb;
}

.client-support-metric strong {
  font-size: 1.45rem;
  line-height: 1;
}

.client-support-playbooks .section-title {
  align-items: flex-start;
}

.client-support-playbooks .section-title p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: .9rem;
}

.client-support-playbook-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.client-support-playbook {
  display: grid;
  gap: 12px;
  border: 1px solid #dbe7f3;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
}

.client-support-playbook.support-playbook-critical {
  border-left-color: #dc2626;
  background: linear-gradient(90deg, #fff7f7 0, #fff 42%);
}

.client-support-playbook.support-playbook-warning {
  border-left-color: #d97706;
  background: linear-gradient(90deg, #fffbeb 0, #fff 42%);
}

.client-support-playbook.support-playbook-ok {
  border-left-color: #16a34a;
  background: linear-gradient(90deg, #f0fdf4 0, #fff 42%);
}

.client-support-playbook-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.client-support-playbook-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #eff6ff;
  color: #1d4ed8;
}

.support-playbook-critical .client-support-playbook-icon {
  background: #fee2e2;
  color: #b91c1c;
}

.support-playbook-warning .client-support-playbook-icon {
  background: #fef3c7;
  color: #b45309;
}

.support-playbook-ok .client-support-playbook-icon {
  background: #dcfce7;
  color: #15803d;
}

.client-support-playbook h3 {
  margin: 6px 0 4px;
  color: #0f172a;
  font-size: 1.02rem;
}

.client-support-playbook p {
  margin: 0;
  color: #475569;
}

.client-support-playbook ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 1.25rem;
  color: #334155;
}

.client-support-playbook-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.client-support-playbook-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: .25rem .55rem;
  line-height: 1.2;
  white-space: nowrap;
}

.support-metric-ok i {
  background: #dcfce7;
  color: #15803d;
}

.support-metric-warning i {
  background: #fef3c7;
  color: #b45309;
}

.support-metric-critical i {
  background: #fee2e2;
  color: #b91c1c;
}

.client-support-main {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 16px;
}

.client-support-column {
  display: grid;
  gap: 16px;
  align-content: start;
}

.client-support-section {
  margin-bottom: 0;
}

.client-support-attention-list,
.client-support-event-list {
  display: grid;
  gap: 10px;
  padding: 0 6px 6px;
}

.client-support-attention-item,
.client-support-event {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  margin-inline: 2px;
}

.client-support-report-event {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.client-support-report-event .btn {
  white-space: nowrap;
}

.client-support-attention-item:hover,
.client-support-event:hover {
  border-color: #93c5fd;
  background: #f8fbff;
}

.client-support-attention-item i {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.client-support-attention-item strong,
.client-support-event strong {
  display: block;
  color: #0f172a;
}

.client-support-attention-item small,
.client-support-event small {
  color: #64748b;
}

.client-support-event time {
  color: #64748b;
  font-size: .82rem;
  white-space: nowrap;
}

.client-support-alert-event {
  align-items: flex-start;
}

.client-support-event-side {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.support-attention-ok i {
  background: #dcfce7;
  color: #15803d;
}

.support-attention-warning i {
  background: #fef3c7;
  color: #b45309;
}

.support-attention-critical i {
  background: #fee2e2;
  color: #b91c1c;
}

.client-support-table-wrap {
  overflow-x: auto;
}

.client-support-note textarea {
  resize: vertical;
}

.client-support-note-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}

.asset-inventory-modal .modal-dialog {
  max-width: min(1560px, calc(100vw - 32px));
}

.asset-inventory-toolbar {
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(420px, 1fr);
  gap: 12px;
  align-items: center;
}

.asset-inventory-toolbar .form-select {
  width: 100%;
}

.asset-inventory-compare-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.asset-inventory-diff-col {
  width: 34px;
  min-width: 34px;
  text-align: center;
  white-space: nowrap;
}

.asset-inventory-diff-badge {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  background: #f59e0b;
  color: #000;
  line-height: 1;
  vertical-align: middle;
}

.asset-inventory-diff-icon {
  color: #000;
  font-size: .95rem;
  vertical-align: middle;
}

.asset-inventory-diff-new,
.asset-inventory-diff-modified,
.asset-inventory-diff-removed {
  background: #fffdf1;
}

.asset-inventory-diff-removed {
  color: #64748b;
}

.asset-inventory-meta {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.asset-inventory-meta > div {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px 12px;
}

.asset-inventory-meta span {
  display: block;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-inventory-meta strong {
  display: block;
  margin-top: 2px;
  color: #0f172a;
  overflow-wrap: anywhere;
}

.asset-inventory-section-grid {
  display: grid;
  gap: 14px;
}

.asset-inventory-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
}

.asset-inventory-tabs .nav-link i {
  color: #0f766e;
}

.asset-inventory-tabs .nav-link .badge {
  margin-left: 2px;
}

.asset-inventory-tab-content {
  border: 1px solid #dbe7f3;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #fff;
  padding: 14px;
}

.asset-inventory-section {
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: 0;
}

.asset-inventory-section-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.asset-inventory-section-header h3 {
  margin: 0;
  font-size: 1rem;
}

.asset-inventory-section-header-actions {
  align-items: flex-start;
}

.asset-inventory-section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.asset-inventory-section-header i,
.iip-asset-header h4 i,
.iip-summary-card h4 i {
  color: #0f766e;
  margin-right: 6px;
}

.asset-inventory-section-header span {
  color: #64748b;
  font-size: .86rem;
}

.asset-vulnerability-catalog strong {
  color: #0f172a;
  font-weight: 600;
}

.asset-vulnerability-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.asset-vulnerability-summary-grid > div {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 10px 12px;
}

.asset-vulnerability-summary-grid > div > span {
  display: block;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-vulnerability-summary-grid strong {
  display: inline-block;
  margin-top: 4px;
  color: #0f172a;
}

.asset-vulnerability-summary-help {
  display: block;
  margin-top: 0;
  color: #64748b;
  font-size: .76rem;
  line-height: 1.35;
}

.asset-vulnerability-adjudication-progress {
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #f8fbff;
  padding: 14px;
}

.asset-vulnerability-adjudication-progress-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.asset-vulnerability-adjudication-progress-header > div {
  display: grid;
  gap: 3px;
}

.asset-vulnerability-adjudication-progress-header span,
.asset-vulnerability-adjudication-progress > small {
  color: #64748b;
  font-size: .78rem;
}

.asset-vulnerability-adjudication-progress .progress {
  height: 7px;
  background: #dbeafe;
}

.asset-vulnerability-adjudication-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.asset-vulnerability-adjudication-stages span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: #64748b;
  font-size: .75rem;
}

.asset-vulnerability-adjudication-stages span.is-complete {
  color: #15803d;
}

.asset-vulnerability-insights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  border-top: 1px solid #dbe7f3;
  border-bottom: 1px solid #dbe7f3;
  background: #fff;
}

.asset-vulnerability-insight {
  min-width: 0;
  padding: 14px 18px;
  border-left: 1px solid #dbe7f3;
}

.asset-vulnerability-insight:first-child {
  border-left: 0;
}

.asset-vulnerability-insight > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.asset-vulnerability-insight > header strong {
  color: #0f172a;
  font-size: .86rem;
}

.asset-vulnerability-insight > header span {
  color: #64748b;
  font-size: .72rem;
  white-space: nowrap;
}

.asset-vulnerability-chart-layout {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.asset-vulnerability-doughnut {
  position: relative;
  width: 94px;
  height: 94px;
  border-radius: 50%;
  background: #e2e8f0;
}

.asset-vulnerability-doughnut > div {
  position: absolute;
  inset: 11px;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 50%;
  background: #fff;
}

.asset-vulnerability-doughnut strong,
.asset-vulnerability-doughnut span {
  display: block;
}

.asset-vulnerability-doughnut strong {
  color: #0f172a;
  font-size: 1.08rem;
  line-height: 1;
}

.asset-vulnerability-doughnut span {
  margin-top: 4px;
  color: #64748b;
  font-size: .62rem;
  text-transform: uppercase;
}

.asset-vulnerability-distribution-bar {
  display: flex;
  width: 100%;
  height: 12px;
  margin: 19px 0 16px;
  overflow: hidden;
  border-radius: 3px;
  background: #e2e8f0;
}

.asset-vulnerability-distribution-bar > span {
  min-width: 2px;
}

.asset-vulnerability-distribution-bar > .is-empty {
  width: 100%;
  background: #e2e8f0;
}

.asset-vulnerability-chart-legend {
  display: grid;
  gap: 6px;
}

.asset-vulnerability-chart-legend > div {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #475569;
  font-size: .72rem;
}

.asset-vulnerability-chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.asset-vulnerability-chart-legend span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.asset-vulnerability-chart-legend strong {
  color: #0f172a;
  font-size: .76rem;
}

.asset-vulnerability-chart-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e2e8f0;
  color: #64748b;
  font-size: .72rem;
}

.asset-vulnerability-chart-note strong {
  color: #0f172a;
}

.is-mapping-confirmed,
.is-operational-information { background: #16a34a; }
.is-mapping-candidate,
.is-adjudication-probable,
.is-operational-attention { background: #f59e0b; }
.is-mapping-version,
.is-adjudication-review { background: #0ea5e9; }
.is-mapping-identity,
.is-adjudication-confirmed,
.is-operational-action { background: #dc2626; }
.is-mapping-missing,
.is-operational-pending { background: #64748b; }
.is-mapping-excluded,
.is-adjudication-excluded { background: #cbd5e1; }
.is-operational-failed { background: #7c3aed; }

.asset-vulnerability-ai-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #dbe7f3;
  border-radius: 6px;
  background: #f8fbff;
}

.asset-vulnerability-ai-overview strong {
  color: #334155;
  font-size: .75rem;
  text-transform: uppercase;
}

.asset-vulnerability-ai-overview p {
  margin: 4px 0 0;
  color: #0f172a;
  line-height: 1.45;
  white-space: pre-line;
}

.asset-vulnerability-ai-overview-block {
  min-width: 0;
}

.asset-vulnerability-ai-overview-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.asset-vulnerability-ai-overview-heading .badge {
  font-size: .66rem;
  letter-spacing: 0;
  text-transform: none;
}

.asset-vulnerability-official-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 6px;
}

.asset-vulnerability-official-links a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .8rem;
}

.asset-vulnerability-cpe-correction {
  grid-column: 1 / -1;
  padding: 11px 12px;
  border-left: 3px solid #d97706;
  background: #fffbeb;
}

.asset-vulnerability-cpe-correction p {
  margin-bottom: 7px;
}

.asset-vulnerability-cpe-correction small {
  display: block;
  margin-bottom: 9px;
  color: #475569;
  overflow-wrap: anywhere;
}

.asset-vulnerability-admin-recommendation {
  margin: 10px 0;
  padding: 10px 11px;
  border: 1px solid #fde68a;
  border-radius: 5px;
  background: #fff;
}

.asset-vulnerability-admin-recommendation p {
  margin: 5px 0 0;
}

.asset-vulnerability-resolution-version-status {
  display: flex;
  min-height: 100%;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border: 1px solid #d8e1ee;
  border-radius: 5px;
  background: #f8fafc;
}

.asset-vulnerability-resolution-version-status .badge {
  flex: 0 0 auto;
}

.asset-vulnerability-resolution-version-status small {
  color: #52637a;
  line-height: 1.35;
}

.asset-vulnerability-ai-confidence {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 82px;
}

.asset-vulnerability-ai-confidence-track {
  display: block;
  width: 42px;
  height: 5px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}

.asset-vulnerability-ai-confidence-track > span {
  display: block;
  height: 100%;
  background: #dc2626;
}

.asset-vulnerability-ai-confidence-track > span.is-high {
  background: #16a34a;
}

.asset-vulnerability-ai-confidence-track > span.is-medium {
  background: #d97706;
}

.asset-vulnerability-ai-confidence strong {
  font-size: .76rem;
  white-space: nowrap;
}

.asset-vulnerability-review-results {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.asset-vulnerability-review-results summary {
  color: #0f4c81;
  cursor: pointer;
  font-weight: 700;
}

.asset-vulnerability-review-results > p {
  margin: 8px 0 10px;
  color: #64748b;
  font-size: .82rem;
}

.asset-vulnerability-match-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid #dbe7f3;
  border-bottom: 1px solid #dbe7f3;
}

.asset-vulnerability-match-summary > div {
  min-width: 0;
  padding: 9px 12px;
  border-right: 1px solid #dbe7f3;
}

.asset-vulnerability-match-summary > div:last-child {
  border-right: 0;
}

.asset-vulnerability-match-summary span {
  display: block;
  color: #64748b;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-vulnerability-match-summary strong {
  display: block;
  margin-top: 3px;
  color: #0f172a;
  font-size: 1rem;
}

.asset-vulnerability-mapping-details {
  border-bottom: 1px solid #dbe7f3;
  padding: 0 0 10px;
}

.asset-vulnerability-mapping-details summary {
  color: #0f4c81;
  cursor: pointer;
  font-weight: 700;
  list-style-position: inside;
}

.asset-vulnerability-mapping-details summary i {
  margin-right: 6px;
}

.asset-vulnerability-mapping-table {
  min-width: 1120px;
}

.asset-vulnerability-mapping-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.asset-vulnerability-mapping-status-filters {
  display: flex;
  align-items: center;
  gap: 8px 12px;
  flex-wrap: wrap;
}

.asset-vulnerability-mapping-status-filters label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  cursor: pointer;
}

.asset-vulnerability-mapping-status-filters input {
  margin: 0;
}

.asset-vulnerability-mapping-search {
  flex: 0 1 340px;
  min-width: min(100%, 260px);
}

.asset-vulnerability-cpe-product {
  max-width: 290px;
  color: #334155;
  font-size: .78rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.asset-vulnerability-cpe-compact {
  width: 68px;
  min-width: 68px;
  max-width: 68px;
  white-space: nowrap;
}

.asset-vulnerability-cpe-info {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #2563eb;
  cursor: help;
}

.asset-vulnerability-cpe-info:focus-visible {
  border-radius: 4px;
  outline: 2px solid #93c5fd;
  outline-offset: 1px;
}

.asset-vulnerability-cpe-review {
  margin-left: 2px;
  padding: 0 3px;
  vertical-align: baseline;
}

.asset-vulnerability-mapping-reason {
  min-width: 250px;
}

.asset-vulnerability-mapping-reason small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .7rem;
}

.asset-vulnerability-review-dialog {
  width: min(1120px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 48px);
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #f8fbff;
  padding: 14px;
  color: #0f172a;
  overflow: auto;
  box-shadow: 0 24px 64px rgb(15 23 42 / 28%);
}

.asset-vulnerability-review-dialog::backdrop {
  background: rgb(15 23 42 / 48%);
}

.asset-vulnerability-review-confirm-dialog {
  width: min(680px, calc(100vw - 32px));
  max-width: none;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  color: #0f172a;
  box-shadow: 0 28px 72px rgb(15 23 42 / 36%);
}

.asset-vulnerability-review-confirm-dialog::backdrop {
  background: rgb(15 23 42 / 34%);
}

.asset-vulnerability-review-confirm-description {
  margin: 16px 0 12px;
  color: #334155;
}

.asset-vulnerability-review-confirm-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  border: 1px solid #dbe7f3;
  background: #dbe7f3;
}

.asset-vulnerability-review-confirm-summary > div {
  min-width: 0;
  padding: 9px 10px;
  background: #f8fafc;
}

.asset-vulnerability-review-confirm-summary-wide {
  grid-column: 1 / -1;
}

.asset-vulnerability-review-confirm-summary dt {
  color: #64748b;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-vulnerability-review-confirm-summary dd {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: .82rem;
  overflow-wrap: anywhere;
}

.asset-vulnerability-review-confirm-consequence {
  margin-top: 14px;
  padding: 11px 12px;
  border-left: 3px solid #64748b;
  background: #f1f5f9;
  color: #334155;
  font-size: .84rem;
  line-height: 1.45;
}

.asset-vulnerability-review-confirm-consequence.is-approve {
  border-left-color: #16a34a;
  background: #f0fdf4;
}

.asset-vulnerability-review-confirm-consequence.is-reject {
  border-left-color: #dc2626;
  background: #fef2f2;
}

.asset-vulnerability-review-confirm-consequence.is-ignore {
  border-left-color: #d97706;
  background: #fffbeb;
}

.asset-vulnerability-review-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}

.asset-vulnerability-mapping-table tr.is-under-review > td {
  background: #eff6ff;
}

.asset-vulnerability-review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.asset-vulnerability-review-header h4 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
}

.asset-vulnerability-review-header p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: .82rem;
}

.asset-vulnerability-review-section-title {
  margin: 14px 0 8px;
  color: #334155;
  font-size: .86rem;
  font-weight: 700;
}

.asset-vulnerability-review-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 12px;
  border: 1px solid #dbe7f3;
  background: #dbe7f3;
}

.asset-vulnerability-review-facts > div {
  min-width: 0;
  background: #fff;
  padding: 8px 10px;
}

.asset-vulnerability-review-facts span,
.asset-vulnerability-review-facts strong {
  display: block;
  overflow-wrap: anywhere;
}

.asset-vulnerability-review-facts span {
  color: #64748b;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-vulnerability-review-facts strong {
  margin-top: 3px;
  color: #0f172a;
  font-size: .8rem;
  font-weight: 600;
}

.asset-vulnerability-review-fact-wide {
  grid-column: span 2;
}

.asset-vulnerability-review-confidence {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
}

.asset-vulnerability-review-confidence strong {
  margin-top: 0;
  white-space: nowrap;
}

.asset-vulnerability-review-confidence-track {
  display: block;
  width: 64px;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.asset-vulnerability-review-confidence-fill {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #dc2626;
  transition: width .2s ease;
}

.asset-vulnerability-review-confidence-fill.is-medium {
  background: #d97706;
}

.asset-vulnerability-review-confidence-fill.is-high {
  background: #16a34a;
}

.asset-vulnerability-review-fact-wide small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: .68rem;
  overflow-wrap: anywhere;
}

.asset-vulnerability-resolution-cve-list {
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid #cbd5e1;
  background: #fff;
}

.asset-vulnerability-resolution-cve-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0;
  cursor: pointer;
}

.asset-vulnerability-resolution-cve-option:last-child {
  border-bottom: 0;
}

.asset-vulnerability-resolution-cve-option:hover {
  background: #f8fafc;
}

.asset-vulnerability-resolution-cve-option input {
  margin-top: 3px;
}

.asset-vulnerability-resolution-cve-option strong,
.asset-vulnerability-resolution-cve-option small {
  display: block;
}

.asset-vulnerability-resolution-cve-option strong {
  color: #0f172a;
  font-size: .82rem;
}

.asset-vulnerability-resolution-cve-option small {
  margin-top: 3px;
  color: #64748b;
  font-size: .76rem;
  line-height: 1.4;
}

.asset-vulnerability-review-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.asset-vulnerability-glossary {
  border-top: 1px solid #dbe7f3;
  border-bottom: 1px solid #dbe7f3;
  padding: 10px 0;
}

.asset-vulnerability-glossary summary {
  color: #0f4c81;
  cursor: pointer;
  font-weight: 700;
  list-style-position: inside;
}

.asset-vulnerability-glossary summary i {
  margin-right: 6px;
}

.asset-vulnerability-glossary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 12px 0 0;
}

.asset-vulnerability-glossary dl > div {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 8px;
}

.asset-vulnerability-glossary dt {
  color: #0f172a;
}

.asset-vulnerability-glossary dd {
  margin: 0;
  color: #475569;
  font-size: .82rem;
  line-height: 1.4;
}

.asset-vulnerability-table {
  min-width: 1180px;
}

.asset-vulnerability-software-row > td {
  vertical-align: middle;
}

.asset-vulnerability-classification {
  border: 1px solid currentColor;
  background: #fff;
  font-weight: 600;
}

.asset-vulnerability-classification.is-confirmed {
  color: #b42318;
}

.asset-vulnerability-classification.is-probable {
  color: #b54708;
}

.asset-vulnerability-classification.is-review {
  color: #087990;
}

.asset-vulnerability-classification.is-not-applicable {
  color: #667085;
}

.asset-vulnerability-classification.is-unsupported {
  color: #344054;
}

.asset-vulnerability-count {
  font-weight: 700;
  text-align: center;
}

.asset-vulnerability-details-toggle {
  width: 34px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  padding: 0;
}

.asset-vulnerability-details-row > td {
  padding: 0 !important;
  border-top: 0;
  background: #f8fbff;
}

.asset-vulnerability-details-content {
  overflow-x: auto;
  padding: 10px 14px 14px;
  border-top: 1px solid #dbe7f3;
}

.asset-vulnerability-details-table {
  min-width: 760px;
}

.asset-vulnerability-details-table th {
  color: #64748b;
  font-size: .7rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.asset-vulnerability-cve-dialog {
  width: min(960px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 20px;
  border: 1px solid #bfd2e6;
  border-radius: 8px;
  color: #172033;
  background: #f8fbff;
  overflow: auto;
}

.asset-vulnerability-cve-dialog::backdrop {
  background: rgb(15 23 42 / 62%);
}

.asset-vulnerability-cve-dialog-header,
.asset-vulnerability-cve-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.asset-vulnerability-cve-dialog-header h4,
.asset-vulnerability-cve-dialog h5 {
  margin: 0;
}

.asset-vulnerability-cve-description,
.asset-vulnerability-cve-list {
  padding: 14px;
  border: 1px solid #d7e4f1;
  border-radius: 6px;
  background: #fff;
}

.asset-vulnerability-cve-description p {
  margin: 10px 0 0;
  line-height: 1.55;
}

.asset-vulnerability-cve-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.asset-vulnerability-cve-facts > div {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid #d7e4f1;
  border-radius: 6px;
  background: #fff;
}

.asset-vulnerability-cve-facts span {
  color: #64748b;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-vulnerability-cve-facts strong {
  overflow-wrap: anywhere;
}

.asset-vulnerability-cve-facts small {
  color: #64748b;
  line-height: 1.35;
}

.asset-vulnerability-cve-fact-wide {
  grid-column: 1 / -1;
}

.asset-vulnerability-cve-list ul {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding-left: 20px;
}

.asset-vulnerability-cve-list a {
  overflow-wrap: anywhere;
}

.asset-vulnerability-cve-footer {
  padding-top: 14px;
  border-top: 1px solid #d7e4f1;
}

@media (max-width: 700px) {
  .asset-vulnerability-cve-facts {
    grid-template-columns: 1fr;
  }

  .asset-vulnerability-cve-fact-wide {
    grid-column: auto;
  }

  .asset-vulnerability-cve-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

.asset-vulnerability-cve {
  color: #0f4c81;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight: 700;
  white-space: nowrap;
}

.asset-vulnerability-cvss-cell {
  min-width: 124px;
}

.asset-vulnerability-cvss-indicator {
  display: grid;
  grid-template-columns: 54px auto;
  gap: 6px;
  align-items: center;
  width: max-content;
}

.asset-vulnerability-cvss-track {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.asset-vulnerability-cvss-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  transition: width .2s ease;
}

.asset-vulnerability-cvss-indicator strong {
  color: #334155;
  font-size: .78rem;
  white-space: nowrap;
}

.asset-vulnerability-severity-high {
  background: #ea580c;
  color: #fff;
}

.asset-inventory-table {
  min-width: 980px;
}

.asset-inventory-table th {
  white-space: nowrap;
}

.asset-inventory-table th,
.asset-inventory-readable-table th {
  cursor: pointer;
  user-select: none;
}

.asset-inventory-table th.asset-sort-asc::after,
.asset-inventory-readable-table th.asset-sort-asc::after {
  content: " \2191";
}

.asset-inventory-table th.asset-sort-desc::after,
.asset-inventory-readable-table th.asset-sort-desc::after {
  content: " \2193";
}

.asset-inventory-table td {
  vertical-align: top;
  max-width: 260px;
  overflow-wrap: anywhere;
}

.asset-inventory-cell-icon {
  color: #0f766e;
  cursor: help;
  font-size: 1rem;
}

.asset-inventory-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.asset-inventory-info-card,
.asset-inventory-smart-section {
  border: 1px solid #dbe7f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 12px;
}

.asset-inventory-info-card h4,
.asset-inventory-smart-section h4 {
  margin: 0 0 10px;
  font-size: .95rem;
  color: #0f172a;
}

.asset-inventory-info-card h4 i,
.asset-inventory-smart-section h4 i {
  color: #0f766e;
  margin-right: 6px;
}

.asset-inventory-info-card dl {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr);
  gap: 7px 12px;
  margin: 0;
}

.asset-inventory-info-card dt {
  color: #64748b;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
}

.asset-inventory-info-card dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.asset-inventory-smart-section {
  margin-top: 12px;
  background: #fff;
}

.asset-inventory-readable-table {
  min-width: 900px;
  margin-bottom: 0;
}

.asset-inventory-readable-table-compact {
  min-width: 760px;
}

.asset-inventory-readable-table th {
  color: #475569;
  font-size: .75rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.asset-inventory-readable-table td {
  vertical-align: top;
}

.network-discovery-modal .modal-dialog {
  max-width: min(1500px, calc(100vw - 32px));
  height: calc(100vh - 40px);
  margin-top: 20px;
  margin-bottom: 20px;
}

.network-discovery-modal .modal-content {
  height: 100%;
}

.network-discovery-modal .modal-body {
  min-height: 0;
}

.network-discovery-modal .asset-inventory-meta {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.network-discovery-summary-grid,
.network-discovery-list-grid,
.network-discovery-group-grid,
.network-discovery-node-grid {
  display: grid;
  gap: 12px;
}

.network-discovery-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.network-discovery-stat-card,
.network-discovery-core-card,
.network-discovery-node-group {
  padding: 14px;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  background: #ffffff;
}

.network-discovery-stat-card span,
.network-discovery-core-label {
  display: block;
  margin-bottom: 4px;
  color: #64748b;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.network-discovery-stat-card strong,
.network-discovery-core-card strong {
  display: block;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 800;
}

.network-discovery-topology {
  display: grid;
  gap: 14px;
}

.network-discovery-topology-stage {
  position: relative;
  min-height: 620px;
  padding: 24px;
  border: 1px solid #d9e1e8;
  border-radius: 14px;
  background:
    radial-gradient(circle at center, rgba(59, 130, 246, .06), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  overflow: hidden;
}

.network-discovery-topology-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.network-discovery-topology-line {
  fill: none;
  stroke: #cbd5e1;
  stroke-linecap: round;
  stroke-width: 2;
}

.network-discovery-core-card {
  display: grid;
  gap: 6px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.network-discovery-topology-core {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: min(320px, calc(100% - 48px));
  transform: translate(-50%, -50%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
}

.network-discovery-core-card small,
.network-discovery-core-addresses {
  color: #475569;
  font-size: .85rem;
}

.network-discovery-group-grid,
.network-discovery-list-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.network-discovery-removed-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 12px;
}

.network-discovery-topology-group {
  position: absolute;
  z-index: 2;
  width: min(320px, calc(50% - 60px));
  box-shadow: 0 12px 24px rgba(15, 23, 42, .06);
}

.network-discovery-topology-group--interfaces {
  top: 20px;
  left: 20px;
}

.network-discovery-topology-group--local {
  top: 20px;
  right: 20px;
}

.network-discovery-topology-group--gateways {
  top: 210px;
  left: 20px;
}

.network-discovery-topology-group--dns {
  top: 210px;
  right: 20px;
}

.network-discovery-topology-group--hosts {
  bottom: 20px;
  left: 50%;
  width: min(920px, calc(100% - 40px));
  transform: translateX(-50%);
}

.network-discovery-node-group h4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 12px;
  color: #0f172a;
  font-size: .95rem;
  font-weight: 800;
}

.network-discovery-heading-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.network-discovery-group-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eff6ff;
  color: #0f5ea8;
  font-size: .76rem;
  font-weight: 800;
}

.network-discovery-node-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.network-discovery-topology-group .network-discovery-node-grid {
  max-height: 170px;
  overflow: auto;
}

.network-discovery-topology-group--hosts .network-discovery-node-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  max-height: 250px;
}

.network-discovery-node-card {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  background: #f8fafc;
}

.network-discovery-node-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.network-discovery-node-title strong {
  min-width: 0;
  overflow: hidden;
  color: #0f172a;
  font-size: .92rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.network-discovery-node-card small {
  color: #475569;
  font-size: .82rem;
  line-height: 1.4;
  word-break: break-word;
}

.network-discovery-node-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.network-discovery-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eff6ff;
  color: #0f5ea8;
  font-size: .72rem;
  font-weight: 700;
}

.network-discovery-observation-list {
  margin: 0;
  padding-left: 1.1rem;
}

.network-discovery-observation-list li + li {
  margin-top: 6px;
}

.network-discovery-graph-shell {
  position: relative;
  display: block;
}

.network-discovery-graph-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.network-discovery-graph-toolbar-separator {
  width: 1px;
  height: 28px;
  margin: 0 2px;
  background: #d9e1e8;
}

.network-discovery-graph-primary-filters {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

.network-discovery-graph-search {
  display: flex;
  flex: 1 1 520px;
  min-width: 280px;
}

.network-discovery-graph-search-box {
  display: inline-grid;
  width: 100%;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  border: 1px solid #c8d7ea;
  border-radius: 10px;
  background: #ffffff;
  color: #0f5ea8;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
}

.network-discovery-graph-search-box i {
  justify-self: center;
  font-size: .95rem;
}

.network-discovery-graph-search-box input {
  min-height: 38px;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0f172a;
  font-weight: 700;
}

.network-discovery-graph-search-box:focus-within {
  border-color: #0068d9;
  box-shadow: 0 0 0 3px rgba(0, 104, 217, .12);
}

.network-discovery-graph-network-filters {
  position: relative;
  flex: 0 1 440px;
  width: min(440px, 100%);
  min-width: 280px;
  margin: 0;
}

.network-discovery-graph-network-filters > summary {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 10px;
  border: 1px solid #d9e3ef;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  list-style: none;
}

.network-discovery-graph-network-filters > summary::-webkit-details-marker {
  display: none;
}

.network-discovery-graph-network-filters > summary:focus-visible {
  border-color: #0068d9;
  outline: 3px solid rgba(0, 104, 217, .12);
}

.network-discovery-graph-network-filter-label,
.network-discovery-graph-network-filter-value {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.network-discovery-graph-network-filter-label {
  font-size: .78rem;
  font-weight: 700;
}

.network-discovery-graph-network-filter-value {
  flex: 0 0 auto;
  color: #0f5ea8;
  font-size: .76rem;
}

.network-discovery-graph-network-filter-value i {
  transition: transform .16s ease;
}

.network-discovery-graph-network-filters[open] .network-discovery-graph-network-filter-value i {
  transform: rotate(180deg);
}

.network-discovery-graph-network-options {
  position: absolute;
  z-index: 30;
  top: calc(100% + 5px);
  left: 0;
  display: grid;
  width: min(620px, calc(100vw - 48px));
  max-height: 300px;
  gap: 4px;
  padding: 8px;
  overflow: auto;
  border: 1px solid #c8d7ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .16);
}

.network-discovery-graph-network-option {
  display: flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  padding: 5px 7px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #334155;
  font-size: .76rem;
  cursor: pointer;
}

.network-discovery-graph-network-option--link-local,
.network-discovery-graph-network-option--multicast {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid #d9e3ef;
  border-radius: 0 0 5px 5px;
}

.network-discovery-graph-network-option--all {
  color: #0f5ea8;
  font-weight: 700;
}

.network-discovery-graph-network-option:hover {
  background: #f1f7fd;
}

.network-discovery-graph-network-option input {
  margin: 0;
  accent-color: #0d6efd;
}

.network-discovery-map-data .table-responsive {
  max-height: min(62vh, 650px);
  overflow: auto;
}

.network-discovery-graph-filter {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  border: 1px solid #c8d7ea;
  border-radius: 999px;
  background: #f8fafc;
  color: #17496d;
  font-size: .82rem;
  font-weight: 800;
  opacity: .58;
  transition: border-color .16s ease, background .16s ease, color .16s ease, opacity .16s ease, transform .16s ease;
}

.network-discovery-graph-filter:hover,
.network-discovery-graph-filter:focus-visible {
  border-color: #7db5eb;
  opacity: .9;
  transform: translateY(-1px);
}

.network-discovery-graph-filter i {
  color: #0f5ea8;
  font-size: .95rem;
}

.network-discovery-graph-filter strong {
  display: inline-flex;
  min-width: 24px;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #edf6ff;
  color: #0f5ea8;
  font-size: .74rem;
}

.network-discovery-graph-filter.active {
  border-color: #0068d9;
  background: #eff6ff;
  color: #004f9f;
  opacity: 1;
}

.network-discovery-graph-filter:disabled {
  cursor: not-allowed;
  opacity: .42;
  transform: none;
}

.network-discovery-graph-group-filter {
  border-radius: 6px;
  border-color: color-mix(in srgb, var(--network-discovery-group-color, #0d6efd) 52%, #d9e1e8);
  background: #ffffff;
  opacity: .9;
}

.network-discovery-graph-group-filter i {
  color: var(--network-discovery-group-color, #0d6efd);
}

.network-discovery-graph-group-filter strong {
  background: #edf6ff;
  color: #0f5ea8;
}

.network-discovery-graph-group-filter.active {
  border-color: var(--network-discovery-group-color, #0d6efd);
  background: #ffffff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--network-discovery-group-color, #0d6efd) 16%, transparent);
}

.network-discovery-graph-detail {
  display: grid;
  position: absolute;
  z-index: 8;
  top: 0;
  left: 10px;
  gap: 4px;
  width: min(380px, calc(100% - 36px));
  max-height: calc(100% - 72px);
  min-height: 72px;
  box-sizing: border-box;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 12px 14px;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  background: linear-gradient(180deg, #10232c 0%, #162f3b 100%);
  box-shadow: 0 16px 32px rgba(15, 23, 42, .18);
}

.network-discovery-graph-detail:not(.network-discovery-graph-detail-collapsed) {
  padding-top: 10px;
}

.network-discovery-graph-detail-toggle,
.network-discovery-graph-action {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 174, 200, .45);
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  color: #0f5ea8;
}

.network-discovery-graph-detail-toggle {
  position: absolute;
  top: 8px;
  right: 8px;
  justify-self: end;
  margin: 0;
}

.network-discovery-graph-detail-toggle:hover,
.network-discovery-graph-action:hover {
  border-color: #0068d9;
  background: #ffffff;
  color: #004f9f;
}

.network-discovery-graph-action.active {
  border-color: #0068d9;
  background: #0068d9;
  color: #ffffff;
}

.network-discovery-graph-detail-collapsed {
  display: flex;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  max-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0;
  overflow: visible;
  border-radius: 12px;
}

.network-discovery-graph-detail-collapsed .network-discovery-graph-detail-toggle {
  position: static;
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

.network-discovery-graph-detail-collapsed .network-discovery-graph-detail-content {
  display: none;
}

.network-discovery-graph-detail > strong,
.network-discovery-graph-detail-content > strong {
  color: #ffffff;
  font-size: .96rem;
  font-weight: 900;
}

.network-discovery-graph-detail > span,
.network-discovery-graph-detail-content > span {
  color: #c9d7df;
  font-size: .86rem;
}

.network-discovery-graph-detail-content {
  display: grid;
  gap: 8px;
}

.network-discovery-graph-detail-icon {
  position: relative;
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(108, 196, 216, .16);
  color: #6ce5f0;
  font-size: 1.15rem;
}

.network-discovery-graph-detail-argus-badge {
  position: absolute;
  top: -5px;
  right: -6px;
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid #55b985;
  border-radius: 999px;
  background: #e9fbf1;
  color: #087b3b;
  font-size: .66rem;
  box-shadow: 0 3px 8px rgba(8, 123, 59, .2);
}

.network-discovery-graph-detail-content dl {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 5px 12px;
  margin: 0;
}

.network-discovery-graph-detail-content dt {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  color: #8fb5c8;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.network-discovery-graph-detail-content dt > span:first-child {
  min-width: 0;
}

.network-discovery-graph-detail-content dd {
  margin: 0;
  color: #f8fafc;
  overflow-wrap: anywhere;
}

.network-discovery-detail-value-with-info {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.network-discovery-detail-value-with-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.network-discovery-host-type-edit {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(147, 197, 253, .7);
  border-radius: 7px;
  background: rgba(239, 246, 255, .98);
  color: #075ab5;
  flex: 0 0 auto;
  line-height: 1;
}

.network-discovery-host-type-edit:hover,
.network-discovery-host-type-edit:focus-visible {
  border-color: #60a5fa;
  background: #dbeafe;
  color: #004f9f;
}

.network-discovery-detail-copy {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(147, 197, 253, .7);
  border-radius: 7px;
  background: rgba(239, 246, 255, .98);
  color: #075ab5;
  line-height: 1;
}

.network-discovery-detail-copy:hover,
.network-discovery-detail-copy:focus-visible {
  border-color: #60a5fa;
  background: #dbeafe;
  color: #004f9f;
}

.network-discovery-detail-copy--done {
  border-color: #22c55e;
  background: #dcfce7;
  color: #15803d;
}

.network-discovery-port-link {
  color: #bfdbfe;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.network-discovery-port-link:hover,
.network-discovery-port-link:focus-visible {
  color: #ffffff;
}

.network-discovery-host-type-editor-modal {
  z-index: 1090;
}

.network-discovery-host-type-editor-modal + .modal-backdrop {
  z-index: 1085;
}

.network-discovery-host-type-current {
  display: grid;
  grid-template-columns: minmax(120px, auto) 1fr;
  gap: 6px 14px;
  padding: 12px;
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #f8fbff;
}

.network-discovery-host-type-current dt {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.network-discovery-host-type-current dd {
  margin: 0;
  font-weight: 700;
  color: #111827;
}

.network-discovery-host-type-scope {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #f8fbff;
}

.network-discovery-host-type-scope legend {
  float: none;
  width: auto;
  margin: 0;
  color: #475569;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.network-discovery-host-type-scope label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #0f172a;
  font-weight: 700;
}

.network-discovery-host-display-name-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.network-discovery-host-display-name-row .btn {
  white-space: nowrap;
}

.network-discovery-host-name-suggestions {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  background: #f8fbff;
}

.network-discovery-host-name-suggestion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #d9e1e8;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  text-align: left;
}

.network-discovery-host-name-suggestion:hover,
.network-discovery-host-name-suggestion:focus-visible {
  border-color: #7db5eb;
  box-shadow: 0 8px 18px rgba(15, 94, 168, .1);
}

.network-discovery-host-name-suggestion span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.network-discovery-host-name-suggestion strong {
  overflow: hidden;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.network-discovery-host-name-suggestion small {
  color: #64748b;
  font-size: .76rem;
}

.network-discovery-host-name-suggestion em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.network-discovery-host-name-suggestion--likely {
  border-color: #86efac;
  background: #f0fff6;
}

.network-discovery-detail-info {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.network-discovery-detail-info-button {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 174, 200, .45);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #0f5ea8;
  font-size: .82rem;
  line-height: 1;
}

.network-discovery-detail-info-button:hover,
.network-discovery-detail-info-button:focus-visible {
  border-color: #6ce5f0;
  color: #004f9f;
}

.network-discovery-detail-info--label {
  align-self: center;
}

.network-discovery-detail-info--label .network-discovery-detail-info-popover {
  width: min(250px, 72vw);
}

.network-discovery-detail-info-button--label {
  width: 17px;
  height: 17px;
  border-color: rgba(226, 232, 240, .58);
  background: #06111d;
  color: #f8fafc;
  font-size: .62rem;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .9);
}

.network-discovery-detail-info-button--label:hover,
.network-discovery-detail-info-button--label:focus-visible {
  border-color: #ffffff;
  color: #ffffff;
}

.network-discovery-detail-info--warning .network-discovery-detail-info-button,
.network-discovery-detail-info--warning-soft .network-discovery-detail-info-button,
.network-discovery-detail-info-button--warning,
.network-discovery-detail-info-button--warning-soft {
  border-color: rgba(245, 158, 11, .55);
  background: #fff7ed;
  color: #d97706;
}

.network-discovery-detail-info--warning .network-discovery-detail-info-button:hover,
.network-discovery-detail-info--warning .network-discovery-detail-info-button:focus-visible,
.network-discovery-detail-info--warning-soft .network-discovery-detail-info-button:hover,
.network-discovery-detail-info--warning-soft .network-discovery-detail-info-button:focus-visible,
.network-discovery-detail-info-button--warning:hover,
.network-discovery-detail-info-button--warning:focus-visible,
.network-discovery-detail-info-button--warning-soft:hover,
.network-discovery-detail-info-button--warning-soft:focus-visible {
  border-color: #f59e0b;
  color: #b45309;
}

.network-discovery-detail-info--warning-strong .network-discovery-detail-info-button,
.network-discovery-detail-info-button--warning-strong {
  border-color: #f59e0b;
  background: #ffedd5;
  color: #9a3412;
}

.network-discovery-detail-info--warning-strong .network-discovery-detail-info-button:hover,
.network-discovery-detail-info--warning-strong .network-discovery-detail-info-button:focus-visible,
.network-discovery-detail-info-button--warning-strong:hover,
.network-discovery-detail-info-button--warning-strong:focus-visible {
  border-color: #ea580c;
  color: #7c2d12;
}

.network-discovery-detail-info--danger .network-discovery-detail-info-button,
.network-discovery-detail-info-button--danger {
  border-color: #ef4444;
  background: #fee2e2;
  color: #b91c1c;
}

.network-discovery-detail-info--danger .network-discovery-detail-info-button:hover,
.network-discovery-detail-info--danger .network-discovery-detail-info-button:focus-visible,
.network-discovery-detail-info-button--danger:hover,
.network-discovery-detail-info-button--danger:focus-visible {
  border-color: #dc2626;
  color: #991b1b;
}

.network-discovery-detail-info-popover {
  display: none;
  position: fixed;
  z-index: 1085;
  top: var(--network-discovery-info-top, 0);
  left: var(--network-discovery-info-left, 0);
  width: var(--network-discovery-info-width, min(300px, calc(100vw - 24px)));
  max-height: min(220px, calc(100vh - 24px));
  overflow: auto;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #c8d7ea;
  border-radius: 10px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .22);
  text-transform: none;
}

.network-discovery-detail-info-popover::before {
  content: "";
  position: absolute;
  top: -6px;
  left: var(--network-discovery-info-arrow-left, 50%);
  width: 10px;
  height: 10px;
  border-top: 1px solid #c8d7ea;
  border-left: 1px solid #c8d7ea;
  background: #ffffff;
  transform: translateX(-50%) rotate(45deg);
}

.network-discovery-detail-info-popover--above::before {
  top: auto;
  bottom: -6px;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid #c8d7ea;
  border-bottom: 1px solid #c8d7ea;
}

.network-discovery-detail-info-popover strong {
  color: #0f172a;
  font-size: .8rem;
  font-weight: 900;
}

.network-discovery-detail-info-popover span {
  color: #334155;
  font-size: .78rem;
  line-height: 1.35;
  white-space: pre-wrap;
}

.network-discovery-detail-info:hover .network-discovery-detail-info-popover,
.network-discovery-detail-info:focus-within .network-discovery-detail-info-popover {
  display: grid;
}

.network-discovery-graph-viewport {
  position: relative;
  height: min(72vh, 760px);
  min-height: 420px;
  border: 1px solid #d9e1e8;
  border-radius: 14px;
  background:
    radial-gradient(circle at 16px 16px, rgba(15, 94, 168, .11) 1px, transparent 1.5px),
    linear-gradient(135deg, #f8fbff 0%, #ffffff 48%, #f3fbff 100%);
  background-size: 26px 26px, auto;
  overflow: hidden;
  width: 100%;
}

.network-discovery-graph-actions {
  position: absolute;
  z-index: 9;
  top: 10px;
  right: 10px;
  display: inline-flex;
  gap: 8px;
}

.network-discovery-graph-scroll {
  position: absolute;
  inset: 0;
  overflow: hidden;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.network-discovery-graph-scroll.network-discovery-graph-panning {
  cursor: grabbing;
}

.network-discovery-graph-canvas {
  position: relative;
  min-width: 100%;
  min-height: 520px;
  transform-origin: 0 0;
  will-change: transform;
}

.network-discovery-graph-links {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.network-discovery-graph-link {
  fill: none;
  stroke: #94aec8;
  stroke-linecap: round;
  stroke-width: 1.15;
  opacity: .42;
  pointer-events: stroke;
  cursor: pointer;
  transition: stroke .15s ease, stroke-width .15s ease, opacity .15s ease;
}

.network-discovery-graph-arrow {
  fill: #7896b3;
}

.network-discovery-graph-link.network-discovery-graph-link-hit {
  stroke: transparent !important;
  stroke-width: 12 !important;
  stroke-dasharray: none !important;
  opacity: 0 !important;
  pointer-events: stroke;
}

.network-discovery-graph-link-trunk-hit {
  fill: none;
  stroke: transparent;
  stroke-linecap: round;
  stroke-width: 16;
  pointer-events: stroke;
  cursor: pointer;
}

.network-discovery-graph-link.network-discovery-graph-link-hover {
  stroke: #0068d9;
  stroke-width: 4;
  opacity: 1;
}

.network-discovery-graph-link.asset-inventory-diff-new,
.network-discovery-graph-link.asset-inventory-diff-modified,
.network-discovery-graph-link.asset-inventory-diff-removed {
  background: transparent;
  stroke: #f59e0b;
  stroke-dasharray: 7 5;
}

.network-discovery-graph-link.network-discovery-graph-connected {
  stroke: #0068d9;
  stroke-width: 1.8;
  opacity: .62;
}

.network-discovery-graph-link--gateway-default-route,
.network-discovery-graph-link--interface-default-route,
.network-discovery-graph-link--client-default-route {
  stroke: #64748b;
  stroke-dasharray: 7 7;
  opacity: .56;
}

.network-discovery-graph-node {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 212px;
  min-height: 68px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid #cbd8e6;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .1);
  color: #0f172a;
  text-align: left;
  transition: opacity .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.network-discovery-graph-node:hover,
.network-discovery-graph-node:focus-visible,
.network-discovery-graph-node.network-discovery-graph-selected {
  z-index: 4;
  border-color: #0068d9;
  box-shadow: 0 18px 32px rgba(0, 104, 217, .18);
  transform: translateY(-2px);
}

.network-discovery-graph-shell--bulk-mode .network-discovery-graph-node--host {
  cursor: copy;
}

.network-discovery-graph-node.network-discovery-graph-bulk-selected {
  z-index: 5;
  border-color: #f59e0b;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, .24), 0 18px 34px rgba(245, 158, 11, .18);
}

.network-discovery-graph-node.network-discovery-graph-connected {
  border-color: #6cc4d8;
}

.network-discovery-graph-node.network-discovery-graph-link-endpoint {
  z-index: 5;
  border-color: #0068d9;
  box-shadow: 0 0 0 3px rgba(0, 104, 217, .14), 0 18px 34px rgba(0, 104, 217, .18);
}

.network-discovery-graph-node.network-discovery-graph-node--grouped {
  border-color: color-mix(in srgb, var(--network-discovery-node-group-color, #0d6efd) 38%, #cbd8e6);
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
}

.network-discovery-graph-node.network-discovery-graph-search-match {
  border-color: #f59e0b;
  box-shadow: 0 18px 34px rgba(245, 158, 11, .22);
}

.network-discovery-graph-node.network-discovery-graph-search-match .network-discovery-graph-node-icon {
  background: #fff7ed;
  color: #b45309;
}

.network-discovery-graph-node.network-discovery-graph-search-context {
  opacity: .76;
}

.network-discovery-graph-node.network-discovery-graph-path-context {
  opacity: .76;
}

.network-discovery-graph-node.network-discovery-graph-dimmed {
  filter: saturate(.58) brightness(.98);
}

.network-discovery-graph-hidden {
  display: none !important;
}

.network-discovery-graph-node-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eef7ff;
  color: #0f5ea8;
  font-size: 1.1rem;
}

.network-discovery-graph-node--client .network-discovery-graph-node-icon {
  background: #e9fbf1;
  color: #087b3b;
}

.network-discovery-graph-node--windowsWorkstation .network-discovery-graph-node-icon {
  background: #e9fbf1;
  color: #087b3b;
}

.network-discovery-graph-node--client {
  padding-right: 22px;
  border-color: #9bd7b4;
  background: linear-gradient(180deg, #ffffff 0%, #f0fff6 100%);
  box-shadow: 0 18px 40px rgba(8, 123, 59, .18);
}

.network-discovery-modal--map-expanded .asset-inventory-toolbar,
.network-discovery-modal--map-expanded [data-network-discovery-loading],
.network-discovery-modal--map-expanded [data-network-discovery-empty],
.network-discovery-modal--map-expanded [data-network-discovery-error],
.network-discovery-modal--map-expanded .asset-inventory-meta,
.network-discovery-modal--map-expanded .asset-inventory-tabs,
.network-discovery-modal--map-expanded [data-network-discovery-summary],
.network-discovery-modal--map-expanded [data-network-discovery-observations],
.network-discovery-modal--map-expanded #networkDiscoveryListPanel,
.network-discovery-modal--map-expanded #networkDiscoveryDataPanel {
  display: none !important;
}

.network-discovery-graph-client-address {
  font-weight: 500;
  transition: color .15s ease, font-weight .15s ease;
}

.network-discovery-graph-client-address.is-active {
  color: #0f172a;
  font-weight: 800;
}

.network-discovery-graph-client-address-separator {
  color: #94a3b8;
}

.network-discovery-graph-client-interfaces {
  position: absolute;
  top: 50%;
  right: -11px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transform: translateY(-50%);
}

.network-discovery-graph-node--client {
  transition: border-color .16s ease, box-shadow .16s ease;
}

.network-discovery-graph-client-interface {
  display: none;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid #9bc7ec;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 10px rgba(15, 23, 42, .12);
  color: #64748b;
  font-size: .68rem;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.network-discovery-graph-client-interface.is-active {
  display: inline-flex;
  border-color: #0068d9;
  background: #eef7ff;
  color: #0068d9;
}

.network-discovery-detail-interfaces {
  display: grid;
  gap: 8px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(143, 181, 200, .26);
}

.network-discovery-detail-interfaces > strong {
  color: #ffffff;
  font-size: .8rem;
  font-weight: 800;
}

.network-discovery-detail-interface-list {
  display: grid;
  gap: 6px;
}

.network-discovery-detail-interface {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid rgba(143, 181, 200, .2);
  border-radius: 7px;
  background: rgba(255, 255, 255, .04);
}

.network-discovery-detail-interface > i {
  color: #6ce5f0;
  text-align: center;
}

.network-discovery-detail-interface span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.network-discovery-detail-interface strong {
  color: #f8fafc;
  font-size: .78rem;
  font-weight: 700;
}

.network-discovery-detail-interface small {
  color: #c9d7df;
  font-size: .72rem;
  overflow-wrap: anywhere;
}

.network-discovery-modal--map-expanded .modal-footer {
  display: none !important;
}

.network-discovery-modal--map-expanded .modal-dialog {
  min-height: calc(100vh - 24px);
}

.network-discovery-modal--map-expanded .modal-content {
  min-height: calc(100vh - 24px);
}

.network-discovery-modal--map-expanded .asset-inventory-content,
.network-discovery-modal--map-expanded .asset-inventory-tab-content,
.network-discovery-modal--map-expanded #networkDiscoveryMapPanel,
.network-discovery-modal--map-expanded [data-network-discovery-map],
.network-discovery-modal--map-expanded .network-discovery-graph-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
}

.network-discovery-modal--map-expanded .modal-body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  padding: 8px 12px;
  overflow: hidden;
}

.network-discovery-modal--map-expanded [data-network-discovery-map] {
  margin-top: 0 !important;
}

.network-discovery-modal--map-expanded .network-discovery-graph-viewport {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}

.network-discovery-modal--fullscreen-map .modal-dialog {
  width: 95vw;
  max-width: 95vw;
  height: 95vh;
  margin: 2.5vh auto;
}

.network-discovery-modal--fullscreen-map .modal-content {
  height: 100%;
}

.network-discovery-modal--fullscreen-map .modal-body {
  flex: 1 1 auto;
}

.network-discovery-modal--fullscreen-map .network-discovery-graph-viewport {
  height: calc(95vh - 92px);
  min-height: 0;
}

.network-discovery-graph-node--interface .network-discovery-graph-node-icon,
.network-discovery-graph-node--network .network-discovery-graph-node-icon {
  background: #eff6ff;
  color: #0f5ea8;
}

.network-discovery-graph-node--localNetwork {
  border-color: #9bc7ec;
  background: #f8fcff;
}

.network-discovery-graph-node--remoteNetwork {
  border-color: #8ecfc8;
  background: #f5fffd;
}

.network-discovery-graph-node--remoteNetwork .network-discovery-graph-node-icon {
  background: #e5faf6;
  color: #087f75;
}

.network-discovery-graph-node--multicastServices {
  border-style: dashed;
  border-color: #b8c4d3;
  background: #f8fafc;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}

.network-discovery-graph-node--multicastServices .network-discovery-graph-node-icon {
  background: #eef2f7;
  color: #526174;
}

@media (max-width: 860px) {
  .network-discovery-graph-primary-filters {
    flex-wrap: wrap;
  }

  .network-discovery-graph-search,
  .network-discovery-graph-network-filters {
    flex-basis: 100%;
    width: 100%;
  }
}

.network-discovery-graph-node--defaultRoute {
  border-style: dashed;
  border-color: #aab6c5;
  background: #f8fafc;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}

.network-discovery-graph-node--defaultRoute .network-discovery-graph-node-icon {
  background: #eef2f7;
  color: #526174;
}

.network-discovery-graph-node--unknownNetwork {
  border-style: dashed;
  border-color: #d0a85c;
  background: #fffdf7;
}

.network-discovery-graph-node--unknownNetwork .network-discovery-graph-node-icon {
  background: #fff7dc;
  color: #8b6508;
}

.network-discovery-graph-node--gateway .network-discovery-graph-node-icon,
.network-discovery-graph-node--networkDevice .network-discovery-graph-node-icon {
  background: #fff7ed;
  color: #b45309;
}

.network-discovery-graph-node--printer .network-discovery-graph-node-icon,
.network-discovery-graph-node--nas .network-discovery-graph-node-icon,
.network-discovery-graph-node--camera .network-discovery-graph-node-icon,
.network-discovery-graph-node--dvr .network-discovery-graph-node-icon {
  background: #f0fdf4;
  color: #15803d;
}

.network-discovery-graph-node-text {
  display: grid;
  min-width: 0;
  gap: 2px;
}


.network-discovery-graph-node--has-vault .network-discovery-graph-node-text {
  padding-right: 48px;
}

.network-discovery-graph-node--has-argus .network-discovery-graph-node-text {
  padding-right: 34px;
}

.network-discovery-graph-node--has-vault.network-discovery-graph-node--has-argus .network-discovery-graph-node-text {
  padding-right: 82px;
}

.network-discovery-graph-node-argus-badge {
  position: absolute;
  top: 6px;
  right: 7px;
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid #55b985;
  border-radius: 999px;
  background: #e9fbf1;
  box-shadow: 0 5px 12px rgba(8, 123, 59, .16);
  color: #087b3b;
  font-size: .78rem;
  line-height: 1;
}

.network-discovery-graph-node--has-vault .network-discovery-graph-node-argus-badge {
  right: 54px;
}

.network-discovery-graph-node--client .network-discovery-graph-node-argus-badge {
  top: 6px;
  right: auto;
  left: 38px;
}

.network-discovery-graph-node-vault-badge {
  position: absolute;
  top: 6px;
  right: 7px;
  display: inline-flex;
  min-width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid #f6c453;
  border-radius: 999px;
  background: #fff7d6;
  box-shadow: 0 5px 12px rgba(17, 24, 39, .12);
  color: #7a5200;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  padding: 0 7px;
}

.network-discovery-graph-node-vault-badge i {
  font-size: .78rem;
}

.network-discovery-graph-node-text strong {
  overflow: hidden;
  color: #0f172a;
  font-size: .86rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.network-discovery-graph-node-text small {
  overflow: hidden;
  color: #64748b;
  font-size: .74rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.network-discovery-graph-node-groups {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}

.network-discovery-graph-node-group-badge {
  display: inline-flex;
  max-width: 116px;
  min-height: 18px;
  align-items: center;
  border-radius: 50px;
  border: 1px solid color-mix(in srgb, var(--network-discovery-group-color, #0d6efd) 58%, #ffffff);
  background: color-mix(in srgb, var(--network-discovery-group-color, #0d6efd) 24%, #ffffff);
  color: #0f172a;
  font-size: .66rem;
  font-weight: 800;
  line-height: 1;
  overflow: hidden;
  padding: 3px 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.network-discovery-host-group-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 50px;
  background: color-mix(in srgb, var(--network-discovery-group-color, #0d6efd) 18%, #ffffff);
  color: #0f172a;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  margin: 0 4px 4px 0;
  padding: 5px 9px;
}

.network-discovery-host-group-options {
  display: grid;
  max-height: 240px;
  gap: 8px;
  overflow: auto;
  padding-right: 4px;
}

.network-discovery-host-group-option {
  display: grid;
  grid-template-columns: 18px 18px minmax(0, 1fr) 46px;
  gap: 8px;
  align-items: center;
  border: 1px solid #d9e1e8;
  border-radius: 10px;
  background: #f8fafc;
  cursor: pointer;
  font-size: .88rem;
  font-weight: 700;
  padding: 8px 10px;
}

.network-discovery-host-group-option .form-control-color {
  width: 42px;
  min-height: 30px;
  padding: 3px;
}

.network-discovery-host-group-color {
  display: inline-flex;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--network-discovery-group-color, #0d6efd);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--network-discovery-group-color, #0d6efd) 16%, #ffffff);
}

.network-discovery-host-group-new {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 10px;
}

.network-discovery-graph-node > .asset-inventory-diff-badge {
  position: absolute;
  top: -8px;
  right: -8px;
}

.network-discovery-map-state {
  display: grid;
  min-height: 240px;
  place-items: center;
  align-content: center;
  gap: 8px;
  border: 1px dashed #b9c9dc;
  border-radius: 14px;
  background: #f8fbff;
  color: #52677d;
  text-align: center;
}

.network-discovery-map-state i {
  color: #0f5ea8;
  font-size: 2rem;
}

.network-discovery-map-state strong {
  color: #0f172a;
  font-size: 1rem;
}

.network-discovery-map-state span {
  max-width: 520px;
}

@media (max-width: 1380px) {
  .network-discovery-graph-detail {
    width: min(360px, calc(100% - 36px));
  }

  .network-discovery-topology-stage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-height: 0 !important;
  }

  .network-discovery-topology-lines {
    display: none;
  }

  .network-discovery-topology-core,
  .network-discovery-topology-group {
    position: static;
    width: auto;
    max-width: none;
    transform: none;
  }

  .network-discovery-topology-core,
  .network-discovery-topology-group--hosts {
    grid-column: 1 / -1;
  }

  .network-discovery-topology-group .network-discovery-node-grid,
  .network-discovery-topology-group--hosts .network-discovery-node-grid {
    max-height: none;
  }
}

@media (max-width: 900px) {
  .network-discovery-topology-stage {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 992px) {
  .application-release-admin-grid,
  .application-release-lists {
    grid-template-columns: 1fr;
  }

  .client-support-hero,
  .client-support-main,
  .client-support-playbook-grid,
  .client-support-identity {
    grid-template-columns: 1fr;
  }

  .asset-inventory-card-grid {
    grid-template-columns: 1fr;
  }

  .asset-vulnerability-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-vulnerability-insights {
    grid-template-columns: 1fr;
  }

  .asset-vulnerability-insight {
    border-top: 1px solid #dbe7f3;
    border-left: 0;
  }

  .asset-vulnerability-insight:first-child {
    border-top: 0;
  }

  .asset-vulnerability-match-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-vulnerability-match-summary > div:nth-child(2n) {
    border-right: 0;
  }

  .company-vulnerability-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-support-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .asset-vulnerability-summary-grid {
    grid-template-columns: 1fr;
  }

  .asset-vulnerability-chart-layout {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 12px;
  }

  .asset-vulnerability-doughnut {
    width: 84px;
    height: 84px;
  }

  .asset-vulnerability-match-summary {
    grid-template-columns: 1fr;
  }

  .asset-vulnerability-match-summary > div {
    border-right: 0;
    border-bottom: 1px solid #dbe7f3;
  }

  .asset-vulnerability-match-summary > div:last-child {
    border-bottom: 0;
  }

  .asset-vulnerability-glossary dl {
    grid-template-columns: 1fr;
  }

  .company-vulnerability-summary-grid {
    grid-template-columns: 1fr;
  }

  .client-support-metrics {
    grid-template-columns: 1fr;
  }

  .client-support-actions,
  .client-support-toolbar {
    justify-content: stretch;
  }

  .client-support-actions .btn,
  .client-support-toolbar .btn {
    width: 100%;
  }

  .asset-inventory-toolbar,
  .asset-inventory-meta {
    grid-template-columns: 1fr;
  }

  .network-discovery-modal .asset-inventory-meta {
    grid-template-columns: 1fr;
  }

  .asset-inventory-compare-control {
    grid-template-columns: 1fr;
  }
}

.two-factor-page {
  max-width: 1120px;
  margin-inline: auto;
  padding: 1.4rem;
}

.two-factor-setup-shell {
  display: grid;
  grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.two-factor-setup-visual,
.two-factor-setup-content,
.two-factor-recovery-panel,
.two-factor-result {
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.two-factor-setup-visual {
  padding: 1rem;
}

.two-factor-setup-content {
  padding: 1.2rem;
}

.two-factor-section .two-factor-qr-card {
  display: grid;
  place-items: center;
  padding: 1.2rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #f8fbff;
}

.two-factor-section .two-factor-qr-card svg {
  width: min(100%, 280px);
  height: auto;
}

.two-factor-manual-card {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fbfdff;
}

.two-factor-intro {
  max-width: 48rem;
}

.two-factor-compatible-apps {
  margin-top: 1rem;
  text-align: center;
  color: #61748a;
}

.two-factor-app-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .8rem;
  margin-bottom: .4rem;
}

.two-factor-app-icons img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 8px;
}

.two-factor-code-entry {
  min-width: 0;
  margin-top: .9rem;
}

.two-factor-confirm-form .two-factor-code-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
  max-width: 21rem;
  gap: .35rem;
}

.two-factor-confirm-form .two-factor-code-digit {
  width: 100%;
  min-width: 0;
}

.two-factor-steps {
  display: grid;
  gap: .8rem;
  margin: 1rem 0;
}

.two-factor-step {
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: .85rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #f8fbff;
}

.two-factor-step > span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  color: #075bb5;
  background: #e8f3ff;
  font-weight: 800;
}

.two-factor-step p {
  margin: .2rem 0 0;
  color: #61748a;
}

.two-factor-confirm-card {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #c6daf0;
  border-radius: 10px;
  background: #fff;
}

.two-factor-code-grid {
  display: grid;
  grid-template-columns: repeat(6, 3rem);
  gap: .55rem;
  align-items: center;
}

.two-factor-code-digit {
  width: 3rem;
  height: 3.2rem;
  padding: 0;
  text-align: center;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1;
}

.profile-two-factor-card {
  display: block;
}

.profile-two-factor-actions {
  margin-top: .9rem;
}

.two-factor-result {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
  padding: 1rem;
  background: #eefaf4;
  border-color: #a9dbc8;
}

.two-factor-result-info {
  background: #eef6ff;
  border-color: #b9d8ff;
}

.two-factor-result h2 {
  margin: 0 0 .25rem;
  font-size: 1.1rem;
}

.two-factor-result p {
  margin: 0;
  color: #40546a;
}

.two-factor-result-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  color: #087f5b;
  background: #d9f8e9;
}

.two-factor-recovery-panel {
  padding: 1.15rem;
  background: #fff;
}

.two-factor-recovery-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.two-factor-recovery-help {
  display: grid;
  grid-template-columns: 1.4rem minmax(0, 1fr);
  gap: .6rem;
  align-items: start;
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border: 1px solid #f3d38d;
  border-radius: 10px;
  background: #fff8e6;
  color: #5b4a1e;
  font-size: .94rem;
}

.two-factor-recovery-help p,
.two-factor-copy-feedback {
  margin: 0;
}

.two-factor-recovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: .65rem;
}

.two-factor-recovery-code {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  min-height: 2.7rem;
  padding: .45rem .7rem;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
  background: #f8fbff;
  font-weight: 800;
  cursor: pointer;
}

button.two-factor-recovery-code:hover {
  border-color: #0d6efd;
  background: #eef6ff;
}

.two-factor-copy-feedback {
  margin-top: .9rem;
  color: #087f5b;
  font-weight: 700;
}

.two-factor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
}

.two-factor-disable-form {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #d7e2ef;
}

@media (max-width: 900px) {
  .two-factor-setup-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .two-factor-code-grid {
    grid-template-columns: repeat(6, minmax(2.35rem, 1fr));
    gap: .4rem;
  }

  .two-factor-code-digit {
    width: 100%;
    height: 2.9rem;
    font-size: 1.25rem;
  }
}

.vault-shell {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

.vault-header-grid,
.vault-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.vault-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vault-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.vault-security-card,
.vault-unlock-card,
.vault-form-card,
.vault-list-card,
.vault-gate-card {
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
  padding: 1.1rem;
}

.vault-security-card,
.vault-gate-card {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.vault-security-card {
  align-items: flex-start;
}

.vault-security-content {
  min-width: 0;
  flex: 1 1 auto;
}

.vault-security-actions {
  display: flex;
  flex: 0 0 auto;
  gap: .55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.vault-gate-card {
  justify-content: space-between;
}

.vault-view-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  padding: .85rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.vault-view-button {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  gap: .45rem;
  border: 1px solid #cfe0f3;
  border-radius: 999px;
  background: #f8fbff;
  color: #075bb5;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1;
  padding: .45rem .75rem;
}

.vault-view-button:hover,
.vault-view-button:focus-visible {
  border-color: #0d6efd;
  background: #eef6ff;
}

.vault-view-button.is-active {
  border-color: #0d6efd;
  background: #0d6efd;
  color: #fff;
  box-shadow: 0 8px 20px rgba(13, 110, 253, .18);
}

.vault-view-button-warning {
  border-color: #f1c46b;
  color: #925a00;
  background: #fff8e8;
}

.vault-view-count {
  display: inline-flex;
  min-width: 1.45rem;
  height: 1.45rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(13, 110, 253, .1);
  color: inherit;
  font-size: .76rem;
  padding: 0 .35rem;
}

.vault-view-button.is-active .vault-view-count {
  background: rgba(255, 255, 255, .22);
}
.vault-2fa-required-page {
  max-width: 760px;
  margin-inline: auto;
  padding: 1.4rem;
}

.vault-2fa-required-shell {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: .75rem;
}

.vault-2fa-required-icon {
  display: grid;
  place-items: center;
  width: 6.2rem;
  height: 6.2rem;
  border-radius: 28px;
  background: #eef6ff;
  color: #075bb5;
  border: 1px solid #cfe1f5;
  box-shadow: 0 14px 34px rgba(15, 77, 138, .12);
  font-size: 3.25rem;
}

.vault-2fa-required-shell h2 {
  margin: .1rem 0 0;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.vault-2fa-required-intro {
  max-width: 38rem;
  margin: 0;
}

.vault-2fa-feature-list {
  width: 100%;
  margin: .5rem 0 0;
  text-align: left;
}

.vault-2fa-actions {
  justify-content: center;
  margin-top: .35rem;
  padding-top: 1rem;
}

.vault-setup-page {
  max-width: 820px;
  margin-inline: auto;
  padding: 1.4rem;
}

.vault-setup-shell {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: .75rem;
}

.vault-setup-form {
  display: grid;
  gap: .9rem;
  width: min(100%, 36rem);
  margin-top: .5rem;
  padding: 1rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
  text-align: left;
}

.vault-setup-form .btn {
  justify-self: start;
}

.vault-setup-warning {
  display: grid;
  gap: .2rem;
  margin: 0;
}

.vault-passphrase-examples {
  margin-top: .65rem;
  padding: .75rem .85rem;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  background: #f8fbff;
}

.vault-passphrase-examples strong {
  display: block;
  margin-bottom: .35rem;
}

.vault-passphrase-examples ul {
  margin: 0;
  padding-left: 1.1rem;
  color: #61748a;
}

.vault-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  background: #e8f4ff;
  color: #006cba;
  font-size: 1.35rem;
  flex: 0 0 auto;
}

.vault-card-icon.small {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  font-size: 1rem;
}

.vault-card-icon.vault-private {
  border: 1px solid #006cba;
}

.vault-card-icon.vault-company {
  border: 0;
}

.vault-card-icon.shared-to-me-co-manager {
  background: #fff7ed;
  color: #ea580c;
}

.vault-card-icon.shared-to-me-reader {
  background: #fff;
  color: #ea580c;
}

.vault-card-icon.shared-by-me i {
  color: #f59e0b;
}

.vault-unlock-card .input-group {
  max-width: 34rem;
}

.vault-status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: .65rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-weight: 700;
  font-size: .9rem;
}

.vault-unlock-state {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
}

.vault-shell.is-unlocked .vault-status {
  background: #dcfce7;
  color: #166534;
}

.vault-alert {
  margin: 0;
}

.vault-shell > .vault-alert[data-vault-alert] {
  position: fixed;
  left: 50%;
  bottom: 1.4rem;
  z-index: 1090;
  width: min(720px, calc(100vw - 2rem));
  transform: translateX(-50%);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .18);
}

.vault-list-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  flex-wrap: nowrap;
}

.vault-list-header-actions .btn {
  white-space: nowrap;
}

.vault-vcm-symbol {
  width: 2.15rem;
  height: 2.15rem;
  justify-content: center;
  padding: 0;
}

.vault-vcm-symbol i {
  font-size: 1rem;
}

@media (max-width: 700px) {
  .vault-list-header-actions {
    flex-wrap: wrap;
  }
}

.vault-company-governance-card--modal,
.vault-company-governance-modal .vault-company-governance-card {
  margin: 0;
}

.vault-actions-bar {
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  flex-wrap: wrap;
}

.vault-unrecoverable-list {
  display: grid;
  gap: .85rem;
}

.vault-unrecoverable-item {
  border: 1px solid #f2c46f;
  border-radius: 10px;
  background: #fffaf0;
  padding: 1rem;
}

.vault-unrecoverable-item-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}

.vault-unrecoverable-item-header h3 {
  margin: 0 0 .2rem;
  font-size: 1.05rem;
}

.vault-unrecoverable-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .7rem 1rem;
  margin: 0;
}

.vault-unrecoverable-details dt {
  color: #64748b;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.vault-unrecoverable-details dd {
  margin: .1rem 0 0;
  font-weight: 650;
}

.vault-unrecoverable-notes {
  margin: .85rem 0 0;
  padding: .75rem;
  border-radius: 8px;
  background: #fff;
  color: #334155;
}

.vault-unrecoverable-secret-note {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: .85rem 0 0;
  color: #92400e;
  font-weight: 700;
}

.vault-status-countdown {
  display: inline-flex;
  align-items: center;
  margin-left: .25rem;
  padding-left: .65rem;
  border-left: 1px solid rgba(22, 101, 52, .25);
  font-weight: 600;
  color: #15803d;
}

.vault-create-modal .modal-body,
.vault-detail-modal .modal-body {
  background: #f8fbff;
}

.vault-linked-client-box {
  padding: .85rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.vault-modal-header-state,
.vault-modal-unlock-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin: 0 0 1rem;
  padding: .75rem .85rem;
  border: 1px solid #cfe0f5;
  border-radius: 10px;
  background: #fff;
}

.vault-modal-header-state {
  margin: 0 2.25rem 0 auto;
  padding: .45rem .65rem;
  min-width: 18rem;
}

.vault-modal-countdown {
  color: #334155;
  font-size: .9rem;
  font-weight: 700;
}

.vault-options-panel {
  padding: .95rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #f8fbff;
}

.vault-options-panel + .vault-options-panel {
  margin-top: .85rem;
}

.vault-options-modal .form-select {
  max-width: 16rem;
}

.vault-transfer-modal { z-index: 1150; }
.vault-transfer-modal.show { background: rgba(15, 23, 42, .45); }

.vault-create-modal.show,
.vault-detail-modal.show,
.vault-options-modal.show {
  background: rgba(15, 23, 42, .45);
}

.vault-detail-secret-box {
  display: grid;
  gap: .85rem;
  padding: .95rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.vault-detail-secret-box h3 {
  margin: 0 0 .25rem;
  font-size: 1rem;
}

.vault-secret-history {
  display: grid;
  gap: .65rem;
  margin-top: .25rem;
}

.vault-secret-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  background: #fff;
}

.vault-secret-history-actions {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex: 0 0 auto;
}

.vault-secret-history-secret {
  grid-column: 1 / -1;
}

.vault-secret-history-secret input {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}


.vault-detail-attachments {
  display: grid;
  gap: .85rem;
  padding: .95rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #f8fbff;
}

.vault-detail-attachments-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.vault-detail-attachments-header h3 {
  margin: 0 0 .25rem;
  font-size: 1rem;
}

.vault-detail-attachments-upload {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: stretch;
}

.vault-attachment-drop-zone {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: .65rem;
  row-gap: .15rem;
  width: 100%;
  min-height: 4rem;
  padding: .75rem .9rem;
  text-align: left;
  color: #1f3b57;
  border: 1px dashed #8db8df;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.vault-attachment-drop-zone i {
  grid-row: span 2;
  color: #006cba;
  font-size: 1.25rem;
}

.vault-attachment-drop-zone span {
  font-weight: 700;
}

.vault-attachment-drop-zone small {
  color: #64748b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-attachment-drop-zone:hover,
.vault-attachment-drop-zone.is-dragover {
  border-color: #0d6efd;
  background: #eef6ff;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, .08);
}

.vault-attachment-drop-zone.is-invalid {
  border-color: #dc3545;
  background: #fff5f5;
}

.vault-attachment-drop-zone.is-disabled {
  opacity: .55;
  cursor: not-allowed;
}

.vault-attachment-list {
  display: grid;
  gap: .65rem;
}

.vault-attachment-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  background: #fff;
}

.vault-attachment-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  color: #006cba;
  background: #eaf5ff;
}

.vault-attachment-body {
  min-width: 0;
  display: grid;
  gap: .15rem;
}

.vault-attachment-body strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-attachment-body span {
  color: #64748b;
  font-size: .86rem;
}

.vault-attachment-actions {
  display: flex;
  align-items: center;
  gap: .4rem;
}

@media (max-width: 700px) {
  .vault-detail-attachments-upload,
  .vault-attachment-item {
    grid-template-columns: 1fr;
  }

  .vault-attachment-actions {
    justify-content: flex-start;
  }
}
.vault-share-panel {
  border: 1px solid #d7e2f0;
  border-radius: 8px;
  padding: 14px;
  background: #f8fbff;
}

.vault-share-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.vault-share-sync {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.85rem;
  padding: 0.85rem;
  border: 1px solid #cfe0f5;
  border-radius: 8px;
  background: #f7fbff;
}

.vault-share-sync strong {
  color: #12324f;
}

.vault-security-overview {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.vault-security-hero,
.vault-security-generated {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .95rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #f8fbff;
}

.vault-security-hero {
  flex: 1 1 auto;
}

.vault-security-hero-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 12px;
  color: #0f766e;
  background: #dffaf4;
}

.vault-security-generated {
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  min-width: 12rem;
}

.vault-security-generated span,
.vault-security-metric span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.vault-security-generated strong {
  color: #10243a;
}

.vault-security-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .85rem;
}

.vault-security-metric {
  display: grid;
  gap: .35rem;
  min-height: 8.4rem;
  padding: .95rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.vault-security-metric strong {
  color: #10243a;
  font-size: 1.75rem;
  line-height: 1;
}

.vault-security-metric p {
  margin: 0;
  color: #52657d;
  font-size: .9rem;
}

.vault-security-metric-ok {
  border-color: #b9ebce;
  background: #f3fcf6;
}

.vault-security-metric-warning {
  border-color: #fed48a;
  background: #fff9ed;
}

.vault-security-metric-danger {
  border-color: #fecaca;
  background: #fff5f5;
}

@media (max-width: 700px) {
  .vault-security-overview {
    flex-direction: column;
  }

  .vault-security-generated {
    min-width: 0;
  }
}

.vault-share-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #d7e2f0;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.vault-form-card h2,
.vault-list-card h2 {
  font-size: 1.12rem;
  margin-bottom: .35rem;
}

.vault-list-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.vault-empty {
  padding: 1rem;
  border: 1px dashed #bdd2e7;
  border-radius: 10px;
  background: #f8fbff;
  color: #65758b;
  font-weight: 600;
}

.vault-credential-list {
  display: grid;
  gap: .85rem;
}

.vault-credential-item {
  display: grid;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fbfdff;
}

.vault-credential-main {
  display: flex;
  gap: .8rem;
  align-items: start;
}

.vault-credential-main h3 {
  margin: 0 0 .15rem;
  font-size: 1rem;
}

.vault-credential-main p {
  margin: 0;
  color: #65758b;
  font-size: .9rem;
}

.vault-secret-panel {
  padding: .85rem;
  border: 1px solid #cfe1f5;
  border-radius: 8px;
  background: #f6fbff;
}

.vault-credential-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

@media (max-width: 1100px) {
  .vault-header-grid,
  .vault-grid {
    grid-template-columns: 1fr;
  }
}

.vault-company-governance-card {
  margin: 1rem 0;
}


.vault-company-recovery-card {
  align-items: center;
  background: #f8fbff;
  border: 1px solid #d9e4f2;
  border-radius: 8px;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
  margin: 1rem 0;
  padding: 1rem;
}

.vault-company-recovery-card h3 {
  font-size: 1rem;
  margin: 0 0 .35rem;
}

.vault-company-recovery-form {
  align-items: end;
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
}

@media (max-width: 900px) {
  .vault-company-recovery-form {
    grid-template-columns: 1fr;
  }
}.vault-vcm-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 1rem;
}

.vault-vcm-list {
  display: grid;
  gap: .75rem;
}

.vault-vcm-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
  padding: .8rem;
  border: 1px solid #d9e4f2;
  border-radius: 8px;
  background: #fff;
}

.vault-vcm-status {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  align-items: flex-end;
  min-width: 150px;
}

.vault-vcm-confirm-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 260px) auto;
  gap: .5rem;
  align-items: center;
  margin-top: .25rem;
}

.vault-vcm-nominate-form {
  display: grid;
  gap: .65rem;
}

.vault-inline-form {
  max-width: 680px;
}

@media (max-width: 900px) {
  .vault-vcm-grid {
    grid-template-columns: 1fr;
  }

  .vault-vcm-row,
  .vault-vcm-confirm-form {
    grid-template-columns: 1fr;
  }

  .vault-vcm-status {
    align-items: flex-start;
  }
}


.vault-host-context-banner {
  align-items: center;
  background: #f4f9ff;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  display: flex;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px 14px;
}

.vault-host-context-icon {
  align-items: center;
  background: #e0f2fe;
  border-radius: 999px;
  color: #0369a1;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.vault-linked-host-box {
  background: #f8fafc;
  border: 1px solid #d8e2ee;
  border-radius: 10px;
  padding: 12px 14px;
}

.vault-linked-host-box span {
  color: #64748b;
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.network-discovery-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 12px;
}


.vault-resource-card {
  align-items: center;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #f8fbff;
  display: grid;
  gap: .85rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: .85rem;
}

.vault-resource-card.has-resource {
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.vault-resource-icon,
.vault-resource-picker-icon {
  align-items: center;
  background: #e0f2fe;
  border-radius: 999px;
  color: #0369a1;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.vault-resource-body span {
  color: #64748b;
  display: block;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.vault-resource-body strong {
  display: block;
  font-size: 1rem;
}

.vault-resource-body p {
  color: #64748b;
  margin: .15rem 0 0;
}

.vault-resource-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}

.vault-resource-picker-filters {
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 300px) minmax(180px, 220px);
  margin-bottom: 1rem;
}

.vault-resource-picker-list {
  display: grid;
  gap: .65rem;
}

.vault-resource-picker-row {
  align-items: center;
  background: #fff;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  display: grid;
  gap: .85rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: .85rem;
  text-align: left;
}

.vault-resource-picker-row:hover {
  border-color: #0d6efd;
  box-shadow: 0 8px 22px rgba(37, 99, 235, .12);
}

.vault-resource-picker-main strong,
.vault-resource-picker-main small {
  display: block;
}

.vault-resource-picker-main small {
  color: #64748b;
}

.vault-resource-picker-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
  justify-content: center;
}

.vault-resource-picker-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
}

.vault-resource-picker-presence {
  color: #64748b;
  line-height: 1.1;
  text-align: right;
}

@media (max-width: 900px) {
  .vault-resource-card,
  .vault-resource-picker-row,
  .vault-resource-picker-filters {
    grid-template-columns: 1fr;
  }

  .vault-resource-actions,
  .vault-resource-picker-badges,
  .vault-resource-picker-badge-row {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
}

.vault-resource-picker-modal {
    z-index: 1120;
}

.vault-resource-picker-modal.show {
    background: rgba(15, 23, 42, .25);
}

.vault-resource-picker-modal + .modal-backdrop {
    z-index: 1115;
}


.vault-view-search {
    position: relative;
    min-width: 240px;
    flex: 1 1 260px;
    max-width: 420px;
}

.vault-view-search i {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #5d6d7f;
    pointer-events: none;
}

.vault-view-search input {
    padding-left: 2rem;
}

.vault-view-help {
    width: 100%;
    margin: 0.15rem 0 0;
    color: #52647a;
    font-size: 0.9rem;
}

.vault-layout-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem;
    border: 1px solid #c9d9ef;
    border-radius: 6px;
    background: #f8fbff;
}

.vault-layout-button {
    width: 2rem;
    height: 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #006cba;
}

.vault-layout-button.is-active {
    color: #fff;
    background: #0d6efd;
}

.vault-sort-toggle {
  display: inline-flex;
  gap: .25rem;
  align-items: center;
  padding: .2rem;
  border: 1px solid #cfe1f5;
  border-radius: 6px;
  background: #fff;
}

.vault-sort-button {
  position: relative;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #006cba;
}

.vault-sort-button.is-active::after {
  content: '';
  position: absolute;
  right: 3px;
  bottom: 3px;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

.vault-sort-button.is-active.is-asc::after {
  border-bottom: 5px solid currentColor;
}

.vault-sort-button.is-active.is-desc::after {
  border-top: 5px solid currentColor;
}

.vault-sort-button:hover,
.vault-sort-button:focus-visible {
  background: #edf6ff;
}

.vault-sort-button.is-active {
  color: #fff;
  background: #0d6efd;
}

.vault-credential-list--table {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.35rem;
    max-height: none;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
}

.vault-credential-list--table::-webkit-scrollbar {
    height: 0;
}

.vault-credential-list--table .vault-credential-item {
    grid-template-columns: minmax(240px, 1fr) auto;
    padding: 0.55rem 0.7rem;
    border-radius: 5px;
}

.vault-credential-list--table .vault-credential-main p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 760px;
}

.vault-credential-list--detail {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

.vault-credential-list--card {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 0.75rem;
}

.vault-credential-list--card .vault-credential-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 160px;
}

.vault-credential-list--card .vault-credential-actions {
    margin-top: auto;
}

.vault-credential-title-block h3 {
  margin: 0 0 .18rem;
  font-size: 1rem;
  line-height: 1.2;
}

.vault-credential-host {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  margin: 0;
  color: #65758b;
  font-size: .88rem;
}

.vault-credential-created {
  display: block;
  margin-top: .12rem;
  color: #718095;
  font-size: .72rem;
  font-weight: 600;
}

.vault-credential-meta {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.vault-credential-meta span {
  color: #62728a;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.vault-credential-meta strong {
  min-width: 0;
  color: #1d2734;
  font-size: .9rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-credential-specs {
  display: flex;
  gap: .35rem;
  align-items: center;
  min-height: 2rem;
}

.vault-spec-icon {
  display: inline-flex;
  width: 1.8rem;
  height: 1.8rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #cfe1f5;
  border-radius: 999px;
  color: #006cba;
  background: #f3f8ff;
}

.vault-spec-icon-sensitive {
  color: #b42318;
  border-color: #ffd6cf;
  background: #fff1ee;
}

.vault-icon-button {
  display: inline-flex;
  width: 2.1rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.vault-credential-list--table .vault-credential-item {
  grid-template-columns: 2.2rem minmax(220px, 2fr) minmax(130px, .95fr) minmax(190px, 1.25fr) minmax(120px, .8fr) minmax(88px, .55fr) auto;
  gap: .6rem;
  align-items: center;
  min-width: 920px;
}

.vault-credential-list--table .vault-credential-meta-auth {
  display: none;
}

.vault-credential-list--table .vault-credential-meta span {
  display: none;
}

.vault-credential-list--table .vault-card-icon,
.vault-credential-list--table .vault-credential-title-block,
.vault-credential-list--table .vault-credential-meta,
.vault-credential-list--table .vault-credential-specs,
.vault-credential-list--table .vault-credential-actions {
  min-width: 0;
}

.vault-credential-list--table .vault-secret-panel {
  grid-column: 1 / -1;
}

.vault-credential-list--detail .vault-credential-item {
  grid-template-columns: 2.8rem minmax(210px, 1.45fr) minmax(140px, .9fr) minmax(150px, .9fr) minmax(190px, 1.15fr) minmax(130px, .8fr);
  gap: .8rem 1rem;
  align-items: center;
}

.vault-credential-list--detail .vault-secret-panel,
.vault-credential-list--detail .vault-credential-actions {
  grid-column: 2 / 5;
}

.vault-credential-list--detail .vault-credential-specs {
  grid-column: 5 / -1;
  justify-self: end;
}

.vault-credential-list--card .vault-credential-item {
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr);
  gap: .65rem .8rem;
}

.vault-credential-list--card .vault-card-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.vault-credential-list--card .vault-credential-title-block {
  grid-column: 2;
}

.vault-credential-list--card .vault-credential-meta,
.vault-credential-list--card .vault-secret-panel {
  grid-column: 1 / -1;
}

.vault-credential-list--card .vault-credential-actions {
  grid-column: 1 / 2;
  margin-top: .3rem;
}

.vault-credential-list--card .vault-credential-specs {
  grid-column: 2 / -1;
  align-self: center;
  justify-self: end;
  margin-top: .3rem;
}

@media (max-width: 1100px) {
  .vault-credential-list--detail .vault-credential-item {
    grid-template-columns: 2.8rem minmax(0, 1fr);
  }

  .vault-credential-list--detail .vault-credential-title-block,
  .vault-credential-list--detail .vault-credential-meta,
  .vault-credential-list--detail .vault-secret-panel,
  .vault-credential-list--detail .vault-credential-actions,
  .vault-credential-list--detail .vault-credential-specs {
    grid-column: 1 / -1;
  }

  .vault-credential-list--detail .vault-card-icon {
    grid-column: 1;
    grid-row: 1;
  }

  .vault-credential-list--detail .vault-credential-title-block {
    grid-column: 2;
  }

  .vault-credential-list--detail .vault-credential-specs {
    justify-self: start;
  }
}


.vault-visibility-subtitle {
    margin: 0;
    color: #52647a;
}

.vault-visibility-list {
    display: grid;
    gap: 0.65rem;
}

.vault-visibility-row {
    display: grid;
    grid-template-columns: minmax(140px, 0.35fr) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.75rem;
    border: 1px solid #d5e3f5;
    border-radius: 6px;
    background: #f8fbff;
}

.vault-visibility-row span {
    color: #5d6d7f;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.vault-visibility-row strong {
    color: #17212f;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.vault-visibility-row-wide {
    grid-template-columns: minmax(0, 1fr);
}

.vault-visibility-recipients {
    min-width: 0;
    display: grid;
    gap: 0.65rem;
}

@media (max-width: 575.98px) {
    .vault-visibility-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.25rem;
    }
}


/* Vault credential list refinements */
.vault-credential-item {
  overflow: hidden;
}

.vault-credential-title-block,
.vault-credential-meta,
.vault-credential-actions,
.vault-credential-specs {
  min-width: 0;
}

.vault-credential-title-block h3 {
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vault-credential-host[hidden],
.vault-credential-meta[hidden],
.vault-spec-icon[hidden] {
  display: none !important;
}

.vault-action-label {
  display: none;
}

.vault-spec-icon-sensitive {
  color: #8a5b00;
  border-color: #f6d365;
  background: #fff7e6;
}

.vault-icon-button[data-vault-confirming-sensitive="true"] {
  color: #7a4b00;
  border-color: #f0ad4e;
  background: #fff3cd;
  box-shadow: 0 0 0 .12rem rgba(240, 173, 78, .2);
}

.vault-credential-list--table {
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: none;
}

.vault-horizontal-scroll-proxy {
  position: sticky;
  bottom: 0.4rem;
  z-index: 4;
  height: 0.9rem;
  margin-top: 0.4rem;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #d7e2ef;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 4px 14px rgba(20, 41, 73, 0.08);
}

.vault-horizontal-scroll-proxy > div {
  height: 1px;
}

.vault-credential-list--table .vault-credential-item,
.vault-credential-table-header {
  grid-template-columns: 2.15rem minmax(150px, 1.55fr) minmax(105px, .75fr) minmax(140px, 1fr) minmax(95px, .65fr) minmax(76px, .45fr) 11rem;
  min-width: 0;
  gap: .55rem;
}

.vault-credential-table-header {
  display: grid;
  align-items: center;
  padding: .35rem .7rem;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  border-bottom: 1px solid #d7e5f4;
  color: #62728a;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.vault-credential-list--table .vault-credential-meta strong {
  font-weight: 400;
}

.vault-credential-list--table .vault-credential-title-block h3 {
  font-weight: 800;
}

.vault-credential-list--table .vault-credential-actions {
  flex-wrap: nowrap;
  grid-column: 7;
  grid-row: 1;
  align-self: center;
}

.vault-credential-list--table .vault-secret-panel {
  grid-column: 2 / -1;
  grid-row: 2;
}

.vault-credential-list--detail .vault-credential-item {
  grid-template-columns: 2.8rem minmax(0, 1.35fr) minmax(0, .9fr) minmax(0, .95fr) minmax(0, 1.15fr) minmax(0, .85fr);
  grid-template-areas:
    "icon title access auth owner role"
    ". actions actions actions specs specs"
    "secret secret secret secret secret secret";
  align-items: start;
  gap: .85rem 1rem;
}

.vault-credential-list--detail .vault-card-icon { grid-area: icon; }
.vault-credential-list--detail .vault-credential-title-block { grid-area: title; }
.vault-credential-list--detail .vault-credential-meta-access { grid-area: access; }
.vault-credential-list--detail .vault-credential-meta-auth { grid-area: auth; }
.vault-credential-list--detail .vault-credential-meta-owner { grid-area: owner; }
.vault-credential-list--detail .vault-credential-meta-role { grid-area: role; }
.vault-credential-list--detail .vault-credential-actions { grid-area: actions; }
.vault-credential-list--detail .vault-credential-specs { grid-area: specs; }
.vault-credential-list--detail .vault-secret-panel { grid-area: secret; }

.vault-credential-list--detail .vault-credential-actions {
  display: flex;
  flex-wrap: wrap;
  align-self: center;
  gap: .5rem;
}

.vault-credential-list--detail .vault-icon-button {
  width: auto;
  min-width: 2.3rem;
  padding: 0 .65rem;
  gap: .35rem;
}

.vault-credential-list--detail .vault-action-label {
  display: inline;
}

.vault-credential-list--detail .vault-credential-specs {
  align-self: center;
  justify-self: end;
}

.vault-credential-list--card .vault-credential-item {
  grid-template-columns: 2.8rem minmax(0, 1fr) auto;
  grid-template-areas:
    "icon title title"
    "access access access"
    "auth auth auth"
    "owner owner owner"
    "role role role"
    "actions actions specs"
    "secret secret secret";
  min-height: 0;
}

.vault-credential-list--card .vault-card-icon { grid-area: icon; }
.vault-credential-list--card .vault-credential-title-block { grid-area: title; }
.vault-credential-list--card .vault-credential-meta-access { grid-area: access; }
.vault-credential-list--card .vault-credential-meta-auth { grid-area: auth; }
.vault-credential-list--card .vault-credential-meta-owner { grid-area: owner; }
.vault-credential-list--card .vault-credential-meta-role { grid-area: role; }
.vault-credential-list--card .vault-credential-actions { grid-area: actions; }
.vault-credential-list--card .vault-credential-specs { grid-area: specs; }
.vault-credential-list--card .vault-secret-panel { grid-area: secret; }

.vault-credential-list--card .vault-credential-meta {
  display: flex;
  gap: .35rem;
  align-items: baseline;
}

.vault-credential-list--card .vault-credential-meta span::after {
  content: ":";
}

.vault-credential-list--card .vault-credential-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: .45rem;
  margin-top: .25rem;
}

.vault-credential-list--card .vault-credential-specs {
  align-self: center;
  justify-self: end;
  margin-top: .25rem;
}

@media (max-width: 1250px) {
  .vault-credential-list--detail .vault-credential-item {
    grid-template-columns: 2.8rem minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, 1fr);
    grid-template-areas:
      "icon title access auth"
      ". owner owner role"
      ". actions actions specs"
      "secret secret secret secret";
  }
}

@media (max-width: 760px) {
  .vault-credential-list--detail .vault-credential-item {
    grid-template-columns: 2.8rem minmax(0, 1fr);
    grid-template-areas:
      "icon title"
      "access access"
      "auth auth"
      "owner owner"
      "role role"
      "actions actions"
      "specs specs"
      "secret secret";
  }

  .vault-credential-list--detail .vault-credential-specs {
    justify-self: start;
  }
}



/* Vault compact header and state refinements */
.vault-compact-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: .9rem 1rem;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.vault-compact-title {
  min-width: 0;
}

.vault-compact-title h1 {
  margin: 0;
}

.vault-compact-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .7rem;
  align-items: center;
  justify-content: flex-end;
}

.vault-unlock-inline,
.vault-compact-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  justify-content: flex-end;
}

.vault-passphrase-input {
  width: clamp(150px, 18vw, 240px);
}

.vault-unlock-inline .vault-status {
  margin-top: 0;
  min-height: 2rem;
  padding: .28rem .6rem;
}

.vault-status-countdown {
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}

.vault-spec-icon-sensitive {
  color: #006cba;
  border-color: #cfe1f5;
  background: #f3f8ff;
}

.vault-spec-icon.is-expiring {
  color: #b42318;
  border-color: #ffd6cf;
  background: #fff1ee;
}

.vault-view-button.has-expiring-items {
  border-color: #ffd6cf;
  color: #b42318;
  background: #fff1ee;
}

.vault-view-button.has-expiring-items:hover,
.vault-view-button.has-expiring-items:focus-visible {
  border-color: #f04438;
  background: #ffe7e2;
}

.vault-view-button.has-expiring-items.is-active {
  border-color: #dc3545;
  background: #dc3545;
  color: #fff;
}

.vault-attachment-delete-modal.show {
  z-index: 1145;
}

.vault-attachment-delete-backdrop {
  z-index: 1140;
}

@media (max-width: 1200px) {
  .vault-compact-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .vault-compact-controls,
  .vault-unlock-inline,
  .vault-compact-actions {
    justify-content: flex-start;
  }
}


.vault-spec-icon-reassign {
  color: #8a5a00;
  border-color: #f7d98b;
  background: #fff8e8;
}

.vault-view-button.has-reassign-items {
  border-color: #f7d98b;
  color: #8a5a00;
  background: #fff8e8;
}

.vault-view-button.has-reassign-items:hover,
.vault-view-button.has-reassign-items:focus-visible {
  border-color: #d99b1f;
  background: #fff1cc;
}

.vault-view-button.has-reassign-items.is-active {
  border-color: #b7791f;
  background: #b7791f;
  color: #fff;
}


.vault-security-actions-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1rem 0;
}

.vault-security-actions-row > .btn {
  margin: 0 .375rem .375rem 0;
}

.vault-security-details {
  border: 1px solid #d7e3f2;
  border-radius: 8px;
  background: #f8fbff;
  padding: .75rem;
  margin-bottom: 1rem;
}

.vault-security-detail-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
}

.vault-security-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  justify-content: flex-end;
}

.vault-security-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr);
  gap: 1rem;
  align-items: start;
  padding: .75rem;
  border: 1px solid #d7e3f2;
  border-radius: 8px;
  background: #fff;
  margin-top: .5rem;
}

.vault-security-metric-action {
  justify-self: start;
  margin-top: .25rem;
}

@media (max-width: 760px) {
  .vault-security-actions-row,
  .vault-security-detail-toolbar {
    justify-content: flex-start;
  }

  .vault-security-detail-row {
    grid-template-columns: minmax(0, 1fr);
  }
}




.vault-detail-secret-update-row .vault-secret-action-column {
  padding-top: 1.95rem;
}

.vault-detail-secret-update-row .form-text {
  min-height: 1.1rem;
}

.vault-security-actions-row,
.vault-security-detail-toolbar,
.vault-security-detail-actions {
  column-gap: .75rem;
  row-gap: .5rem;
}

.vault-security-actions-row > .btn + .btn,
.vault-security-detail-toolbar > .btn + .btn,
.vault-security-detail-actions > .btn + .btn {
  margin-left: .75rem;
}

/* Responsive refinements for Timeline and Clients tables */
.timeline-intro > div:first-child {
  box-sizing: border-box;
  padding-right: 0;
}

.timeline-event-filter-bar,
.timeline-legend {
  max-width: 100%;
}

.clients-table {
  table-layout: auto;
}

.clients-table th {
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  line-height: 1.12;
}

.clients-table td {
  overflow-wrap: normal;
  word-break: normal;
}

.clients-table td:nth-child(2),
.clients-table td:nth-child(5) {
  overflow-wrap: anywhere;
}

.clients-table th:nth-child(10),
.clients-table td:nth-child(10),
.clients-table th:nth-child(11),
.clients-table td:nth-child(11) {
  width: 5.5%;
}

.clients-table th:nth-child(14),
.clients-table td:nth-child(14) {
  width: 30%;
}

.clients-table .client-actions-cell {
  white-space: nowrap !important;
  min-width: 390px;
}

.clients-table .client-actions-cell > .btn,
.clients-table .client-actions-cell > .dropdown,
.clients-table .client-actions-cell > form {
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 4px;
  vertical-align: top;
}

.clients-table .client-actions-cell .btn {
  white-space: nowrap;
  padding-inline: .45rem;
}

.clients-table .client-action-icon,
.clients-table .client-action-with-badge {
  display: inline-flex;
  min-width: 30px;
  align-items: center;
  justify-content: center;
  gap: .25rem;
}

.clients-table .client-action-with-badge .badge {
  margin-left: .15rem !important;
}

@media (max-width: 1100px) {
  .timeline-intro > div:first-child,
  .timeline-client-actions {
    padding-right: 0;
  }
}
/* Alerts table responsive refinements */
.alerts-table-responsive {
  overflow-x: auto;
}

.alerts-table {
  width: 100%;
  min-width: 1260px;
  table-layout: fixed;
}

.alerts-table th,
.alerts-table td {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: top;
}

.alerts-table th {
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  line-height: 1.12;
}

.alerts-table th:nth-child(1),
.alerts-table td:nth-child(1) { width: 6%; }
.alerts-table th:nth-child(2),
.alerts-table td:nth-child(2) { width: 8%; }
.alerts-table th:nth-child(3),
.alerts-table td:nth-child(3) { width: 4%; }
.alerts-table th:nth-child(4),
.alerts-table td:nth-child(4) { width: 11%; }
.alerts-table th:nth-child(5),
.alerts-table td:nth-child(5) { width: 8%; }
.alerts-table th:nth-child(6),
.alerts-table td:nth-child(6) { width: 7%; }
.alerts-table th:nth-child(7),
.alerts-table td:nth-child(7) { width: 7%; }
.alerts-table th:nth-child(8),
.alerts-table td:nth-child(8) { width: 6%; }
.alerts-table th:nth-child(9),
.alerts-table td:nth-child(9) { width: 6%; }
.alerts-table th:nth-child(10),
.alerts-table td:nth-child(10) { width: 7%; }
.alerts-table th:nth-child(11),
.alerts-table td:nth-child(11) { width: 20%; }
.alerts-table th:nth-child(12),
.alerts-table td:nth-child(12) { width: 7%; }
.alerts-table th:nth-child(13),
.alerts-table td:nth-child(13) { width: 3%; }

.alerts-table .nowrap,
.alerts-table .alerts-action-cell,
.alerts-table .alerts-notes-cell,
.alerts-table .alerts-row-actions,
.alerts-table .alert-note-button,
.alerts-table .device-user-inline {
  white-space: normal;
}

.alerts-date-cell span {
  display: block;
  white-space: nowrap;
}

.alerts-date-cell span:empty {
  display: none;
}

.alerts-client-cell,
.alerts-user-cell,
.alerts-title-cell {
  min-width: 0;
}

.alerts-client-name-line,
.alerts-title-cell > div:first-child {
  font-weight: 700;
  overflow-wrap: anywhere;
}

.alerts-client-feature-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-top: .3rem;
}

.alerts-table .client-feature-icons {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-left: 0;
  white-space: normal;
}

.alerts-table .device-user-inline {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.alerts-table .status-pill,
.alerts-table .alert-groupkey-chip {
  white-space: nowrap;
}

.alerts-filters {
  grid-template-columns:
    minmax(175px, 1fr)
    minmax(170px, 1fr)
    minmax(190px, 1.15fr)
    minmax(150px, .85fr)
    minmax(160px, .9fr)
    auto
    auto
    auto;
}

.alerts-filters .alerts-filter-action {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  white-space: nowrap;
}

.alerts-type-summary {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.alerts-type-summary .clients-summary-item {
  flex: 1 1 145px;
  min-height: 48px;
}

.alerts-type-summary > .clients-summary-item.alerts-summary-all {
  flex: 0 0 118px;
  width: 118px;
  max-width: 118px;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  column-gap: .35rem;
  min-height: 40px;
  padding: .38rem .52rem;
}

.alerts-type-summary > .clients-summary-item.alerts-summary-all > span {
  overflow: hidden;
  font-size: .74rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.alerts-type-summary > .clients-summary-item.alerts-summary-all > strong {
  justify-self: end;
  min-width: 2ch;
  font-size: .92rem;
  text-align: right;
}

.alerts-type-summary > .clients-summary-item.alerts-summary-all > i {
  color: #475467;
  font-size: .86rem;
}

.alert-visual-tag {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  max-width: 100%;
  padding: .18rem .42rem;
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  background: #fff;
  color: #475467;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.2;
}

.alert-visual-tag i {
  flex: 0 0 auto;
}

.alert-visual-success {
  border-color: #86efac;
  background: #f0fdf4;
  color: #15803d;
}

.alert-visual-warning {
  border-color: #f5c96a;
  background: #fffbeb;
  color: #a15c00;
}

.alert-visual-danger {
  border-color: #fca5a5;
  background: #fff7f7;
  color: #c62828;
}

.alert-visual-info {
  border-color: #93c5fd;
  background: #f5f9ff;
  color: #0b63ce;
}

.alert-visual-neutral {
  border-color: #d0d5dd;
  background: #f9fafb;
  color: #475467;
}

.alerts-type-summary .alerts-summary-vulnerability > i,
.alerts-type-summary .alerts-summary-sentinel > i { color: #dc3545; }
.alerts-type-summary .alerts-summary-watchdog > i,
.alerts-type-summary .alerts-summary-storage > i,
.alerts-type-summary .alerts-summary-security > i { color: #d98b00; }
.alerts-type-summary .alerts-summary-system > i,
.alerts-type-summary .alerts-summary-network > i { color: #0d6efd; }
.alerts-type-summary .alerts-summary-other > i { color: #667085; }

.alert-resolution-text {
  color: #475467;
  font-size: inherit;
  font-weight: 400;
}

.alerts-action-cell {
  text-align: center;
}

.alerts-action-cell .dropdown-item {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.alerts-action-cell .dropdown-item i {
  width: 1rem;
  text-align: center;
}

.alerts-action-cell .dropdown-item .badge {
  margin-left: auto;
}

.alert-lifecycle-reason {
  padding: .15rem 0 .25rem;
}

.alert-lifecycle-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.alert-lifecycle-option {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  align-items: flex-start;
  padding: 1rem;
  border: 1px solid #d8e1ec;
  border-radius: 6px;
  background: #fff;
}

.alert-lifecycle-option-warning {
  border-color: #f5c96a;
  background: #fffcf3;
}

.alert-lifecycle-option-heading {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .6rem;
}

.alert-lifecycle-option-heading i {
  color: #0d6efd;
  font-size: 1rem;
}

.alert-lifecycle-option-warning .alert-lifecycle-option-heading i {
  color: #a15c00;
}

.alert-lifecycle-option h3 {
  margin: 0;
  font-size: .92rem;
  font-weight: 750;
}

.alert-lifecycle-option p {
  margin-bottom: .7rem;
  color: #475467;
  font-size: .82rem;
  line-height: 1.45;
}

.alert-lifecycle-option .alert-lifecycle-summary {
  color: #1f2937;
  font-weight: 650;
}

.alert-lifecycle-example {
  display: grid;
  gap: .2rem;
  margin: .15rem 0 .9rem;
  padding: .65rem .75rem;
  border-left: 3px solid #60a5fa;
  background: #f5f9ff;
  color: #475467;
  font-size: .8rem;
  line-height: 1.45;
}

.alert-lifecycle-option-warning .alert-lifecycle-example {
  border-left-color: #f5b942;
  background: #fff8e8;
}

.alert-lifecycle-option > .btn {
  margin-top: auto;
}

.alerts-table .alerts-row-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.alerts-table .alerts-row-actions .btn,
.alerts-table .alerts-row-actions button,
.alerts-table .alert-note-button {
  white-space: normal;
  text-align: left;
}

.alerts-table .alerts-groupkey-cell {
  width: auto;
  min-width: 0;
}

@media (max-width: 1200px) {
  .alerts-filters {
    grid-template-columns: repeat(3, minmax(170px, 1fr)) auto auto auto;
  }

  .alerts-table {
    font-size: .84rem;
  }

  .alerts-table th,
  .alerts-table td {
    padding-inline: .25rem;
  }

  .alerts-table .btn-sm {
    padding: .22rem .38rem;
  }
}

@media (max-width: 760px) {
  .alerts-filters,
  .alert-lifecycle-options {
    grid-template-columns: 1fr;
  }

  .alert-lifecycle-option {
    min-height: 0;
  }
}
/* Clients table compact column tuning */
.clients-table-responsive {
  overflow-x: hidden;
}

.clients-table {
  table-layout: fixed;
  width: 100%;
}

.clients-table th,
.clients-table td {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.clients-table th {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
}

.clients-table th:nth-child(1),
.clients-table td:nth-child(1) { width: 4%; }
.clients-table th:nth-child(2),
.clients-table td:nth-child(2) { width: 15%; }
.clients-table th:nth-child(3),
.clients-table td:nth-child(3) { width: 4.2%; }
.clients-table th:nth-child(4),
.clients-table td:nth-child(4) { width: 2.8%; }
.clients-table th:nth-child(5),
.clients-table td:nth-child(5) { width: 10%; }
.clients-table th:nth-child(6),
.clients-table td:nth-child(6) { width: 4.5%; }
.clients-table th:nth-child(7),
.clients-table td:nth-child(7) { width: 4.5%; }
.clients-table th:nth-child(8),
.clients-table td:nth-child(8) { width: 6%; }
.clients-table th:nth-child(9),
.clients-table td:nth-child(9) { width: 4.5%; }
.clients-table th:nth-child(10),
.clients-table td:nth-child(10) { width: 4%; }
.clients-table th:nth-child(11),
.clients-table td:nth-child(11) { width: 4%; }
.clients-table th:nth-child(12),
.clients-table td:nth-child(12) { width: 6.5%; }
.clients-table th:nth-child(13),
.clients-table td:nth-child(13) { width: 6.5%; }
.clients-table th:nth-child(14),
.clients-table td:nth-child(14) { width: 23.5%; }

.clients-table td:nth-child(3),
.clients-table td:nth-child(4),
.clients-table td:nth-child(6),
.clients-table td:nth-child(7),
.clients-table td:nth-child(9),
.clients-table td:nth-child(10),
.clients-table td:nth-child(11) {
  white-space: nowrap;
}

.clients-table td:nth-child(8),
.clients-table td:nth-child(12),
.clients-table td:nth-child(13) {
  white-space: normal;
  overflow-wrap: normal;
}

.clients-table td:nth-child(12),
.clients-table td:nth-child(13) {
  line-height: 1.2;
}

.clients-table .client-actions-cell {
  white-space: nowrap !important;
  min-width: 0;
}

.clients-table .client-actions-cell > .btn,
.clients-table .client-actions-cell > .dropdown,
.clients-table .client-actions-cell > form {
  margin-right: 3px;
  margin-bottom: 0;
}

.clients-table .client-actions-cell .btn {
  min-width: 28px;
  padding-inline: .35rem;
  white-space: nowrap;
}

.clients-table .client-action-icon,
.clients-table .client-action-with-badge {
  min-width: 28px;
  gap: .18rem;
}

.clients-table .client-action-with-badge .badge {
  margin-left: .08rem !important;
}

/* AI Observatory text tools fixes */
.aie-diff-column.is-expanded {
  width: auto;
  min-width: 0;
}

.aie-diff-column.is-expanded .aie-diff-column-body {
  max-height: none;
}

.aie-diff-column.is-soft-wrap .aie-diff-line,
.aie-diff-column.is-soft-wrap .aie-diff-column-body .aie-diff-line {
  width: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.aie-diff-column:not(.is-soft-wrap) .aie-diff-line,
.aie-diff-column:not(.is-soft-wrap) .aie-diff-column-body .aie-diff-line {
  width: max-content;
  white-space: pre;
  overflow-wrap: normal;
}

/* AI Observatory manual Product Knowledge document workflow */
.aie-doc-state {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  font-size: .72rem;
  font-weight: 800;
}

.aie-doc-state::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.aie-doc-state.is-success {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
}

.aie-doc-state.is-warning {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #c2410c;
}

.aie-doc-state-stack {
  display: grid;
  justify-items: end;
  gap: 4px;
  text-align: right;
}

.aie-knowledge-doc-panel .aie-document-editor > .aie-text-panel > .aie-document-editor-heading,
.aie-text-panel > .aie-document-editor-heading,
.aie-text-panel > .aie-text-panel-heading {
  justify-content: flex-start;
  align-items: center;
  min-height: 0;
}

.aie-text-panel > .aie-document-editor-heading .aie-icon-tool,
.aie-text-panel > .aie-text-panel-heading .aie-icon-tool {
  margin-left: 0;
}

.aie-text-panel .aie-text-tools {
  justify-content: flex-start;
}

.aie-document-section-heading.compact {
  align-items: center;
  margin-bottom: 8px;
}

.aie-document-section-heading.compact h5 {
  margin: 0;
  color: #0f172a;
  font-size: .88rem;
  font-weight: 900;
}

.aie-manual-edit-reason label {
  color: #334155;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.aie-manual-history table {
  font-size: .78rem;
}

.aie-manual-history td,
.aie-manual-history th {
  vertical-align: top;
}

/* AI Observatory website suggested questions */
.aie-website-question-toolbar {
  display: flex;
  justify-content: flex-start;
  padding-block: 12px;
}

.aie-suggested-question-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 320px) auto auto;
  align-items: end;
  gap: 12px;
}

.aie-suggested-question-toggle {
  padding-bottom: 7px;
  white-space: nowrap;
}

.aie-icon-input {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.aie-icon-input i {
  color: #0d6efd;
  font-size: 1rem;
  text-align: center;
}

.aie-icon-input.compact {
  min-width: 220px;
}

.aie-suggested-question-order {
  width: 90px;
}

.aie-suggested-question-delete-cell {
  width: 52px;
}

.aie-suggested-question-delete-cell form {
  display: inline-block;
}

@media (max-width: 900px) {
  .aie-suggested-question-form {
    grid-template-columns: 1fr;
  }

  .aie-suggested-question-toggle {
    padding-bottom: 0;
  }
}

/* Clients operational inventory */
.clients-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: .55rem;
  margin: 0 0 .75rem;
}

.clients-summary-item {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  min-height: 52px;
  padding: .55rem .7rem;
  color: #344054;
  text-decoration: none;
  background: #fff;
  border: 1px solid #d8e1ec;
  border-radius: 6px;
}

.clients-summary-item:hover,
.clients-summary-item:focus-visible,
.clients-summary-item.active {
  color: #0d6efd;
  border-color: #86b7fe;
  background: #f5f9ff;
}

.clients-summary-item > i {
  color: #667085;
  font-size: 1rem;
}

.clients-summary-item > span {
  font-size: .78rem;
  font-weight: 600;
}

.clients-summary-item > strong {
  color: #101828;
  font-size: 1.05rem;
}

.clients-summary-ok > i { color: #198754; }
.clients-summary-warning > i { color: #d98b00; }
.clients-summary-danger > i { color: #dc3545; }

.clients-table-responsive {
  overflow-x: auto;
}

.clients-table {
  min-width: 1050px;
  table-layout: fixed;
}

.clients-table th,
.clients-table td {
  padding: .55rem .5rem;
  vertical-align: middle;
}

.client-sort-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: inherit;
  text-decoration: none;
}

.client-sort-link:hover,
.client-sort-link:focus-visible,
.client-sort-link.is-active {
  color: var(--bs-primary);
}

.client-sort-link i {
  flex: 0 0 auto;
  font-size: .72rem;
  opacity: .55;
}

.client-sort-link.is-active i {
  opacity: 1;
}

.clients-table th:nth-child(1),
.clients-table td:nth-child(1) { width: 25%; }
.clients-table th:nth-child(2),
.clients-table td:nth-child(2) { width: 17%; }
.clients-table th:nth-child(3),
.clients-table td:nth-child(3) { width: 9%; }
.clients-table th:nth-child(4),
.clients-table td:nth-child(4) { width: 20%; }
.clients-table th:nth-child(5),
.clients-table td:nth-child(5) { width: 13%; }
.clients-table th:nth-child(6),
.clients-table td:nth-child(6) { width: 7%; }
.clients-table th:nth-child(7),
.clients-table td:nth-child(7) { width: 9%; }

.clients-table tbody tr:hover {
  background: #f8fbff;
}

.client-identity-cell,
.client-operational-cell,
.client-configuration-cell,
.client-last-seen-cell {
  min-width: 0;
}

.client-identity-heading,
.client-identity-meta,
.client-operational-meta,
.client-token-meta,
.client-config-versions {
  display: flex;
  align-items: center;
}

.client-identity-heading {
  gap: .4rem;
  margin-bottom: .22rem;
}

.client-identity-heading .device-name-button {
  overflow: hidden;
  max-width: calc(100% - 24px);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-identity-meta {
  gap: .35rem;
  min-width: 0;
  margin-bottom: .28rem;
  color: #667085;
  font-size: .74rem;
}

.client-identity-meta .device-user-button {
  min-width: 0;
  color: #475467;
  font-size: .74rem;
}

.client-identity-meta .device-user-button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.clients-table .client-feature-icons {
  display: flex;
  gap: .38rem;
  margin: 0;
  color: #667085;
}

.client-operational-cell {
  font-size: .77rem;
}

.client-operational-meta,
.client-token-meta {
  gap: .3rem;
  margin-top: .35rem;
  color: #667085;
}

.client-token-meta {
  margin-top: .18rem;
}

.client-version-cell {
  text-align: center;
}

.client-config-versions {
  align-items: stretch;
  gap: .7rem;
}

.client-config-versions > span {
  display: grid;
  align-content: start;
  min-width: 0;
  gap: .02rem;
}

.client-config-versions > span + span {
  padding-left: .7rem;
  border-left: 1px solid #e4e7ec;
}

.client-config-versions small,
.client-last-seen-cell small {
  color: #667085;
  font-size: .66rem;
  font-weight: 500;
}

.client-config-versions strong {
  font-size: .82rem;
}

.client-config-versions .client-policy-version-pair {
  display: inline-flex;
  align-items: baseline;
  gap: .32rem;
}

.client-policy-revision-divider {
  color: #98a2b3;
  font-weight: 500;
}

.client-config-versions .client-policy-applied-version {
  display: flex;
  align-items: baseline;
  grid-column: 1;
  justify-self: start;
  justify-content: flex-start;
  gap: .2rem;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}

.client-config-versions .client-policy-version-column > small,
.client-config-versions .client-policy-version-column > strong,
.client-config-versions .client-policy-version-column > .client-config-sync {
  justify-self: start;
  margin-left: 0;
}

.client-config-versions .client-policy-applied-version strong {
  color: #344054;
  font-size: .72rem;
}

.client-config-sync {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  margin-top: .38rem;
  padding: .16rem .42rem;
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  background: #f9fafb;
  color: #475467;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.client-config-sync.is-synced {
  border-color: #a6f4c5;
  background: #ecfdf3;
  color: #027a48;
}

.client-config-sync.is-pending {
  border-color: #fedf89;
  background: #fffaeb;
  color: #b54708;
}

.client-config-sync.is-conflict,
.client-config-sync.is-error {
  border-color: #fecdca;
  background: #fef3f2;
  color: #b42318;
}

.client-config-sync-action {
  font-family: inherit;
  cursor: pointer;
}

.client-config-sync-action:hover,
.client-config-sync-action:focus-visible {
  border-color: #f79009;
  background: #fef0c7;
  color: #93370d;
}

.client-config-versions .client-config-sync {
  justify-self: start;
}

.client-last-seen-cell strong,
.client-last-seen-cell small {
  display: block;
}

.client-last-seen-cell strong {
  font-size: .78rem;
  line-height: 1.25;
}

.client-last-seen-cell small {
  margin-top: .22rem;
  line-height: 1.25;
}

.client-alerts-cell,
.client-actions-cell {
  text-align: center;
}

.client-alert-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-width: 44px;
  padding: .25rem .4rem;
  text-decoration: none;
  border: 1px solid currentColor;
  border-radius: 5px;
}

.client-alert-link.has-alerts { color: #dc3545; }
.client-alert-link.has-vulnerabilities { color: #996000; background: #fff7e6; }
.client-alert-link.is-clear { color: #198754; }

.client-alert-counters {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
}

.client-alert-counters .client-alert-link { min-height: 32px; }

.clients-table .client-actions-cell {
  white-space: nowrap !important;
}

.clients-table .client-actions-cell > .btn,
.clients-table .client-actions-cell > .dropdown {
  margin: 0 2px 0 0;
}

.client-actions-menu {
  min-width: 255px;
  max-height: min(70vh, 620px);
  overflow-y: auto;
  padding-block: .35rem;
}

.client-actions-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .82rem;
}

.client-actions-menu .dropdown-item > i {
  width: 18px;
  text-align: center;
}

.client-actions-menu .dropdown-header {
  color: #667085;
  font-size: .67rem;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .clients-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.aie-runtime-page {
    max-width: 1180px;
    margin: 0 auto;
}

.aie-runtime-heading {
    align-items: flex-end;
}

.aie-runtime-subtitle {
    margin: 6px 0 0;
    color: #5f6b7a;
}

.aie-runtime-query,
.aie-runtime-answer,
.aie-runtime-status,
.aie-runtime-progress,
.aie-runtime-history,
.aie-runtime-error {
    border: 1px solid #d8e0ea;
    border-radius: 6px;
    background: #fff;
}

.aie-runtime-query {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.aie-runtime-query label {
    color: #40506a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-query select {
    max-width: 420px;
}

.aie-runtime-question-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
}

.aie-runtime-question-row textarea {
    width: 100%;
    min-height: 92px;
    resize: vertical;
    border: 1px solid #c9d4e2;
    border-radius: 5px;
    padding: 12px;
    font: inherit;
}

.aie-runtime-status,
.aie-runtime-error {
    margin-top: 14px;
    padding: 14px 18px;
}

.aie-runtime-status {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #135fb8;
}

.aie-runtime-status[hidden],
.aie-runtime-progress[hidden],
.aie-runtime-error[hidden],
.aie-runtime-answer[hidden] {
    display: none;
}

.aie-runtime-progress {
    margin-top: 14px;
    padding: 16px 18px;
}

.aie-runtime-progress-heading,
.aie-runtime-history-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.aie-runtime-progress-heading {
    margin-bottom: 14px;
}

.aie-runtime-progress h2 {
    margin: 0;
    font-size: 15px;
}

.aie-runtime-progress ol {
    display: grid;
    grid-template-columns: repeat(var(--aie-runtime-stage-count, 5), minmax(170px, 1fr));
    gap: 0;
    margin: 0;
    padding: 0 0 4px;
    overflow-x: auto;
    overflow-y: hidden;
    list-style: none;
}

.aie-runtime-progress li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: #78869a;
}

.aie-runtime-progress li:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: 15px;
    left: 31px;
    right: 0;
    height: 1px;
    background: #d8e0ea;
    content: "";
}

.aie-runtime-progress-marker {
    position: relative;
    z-index: 1;
    display: inline-grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #c9d4e2;
    border-radius: 50%;
    background: #fff;
}

.aie-runtime-progress-content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 2px;
    min-width: 0;
    padding-right: 10px;
    background: #fff;
}

.aie-runtime-progress-content strong {
    color: inherit;
    font-size: 12px;
    white-space: nowrap;
}

.aie-runtime-progress-content small {
    font-size: 11px;
}

.aie-runtime-progress li.is-reached {
    color: #147347;
}

.aie-runtime-progress li.is-reached:not(:last-child)::after {
    background: #8bc8aa;
}

.aie-runtime-progress li.is-current .aie-runtime-progress-marker {
    box-shadow: 0 0 0 3px #dcecff;
    color: #135fb8;
    border-color: #4b96df;
}

.aie-runtime-progress li.is-failed {
    color: #a12626;
}

.aie-runtime-progress li.is-cancelled {
    color: #8a5700;
}

.aie-runtime-error {
    border-color: #efb7b7;
    color: #a12626;
    background: #fff7f7;
}

.aie-runtime-error.is-info {
    border-color: #b9d7f5;
    color: #245a8d;
    background: #f3f8fd;
}

.aie-runtime-error.has-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.aie-runtime-error.has-action .btn {
    flex: 0 0 auto;
}

.aie-runtime-answer {
    margin-top: 14px;
    padding: 20px;
}

.aie-runtime-answer-question {
    margin: -4px 0 16px;
    padding: 10px 12px;
    color: #40506a;
    background: #f5f8fc;
    border-left: 3px solid #4b96df;
}

.aie-runtime-answer-question::before {
    display: block;
    margin-bottom: 3px;
    color: #66758a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    content: "Domanda";
}

.aie-runtime-answer-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.aie-runtime-answer-heading h2 {
    margin: 0;
    font-size: 18px;
}

.aie-runtime-answer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.aie-runtime-answer-text {
    line-height: 1.55;
}

.aie-runtime-answer-text p,
.aie-runtime-answer-text ul,
.aie-runtime-answer-text h3,
.aie-runtime-answer-text h4,
.aie-runtime-answer-text h5 {
    margin: 0 0 12px;
}

.aie-runtime-answer-text ul {
    padding-left: 22px;
}

.aie-runtime-answer-text .aie-runtime-nested-list {
    margin: 6px 0 2px;
    padding-left: 28px;
}

.aie-runtime-answer-text strong {
    font-weight: 600;
}

.aie-runtime-confidence {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: 230px;
    color: #435166;
    white-space: nowrap;
}

.aie-runtime-confidence-label,
.aie-runtime-confidence strong {
    font-size: 12px;
}

.aie-runtime-confidence strong {
    min-width: 34px;
    color: currentColor;
    font-weight: 650;
}

.aie-runtime-confidence small {
    min-width: 36px;
    color: #68768a;
    font-size: 11px;
}

.aie-runtime-confidence-track {
    display: block;
    width: 92px;
    height: 6px;
    overflow: hidden;
    border-radius: 3px;
    background: #e6ebf1;
}

.aie-runtime-confidence-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: currentColor;
}

.aie-runtime-confidence.is-low {
    color: #b42318;
}

.aie-runtime-confidence.is-medium {
    color: #b36b00;
}

.aie-runtime-confidence.is-high {
    color: #147347;
}

.aie-runtime-confidence.is-compact {
    justify-content: flex-start;
    min-width: 0;
    margin-top: 7px;
    gap: 5px;
}

.aie-runtime-confidence.is-compact .aie-runtime-confidence-track {
    width: 58px;
}

.aie-runtime-recommendations {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e1e7ef;
}

.aie-runtime-recommendations[hidden],
.aie-runtime-recommendations-table-wrap[hidden],
.aie-runtime-recommendations-empty[hidden],
.aie-runtime-recommendations-limitations[hidden] {
    display: none;
}

.aie-runtime-recommendations-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.aie-runtime-recommendations-heading h3 {
    margin: 0;
    font-size: 16px;
}

.aie-runtime-recommendations-heading p {
    margin: 4px 0 0;
    color: #5f6b7a;
    font-size: 12px;
}

.aie-runtime-readonly-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 3px 8px;
    border: 1px solid #b9d7f5;
    border-radius: 13px;
    color: #245a8d;
    background: #f3f8fd;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.aie-runtime-recommendations-notice {
    margin: 12px 0;
    padding: 9px 11px;
    border-left: 3px solid #4b96df;
    color: #40506a;
    background: #f5f8fc;
    font-size: 12px;
}

.aie-runtime-recommendations-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 14px;
}

.aie-runtime-recommendations-summary dt {
    color: #66758a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-recommendations-summary dd {
    margin: 3px 0 0;
    font-weight: 700;
}

.aie-runtime-recommendations-summary dd.is-valid {
    color: #147347;
}

.aie-runtime-recommendations-summary dd.is-limited {
    color: #8a5700;
}

.aie-runtime-recommendations-empty {
    margin: 0;
    padding: 10px 12px;
    color: #147347;
    background: #f2fbf6;
    border: 1px solid #a9d6bf;
    border-radius: 5px;
}

.aie-runtime-recommendations-table-wrap {
    width: 100%;
    max-height: 480px;
    overflow: auto;
    border: 1px solid #dce4ee;
    border-radius: 5px;
}

.aie-runtime-recommendations-table-wrap table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
    font-size: 12px;
}

.aie-runtime-recommendations-table-wrap th,
.aie-runtime-recommendations-table-wrap td {
    padding: 8px 9px;
    border-bottom: 1px solid #e1e7ef;
    text-align: left;
    vertical-align: top;
}

.aie-runtime-recommendations-table-wrap th {
    position: sticky;
    z-index: 1;
    top: 0;
    color: #66758a;
    background: #f5f8fc;
    font-size: 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.aie-runtime-recommendations-table-wrap td span {
    display: block;
}

.aie-runtime-proposal-primary,
.aie-runtime-proposal-reason {
    color: #182230;
    font-weight: 650;
}

.aie-runtime-proposal-secondary,
.aie-runtime-proposal-source,
.aie-runtime-proposal-confidence {
    margin-top: 4px;
    color: #66758a;
    font-size: 11px;
}

.aie-runtime-proposal-code {
    margin-top: 3px;
    color: #40506a;
    font-family: Consolas, "Liberation Mono", monospace;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.aie-runtime-proposal-priority {
    display: inline-flex !important;
    min-height: 23px;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid #c9d4e2;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.aie-runtime-proposal-priority.is-high {
    color: #a12626;
    border-color: #efb7b7;
    background: #fff7f7;
}

.aie-runtime-proposal-priority.is-medium {
    color: #8a5700;
    border-color: #f0d18a;
    background: #fff8e8;
}

.aie-runtime-proposal-priority.is-low {
    color: #245a8d;
    border-color: #b9d7f5;
    background: #f3f8fd;
}

.aie-runtime-recommendations-limitations {
    margin-top: 12px;
    border: 1px solid #f0d18a;
    border-radius: 5px;
    background: #fff8e8;
}

.aie-runtime-recommendations-limitations summary {
    padding: 9px 11px;
    color: #8a5700;
    cursor: pointer;
    font-weight: 650;
}

.aie-runtime-recommendations-limitations ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0 12px 12px;
    list-style: none;
}

.aie-runtime-recommendations-limitations li {
    display: grid;
    gap: 2px;
    padding-top: 7px;
    border-top: 1px solid #f0d18a;
}

.aie-runtime-recommendations-limitations li span {
    color: #5f6b7a;
    font-size: 12px;
}

.aie-runtime-recommendations-limitations li small {
    color: #7b8794;
    font-size: 11px;
}

.aie-runtime-table-wrap {
    width: 100%;
    margin: 0 0 14px;
    overflow-x: auto;
}

.aie-runtime-table-wrap table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.aie-runtime-table-wrap th,
.aie-runtime-table-wrap td {
    padding: 7px 9px;
    border: 1px solid #dce4ee;
    text-align: left;
    vertical-align: top;
}

.aie-runtime-table-wrap th {
    background: #f5f8fc;
    color: #40506a;
    font-weight: 700;
}

.aie-runtime-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0 0;
    padding-top: 14px;
    border-top: 1px solid #e1e7ef;
}

.aie-runtime-meta div {
    min-width: 0;
}

.aie-runtime-meta dt {
    color: #66758a;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-meta dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
}

.aie-runtime-explainability {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e1e7ef;
}

.aie-runtime-explainability h3 {
    margin: 0 0 12px;
    font-size: 15px;
}

.aie-runtime-scope {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.aie-runtime-scope dt {
    color: #66758a;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-scope dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
}

.aie-runtime-limitation {
    margin-top: 12px;
    padding: 9px 11px;
    color: #8a5700;
    background: #fff8e8;
    border: 1px solid #f0d18a;
    border-radius: 5px;
}

.aie-runtime-limitation.is-aggregation {
    border-color: #b9d7f5;
    color: #245a8d;
    background: #f3f8fd;
}

.aie-runtime-evidence-details {
    margin-top: 12px;
    border: 1px solid #dce4ee;
    border-radius: 5px;
}

.aie-runtime-evidence-details summary {
    padding: 10px 12px;
    cursor: pointer;
    font-weight: 650;
}

.aie-runtime-evidence-details ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0 12px 12px;
    list-style: none;
}

.aie-runtime-evidence-details li {
    display: grid;
    gap: 2px;
    padding-top: 8px;
    border-top: 1px solid #edf1f6;
}

.aie-runtime-evidence-details li span {
    color: #5f6b7a;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.aie-runtime-history {
    margin-top: 14px;
    padding: 18px;
}

.aie-runtime-history-heading h2 {
    margin: 0;
    font-size: 17px;
}

.aie-runtime-history-heading p {
    margin: 4px 0 0;
    color: #66758a;
    font-size: 12px;
}

.aie-runtime-history-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 240px));
    gap: 10px;
    margin-top: 14px;
}

.aie-runtime-history-filters label {
    display: grid;
    gap: 5px;
    color: #40506a;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-history-filters select {
    width: 100%;
    min-height: 34px;
    border: 1px solid #c9d4e2;
    border-radius: 4px;
    background: #fff;
    padding: 5px 8px;
    color: #182230;
    font: inherit;
    text-transform: none;
}

.aie-runtime-history-table-wrap {
    width: 100%;
    margin-top: 14px;
    overflow-x: auto;
}

.aie-runtime-history table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    font-size: 12px;
}

.aie-runtime-history th,
.aie-runtime-history td {
    padding: 8px 9px;
    border-bottom: 1px solid #e1e7ef;
    text-align: left;
    vertical-align: middle;
}

.aie-runtime-history th {
    color: #66758a;
    font-size: 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.aie-runtime-history-question {
    display: -webkit-box;
    max-width: 360px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.35;
}

.aie-runtime-history-origin {
    display: flex;
    align-items: center;
    width: max-content;
    margin-top: 4px;
    color: #075eab;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}

.aie-runtime-history-origin i {
    margin-right: 3px;
}

.aie-schedule-proposal-note {
    margin: 0;
    padding: 9px 11px;
    border-left: 3px solid #0d6efd;
    color: #334861;
    background: #f2f7fd;
    font-size: 13px;
}

.aie-runtime-history-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 7px;
    border: 1px solid #c9d4e2;
    border-radius: 12px;
    color: #40506a;
    background: #f5f8fc;
    white-space: nowrap;
}

.aie-runtime-history-status.is-completed {
    color: #147347;
    border-color: #a9d6bf;
    background: #f2fbf6;
}

.aie-runtime-history-status.is-running {
    color: #075eab;
    border-color: #9bc8ed;
    background: #f2f8fe;
}

.aie-runtime-history-status.is-approved {
    color: #147347;
    border-color: #a9d6bf;
    background: #f2fbf6;
}

.aie-runtime-history-status.is-applied {
    color: #147347;
    border-color: #79c69e;
    background: #eaf8f0;
}

.aie-runtime-history-status.is-applying {
    color: #0b62b4;
    border-color: #9bc8ed;
    background: #f2f8fe;
}

.aie-runtime-history-status.is-proposed {
    color: #8a5700;
    border-color: #f0d18a;
    background: #fff8e8;
}

.aie-runtime-history-status.is-rejected {
    color: #a12626;
    border-color: #efb7b7;
    background: #fff7f7;
}

.aie-runtime-history-status.is-failed {
    color: #a12626;
    border-color: #efb7b7;
    background: #fff7f7;
}

.aie-runtime-history-status.is-cancelled {
    color: #8a5700;
    border-color: #f0d18a;
    background: #fff8e8;
}

.aie-runtime-history-actions {
    display: flex;
    gap: 5px;
    white-space: nowrap;
}

.aie-runtime-history-steps-cell {
    padding: 0 18px 14px 54px !important;
    background: #f8fafc;
}

.aie-runtime-history table.aie-runtime-history-steps {
    min-width: 760px;
    border: 1px solid #dce5ef;
    background: #fff;
}

.aie-runtime-history-steps th,
.aie-runtime-history-steps td {
    padding: 7px 9px;
}

.aie-customer-cost {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: 0.55rem;
    white-space: nowrap;
}

.aie-customer-cost.is-missing-markup {
    color: #dc3545;
}

.aie-runtime-history-empty {
    margin: 16px 0 0;
    color: #66758a;
    text-align: center;
}

.aie-runtime-dialog {
    width: min(520px, calc(100vw - 32px));
    padding: 0;
    border: 1px solid #c9d4e2;
    border-radius: 6px;
    color: #182230;
    background: #fff;
    box-shadow: 0 20px 60px rgb(22 34 50 / 28%);
}

.aie-runtime-dialog::backdrop {
    background: rgb(12 23 38 / 48%);
}

.aie-runtime-dialog form {
    padding: 18px;
}

.aie-runtime-dialog-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.aie-runtime-dialog-heading h2 {
    margin: 0;
    font-size: 18px;
}

.aie-runtime-dialog p {
    margin: 16px 0;
    line-height: 1.5;
}

.aie-runtime-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.aie-schedule-dialog {
    width: min(760px, calc(100vw - 32px));
}

.aie-schedule-fields,
.aie-schedule-frequency-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.aie-schedule-field-wide,
.aie-schedule-weekdays {
    grid-column: 1 / -1;
}

.aie-schedule-dialog textarea[readonly] {
    color: #435166;
    background: #f7f9fc;
    resize: vertical;
}

.aie-schedule-output {
    margin: 0;
    padding: 12px;
    border: 1px solid #dce4ee;
    border-radius: 6px;
}

.aie-schedule-output legend {
    width: auto;
    margin: 0 0 8px;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
}

.aie-schedule-output > p {
    margin: 8px 0 0;
    color: #66758a;
    font-size: 12px;
}

.aie-output-options {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.aie-output-options label,
.aie-output-recipient-option {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.aie-output-recipients {
    display: grid;
    gap: 9px;
    margin-top: 12px;
}

.aie-output-recipients > span {
    font-weight: 700;
}

.aie-output-recipients > div {
    display: grid;
    gap: 7px;
    max-height: 180px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid #dce4ee;
    border-radius: 5px;
}

@media (max-width: 720px) {
    .aie-runtime-answer-heading,
    .aie-runtime-answer-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .aie-schedule-fields,
    .aie-schedule-frequency-panel {
        grid-template-columns: 1fr;
    }
}

.aie-runtime-context-limit-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.aie-runtime-context-limit-summary > div {
    padding: 10px;
    border: 1px solid #dce4ee;
    border-radius: 5px;
    background: #f7f9fc;
}

.aie-runtime-context-limit-summary dt {
    color: #66758a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-context-limit-summary dd {
    margin: 4px 0 0;
    font-size: 14px;
    font-weight: 700;
}

.aie-runtime-action-plan-dialog {
    width: min(860px, calc(100vw - 32px));
}

.aie-runtime-action-plan-subtitle {
    margin: 3px 0 0 !important;
    color: #66758a;
    font-size: 12px;
}

.aie-runtime-action-plan-state {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 0;
    padding: 9px 11px;
    border-left: 3px solid #4b96df;
    background: #f5f8fc;
    font-size: 12px;
}

.aie-runtime-action-plan-state > :first-child {
    font-weight: 700;
}

.aie-runtime-action-plan-state > .is-readyforfinalreview {
    color: #147347;
}

.aie-runtime-action-plan-state > .is-reviewonly {
    color: #8a5700;
}

.aie-runtime-action-plan-state > .is-blocked {
    color: #a12626;
}

.aie-runtime-action-plan-state > .is-applied {
    color: #147347;
}

.aie-runtime-action-plan-state > .is-awaitingclientsync,
.aie-runtime-action-plan-state > .is-senttoclient,
.aie-runtime-action-plan-state > .is-receivedbyclient {
    color: #0b62b4;
}

.aie-runtime-action-plan-state > .is-synctimedout,
.aie-runtime-action-plan-state > .is-syncfailed {
    color: #a12626;
}

.aie-runtime-action-plan-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 18px;
    margin: 0 0 16px;
}

.aie-runtime-action-plan-summary dt,
.aie-runtime-action-plan-values span {
    color: #66758a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-action-plan-summary dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 650;
}

.aie-runtime-action-plan-values {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    overflow: hidden;
    border: 1px solid #dce4ee;
    border-radius: 5px;
    background: #dce4ee;
}

.aie-runtime-action-plan-values > div {
    display: grid;
    gap: 5px;
    padding: 10px 12px;
    background: #fff;
}

.aie-runtime-action-plan-values strong {
    overflow-wrap: anywhere;
    font-weight: 600;
}

.aie-runtime-action-plan-effect {
    margin: 12px 0 !important;
    color: #40506a;
    font-size: 13px;
}

.aie-runtime-action-plan-sync {
    margin: 16px 0;
    padding: 12px;
    border: 1px solid #dce4ee;
    border-radius: 5px;
    background: #f8fafc;
}

.aie-runtime-action-plan-sync h3 {
    margin-top: 0;
}

.aie-runtime-action-plan-sync ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.aie-runtime-action-plan-sync li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 6px;
    min-width: 0;
    color: #7a8798;
}

.aie-runtime-action-plan-sync li.is-completed {
    color: #147347;
}

.aie-runtime-action-plan-sync li.is-current {
    color: #0b62b4;
}

.aie-runtime-action-plan-sync strong,
.aie-runtime-action-plan-sync span {
    display: block;
}

.aie-runtime-action-plan-sync strong {
    font-size: 11px;
}

.aie-runtime-action-plan-sync span {
    margin-top: 2px;
    font-size: 10px;
}

.aie-runtime-action-plan-sync > p {
    margin: 10px 0 0 !important;
    padding: 8px 10px;
    color: #8a5700;
    background: #fff8e8;
    font-size: 11px;
}

.aie-runtime-action-plan-dialog h3 {
    margin: 18px 0 8px;
    font-size: 14px;
}

.aie-runtime-action-plan-checks {
    display: grid;
    gap: 7px;
    max-height: 260px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.aie-runtime-action-plan-checks li {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #dce4ee;
    border-radius: 5px;
}

.aie-runtime-action-plan-checks li.is-passed i {
    color: #147347;
}

.aie-runtime-action-plan-checks li.is-warning i {
    color: #8a5700;
}

.aie-runtime-action-plan-checks li.is-blocked i {
    color: #a12626;
}

.aie-runtime-action-plan-checks strong,
.aie-runtime-action-plan-checks span {
    display: block;
}

.aie-runtime-action-plan-checks strong {
    font-size: 11px;
}

.aie-runtime-action-plan-checks span {
    margin-top: 2px;
    color: #5f6b7a;
    font-size: 12px;
}

.aie-runtime-action-plan-apply-dialog {
    width: min(620px, calc(100vw - 32px));
}

.aie-runtime-action-plan-apply-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 16px 0;
}

.aie-runtime-action-plan-apply-summary > div {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dce4ee;
    border-radius: 5px;
}

.aie-runtime-action-plan-apply-summary dt {
    color: #66758a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.aie-runtime-action-plan-apply-summary dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 600;
}

.aie-runtime-dialog-error {
    padding: 9px 11px;
    border: 1px solid #efb5b5;
    border-radius: 5px;
    color: #a12626;
    background: #fff5f5;
    font-size: 12px;
}

@media (max-width: 760px) {
    .aie-runtime-question-row,
    .aie-runtime-meta,
    .aie-runtime-scope,
    .aie-runtime-recommendations-summary,
    .aie-runtime-action-plan-summary,
    .aie-runtime-action-plan-values,
    .aie-runtime-action-plan-apply-summary,
    .aie-runtime-action-plan-sync ol {
        grid-template-columns: 1fr;
    }

    .aie-runtime-recommendations-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .aie-runtime-question-row .btn {
        justify-self: stretch;
    }

    .aie-runtime-progress ol {
        grid-template-columns: repeat(var(--aie-runtime-stage-count, 5), minmax(170px, 1fr));
    }

    .aie-runtime-history-filters {
        grid-template-columns: 1fr;
    }
}

.configuration-contract-modal .modal-dialog {
    max-width: min(1240px, calc(100vw - 32px));
}

.configuration-contract-modal .modal-body {
    overflow-x: hidden;
}

.configuration-contract-import {
    margin-bottom: 22px;
    border: 1px solid #cbd8e8;
    border-radius: 6px;
    background: #f7faff;
}

.configuration-contract-import > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
}

.configuration-contract-import > summary::-webkit-details-marker,
.configuration-contract-version > summary::-webkit-details-marker,
.configuration-contract-add-version > summary::-webkit-details-marker {
    display: none;
}

.configuration-contract-import > summary > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.configuration-contract-import-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 14px;
    border-top: 1px solid #d8e2ef;
    background: #fff;
}

.configuration-contract-import-action {
    padding-bottom: 1px;
}

.configuration-contract-heading,
.configuration-contract-section-title,
.configuration-contract-title-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.configuration-contract-heading {
    margin-bottom: 10px;
}

.configuration-contract-heading h3,
.configuration-contract-heading p,
.configuration-contract-item h3,
.configuration-contract-item h4,
.configuration-contract-item p {
    margin: 0;
}

.configuration-contract-heading h3,
.configuration-contract-item h3 {
    font-size: 16px;
}

.configuration-contract-heading p,
.configuration-contract-item-header > div > p {
    margin-top: 3px;
    color: #617087;
    font-size: 13px;
}

.configuration-contract-list {
    display: grid;
    gap: 14px;
}

.configuration-contract-item {
    overflow: hidden;
    border: 1px solid #ced9e6;
    border-radius: 6px;
    background: #fff;
}

.configuration-contract-item-header {
    display: grid;
    grid-template-columns: minmax(240px, 0.8fr) minmax(500px, 1.7fr);
    gap: 22px;
    padding: 14px;
    background: #f7f9fc;
}

.configuration-contract-title-line {
    justify-content: flex-start;
}

.configuration-contract-metadata {
    display: grid;
    grid-template-columns: repeat(5, minmax(90px, 1fr));
    gap: 10px;
    margin: 0;
}

.configuration-contract-metadata div {
    min-width: 0;
}

.configuration-contract-metadata dt {
    margin-bottom: 2px;
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.configuration-contract-metadata dd {
    overflow: hidden;
    margin: 0;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.configuration-contract-section {
    padding: 13px 14px;
    border-top: 1px solid #e0e7f0;
}

.configuration-contract-section-title {
    margin-bottom: 9px;
}

.configuration-contract-section-title h4 {
    font-size: 13px;
    font-weight: 800;
}

.configuration-contract-version-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-start;
}

.configuration-contract-version,
.configuration-contract-add-version {
    position: relative;
}

.configuration-contract-version > summary,
.configuration-contract-add-version > summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 5px 9px;
    border: 1px solid #bfd0e4;
    border-radius: 5px;
    color: #20324a;
    background: #f8fbff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.configuration-contract-version[open],
.configuration-contract-add-version[open] {
    flex-basis: 100%;
}

.configuration-contract-client-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #6d4d00;
}

.configuration-contract-remove-form,
.configuration-contract-add-version form {
    display: flex;
    gap: 8px;
    align-items: end;
    max-width: 720px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #d7e0eb;
    border-radius: 5px;
    background: #fff;
}

.configuration-contract-remove-form .form-label {
    min-width: 150px;
    margin: 0;
    align-self: center;
}

.configuration-contract-remove-form textarea {
    min-height: 54px;
}

.configuration-contract-add-version form .form-control {
    max-width: 220px;
}

.configuration-contract-version-warning {
    margin-top: 7px !important;
    color: #8a5b00;
    font-size: 12px;
}

.configuration-contract-module-table {
    margin-bottom: 0;
}

.configuration-contract-module-table th {
    color: #607086;
    font-size: 10px;
    text-transform: uppercase;
}

.compact-empty-state {
    min-height: 120px;
}

@media (max-width: 960px) {
    .configuration-contract-import-form,
    .configuration-contract-item-header {
        grid-template-columns: 1fr;
    }

    .configuration-contract-metadata {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
}
.company-vulnerability-heading {
  align-items: flex-end;
}

.company-vulnerability-policy {
  display: grid;
  gap: 20px;
}

.company-vulnerability-policy .monitor-section {
  margin: 0;
  padding: 20px 22px;
}

.company-vulnerability-service {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-left: 4px solid #1476ff;
}

.company-vulnerability-service-title {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.company-vulnerability-service-title > div {
  max-width: 1080px;
}

.company-vulnerability-service-title > i {
  color: #0b6efd;
  font-size: 24px;
  margin-top: 2px;
}

.company-vulnerability-service h2,
.company-vulnerability-section-heading h2 {
  font-size: 18px;
  margin: 0 0 4px;
}

.company-vulnerability-service p,
.company-vulnerability-section-heading p {
  color: #637087;
  line-height: 1.5;
  margin: 0;
}

.company-vulnerability-service-note {
  font-size: 13px;
  line-height: 1.5;
  margin: 14px 0 0 38px !important;
  max-width: 1120px;
}

.company-vulnerability-master-toggle {
  align-items: center;
  background: #f7faff;
  border: 1px solid #d6e3f3;
  border-radius: 6px;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  margin: 0;
  min-width: 150px;
  padding: 11px 14px;
}

.company-vulnerability-master-toggle .form-check-input {
  height: 24px;
  margin: 0;
  width: 46px;
}

.company-vulnerability-master-toggle span {
  font-weight: 700;
}

[data-company-vulnerability-options] {
  display: grid;
  gap: 16px;
  transition: opacity 160ms ease;
}

[data-company-vulnerability-options].is-disabled {
  opacity: .48;
}

.company-vulnerability-section-heading {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}

.company-vulnerability-manual-alert-note {
  align-items: flex-start;
  background: #f5f9ff;
  border-left: 3px solid #5b9bff;
  color: #43536a;
  display: flex;
  font-size: 13px;
  gap: 10px;
  line-height: 1.45;
  margin-bottom: 16px;
  padding: 11px 13px;
}

.company-vulnerability-manual-alert-note > i {
  color: #1476ff;
  margin-top: 2px;
}

.company-vulnerability-workflow {
  overflow: visible;
}

.company-vulnerability-workflow-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}

.company-vulnerability-workflow-steps li {
  min-width: 0;
  padding: 0 14px;
  position: relative;
  text-align: center;
}

.company-vulnerability-workflow-steps li:first-child {
  padding-left: 0;
}

.company-vulnerability-workflow-steps li:last-child {
  padding-right: 0;
}

.company-vulnerability-workflow-steps li::before {
  background: #bfd6f4;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 17px;
}

.company-vulnerability-workflow-steps li:first-child::before {
  left: 50%;
}

.company-vulnerability-workflow-steps li:last-child::before {
  right: 50%;
}

.company-vulnerability-workflow-number {
  align-items: center;
  background: #fff;
  border: 2px solid #1476ff;
  border-radius: 50%;
  color: #075eab;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  height: 36px;
  justify-content: center;
  position: relative;
  width: 36px;
  z-index: 1;
}

.company-vulnerability-workflow-steps p {
  color: #526079;
  font-size: 12px;
  line-height: 1.45;
  margin: 10px auto 0;
  max-width: 250px;
}

.company-vulnerability-workflow-steps strong {
  color: #26364d;
  font-weight: 650;
}

.company-vulnerability-policy .monitor-section > .table-responsive {
  padding: 0;
}

.company-vulnerability-profile {
  display: grid;
  flex: 0 0 230px;
  gap: 5px;
}

.company-vulnerability-profile span {
  color: #526079;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.company-vulnerability-policy-table {
  margin-bottom: 0;
  table-layout: fixed;
}

.company-vulnerability-policy-table th:nth-child(1) {
  width: 27%;
}

.company-vulnerability-policy-table th:nth-child(2) {
  width: 38%;
}

.company-vulnerability-policy-table th:nth-child(3) {
  width: 35%;
}

.company-vulnerability-policy-table td:first-child strong {
  display: block;
  font-size: 13px;
  margin-top: 7px;
}

.company-vulnerability-policy-table td:nth-child(2) {
  color: #526079;
  font-size: 13px;
}

.company-vulnerability-rules-grid {
  display: grid;
  gap: 10px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-vulnerability-rules-grid > label:first-child {
  display: grid;
  gap: 6px;
  grid-column: 1 / -1;
  max-width: 420px;
}

.company-vulnerability-rules-grid > label:first-child > span {
  font-weight: 700;
}

.company-vulnerability-rules-grid > label:first-child > small {
  color: #637087;
  line-height: 1.45;
}

.company-vulnerability-rule-toggle {
  align-items: flex-start;
  border: 1px solid #d7e1ef;
  border-radius: 6px;
  display: flex;
  gap: 11px;
  min-height: 76px;
  padding: 14px 15px;
}

.company-vulnerability-rule-toggle .form-check-input {
  flex: 0 0 auto;
  margin: 3px 0 0;
}

.company-vulnerability-rule-toggle span,
.company-vulnerability-rule-toggle small {
  display: block;
}

.company-vulnerability-rule-toggle small {
  color: #637087;
  line-height: 1.35;
  margin-top: 4px;
}

.company-vulnerability-actions {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}

.company-vulnerability-actions > span {
  color: #637087;
  font-size: 12px;
}

.asset-vulnerability-disabled-service {
  align-items: flex-start;
  background: #f5f9ff;
  border: 1px solid #cfe0f7;
  display: flex;
  gap: 14px;
  padding: 18px;
}

.asset-vulnerability-disabled-service > i {
  color: #0b6efd;
  font-size: 24px;
  margin-top: 2px;
}

.asset-vulnerability-disabled-service h4 {
  font-size: 17px;
  margin: 0 0 5px;
}

.asset-vulnerability-disabled-service p {
  color: #526079;
  margin: 0;
}

@media (max-width: 900px) {
  .company-vulnerability-service,
  .company-vulnerability-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .company-vulnerability-profile {
    flex-basis: auto;
  }

  .company-vulnerability-rules-grid {
    grid-template-columns: 1fr;
  }

  .company-vulnerability-workflow-steps {
    gap: 14px;
    grid-template-columns: 1fr;
  }

  .company-vulnerability-workflow-steps li,
  .company-vulnerability-workflow-steps li:first-child,
  .company-vulnerability-workflow-steps li:last-child {
    align-items: flex-start;
    display: grid;
    gap: 12px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 0;
    text-align: left;
  }

  .company-vulnerability-workflow-steps li::before,
  .company-vulnerability-workflow-steps li:first-child::before,
  .company-vulnerability-workflow-steps li:last-child::before {
    bottom: -14px;
    height: auto;
    left: 17px;
    right: auto;
    top: 17px;
    width: 2px;
  }

  .company-vulnerability-workflow-steps li:last-child::before {
    display: none;
  }

  .company-vulnerability-workflow-steps p {
    margin: 2px 0 0;
    max-width: none;
  }

  .company-vulnerability-policy-table {
    min-width: 820px;
  }
}

/* Central vulnerability management */
.vulnerability-dashboard {
  display: grid;
  gap: 14px;
}

.vulnerability-page-heading {
  margin-bottom: 0;
}

.vulnerability-filters {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns:
    minmax(180px, 1.1fr)
    minmax(180px, 1fr)
    minmax(150px, .75fr)
    minmax(240px, 1.35fr)
    auto
    auto;
  padding: 14px 16px;
}

.vulnerability-filters label {
  color: #465773;
  display: block;
  font-size: .72rem;
  font-weight: 700;
  margin: 0 0 5px;
  text-transform: uppercase;
}

.vulnerability-filter-button {
  align-items: center;
  display: inline-flex;
  gap: 7px;
  height: 38px;
  justify-content: center;
  white-space: nowrap;
}

.vulnerability-summary {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.vulnerability-summary > .clients-summary-item {
  cursor: default;
}

.vulnerability-summary > a.clients-summary-item {
  cursor: pointer;
}

.vulnerability-summary-actionable > i {
  color: #b86500;
}

.vulnerability-summary-alerts > i {
  color: #c92b38;
}

.vulnerability-summary-resolved > i {
  color: #198754;
}

.vulnerability-summary-suppressed > i {
  color: #68758a;
}

.vulnerability-summary-review > i {
  color: #236adf;
}

.vulnerability-results {
  overflow: hidden;
}

.vulnerability-results-heading {
  align-items: center;
  border-bottom: 1px solid #dbe3ef;
  display: flex;
  justify-content: space-between;
  padding: 13px 16px;
}

.vulnerability-results-heading h2,
.vulnerability-results-heading p {
  margin: 0;
}

.vulnerability-results-heading h2 {
  font-size: 1rem;
}

.vulnerability-results-heading p,
.vulnerability-results-heading > span {
  color: #65738a;
  font-size: .79rem;
}

.vulnerability-results-heading p {
  margin-top: 3px;
}

.vulnerability-issue-header,
.vulnerability-issue-row {
  display: grid;
  gap: 12px;
  grid-template-columns:
    minmax(220px, 1.2fr)
    88px
    minmax(145px, .8fr)
    minmax(260px, 1.35fr)
    58px
    52px
    minmax(130px, .75fr)
    40px;
}

.vulnerability-issue-header {
  align-items: center;
  background: #f6f8fb;
  border-bottom: 1px solid #dbe3ef;
  color: #53627a;
  font-size: .68rem;
  font-weight: 700;
  padding: 9px 16px;
  text-transform: uppercase;
}

.vulnerability-issue {
  border-bottom: 1px solid #dbe3ef;
}

.vulnerability-issue:last-child {
  border-bottom: 0;
}

.vulnerability-issue > summary {
  list-style: none;
}

.vulnerability-issue > summary::-webkit-details-marker {
  display: none;
}

.vulnerability-issue-row {
  align-items: center;
  cursor: pointer;
  min-height: 68px;
  padding: 10px 16px;
}

.vulnerability-issue-row:hover {
  background: #f9fbfe;
}

.vulnerability-software-cell,
.vulnerability-action-cell {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.vulnerability-software-cell strong,
.vulnerability-action-cell strong {
  color: #182338;
  font-size: .86rem;
}

.vulnerability-software-cell small,
.vulnerability-action-cell small {
  color: #66748a;
  font-size: .73rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vulnerability-action-cell small {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vulnerability-fixed-version {
  color: #12613d !important;
  font-weight: 600;
}

.vulnerability-priority,
.vulnerability-classification,
.vulnerability-alert-state {
  align-items: center;
  border: 1px solid currentColor;
  display: inline-flex;
  font-size: .7rem;
  font-weight: 650;
  gap: 5px;
  line-height: 1.2;
  padding: 4px 7px;
  width: fit-content;
}

.vulnerability-priority.is-critical,
.vulnerability-classification.is-confirmed,
.vulnerability-alert-state.is-open {
  background: #fff3f4;
  color: #bd2534;
}

.vulnerability-priority.is-high,
.vulnerability-classification.is-unsupported {
  background: #fff5ed;
  color: #ba551b;
}

.vulnerability-priority.is-medium,
.vulnerability-classification.is-probable {
  background: #fff8e3;
  color: #9a6700;
}

.vulnerability-priority.is-low,
.vulnerability-alert-state.is-resolved {
  background: #edf9f1;
  color: #187848;
}

.vulnerability-priority.is-informational,
.vulnerability-classification.is-review,
.vulnerability-classification.is-not-applicable,
.vulnerability-alert-state.is-none,
.vulnerability-alert-state.is-suppressed {
  background: #f4f6f8;
  color: #65738a;
}

.vulnerability-number-cell {
  color: #182338;
  font-size: .88rem;
  font-weight: 700;
  text-align: center;
}

.vulnerability-expand-cell {
  color: #1d6fe9;
  text-align: center;
}

.vulnerability-issue[open] .vulnerability-expand-cell i {
  transform: rotate(180deg);
}

.vulnerability-issue-details {
  background: #f8fafe;
  border-top: 1px solid #dbe3ef;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(280px, .8fr) minmax(480px, 1.4fr);
  padding: 16px;
}

.vulnerability-issue-details h3 {
  font-size: .86rem;
  margin: 0 0 9px;
}

.vulnerability-issue-explanation > p {
  color: #3e4c63;
  font-size: .81rem;
  line-height: 1.5;
  margin: 0 0 12px;
}

.vulnerability-issue-explanation dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.vulnerability-issue-explanation dl > div {
  border-left: 2px solid #a9c9f7;
  padding-left: 9px;
}

.vulnerability-issue-explanation dt {
  color: #617089;
  font-size: .68rem;
  text-transform: uppercase;
}

.vulnerability-issue-explanation dd {
  color: #253249;
  font-size: .8rem;
  margin: 2px 0 0;
}

.vulnerability-client-list .table {
  font-size: .76rem;
  margin-bottom: 0;
}

.vulnerability-client-list .table th {
  color: #5b6980;
  font-size: .65rem;
  text-transform: uppercase;
}

.vulnerability-empty-state {
  align-items: center;
  color: #66748a;
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center;
  min-height: 180px;
  padding: 24px;
  text-align: center;
}

.vulnerability-empty-state > i {
  color: #2b7de9;
  font-size: 1.75rem;
}

.vulnerability-empty-state > strong {
  color: #253249;
}

@media (max-width: 1250px) {
  .vulnerability-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vulnerability-filter-button {
    width: 100%;
  }

  .vulnerability-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vulnerability-results {
    overflow-x: auto;
  }

  .vulnerability-issue-header,
  .vulnerability-issue-row {
    min-width: 1120px;
  }
}

@media (max-width: 720px) {
  .vulnerability-filters,
  .vulnerability-summary,
  .vulnerability-issue-details {
    grid-template-columns: 1fr;
  }

  .vulnerability-results-heading {
    align-items: flex-start;
    gap: 8px;
  }
}

.vault-detail-title-row {
  display: grid;
  grid-template-columns: minmax(0, calc(100% - 3.1rem)) 2.4rem;
  gap: .7rem;
  align-items: end;
}

.vault-detail-title-field {
  min-width: 0;
}

.vault-favorite-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 0;
  border-radius: 999px;
  color: #94a3b8;
  background: transparent;
  padding: 0;
  transition: color .15s ease, transform .15s ease, background-color .15s ease;
}

.vault-favorite-button:hover,
.vault-favorite-button:focus-visible {
  color: #d97706;
  background: transparent;
}

.vault-favorite-button.is-active {
  color: #f5b301;
}

.vault-favorite-button.is-active i {
  filter: drop-shadow(0 1px 2px rgba(180, 83, 9, .28));
}

.vault-favorite-button:active {
  transform: scale(.94);
}

.vault-personal-section,
.vault-personal-section-heading {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
}

.vault-tag-editor {
  position: relative;
}

.vault-tag-combobox {
  position: relative;
  display: grid;
  gap: .45rem;
}

.vault-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  min-height: 0;
}

.vault-tag-input-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.4rem;
  align-items: center;
  min-height: 2.25rem;
  border: 1px solid #cfd8e3;
  border-radius: 7px;
  background: #fff;
  padding: 0 .55rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.vault-tag-input-shell:focus-within {
  border-color: #4f8df7;
  box-shadow: 0 0 0 .2rem rgba(79, 141, 247, .16);
}

.vault-tag-input-shell input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #182338;
  font-size: .92rem;
  padding: .4rem 0;
}

.vault-tag-input-shell i {
  color: #64748b;
  justify-self: end;
}

.vault-tag-suggestions {
  position: absolute;
  z-index: 1065;
  top: calc(100% + .35rem);
  left: 0;
  right: 0;
  display: grid;
  gap: .12rem;
  max-height: 15rem;
  overflow-y: auto;
  border: 1px solid rgba(100, 116, 139, .22);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .18);
  padding: .35rem;
}

.vault-tag-suggestions button {
  border: 0;
  border-radius: 6px;
  padding: .45rem .55rem;
  text-align: left;
  color: #243044;
  background: transparent;
}

.vault-tag-suggestions button:hover,
.vault-tag-suggestions button:focus-visible {
  background: #eef4ff;
  color: #1d5fd7;
}
.vault-tag-option-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid #98c4f6;
  border-radius: 5px;
  padding: .08rem .38rem;
  color: #1f4f8f;
  background: #f7fbff;
  line-height: 1.25;
}

.vault-tag-suggestions button:nth-child(3n+2) .vault-tag-option-chip {
  border-color: #f0b4cf;
  color: #9d2f65;
  background: #fff8fb;
}

.vault-tag-suggestions button:nth-child(3n+3) .vault-tag-option-chip {
  border-color: #c9b4f3;
  color: #6740a5;
  background: #fbf8ff;
}

.vault-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  max-width: 100%;
  border: 1px solid #98c4f6;
  border-radius: 5px;
  padding: .12rem .42rem;
  color: #1f4f8f;
  background: #f7fbff;
  font-size: .78rem;
  line-height: 1.28;
}

.vault-tag-chip:nth-child(3n+2) {
  border-color: #f0b4cf;
  color: #9d2f65;
  background: #fff8fb;
}

.vault-tag-chip:nth-child(3n+3) {
  border-color: #c9b4f3;
  color: #6740a5;
  background: #fbf8ff;
}

.vault-tag-chip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: .95rem;
  height: .95rem;
  border: 0;
  border-radius: 999px;
  color: inherit;
  background: transparent;
  padding: 0;
}

.vault-tag-chip button:hover,
.vault-tag-chip button:focus-visible {
  background: rgba(37, 99, 235, .12);
}

/* Active Directory Map */
.active-directory-map-page {
  min-width: 0;
}

.active-directory-map-heading {
  margin-bottom: 1rem;
}

.active-directory-map-company-filter {
  display: flex;
  align-items: end;
  gap: .75rem;
  padding: 1rem;
  margin-bottom: 1rem;
}

.active-directory-map-company-filter > div {
  flex: 1 1 22rem;
  max-width: 34rem;
}

.active-directory-map-company-filter label,
.active-directory-map-selector label,
.active-directory-map-search label {
  display: block;
  margin-bottom: .3rem;
  color: #526176;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.active-directory-map-company-filter .btn {
  min-height: 38px;
}

.active-directory-map-empty {
  display: grid;
  justify-items: center;
  gap: .45rem;
  padding: 3.5rem 1.5rem;
  color: #65748a;
  text-align: center;
}

.active-directory-map-empty > i {
  color: #2874d7;
  font-size: 2rem;
}

.active-directory-map-empty strong {
  color: #1f2b3d;
  font-size: 1.05rem;
}

.active-directory-map-summary {
  display: grid;
  grid-template-columns: minmax(13rem, 1.4fr) repeat(4, minmax(6.5rem, .65fr)) repeat(2, minmax(14rem, 1.15fr));
  gap: 0;
  margin-bottom: 1rem;
}

.active-directory-map-summary .clients-summary-item {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  min-height: 74px;
  padding: .75rem .9rem;
  border-right: 1px solid #d9e2ee;
}

.active-directory-map-summary .clients-summary-item:last-child {
  border-right: 0;
}

.active-directory-map-summary .clients-summary-item > i {
  grid-row: 1 / span 2;
  align-self: center;
  color: #2672d2;
  font-size: 1.05rem;
}

.active-directory-map-summary .clients-summary-item > span,
.active-directory-map-summary .clients-summary-item > small {
  overflow: hidden;
  color: #637087;
  font-size: .7rem;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.vault-credential-meta-value {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .35rem;
}

.vault-credential-meta-value strong {
  flex: 1 1 auto;
}

.vault-target-link {
  display: inline-flex;
  width: 1.7rem;
  height: 1.7rem;
  flex: 0 0 1.7rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #b9d5f3;
  border-radius: 5px;
  color: #006cba;
  background: #fff;
  text-decoration: none;
}

.vault-target-link:hover,
.vault-target-link:focus-visible {
  color: #004f8b;
  border-color: #006cba;
  background: #edf6ff;
}

[data-recovery-actions][hidden],
[data-recovery-coverage][hidden],
#vaultRecoveryReplacementModal [hidden] {
    display: none !important;
}

.vault-target-link[hidden] {
  display: none !important;
}

.vault-credential-host .vault-target-link--compact {
  margin-left: .1rem;
}

.active-directory-map-summary .clients-summary-item > strong {
  overflow: hidden;
  color: #182436;
  font-size: .95rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-directory-map-summary-update {
  grid-template-rows: auto auto auto !important;
}

.active-directory-map-summary-update > i,
.active-directory-map-summary-links > i {
  grid-column: 1;
  grid-row: 1 / -1 !important;
}

.active-directory-map-summary-update > span,
.active-directory-map-summary-update > strong,
.active-directory-map-summary-update > small,
.active-directory-map-summary-links > span,
.active-directory-map-summary-links > strong,
.active-directory-map-summary-links > small {
  grid-column: 2;
}

.active-directory-map-summary-update > small {
  overflow: visible !important;
  color: #59687d !important;
  text-overflow: clip !important;
  text-transform: none !important;
  white-space: normal !important;
}

.active-directory-map-summary-source {
  display: flex;
  align-items: baseline;
  gap: .25rem;
  white-space: nowrap !important;
}

.active-directory-map-summary-source b {
  color: #273449;
  font-weight: 700;
  white-space: nowrap;
}

.active-directory-map-summary-links {
  grid-template-rows: auto auto auto !important;
}

.active-directory-map-summary-links > small {
  overflow: visible !important;
  text-transform: none !important;
  white-space: normal !important;
}

.active-directory-map-summary-normalization {
  display: grid;
  gap: .14rem;
}

.active-directory-map-summary-normalization > span {
  display: grid;
  grid-template-columns: 1rem minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: .3rem;
  min-width: 0;
  white-space: nowrap;
}

.active-directory-map-summary-normalization > span:first-child i {
  color: #16824a;
}

.active-directory-map-summary-normalization > span:last-child i {
  color: #1769aa;
}

.active-directory-map-summary-normalization time {
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
}

.active-directory-map-workspace {
  padding: 0;
  overflow: visible;
  margin-bottom: calc(var(--active-directory-map-page-footer-height, 56px) + .75rem);
}

.active-directory-map-toolbar {
  position: sticky;
  z-index: 35;
  top: 52px;
  display: grid;
  grid-template-columns: auto minmax(13rem, 20rem) minmax(18rem, 1fr);
  align-items: end;
  gap: .75rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid #dbe3ee;
  background: #fff;
  box-shadow: 0 4px 10px rgba(25, 44, 72, .06);
}

.active-directory-map-view-switch {
  display: inline-flex;
  gap: .35rem;
  align-self: end;
}

.active-directory-map-view-switch .btn {
  min-height: 38px;
  white-space: nowrap;
}

.active-directory-map-selector {
  min-width: 0;
}

.active-directory-map-search {
  position: relative;
  min-width: 0;
}

.active-directory-map-search-results {
  position: absolute;
  z-index: 12;
  top: calc(100% + .35rem);
  right: 0;
  left: 0;
  max-height: 22rem;
  overflow-y: auto;
  border: 1px solid #cbd7e7;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(25, 44, 72, .16);
}

.active-directory-map-search-results button {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  align-items: center;
  width: 100%;
  gap: .45rem;
  border: 0;
  border-bottom: 1px solid #e5ebf3;
  padding: .6rem .7rem;
  color: #243044;
  background: #fff;
  text-align: left;
}

.active-directory-map-search-results button:last-child {
  border-bottom: 0;
}

.active-directory-map-search-results button:hover,
.active-directory-map-search-results button:focus-visible {
  background: #edf5ff;
}

.active-directory-map-search-results button > i {
  color: #2874d7;
}

.active-directory-map-search-results button span {
  display: grid;
  min-width: 0;
}

.active-directory-map-search-results button strong,
.active-directory-map-search-results button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-directory-map-search-results button small {
  color: #6c788b;
}

.active-directory-map-search-empty {
  display: block;
  padding: .8rem;
  color: #69768a;
}

.active-directory-map-type-filter {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: .4rem;
  overflow-x: auto;
  padding: .1rem 0 .45rem;
  scrollbar-width: thin;
}

.active-directory-map-filter-separator {
  width: 1px;
  height: 1.6rem;
  flex: 0 0 auto;
  margin: 0 .15rem;
  background: #d5dfeb;
}

.active-directory-map-type-filter button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  gap: .38rem;
  flex: 0 0 auto;
  border: 1px solid #c8d4e3;
  border-radius: 5px;
  padding: .35rem .58rem;
  color: #5b687b;
  background: #fff;
  font-size: .75rem;
  font-weight: 600;
}

.active-directory-map-type-filter button:hover,
.active-directory-map-type-filter button:focus-visible {
  border-color: #4d8bd8;
  color: #175fac;
  background: #f5f9ff;
}

.active-directory-map-type-filter button.is-selected {
  border-color: #2f78cf;
  color: #145da9;
  background: #edf5ff;
}

.active-directory-map-type-filter button[hidden] {
  display: none;
}

.active-directory-map-type-filter button[data-active-directory-kind="domain"] i {
  color: #2f8250;
}

.active-directory-map-type-filter button[data-active-directory-kind="ou"] i {
  color: #a4660a;
}

.active-directory-map-type-filter button[data-active-directory-kind="container"] i {
  color: #57697f;
}

.active-directory-map-type-filter button[data-active-directory-kind="group"] i {
  color: #5147a8;
}

.active-directory-map-type-filter button[data-active-directory-kind="user"] i {
  color: #34794b;
}

.active-directory-map-type-filter button[data-active-directory-kind="computer"] i {
  color: #256ba8;
}

.active-directory-map-type-filter button[data-active-directory-link-type="ArgusClient"] i {
  color: #16824a;
}

.active-directory-map-type-filter button[data-active-directory-link-type="NetworkDiscoveryHost"] i {
  color: #1769aa;
}

.active-directory-map-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 27.5rem;
  min-height: 620px;
}

.active-directory-map-tree-shell {
  min-width: 0;
  min-height: 620px;
  overflow: auto;
  padding: 1.15rem 1.25rem 2rem;
  background: #f8fafc;
}

.active-directory-map-tree {
  min-width: 720px;
  min-height: 100%;
}

.active-directory-map-tree ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.active-directory-map-tree-root {
  width: max-content;
  min-width: min(100%, 720px);
}

.active-directory-map-tree-empty {
  min-width: min(100%, 36rem);
  border: 1px dashed #bdcad9;
  border-radius: 6px;
  padding: 1rem;
  color: #67758a;
  background: #fff;
  text-align: center;
}

.active-directory-map-tree-item {
  position: relative;
}

.active-directory-map-tree-children {
  margin-left: 1rem !important;
  padding-left: 1.65rem !important;
  border-left: 1px solid #adbed2;
}

.active-directory-map-tree-children > .active-directory-map-tree-item::before {
  position: absolute;
  top: 27px;
  left: -1.65rem;
  width: 1.65rem;
  border-top: 1px solid #adbed2;
  content: "";
}

.active-directory-map-tree-row {
  display: grid;
  grid-template-columns: 1.8rem minmax(18rem, 32rem) 2.25rem;
  align-items: center;
  min-height: 52px;
  gap: .35rem;
  margin: .28rem 0;
}

.active-directory-map-tree-toggle {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border: 0;
  border-radius: 4px;
  color: #4c6079;
  background: transparent;
}

.active-directory-map-tree-toggle:not(:disabled):hover,
.active-directory-map-tree-toggle:not(:disabled):focus-visible {
  color: #1268d5;
  background: #e8f2ff;
}

.active-directory-map-tree-toggle:disabled {
  opacity: 1;
}

.active-directory-map-tree-node {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-height: 48px;
  gap: .55rem;
  border: 1px solid #c5d1df;
  border-radius: 6px;
  padding: .42rem .58rem;
  color: #1d293a;
  background: #fff;
  text-align: left;
}

.active-directory-map-tree-node:hover,
.active-directory-map-tree-node:focus-visible {
  border-color: #4288df;
  background: #f7fbff;
}

.active-directory-map-tree-row.is-selected .active-directory-map-tree-node {
  border-color: #1268d5;
  box-shadow: 0 0 0 2px rgba(18, 104, 213, .16);
}

.active-directory-map-tree-row.is-disabled .active-directory-map-tree-node {
  border: 1px solid #dc3545;
  background: #fff8f8;
}

.active-directory-map-tree-row.is-disabled .active-directory-map-node-icon {
  color: #b42318 !important;
  background: #fee4e2 !important;
}

.active-directory-map-tree-row.is-disabled .active-directory-map-node-text small {
  color: #a12a24;
}

.active-directory-map-node-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 6px;
  color: #246fc9;
  background: #e9f3ff;
  font-size: 1rem;
}

.active-directory-map-tree-item--domain > .active-directory-map-tree-row .active-directory-map-tree-node {
  border-color: #72ad81;
  background: #f4fff6;
}

.active-directory-map-tree-item--domain > .active-directory-map-tree-row .active-directory-map-node-icon {
  color: #2f8250;
  background: #e1f7e7;
}

.active-directory-map-tree-item--ou > .active-directory-map-tree-row .active-directory-map-node-icon {
  color: #a4660a;
  background: #fff2d9;
}

.active-directory-map-tree-item--container > .active-directory-map-tree-row .active-directory-map-node-icon {
  color: #57697f;
  background: #e9eef5;
}

.active-directory-map-tree-item--computer > .active-directory-map-tree-row .active-directory-map-node-icon {
  color: #256ba8;
  background: #e6f3fb;
}

.active-directory-map-tree-item--user > .active-directory-map-tree-row .active-directory-map-node-icon {
  color: #34794b;
  background: #e5f5e9;
}

.active-directory-map-tree-item--group > .active-directory-map-tree-row .active-directory-map-node-icon {
  color: #5147a8;
  background: #eeecff;
}

.active-directory-map-tree-item.is-membership-reference > .active-directory-map-tree-row .active-directory-map-tree-node {
  box-shadow: inset 3px 0 0 #8b83d8;
}

.active-directory-map-tree-count {
  display: inline-grid;
  min-width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border: 1px solid #c7d3e1;
  border-radius: 999px;
  color: #526176;
  background: #fff;
  font-size: .68rem;
  font-weight: 700;
}

.active-directory-map-node-text {
  display: grid;
  min-width: 0;
}

.active-directory-map-node-title,
.active-directory-map-details-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .4rem;
}

.active-directory-map-node-title strong,
.active-directory-map-details-title h2 {
  min-width: 0;
}

.active-directory-map-link-badge {
  display: inline-grid;
  width: 1.45rem;
  height: 1.45rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .72rem;
  line-height: 1;
}

.active-directory-map-details-title {
  min-height: 1.6rem;
}

.active-directory-map-details-title .active-directory-map-link-badge {
  align-self: center;
  margin: 0;
}

.active-directory-map-link-badge--argus {
  color: #16824a;
  background: #eaf8f0;
}

.active-directory-map-link-badge--network {
  color: #1769aa;
  background: #eaf4fc;
}

.active-directory-map-node-text strong,
.active-directory-map-node-text small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.active-directory-map-node-text strong {
  font-size: .82rem;
}

.active-directory-map-node-text small {
  color: #667489;
  font-size: .7rem;
}

.active-directory-map-details {
  position: sticky;
  top: var(--active-directory-map-details-top, 154px);
  align-self: start;
  min-width: 0;
  max-height: calc(100vh - var(--active-directory-map-details-top, 154px) - var(--active-directory-map-page-footer-height, 56px) - 12px);
  overflow-y: auto;
  border-left: 1px solid #dbe3ee;
  padding: 1rem;
  background: #fff;
}

.active-directory-map-details-empty {
  display: grid;
  justify-items: center;
  gap: .45rem;
  padding: 4rem 1rem;
  color: #6a788c;
  text-align: center;
}

.active-directory-map-details-empty i {
  color: #2c75cf;
  font-size: 1.45rem;
}

.active-directory-map-details-header {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid #e0e7f0;
}

.active-directory-map-details-header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 6px;
  color: #246fc9;
  background: #eaf3ff;
}

.active-directory-map-details[data-active-directory-node-kind="domain"] .active-directory-map-details-header > span {
  color: #2f8250;
  background: #e1f7e7;
}

.active-directory-map-details[data-active-directory-node-kind="ou"] .active-directory-map-details-header > span {
  color: #a4660a;
  background: #fff2d9;
}

.active-directory-map-details[data-active-directory-node-kind="container"] .active-directory-map-details-header > span {
  color: #57697f;
  background: #e9eef5;
}

.active-directory-map-details[data-active-directory-node-kind="computer"] .active-directory-map-details-header > span {
  color: #256ba8;
  background: #e6f3fb;
}

.active-directory-map-details[data-active-directory-node-kind="user"] .active-directory-map-details-header > span {
  color: #34794b;
  background: #e5f5e9;
}

.active-directory-map-details[data-active-directory-node-kind="group"] .active-directory-map-details-header > span {
  color: #5147a8;
  background: #eeecff;
}

.active-directory-map-details.is-disabled .active-directory-map-details-header > span {
  color: #b42318;
  background: #fee4e2;
}

.active-directory-map-details-header h2 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.active-directory-map-details-subtitle {
  display: block;
  margin-top: .15rem;
  color: #68768a;
  font-size: .76rem;
  overflow-wrap: anywhere;
}

.active-directory-map-details-status {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .8rem;
  border: 1px solid #dc3545;
  border-radius: 999px;
  padding: .25rem .55rem;
  color: #a22620;
  background: #fff0f0;
  font-size: .74rem;
}

.active-directory-map-details-list {
  display: grid;
  grid-template-columns: minmax(7rem, .75fr) minmax(0, 1.25fr);
  gap: 0;
  margin: .8rem 0 0;
}

.active-directory-map-details-list dt,
.active-directory-map-details-list dd {
  margin: 0;
  border-bottom: 1px solid #e6ebf2;
  padding: .52rem .25rem;
  overflow-wrap: anywhere;
}

.active-directory-map-details-list dt {
  color: #66748a;
  font-size: .72rem;
  font-weight: 700;
}

.active-directory-map-details-list dd {
  color: #253146;
  font-size: .77rem;
  font-weight: 600;
}

.active-directory-map-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid #dbe3ee;
  padding: .65rem 1rem;
  color: #66748a;
  background: #f8fafc;
  font-size: .73rem;
}

@media (max-width: 1180px) {
  .active-directory-map-summary {
    grid-template-columns: repeat(3, 1fr);
  }

  .active-directory-map-summary .clients-summary-item:nth-child(3n) {
    border-right: 0;
  }

  .active-directory-map-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .active-directory-map-view-switch {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .active-directory-map-company-filter,
  .active-directory-map-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .active-directory-map-company-filter > div {
    flex-basis: auto;
    max-width: none;
  }

  .active-directory-map-summary {
    grid-template-columns: 1fr 1fr;
  }

  .active-directory-map-summary .clients-summary-item {
    border-right: 1px solid #d9e2ee;
  }

  .active-directory-map-summary .clients-summary-item:nth-child(2n) {
    border-right: 0;
  }

  .active-directory-map-toolbar,
  .active-directory-map-content {
    grid-template-columns: 1fr;
  }

  .active-directory-map-view-switch {
    display: grid;
    grid-template-columns: 1fr;
  }

  .active-directory-map-details {
    position: static;
    max-height: none;
    border-top: 1px solid #dbe3ee;
    border-left: 0;
  }

  .active-directory-map-footer {
    display: grid;
  }
}
.web-control-readiness-body {
    display: grid;
    gap: 1rem;
}

.web-control-readiness-progress {
    display: grid;
    gap: .75rem;
}

.web-control-readiness-step {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    padding: .8rem .9rem;
    border: 1px solid var(--bs-border-color);
    border-left: 3px solid var(--bs-success);
    border-radius: 6px;
    background: var(--bs-body-bg);
}

.web-control-readiness-step-icon {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--bs-success) 45%, transparent);
    border-radius: 50%;
    color: var(--bs-success);
}

.web-control-readiness-step p {
    margin: .15rem 0 0;
    color: var(--bs-secondary-color);
}

.web-control-readiness-step time {
    display: block;
    margin-top: .3rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
}

.web-control-readiness-working {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-left: 1rem;
    color: var(--bs-secondary-color);
}

.web-control-readiness-report-branch {
    display: grid;
    gap: .85rem;
    margin-left: 2.75rem;
    padding-left: 1rem;
    border-left: 2px solid var(--bs-border-color);
}

.web-control-readiness-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    background: var(--bs-border-color);
}

.web-control-readiness-summary > div {
    min-width: 0;
    padding: .75rem;
    background: var(--bs-body-bg);
}

.web-control-readiness-label {
    display: block;
    margin-bottom: .3rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.web-control-readiness-summary-description {
    margin: .35rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .82rem;
}

.web-control-validity-expired {
  display: block;
  margin-top: 2px;
}

.web-control-readiness-checks {
    margin-top: 1rem;
}

.web-control-readiness-checks h3 {
    margin: 0 0 .65rem;
    font-size: 1rem;
}

.web-control-check {
    margin-bottom: .6rem;
    padding: .75rem .85rem;
    border: 1px solid var(--bs-border-color);
    border-left-width: 4px;
    border-radius: 6px;
}

.web-control-check-blocker,
.web-control-check-failed {
    border-left-color: var(--bs-danger);
}

.web-control-check-warning,
.web-control-check-notVerifiable {
    border-left-color: var(--bs-warning);
}

.web-control-check-pass {
    border-left-color: var(--bs-success);
}

.web-control-check-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.web-control-check-meta {
    margin-top: .2rem;
    color: var(--bs-secondary-color);
    font-family: var(--bs-font-monospace);
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.web-control-check-description,
.web-control-check-result {
    margin: .45rem 0 0;
}

.web-control-check-description {
    color: var(--bs-secondary-color);
}

.web-control-check-correction {
    margin: .55rem 0 0;
}

.web-control-observed-list {
    display: grid;
    grid-template-columns: minmax(10rem, .4fr) minmax(0, 1fr);
    gap: .25rem .75rem;
    margin: .55rem 0 0;
}

.web-control-observed-list dt,
.web-control-observed-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.web-control-status-success {
    border-color: var(--bs-success);
    color: var(--bs-success-text-emphasis);
}

.web-control-status-warning,
.web-control-status-pending {
    border-color: var(--bs-warning);
    color: var(--bs-warning-text-emphasis);
}

.web-control-status-danger {
    border-color: var(--bs-danger);
    color: var(--bs-danger-text-emphasis);
}

.web-control-status-neutral {
    border-color: var(--bs-secondary);
    color: var(--bs-secondary-color);
}

.web-control-readiness-history {
    margin-top: 1rem;
    padding-top: .75rem;
    border-top: 1px solid var(--bs-border-color);
}

@media (max-width: 991.98px) {
    .web-control-readiness-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .web-control-readiness-summary,
    .web-control-observed-list {
        grid-template-columns: 1fr;
    }

    .web-control-readiness-report-branch {
        margin-left: .75rem;
    }
}
.web-control-active-policy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-left: 3px solid #18864b;
}

.web-control-active-policy h2 {
  margin: .15rem 0 .35rem;
  font-size: 1.05rem;
}

@media (max-width: 720px) {
  .web-control-active-policy {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Client telemetry */
.telemetry-page-heading {
  align-items: flex-end;
  gap: 20px;
}

.telemetry-heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.telemetry-toolbar {
  position: sticky;
  top: 52px;
  z-index: 35;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 14px 18px;
  border: 1px solid #d7e0e9;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.telemetry-range-control,
.telemetry-range-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.telemetry-control-label {
  color: #475569;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.telemetry-range-summary {
  justify-content: flex-end;
  color: #52627a;
  font-size: .86rem;
}

.telemetry-range-summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.telemetry-marker-toggle,
.telemetry-zoom-toggle {
  min-width: 92px;
}

.telemetry-marker-toggle.is-active,
.telemetry-marker-toggle[aria-pressed="true"],
.telemetry-zoom-toggle.is-active,
.telemetry-zoom-toggle[aria-pressed="true"] {
  border-color: #1d4ed8;
  color: #fff;
  background: #2563eb;
}

.telemetry-marker-toggle.is-active:hover,
.telemetry-marker-toggle[aria-pressed="true"]:hover,
.telemetry-zoom-toggle.is-active:hover,
.telemetry-zoom-toggle[aria-pressed="true"]:hover {
  border-color: #1e40af;
  color: #fff;
  background: #1d4ed8;
}

.telemetry-storage-unit-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 4px;
}

.telemetry-storage-unit-control .btn {
  min-width: 42px;
}

.telemetry-live-toggle {
  min-width: 124px;
}

.telemetry-chart-stack {
  display: grid;
  gap: 14px;
}

.telemetry-chart-panel {
  overflow: hidden;
  border: 1px solid #d7e0e9;
  border-left: 3px solid var(--telemetry-series-color);
  border-radius: 6px;
  background: #fff;
}

.telemetry-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px 10px;
}

.telemetry-chart-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
}

.telemetry-chart-icon {
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid color-mix(in srgb, var(--telemetry-series-color) 32%, #d7e0e9);
  border-radius: 6px;
  color: var(--telemetry-series-color);
  background: color-mix(in srgb, var(--telemetry-series-color) 7%, #fff);
  font-size: 1.1rem;
}

.telemetry-chart-title h2 {
  margin: 0;
  color: #10243e;
  font-size: 1rem;
  font-weight: 700;
}

.telemetry-chart-title p {
  margin: 2px 0 0;
  color: #64748b;
  font-size: .82rem;
}

.telemetry-chart-last {
  display: grid;
  flex: 0 0 auto;
  text-align: right;
}

.telemetry-chart-last span {
  color: #64748b;
  font-size: .72rem;
  text-transform: uppercase;
}

.telemetry-chart-last strong {
  color: #1e293b;
  font-size: .86rem;
}

.telemetry-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0 18px 8px 66px;
  color: #52627a;
  font-size: .76rem;
}

.telemetry-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.notification-card-actions .btn {
  white-space: normal;
}

.telemetry-legend-line {
  display: inline-block;
  width: 22px;
  height: 0;
  border-top: 2px solid currentcolor;
}

.telemetry-legend-series {
  color: var(--telemetry-series-color);
}

.telemetry-legend-observation {
  border-top-style: dashed;
  color: #a16207;
}

.telemetry-legend-alert {
  border-top-width: 1px;
  border-top-style: dotted;
  color: #dc2626;
}

.telemetry-legend-area {
  display: inline-block;
  width: 22px;
  height: 10px;
  border: 1px solid #bdd9c9;
  background: #edf7f1;
}

.telemetry-legend-unavailable {
  display: inline-block;
  width: 22px;
  height: 10px;
  background-color: #e5e7eb;
  background-image: repeating-linear-gradient(135deg, transparent 0 4px, #aeb4bc 4px 5px);
}

.telemetry-legend-alert-opening {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 22px;
  height: 12px;
  color: #dc2626;
  font-size: 9px;
}

.telemetry-legend-alert-opening::after {
  position: absolute;
  top: 8px;
  bottom: -2px;
  left: 50%;
  width: 1px;
  background: #dc2626;
  content: "";
}

.telemetry-chart-surface {
  width: 100%;
  min-height: 326px;
  overflow-x: auto;
  border-top: 1px solid #edf1f5;
}

.telemetry-chart-svg {
  display: block;
  width: 100%;
  min-width: 820px;
  height: 326px;
  font-family: inherit;
}

.telemetry-plot-background {
  fill: #fbfcfe;
}

.telemetry-observation-area {
  fill: #edf7f1;
}

.telemetry-unavailable-base {
  fill: #e5e7eb;
}

.telemetry-unavailable-stripe {
  stroke: #aeb4bc;
  stroke-width: 2;
}

.telemetry-unavailable-area {
  stroke: none;
}

.telemetry-storage-alert-area {
  fill: #fff1f2;
}

.telemetry-grid-line {
  stroke: #dce4ec;
  stroke-width: 1;
  shape-rendering: crispEdges;
}

.telemetry-grid-edge {
  stroke: #b8c5d2;
}

.telemetry-grid-vertical {
  stroke: #e8edf2;
}

.telemetry-axis-label {
  fill: #64748b;
  font-size: 11px;
}

.telemetry-axis-x {
  font-size: 10px;
}

.telemetry-threshold-line {
  fill: none;
  stroke-width: 1.5;
  stroke-dasharray: 7 5;
}

.telemetry-threshold-observation {
  stroke: #a16207;
  stroke-width: 1.5;
  stroke-dasharray: 8 5;
}

.telemetry-threshold-alert {
  stroke: #dc2626;
  stroke-width: 1;
  stroke-dasharray: 2 4;
}

.telemetry-threshold-storage {
  stroke: #dc2626;
}

.telemetry-threshold-line.is-disabled {
  opacity: .42;
}

.telemetry-series-line {
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.telemetry-series-point {
  stroke: #fff;
  stroke-width: 1.4;
  cursor: help;
  vector-effect: non-scaling-stroke;
}

.telemetry-series-value {
  fill: #334155;
  font-size: 11px;
  font-weight: 700;
}

.telemetry-shared-marker {
  stroke: #334155;
  stroke-width: 1.2;
  pointer-events: none;
  vector-effect: non-scaling-stroke;
}

.telemetry-shared-marker.is-hidden {
  display: none;
}

.telemetry-shared-marker-label {
  pointer-events: none;
}

.telemetry-shared-marker-label rect {
  fill: #334155;
}

.telemetry-shared-marker-label text {
  fill: #fff;
  font-size: 11px;
  font-weight: 700;
}

.telemetry-shared-marker-label.is-hidden {
  display: none;
}

.telemetry-zoom-selection {
  fill: rgba(37, 99, 235, .16);
  stroke: #2563eb;
  stroke-width: 1;
  pointer-events: none;
}

.telemetry-zoom-selection.is-hidden {
  display: none;
}

.telemetry-alert-opening-line {
  stroke: #dc2626;
  stroke-width: 1;
  pointer-events: stroke;
  vector-effect: non-scaling-stroke;
}

.telemetry-alert-opening-icon {
  overflow: visible;
}

.telemetry-alert-opening-bell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #dc2626;
  font-size: 12px;
  cursor: help;
}

.telemetry-chart-stack.is-marker-active .telemetry-chart-surface {
  cursor: crosshair;
}

.telemetry-chart-stack.is-zoom-active .telemetry-chart-surface {
  cursor: zoom-in;
  touch-action: none;
  user-select: none;
}

.telemetry-chart-empty {
  fill: #64748b;
  font-size: 13px;
  font-weight: 600;
}

.telemetry-storage-empty {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 14px 18px;
  border: 1px dashed #bdc9d6;
  border-radius: 6px;
  color: #64748b;
  background: #fff;
}

@media (max-width: 900px) {
  .telemetry-toolbar,
  .telemetry-chart-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .telemetry-range-summary {
    justify-content: flex-start;
  }

  .telemetry-chart-last {
    text-align: left;
  }

  .telemetry-chart-legend {
    padding-left: 18px;
  }
}
.vault-resource-picker-modal .modal-dialog {
    height: calc(100dvh - 2 * var(--bs-modal-margin));
}

.vault-resource-picker-modal .modal-content {
    height: 100%;
}

.vault-resource-picker-modal .vault-resource-picker-list {
    gap: .35rem;
    align-content: start;
}

.vault-resource-picker-modal .vault-resource-picker-row {
    width: 100%;
    padding: .45rem .65rem;
    gap: .55rem;
    border-radius: 8px;
    grid-template-columns: 32px minmax(0, 1fr) auto;
}

.vault-resource-picker-modal .vault-resource-picker-icon {
    width: 32px;
    height: 32px;
}

.vault-resource-picker-modal .vault-resource-picker-main,
.vault-resource-picker-modal .vault-resource-picker-badges {
    min-width: 0;
    overflow-wrap: anywhere;
}

.vault-resource-picker-modal .vault-resource-picker-badges {
    max-width: 360px;
}

.vault-resource-picker-modal .badge {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .vault-resource-picker-modal .vault-resource-picker-row {
        grid-template-columns: 32px minmax(0, 1fr);
        row-gap: .2rem;
    }

    .vault-resource-picker-modal .vault-resource-picker-badges {
        grid-column: 2;
        max-width: 100%;
    }
}
