:root {
  --v4-blue: #315fe8;
  --v4-blue-soft: #eef3ff;
  --v4-ink: #172035;
  --v4-muted: #667085;
  --v4-line: #e7eaf0;
  --v4-page: #f6f7f9;
}

.admin-shell {
  grid-template-columns: 248px minmax(0, 1fr);
  background: var(--v4-page);
}

.admin-shell.sidebar-collapsed {
  grid-template-columns: 78px minmax(0, 1fr);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  z-index: 20;
  width: auto;
  min-height: 100vh;
  height: 100vh;
  align-items: stretch;
  gap: 0;
  padding: 23px 14px 16px;
  overflow: visible;
  color: var(--v4-ink);
  background: #fff;
  border-right: 1px solid var(--v4-line);
}

.rail-brand {
  width: auto;
  height: 50px;
  justify-content: flex-start;
  grid-template-columns: 39px minmax(0, 1fr);
  gap: 10px;
  margin: 0 8px 25px;
  padding: 0;
  background: transparent;
  color: var(--v4-ink);
  text-decoration: none;
}

.rail-brand img {
  width: 38px;
  height: 46px;
  filter: none;
  opacity: 1;
}

.rail-brand strong,
.rail-brand small {
  display: block;
}

.rail-brand strong {
  font-size: 17px;
}

.rail-brand small {
  margin-top: 2px;
  color: #98a2b3;
  font-size: 11px;
  letter-spacing: .04em;
}

.sidebar-toggle {
  position: absolute;
  top: 77px;
  right: -13px;
  z-index: 3;
  width: 26px;
  height: 26px;
  border: 1px solid var(--v4-line);
  border-radius: 50%;
  background: #fff;
  color: #748096;
  box-shadow: 0 3px 9px #17203517;
  cursor: pointer;
}

.module-nav {
  display: grid;
  align-content: start;
  gap: 5px;
  width: 100%;
  min-height: 0;
  overflow: auto;
  scrollbar-width: thin;
}

.module-nav > button,
.module-nav summary {
  width: 100%;
  min-height: 43px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #697386;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto auto;
  align-items: center;
  justify-items: stretch;
  place-items: center stretch;
  gap: 4px;
  padding: 0 10px;
  text-align: left;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.module-nav summary {
  list-style: none;
  list-style-type: none;
}

.module-nav summary::-webkit-details-marker {
  display: none;
}

.module-nav summary::marker {
  content: "";
  display: none;
}

.module-nav > button:hover,
.module-nav > button.active,
.module-nav details[open] > summary,
.module-nav summary:hover {
  background: var(--v4-blue-soft);
  color: #244fc3;
}

.module-nav .nav-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  justify-self: center;
}

.module-nav > button .nav-icon,
.module-nav summary .nav-icon {
  width: 28px;
  height: 28px;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.module-nav > button.active .nav-icon {
  background: transparent;
  color: inherit;
}

.module-nav .nav-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.module-nav .nav-label {
  position: static;
  width: auto;
  padding: 0;
  overflow: hidden;
  color: inherit;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
  pointer-events: auto;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.module-nav .nav-label::before {
  content: none;
  display: none;
}

.module-nav .nav-alert {
  position: static;
  min-width: 18px;
  height: 18px;
  border: 0;
  font-size: 11px;
  justify-self: end;
}

.nav-chevron {
  color: #98a2b3;
  font-size: 12px;
  transition: transform .18s ease;
}

.module-nav details[open] .nav-chevron {
  transform: rotate(180deg);
}

.module-subnav {
  position: relative;
  display: grid;
  gap: 2px;
  margin: 2px 0 7px 35px;
  padding-left: 10px;
}

.module-subnav::before {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 1px;
  background: var(--v4-line);
}

.module-subnav button {
  width: 100%;
  height: 38px;
  min-height: 33px;
  margin: 0;
  border: 0;
  border-radius: 6px;
  display: block;
  place-items: initial;
  background: transparent;
  color: #697386;
  padding: 0 9px;
  text-align: left;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
}

.module-subnav .inner-nav-icon,
.module-subnav small {
  display: none;
}

.module-subnav button > span:last-child,
.module-subnav strong {
  display: block;
  color: inherit;
  font: inherit;
}

.module-subnav button:hover,
.module-subnav button.active {
  background: var(--v4-blue-soft);
  color: #244fc3;
}

.sidebar-collapsed .admin-sidebar {
  padding-inline: 9px;
}

.sidebar-collapsed .rail-brand {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  margin-inline: 0;
}

.sidebar-collapsed .rail-brand strong,
.sidebar-collapsed .module-nav .nav-label,
.sidebar-collapsed .module-nav .nav-alert,
.sidebar-collapsed .nav-chevron,
.sidebar-collapsed .module-subnav {
  display: none;
}

.sidebar-collapsed .module-nav {
  gap: 7px;
  overflow: visible;
}

.sidebar-collapsed .module-nav > button,
.sidebar-collapsed .module-nav summary {
  position: relative;
  width: 44px;
  height: 44px;
  min-height: 44px;
  grid-template-columns: 1fr;
  place-items: center;
  justify-self: center;
  padding: 0;
}

.sidebar-collapsed .module-nav details {
  width: 100%;
}

.sidebar-collapsed .module-nav details[open] > summary {
  background: transparent;
}

.sidebar-collapsed .module-nav [data-tooltip]:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  top: 50%;
  left: 50px;
  z-index: 50;
  width: max-content;
  max-width: 190px;
  padding: 7px 9px;
  border-radius: 6px;
  background: var(--v4-ink);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.inner-nav {
  display: none !important;
}

.workspace {
  min-width: 0;
}

.topbar {
  height: 66px;
  display: flex;
  gap: 18px;
  padding: 0 30px;
  border-bottom: 1px solid var(--v4-line);
  background: #fff;
}

.topbar-context {
  display: grid;
  gap: 2px;
}

.topbar-context span {
  color: #98a2b3;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.topbar-context strong {
  color: #475467;
  font-size: 14px;
}

.environment-status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 18px;
  border-left: 1px solid var(--v4-line);
}

.environment-status b {
  padding: 4px 7px;
  border-radius: 10px;
  background: #e5f5ed;
  color: #14865b;
  font-size: 11px;
  letter-spacing: .08em;
}

.environment-status span {
  color: #98a2b3;
  font-size: 11px;
}

.support-notification-center {
  margin-left: auto;
}

.support-notification-btn {
  width: 39px;
  height: 39px;
  padding: 0;
  display: grid;
  place-items: center;
}

.topbar-bell,
.topbar-bell svg {
  width: 18px;
  height: 18px;
}

.topbar-bell svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.session-chip {
  min-height: 43px;
  display: flex;
  gap: 9px;
  padding: 5px 8px;
  border: 1px solid var(--v4-line);
  border-radius: 8px;
  background: #fff;
}

.session-chip > span:nth-child(2) {
  width: auto;
  height: auto;
  border-radius: 0;
  display: block;
  place-items: initial;
  background: transparent;
  color: inherit;
}

.session-chip > span:nth-child(2) strong,
.session-chip > span:nth-child(2) small {
  display: block;
}

.session-chip > span:nth-child(2) small {
  margin-top: 2px;
  color: #98a2b3;
  font-size: 10px;
}

.session-chip button {
  color: #98a2b3;
  font-size: 11px;
}

.page-head {
  padding: 28px 30px 18px;
  border: 0;
}

.content-grid {
  padding: 0 30px 34px;
}

.v4-overview-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1.15fr) minmax(420px, .85fr);
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(120deg, #172d5b, #315bb6);
  color: #fff;
  box-shadow: 0 12px 30px #18367a18;
}

.v4-hero-main {
  padding: 24px 26px;
}

.v4-hero-main > span {
  color: #9fb8ef;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.v4-hero-main > small,
.v4-hero-main > strong {
  display: block;
}

.v4-hero-money {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-top: 15px;
}

.v4-hero-money small,
.v4-hero-money strong {
  display: block;
}

.v4-hero-money small {
  color: #b9c8ea;
  font-size: 12px;
}

.v4-hero-money strong {
  margin-top: 4px;
  font-size: 30px;
  letter-spacing: -.04em;
}

.v4-hero-money em {
  color: #c8d5f1;
  font-size: 11px;
  font-style: normal;
}

.v4-hero-progress {
  height: 4px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 99px;
  background: #ffffff24;
}

.v4-hero-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #fff;
}

.v4-hero-main > small {
  margin-top: 15px;
  color: #b9c8ea;
  font-size: 12px;
}

.v4-hero-main > strong {
  margin-top: 4px;
  font-size: 30px;
  letter-spacing: -.04em;
}

.v4-hero-meta {
  display: flex;
  gap: 26px;
  margin-top: 19px;
  padding-top: 13px;
  border-top: 1px solid #ffffff27;
}

.v4-hero-meta span {
  color: #b9c8ea;
  font-size: 11px;
}

.v4-hero-meta b {
  margin-right: 3px;
  color: #fff;
  font-size: 14px;
}

.v4-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-left: 1px solid #ffffff1f;
  background: #ffffff0b;
}

.v4-hero-stats article {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  border-left: 1px solid #ffffff18;
  text-align: left;
}

.v4-hero-stats article > i {
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #ffffff12;
}

.v4-hero-stats article > i svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #dbe6ff;
  stroke-width: 1.7;
}

.v4-hero-stats small,
.v4-hero-stats strong,
.v4-hero-stats span {
  display: block;
}

.v4-hero-stats small {
  color: #b9c8ea;
  font-size: 11px;
}

.v4-hero-stats strong {
  margin: 4px 0;
  font-size: 21px;
}

.v4-hero-stats span {
  color: #9cdbbc;
  font-size: 10px;
}

.v4-operation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.panel.v4-operation-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 17px 18px;
  border-left: 3px solid var(--v4-blue);
  border-radius: 8px;
  box-shadow: none;
}

.v4-operation-card > i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--v4-blue-soft);
}

.v4-operation-card > i svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: var(--v4-blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.v4-operation-card span,
.v4-operation-card strong,
.v4-operation-card small {
  display: block;
  min-width: 0;
}

.v4-operation-card span {
  color: var(--v4-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.v4-operation-card strong {
  margin-top: 4px;
  color: var(--v4-ink);
  font-size: 19px;
  line-height: 1.2;
}

.v4-operation-card small {
  margin-top: 4px;
  overflow: hidden;
  color: #7d8799;
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panel.v4-operation-card.needs-action {
  border-left-color: #d68b20;
}

.v4-operation-card.needs-action > i {
  background: #fff4df;
}

.v4-operation-card.needs-action > i svg {
  stroke: #b56c0f;
}

.v4-focus-panel,
.v4-activity-panel {
  min-width: 0;
}

.v4-focus-list,
.v4-activity-list {
  display: grid;
}

.v4-focus-list article {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 13px 17px;
  border-top: 1px solid #eef0f4;
}

.v4-focus-list article > button {
  align-self: center;
}

.v4-focus-list i {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--v4-blue-soft);
  color: var(--v4-blue);
  font-style: normal;
  font-weight: 800;
}

.v4-focus-list i.danger {
  background: #fff0f1;
  color: #c63f4a;
}

.v4-focus-list i.warning {
  background: #fff4df;
  color: #b56d16;
}

.v4-focus-list strong,
.v4-focus-list small,
.v4-activity-list strong,
.v4-activity-list small {
  display: block;
}

.v4-focus-list strong,
.v4-activity-list strong {
  color: var(--v4-ink);
  font-size: 12px;
}

.v4-focus-list small,
.v4-activity-list small {
  margin-top: 3px;
  color: #8a93a4;
  font-size: 11px;
}

.v4-activity-list article {
  position: relative;
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 13px 17px;
  border-top: 1px solid #eef0f4;
}

.v4-activity-list article > i {
  width: 7px;
  height: 7px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--v4-blue);
}

.v4-activity-list time {
  color: #98a2b3;
  font-size: 10px;
}

.v4-package-health {
  overflow: hidden;
}

.v4-health-body {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  padding: 12px 28px 24px;
}

.v4-health-donut {
  width: 118px;
  height: 118px;
  margin: auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(
    var(--v4-blue) 0 calc(var(--temel) * 1%),
    #7658dc calc(var(--temel) * 1%) calc(var(--mini) * 1%),
    #ecaa35 calc(var(--mini) * 1%) 100%
  );
}

.v4-health-donut::before {
  content: "";
  grid-area: 1 / 1;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: #fff;
}

.v4-health-donut span {
  z-index: 1;
  grid-area: 1 / 1;
  text-align: center;
}

.v4-health-donut strong,
.v4-health-donut small {
  display: block;
}

.v4-health-donut strong {
  color: var(--v4-ink);
  font-size: 20px;
}

.v4-health-donut small {
  color: #8992a3;
  font-size: 11px;
}

.v4-health-legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v4-health-legend article {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 16px 20px;
  border-left: 1px solid var(--v4-line);
}

.v4-health-legend article > i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v4-blue);
}

.v4-health-legend article > i.mini {
  background: #7658dc;
}

.v4-health-legend article > i.pending {
  background: #ecaa35;
}

.v4-health-legend strong,
.v4-health-legend small {
  display: block;
}

.v4-health-legend strong {
  color: var(--v4-ink);
  font-size: 12px;
}

.v4-health-legend small {
  margin-top: 3px;
  color: #98a2b3;
  font-size: 10px;
}

.v4-health-legend b {
  color: var(--v4-ink);
  font-size: 20px;
}

.v4-health-legend em {
  grid-column: 3;
  color: #98a2b3;
  font-size: 10px;
  font-style: normal;
  text-align: right;
}

.panel {
  border-color: var(--v4-line);
  border-radius: 10px;
  box-shadow: none;
}

.panel-head {
  padding: 17px 18px 13px;
}

.panel-head p {
  color: #8b94a5;
  font-size: 11px;
  letter-spacing: .07em;
}

.panel-head h3 {
  font-size: 15px;
}

.panel.v4-gateway-card {
  min-width: 0;
  padding: 13px 16px;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto minmax(250px, auto) auto;
  align-items: center;
  gap: 14px;
  border-left: 4px solid var(--v4-blue);
}

.v4-gateway-title span,
.v4-gateway-title strong {
  display: block;
}

.v4-gateway-title span,
.v4-gateway-card dt {
  color: #8b94a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
}

.v4-gateway-title strong {
  margin-top: 3px;
  color: var(--v4-ink);
  font-size: 14px;
}

.v4-gateway-card dl {
  min-width: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(105px, 1fr));
  gap: 8px;
}

.v4-gateway-card dl > div {
  min-width: 0;
  padding-left: 12px;
  border-left: 1px solid var(--v4-line);
}

.v4-gateway-card dd {
  margin: 3px 0 0;
  overflow: hidden;
  color: var(--v4-ink);
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tenant-list-panel {
  padding: 0;
  overflow: hidden;
}

.tenant-list-summary {
  min-height: 76px;
  padding: 13px 16px 12px 18px;
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(620px, 2fr);
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--v4-line);
  border-left: 4px solid var(--v4-blue);
}

.tenant-list-summary p,
.tenant-list-summary h3 {
  margin: 0;
}

.tenant-list-summary p {
  color: #8b94a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
}

.tenant-list-summary h3 {
  margin-top: 3px;
  font-size: 15px;
}

.tenant-compact-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  border: 1px solid var(--v4-line);
  border-radius: 8px;
  background: #fafbfe;
}

.tenant-compact-metrics article {
  min-width: 0;
  padding: 9px 12px;
  border-left: 1px solid var(--v4-line);
}

.tenant-compact-metrics article:first-child {
  border-left: 0;
}

.tenant-compact-metrics span,
.tenant-compact-metrics strong,
.tenant-compact-metrics small {
  display: block;
}

.tenant-compact-metrics span,
.tenant-compact-metrics small {
  overflow: hidden;
  color: #818b9d;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tenant-compact-metrics strong {
  margin: 2px 0;
  color: var(--v4-ink);
  font-size: 18px;
  line-height: 1.1;
}

.tenant-list-filter-bar {
  padding: 10px 14px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 14px;
}

.tenant-list-filter-bar .filter-row {
  margin: 0;
}

.tenant-list-filter-bar .tenant-environment-filter-row {
  padding-right: 14px;
  border-right: 1px solid var(--v4-line);
}

.tenant-list-panel .tenant-list-toolbar {
  margin: 10px 14px 14px;
  padding: 10px;
}

.tenant-list-panel .table-wrap {
  border-width: 1px 0 0;
  border-radius: 0;
}

.lifecycle-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.lifecycle-summary article {
  padding: 15px 17px;
  border: 1px solid var(--v4-line);
  border-radius: 9px;
  background: #fff;
}

.lifecycle-summary small,
.lifecycle-summary strong {
  display: block;
}

.lifecycle-summary small {
  color: #8992a3;
  font-size: 12px;
}

.lifecycle-summary strong {
  margin-top: 5px;
  color: var(--v4-ink);
  font-size: 22px;
}

.lifecycle-panel {
  overflow: hidden;
}

.lifecycle-toolbar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px;
  border-bottom: 1px solid var(--v4-line);
}

.lifecycle-toolbar label {
  min-width: 280px;
  height: 37px;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid var(--v4-line);
  border-radius: 7px;
  background: #fff;
}

.lifecycle-toolbar input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
}

.lifecycle-toolbar button {
  height: 35px;
  padding: 0 10px;
  border: 1px solid var(--v4-line);
  border-radius: 7px;
  background: #fff;
  color: #657086;
  font-size: 11px;
  font-weight: 800;
}

.lifecycle-toolbar button.active {
  border-color: #d7e1ff;
  background: var(--v4-blue-soft);
  color: var(--v4-blue);
}

.lifecycle-legend {
  display: flex;
  gap: 20px;
  padding: 10px 15px;
  border-bottom: 1px solid var(--v4-line);
  background: #fafbfc;
}

.lifecycle-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #7d8797;
  font-size: 10px;
}

.lifecycle-legend i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cbd1db;
}

.lifecycle-legend i.complete {
  background: #14865b;
}

.lifecycle-legend i.current {
  background: var(--v4-blue);
}

.lifecycle-legend i.error {
  background: #c63f4a;
}

.lifecycle-cards {
  display: grid;
}

.lifecycle-card {
  padding: 16px 18px;
  border-bottom: 1px solid var(--v4-line);
}

.lifecycle-card:last-child {
  border-bottom: 0;
}

.lifecycle-card-head {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 210px auto;
  align-items: center;
  gap: 16px;
  margin-bottom: 15px;
}

.lifecycle-tenant {
  display: flex;
  align-items: center;
  gap: 9px;
}

.lifecycle-tenant > span {
  width: 31px;
  height: 31px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #eff3f9;
  color: #5d6c84;
  font-size: 12px;
  font-weight: 800;
}

.lifecycle-tenant strong,
.lifecycle-tenant small {
  display: block;
}

.lifecycle-tenant strong {
  color: var(--v4-ink);
  font-size: 10px;
}

.lifecycle-tenant small {
  margin-top: 3px;
  color: #98a2b3;
  font-size: 11px;
}

.lifecycle-current {
  padding-left: 10px;
  border-left: 2px solid var(--v4-blue);
}

.lifecycle-current span,
.lifecycle-current strong,
.lifecycle-current small {
  display: block;
}

.lifecycle-current span {
  color: var(--v4-blue);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.lifecycle-current strong {
  margin-top: 3px;
  color: var(--v4-ink);
  font-size: 10px;
}

.lifecycle-current small {
  margin-top: 2px;
  color: #98a2b3;
  font-size: 10px;
}

.lifecycle-current.action {
  border-color: #c63f4a;
}

.lifecycle-current.action span {
  color: #c63f4a;
}

.lifecycle-current.done {
  border-color: #14865b;
}

.lifecycle-current.done span {
  color: #14865b;
}

.lifecycle-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(100px, 1fr));
}

.lifecycle-track::before {
  content: "";
  position: absolute;
  top: 13px;
  right: 7%;
  left: 7%;
  height: 2px;
  background: #e5e8ee;
}

.lifecycle-stage {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
}

.lifecycle-stage i {
  width: 27px;
  height: 27px;
  border: 2px solid #dce1e9;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: #9aa4b3;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.lifecycle-stage span,
.lifecycle-stage small {
  display: block;
}

.lifecycle-stage span {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
}

.lifecycle-stage small {
  margin-top: 3px;
  color: #98a2b3;
  font-size: 10px;
  font-weight: 600;
}

.lifecycle-stage.complete i {
  border-color: #14865b;
  background: #14865b;
  color: #fff;
}

.lifecycle-stage.current i {
  border-color: var(--v4-blue);
  background: var(--v4-blue);
  color: #fff;
  box-shadow: 0 0 0 4px #e7edff;
}

.lifecycle-stage.error i {
  border-color: #c63f4a;
  background: #c63f4a;
  color: #fff;
  box-shadow: 0 0 0 4px #fff0f1;
}

.lifecycle-next {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 13px;
  padding: 9px 11px;
  border-radius: 7px;
  background: #f5f7fa;
  color: #596477;
}

.lifecycle-next span {
  font-size: 10px;
  font-weight: 800;
}

.lifecycle-next strong {
  font-size: 11px;
}

.admin-shell.has-inner-menu {
  grid-template-columns: 248px minmax(0, 1fr);
}

.admin-shell.sidebar-collapsed.has-inner-menu {
  grid-template-columns: 78px minmax(0, 1fr);
}

@media (max-width: 1100px) {
  .tenant-list-summary {
    grid-template-columns: 1fr;
  }

  .tenant-compact-metrics {
    grid-template-columns: repeat(4, minmax(105px, 1fr));
  }

  .admin-shell,
  .admin-shell.has-inner-menu {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .admin-sidebar {
    padding-inline: 9px;
  }

  .rail-brand {
    grid-template-columns: 1fr;
    justify-items: center;
    margin-inline: 0;
  }

  .rail-brand strong,
  .module-nav .nav-label,
  .module-nav .nav-alert,
  .nav-chevron,
  .module-subnav,
  .sidebar-toggle {
    display: none;
  }

  .module-nav > button,
  .module-nav summary {
    width: 44px;
    height: 44px;
    min-height: 44px;
    grid-template-columns: 1fr;
    place-items: center;
    justify-self: center;
    padding: 0;
  }

  .module-nav details {
    width: 100%;
  }

  .environment-status span {
    display: none;
  }

  .lifecycle-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v4-overview-hero {
    grid-template-columns: 1fr;
  }

  .v4-operation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v4-hero-stats {
    border-top: 1px solid #ffffff1f;
    border-left: 0;
  }

  .v4-health-body {
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 12px;
    padding-inline: 18px;
  }

  .v4-health-legend article {
    padding-inline: 12px;
  }

  .lifecycle-toolbar {
    flex-wrap: wrap;
  }

  .lifecycle-toolbar label {
    flex-basis: 100%;
  }

  .lifecycle-card {
    overflow-x: auto;
  }

  .lifecycle-card-head,
  .lifecycle-track,
  .lifecycle-next {
    min-width: 840px;
  }
}

@media (max-width: 680px) {
  .v4-operation-grid {
    grid-template-columns: 1fr;
  }

  .panel.v4-operation-card {
    padding: 14px;
  }

  .v4-operation-card small {
    white-space: normal;
  }

  .tenant-list-summary {
    padding: 13px 12px;
  }

  .tenant-compact-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tenant-compact-metrics article:nth-child(3) {
    border-left: 0;
  }

  .tenant-compact-metrics article:nth-child(n + 3) {
    border-top: 1px solid var(--v4-line);
  }

  .tenant-list-filter-bar {
    align-items: stretch;
  }

  .tenant-list-filter-bar .tenant-environment-filter-row {
    padding-right: 0;
    border-right: 0;
  }

  .admin-shell,
  .admin-shell.has-inner-menu,
  .admin-shell.sidebar-collapsed {
    display: block;
  }

  .admin-sidebar {
    position: fixed;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    width: 100%;
    min-height: 60px;
    height: 60px;
    padding: 7px 8px;
    border-top: 1px solid var(--v4-line);
    border-right: 0;
  }

  .rail-brand,
  .module-nav details:nth-of-type(n+3),
  .module-nav > button:nth-of-type(n+3) {
    display: none;
  }

  .module-nav {
    grid-template-columns: repeat(4, 1fr);
    overflow: visible;
  }

  .module-nav details,
  .module-nav > button {
    width: 100%;
  }

  .module-nav details summary,
  .module-nav > button {
    width: 100%;
  }

  .topbar {
    height: 58px;
    padding: 0 13px;
  }

  .environment-status,
  .topbar-context span,
  .session-chip > span:nth-child(2),
  .session-chip button {
    display: none;
  }

  .session-chip {
    min-height: 38px;
    display: flex;
    padding: 4px;
  }

  .page-head {
    padding: 20px 13px 14px;
  }

  .content-grid {
    padding: 0 13px 78px;
  }

  .v4-hero-main {
    padding: 20px;
  }

  .v4-hero-main > strong {
    font-size: 25px;
  }

  .v4-hero-stats {
    grid-template-columns: 1fr 1fr;
  }

  .v4-hero-stats article:last-child {
    grid-column: 1 / -1;
    border-top: 1px solid #ffffff18;
  }

  .panel.v4-gateway-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .v4-gateway-card dl {
    grid-column: 1 / -1;
    width: 100%;
  }

  .v4-gateway-card > button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .v4-health-body {
    grid-template-columns: 1fr;
  }

  .v4-health-legend {
    grid-template-columns: 1fr;
  }

  .v4-health-legend article {
    border-top: 1px solid var(--v4-line);
    border-left: 0;
  }

  .lifecycle-toolbar label {
    min-width: 0;
  }

  .lifecycle-toolbar button {
    flex: 1;
  }
}

/* Tenant workspace — supplied compact HTML reference, scoped to these two views. */
.tenant-list-panel,
.tenant-detail-workspace { min-width: 0; box-shadow: none; }
.tenant-list-panel { padding: 16px; }
.tenant-list-panel .tenant-list-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 14px; padding: 0; border: 0; }
.tenant-list-panel .tenant-list-summary > div:first-child { display: none; }
.tenant-list-panel .tenant-compact-metrics,
.tenant-identity-metrics {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0; width: 100%; border: 1px solid #dfe5ee; border-radius: 8px;
  background: #fff; overflow: hidden;
}
.tenant-list-panel .tenant-compact-metrics article,
.tenant-identity-metrics article {
  display: grid; align-content: start; gap: 5px; min-width: 0;
  padding: 13px 16px; border: 0; border-right: 1px solid #e5eaf1;
  border-radius: 0; background: #fff;
}
.tenant-list-panel .tenant-compact-metrics article:last-child,
.tenant-identity-metrics article:last-child { border-right: 0; }
.tenant-list-panel .tenant-compact-metrics span,
.tenant-identity-metrics span { color: #7b8798; font-size: 10px; font-weight: 700; }
.tenant-list-panel .tenant-compact-metrics strong { font-size: 22px; color: #172033; line-height: 1.2; }
.tenant-list-panel .tenant-compact-metrics small { color: #7b8798; font-size: 10px; }
.tenant-identity-metrics strong { color: #172033; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.tenant-list-panel .tenant-list-toolbar {
  grid-template-columns: minmax(0, 1fr) minmax(170px, 230px) auto;
  gap: 12px; padding: 12px; margin: 0; border-radius: 8px 8px 0 0;
  border-bottom: 0; background: #fff;
}
.tenant-list-panel .tenant-list-toolbar label { font-size: 10px; }
.tenant-list-panel .tenant-list-toolbar input,
.tenant-list-panel .tenant-list-toolbar select { min-height: 36px; font-size: 12px; border-radius: 6px; }
.tenant-list-panel .tenant-list-result { min-height: 36px; font-size: 11px; }
.tenant-list-panel .tenant-list-result strong { font-size: 14px; }
.tenant-list-panel .tenant-list-filter-bar { border: 1px solid #dfe5ee; border-top: 0; padding: 0 12px 12px; border-radius: 0 0 8px 8px; margin-bottom: 14px; }
.tenant-list-panel .filter-row { margin: 0; gap: 6px; }
.tenant-list-panel .filter-row button { min-height: 30px; font-size: 11px; padding: 0 10px; }
.tenant-list-panel > .table-wrap { border: 1px solid #dfe5ee; border-radius: 8px; overflow-x: auto; }
.tenant-list-panel table { min-width: 720px; }
.tenant-list-panel th { background: #f7f9fc; font-size: 10px; padding: 11px 12px; }
.tenant-list-panel td { padding: 12px; font-size: 12px; }
.tenant-list-panel td .subtext { margin-top: 4px; font-size: 10px; }
.tenant-list-panel .badge { font-size: 10px; padding: 5px 8px; }
.tenant-list-panel .tenant-row-actions { gap: 6px; }
.tenant-list-panel .tenant-row-actions .inline-btn,
.tenant-list-panel .tenant-row-actions summary { font-size: 10px; min-height: 28px; padding: 5px 8px; }
.tenant-detail-identity { border-left: 4px solid #2563eb; background: #fff; box-shadow: none; }
.tenant-detail-identity .tenant-back-button { width: 40px; height: 40px; padding: 0; font-size: 20px; }
.tenant-detail-identity h2 { font-size: 20px; overflow-wrap: anywhere; }
.tenant-detail-identity > div:first-child > span { font-size: 11px; overflow-wrap: anywhere; }
.tenant-detail-workspace { padding: 0; border: 0; background: transparent; gap: 12px; }
.tenant-main-groups {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px; padding: 6px; border: 1px solid #dfe5ee; border-radius: 8px; background: #fff;
}
.tenant-main-groups button {
  min-width: 0; min-height: 40px; padding: 8px; border: 1px solid transparent;
  border-radius: 6px; background: transparent; color: #67758a; font: inherit;
  font-size: 11px; font-weight: 800; cursor: pointer;
}
.tenant-main-groups button.active { border-color: #c3d4ff; background: #edf3ff; color: #2563eb; }
.tenant-main-groups button:hover { background: #f3f6fc; }
.tenant-main-groups button:focus-visible,
.tenant-detail-tabs button:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.tenant-detail-workspace .tenant-detail-layout { grid-template-columns: 188px minmax(0, 1fr); gap: 12px; }
.tenant-detail-workspace .tenant-detail-tabs { background: #fff; padding: 10px; gap: 0; }
.tenant-detail-workspace .tenant-tab-group > span { font-size: 9px; padding: 8px 8px 10px; }
.tenant-detail-workspace .tenant-detail-tabs button { min-height: 36px; padding: 8px; font-size: 11px; }
.tenant-detail-workspace .tenant-detail-tabs button.active { background: #edf3ff; box-shadow: inset 3px 0 #2563eb; }
.tenant-detail-workspace .tenant-detail-content { padding: 14px; background: #fff; border: 1px solid #dfe5ee; border-radius: 8px; overflow-wrap: anywhere; }
.tenant-detail-content .tenant-overview-card,
.tenant-detail-content .tenant-company-profile-panel,
.tenant-detail-content > .tenant-technical-details { padding: 0; border: 0; }
.tenant-detail-content .panel-head h3 { font-size: 15px; }
.tenant-detail-content .panel-head p { font-size: 9px; }
.tenant-detail-content .subtext,
.tenant-detail-content .form-hint { font-size: 11px; line-height: 1.6; }
.tenant-detail-content .detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; border: 0; }
.tenant-detail-content .detail-grid > div {
  display: grid; align-content: start; justify-content: normal; align-items: start;
  gap: 5px; min-width: 0; padding: 10px; border: 1px solid #e5eaf1; border-radius: 6px; background: #f8faff;
}
.tenant-detail-content .detail-grid > div > span { font-size: 10px; color: #7b8798; }
.tenant-detail-content .detail-grid > div > strong { font-size: 12px; text-align: left; overflow-wrap: anywhere; }
.tenant-detail-content .tenant-subscription-summary-list .tenant-subscription-modules { grid-column: auto; }
.tenant-detail-content .metric-card { padding: 12px; min-width: 0; }
.tenant-detail-content .metric-card strong { font-size: 23px; overflow-wrap: anywhere; }
.tenant-detail-content .metric-card span,
.tenant-detail-content .metric-card small { font-size: 10px; line-height: 1.5; }
.tenant-detail-content .table-wrap { max-width: 100%; min-width: 0; overflow-x: auto; }
@media (max-width: 1000px) {
  .tenant-list-panel .tenant-list-toolbar { grid-template-columns: minmax(0, 1fr) minmax(150px, .6fr); }
  .tenant-list-panel .tenant-list-result { grid-column: 1 / -1; justify-content: flex-start; }
  .tenant-detail-content .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .tenant-list-panel { padding: 12px; }
  .tenant-list-panel .tenant-compact-metrics,
  .tenant-identity-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tenant-list-panel .tenant-compact-metrics article,
  .tenant-identity-metrics article { padding: 12px; border-bottom: 1px solid #e5eaf1; }
  .tenant-list-panel .tenant-list-toolbar { grid-template-columns: minmax(0, 1fr); }
  .tenant-main-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tenant-main-groups button { min-height: 44px; }
  .tenant-detail-workspace .tenant-detail-layout { grid-template-columns: minmax(0, 1fr); }
  .tenant-detail-workspace .tenant-detail-tabs { position: static; display: block; min-width: 0; overflow-x: auto; }
  .tenant-detail-workspace .tenant-tab-group { display: flex; width: max-content; }
  .tenant-detail-workspace .tenant-tab-group > span { display: none; }
  .tenant-detail-workspace .tenant-detail-tabs button { width: auto; white-space: nowrap; min-height: 44px; }
  .tenant-detail-workspace .tenant-detail-content { padding: 12px; }
  .tenant-detail-content .detail-grid { grid-template-columns: minmax(0, 1fr); }
  .tenant-detail-content .compact-list-row { grid-template-columns: minmax(0, 1fr); }
}
