/* Calm, data-first platform dashboard inspired by contemporary SaaS control planes. */
:root {
  --green: #2563eb;
  --green-2: #1d4ed8;
  --ink: #111827;
  --muted: #667085;
  --line: #e2e7ef;
  --soft: #eff6ff;
}

body { background: #f6f8fb; color: var(--ink); }
button { border-radius: 9px; background: var(--green); font-weight: 700; }
button:hover { filter: none; background: #1d4ed8; }
.secondary { border: 1px solid var(--line); background: #fff; color: #344054; }
.secondary:hover { border-color: #b8c4d6; background: #f8fafc; color: var(--ink); }
.ghost { background: transparent; color: #475467; }
.ghost:hover { background: #f2f4f7; color: var(--ink); }
.card {
  border-color: var(--line);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .035);
}
.eyebrow { color: var(--green-2); font-size: 9px; letter-spacing: .1em; }

.topbar {
  height: 64px;
  padding: 0 24px;
  border-bottom-color: var(--line);
}
.brand-mark {
  border-radius: 10px;
  background: var(--green);
  box-shadow: none;
}
.brand-mark.small { width: 34px; height: 34px; border-radius: 10px; }
.brand strong { color: var(--ink); font-size: 13px; }
.brand small { color: var(--muted); font-size: 10px; }
.environment {
  border-color: var(--line);
  background: #f8fafc;
  color: #475467;
  font-size: 11px;
}
.environment i { background: #12b76a; }
.account > span:first-child { color: #344054; font-size: 12px; }
.role { background: #f2f4f7; color: #475467; }

.workspace-shell {
  grid-template-columns: 236px minmax(0, 1fr);
  min-height: calc(100vh - 64px);
}
.sidebar {
  padding: 24px 14px 18px;
  border-right-color: var(--line);
}
.sidebar nav { gap: 4px; }
.sidebar a {
  padding: 10px 12px;
  border-radius: 8px;
  color: #475467;
  font-size: 12px;
}
.sidebar a.active, .sidebar a:hover { background: var(--soft); color: var(--green-2); }
.sidebar-note {
  border: 1px solid #e7ebf1;
  border-radius: 9px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
}
.sidebar-note span { color: #344054; }

.content { max-width: 1540px; padding: 32px 36px 64px; }
.page-head { align-items: center; }
.page-head h1 {
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 25px;
  font-weight: 720;
  letter-spacing: -.025em;
}
.page-head p:last-child { color: var(--muted); font-size: 12px; }
.head-actions { gap: 9px; }
.head-actions button { padding: 9px 13px; font-size: 12px; }
.notice { margin: 9px 0 2px; font-size: 12px; }

.metrics { gap: 12px; margin: 16px 0; }
.metric {
  min-height: 116px;
  padding: 17px 18px;
  border-radius: 11px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
.metric small { color: #475467; font-size: 10px; font-weight: 650; }
.metric strong {
  margin-top: 14px;
  color: var(--ink);
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -.035em;
}
.metric .metric-context { margin-top: 4px; color: var(--muted); font-size: 10px; }

.portfolio-card { border-radius: 12px; }
.portfolio-toolbar { padding: 18px 20px; }
.portfolio-toolbar h2 { color: var(--ink); font-size: 16px; }
.portfolio-toolbar p { font-size: 11px; }
.filters { gap: 10px; }
.filters label {
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .05em;
}
.filters input, .filters select {
  min-height: 38px;
  border-color: #d6dce5;
  border-radius: 8px;
  color: #344054;
  font-size: 11px;
}
.filters input { width: 250px; }
.table-head {
  background: #f8fafc;
  color: #667085;
  font-size: 9px;
  letter-spacing: .06em;
}
.table-head, .tenant-row { padding: 13px 20px; }
.tenant-row { border-top-color: #edf0f4; font-size: 12px; }
.tenant-row:hover, .tenant-row.selected { background: #f8fafc; }
.tenant-avatar { border-radius: 8px; background: var(--soft); color: var(--green-2); }
.tenant-main small, .tenant-cell small { color: var(--muted); font-size: 10px; }
.status, .readiness, .chip { padding: 4px 7px; font-size: 9px; }
.status-BETA, .status-SANDBOX, .chip-progress { background: #eff6ff; color: #1d4ed8; }

.detail-empty { margin-top: 16px; padding: 46px; }
.empty-icon { border-radius: 10px; background: var(--soft); color: var(--green); }
.tenant-detail { margin-top: 16px; }
.detail-hero { padding: 21px 22px; }
.tenant-brand { border-radius: 10px; }
.tabbar button.active { color: var(--green); border-bottom-color: var(--green); }
.panel-card, .step-row, .domain-row, .artifact-row, .feature-row, .lifecycle-card { border-radius: 9px; }
.progress-track::-webkit-progress-value { background: var(--green); }
.progress-track::-moz-progress-bar { background: var(--green); }
.toggle.on { background: var(--green); }
.feature-row-pending{border-color:#bfd0f3;background:#f7f9ff}
.feature-pending,.approval-awaiting{display:grid;justify-items:end;gap:3px;text-align:right}
.feature-pending small,.approval-awaiting small{color:var(--muted);font-size:10px}
.approval-awaiting strong{color:#315c9a;font-size:12px}
.timeline-marker i { background: var(--green); }

@media (max-width: 1100px) {
  .workspace-shell { grid-template-columns: 72px minmax(0, 1fr); }
  .content { padding: 28px 24px 56px; }
}

@media (max-width: 760px) {
  .topbar { height: auto; padding: 12px 16px; }
  .workspace-shell { display: block; }
  .content { padding: 22px 14px 48px; }
  .page-head { align-items: flex-start; }
  .page-head h1 { font-size: 23px; }
  .metrics { grid-template-columns: 1fr 1fr; gap: 10px; }
  .metric { min-height: 104px; padding: 15px; }
}

/* Second pass: stronger shell hierarchy and portfolio detail */
:root {
  --green: #155eef;
  --green-2: #0b4dd8;
  --ink: #101828;
  --muted: #667085;
  --line: #e4e8ef;
  --soft: #eef4ff;
}

.topbar {
  height: 70px;
  grid-template-columns: 232px minmax(220px, 1fr) auto;
  padding: 0;
}
.brand {
  height: 100%;
  padding: 0 20px;
  border-right: 1px solid var(--line);
}
.brand-mark.small {
  width: 34px;
  height: 34px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .12);
}
.brand strong { font-size: 13px; }
.brand small { margin-top: 2px; color: #98a2b3; font-size: 9px; }
.environment { justify-self: start; margin-left: 22px; }
.account {
  gap: 10px;
  padding-right: 20px;
}
.account-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #eaf0ff;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
}
.account-copy { display: grid; gap: 2px; min-width: 100px; }
.account-copy strong { color: #344054; font-size: 10px; }
.account-copy .role {
  padding: 0;
  background: transparent;
  color: #98a2b3;
  font-size: 8px;
}
.account .ghost { padding: 7px 10px; font-size: 9px; }

.workspace-shell {
  grid-template-columns: 232px minmax(0, 1fr);
  min-height: calc(100vh - 70px);
}
.sidebar { padding: 18px 12px 16px; }
.sidebar nav { gap: 2px; }
.sidebar-label {
  margin: 3px 10px 7px;
  color: #98a2b3;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.sidebar a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 8px 10px;
  text-align: left;
}
.sidebar a:before,
.sidebar a[data-scroll]:before { content: none !important; }
.sidebar a svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sidebar a span { font-size: 11px; font-weight: 640; }
.sidebar a.active { box-shadow: inset 3px 0 0 var(--green); }
.sidebar-note { padding: 13px; font-size: 9px; }

.content { max-width: 1460px; padding: 30px 34px 58px; }
.page-head h1 { font-size: 24px; }
.page-head p:last-child { font-size: 11px; }
.head-actions button { min-height: 34px; padding: 8px 12px; font-size: 10px; }

.metrics { gap: 14px; margin: 16px 0 18px; }
.metric {
  position: relative;
  min-height: 126px;
  padding: 18px 19px 17px;
  overflow: hidden;
}
.metric-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.metric-heading small { color: #344054; font-size: 11px; font-weight: 680; }
.metric-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 8px;
  background: var(--soft);
}
.metric-icon:before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: var(--green);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.metric-icon-portfolio:before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h7v7H3V3Zm11 0h7v7h-7V3ZM3 14h7v7H3v-7Zm11 0h7v7h-7v-7Z'/%3E%3C/svg%3E");
}
.metric-icon-onboarding:before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 10 10H12V2Zm2 0v8h8A10 10 0 0 0 14 2Z'/%3E%3C/svg%3E");
}
.metric-icon-production:before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9 16.2-4.2-4.2L3.4 13.4 9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E");
}
.metric-icon-suspended:before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 5h2v7h-2V7Zm0 9h2v2h-2v-2Z'/%3E%3C/svg%3E");
}
.metric > strong {
  margin-top: 14px;
  font-size: 29px;
}
.metric .metric-context {
  display: block;
  min-height: 28px;
  margin-top: 5px;
  font-size: 10px;
}
.metric-attention:after {
  content: "";
  position: absolute;
  top: 21px;
  right: 56px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f04438;
}

.portfolio-card { overflow: hidden; }
.portfolio-toolbar { min-height: 76px; padding: 17px 20px; }
.portfolio-toolbar h2 { font-size: 15px; }
.portfolio-toolbar p { margin-top: 3px; font-size: 10px; }
.filters label { gap: 5px; }
.filters input,
.filters select {
  min-height: 36px;
  padding: 9px 11px;
  background: #fbfcfe;
}
.table-head,
.tenant-row {
  grid-template-columns: minmax(235px, 1.65fr) .9fr .85fr .85fr 28px;
  padding: 13px 20px;
}
.table-head {
  min-height: 38px;
  border-top: 1px solid #edf0f4;
}
.tenant-row {
  min-height: 64px;
  border-top: 1px solid #edf0f4;
}
.tenant-row:hover { background: #fafbfc; }
.tenant-row.selected {
  background: #f4f7ff;
  box-shadow: inset 3px 0 0 var(--green);
}
.tenant-avatar {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  font-size: 11px;
  font-style: normal;
}
.tenant-main strong { color: #1d2939; font-size: 11px; }
.tenant-main small,
.tenant-cell small { margin-top: 2px; font-size: 9px; }
.tenant-cell strong { color: #344054; font-size: 10px; }
.open-arrow { color: #98a2b3; }

.detail-empty {
  margin-top: 18px;
  padding: 42px;
  background: rgba(255, 255, 255, .75);
  box-shadow: none;
}
.detail-empty h2 { font-size: 16px; }
.detail-empty p { max-width: 520px; margin: 0 auto; font-size: 11px; }
.empty-icon { width: 42px; height: 42px; font-size: 18px; }

@media (max-width: 1080px) and (min-width: 761px) {
  .topbar { grid-template-columns: 210px minmax(180px, 1fr) auto; }
  .brand { padding-inline: 16px; }
  .account { padding-right: 14px; }
  .account-copy { display: none; }
  .workspace-shell { grid-template-columns: 210px minmax(0, 1fr); }
  .sidebar { padding-inline: 10px; }
  .content { padding-inline: 28px; }
  .metrics { grid-template-columns: repeat(4, minmax(145px, 1fr)); overflow-x: auto; }
  .table-head,
  .tenant-row { grid-template-columns: minmax(210px, 1.5fr) .8fr .8fr 28px; }
  .table-head > :nth-child(4),
  .tenant-row > :nth-child(4) { display: none; }
}

@media (max-width: 760px) {
  .topbar {
    display: flex;
    min-height: 60px;
    padding: 0 14px;
  }
  .brand { height: 60px; padding: 0; border: 0; }
  .environment { display: none; }
  .account { margin-left: auto; padding: 0; }
  .account .account-avatar { display: grid; }
  .account-copy { display: none; }
  .workspace-shell { display: block; }
  .content { padding: 22px 14px 46px; }
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .metric { min-height: 112px; padding: 14px; }
  .metric-heading small { font-size: 9px; }
  .metric > strong { margin-top: 12px; font-size: 25px; }
  .metric .metric-context { font-size: 8px; }
  .portfolio-toolbar { display: grid; }
  .filters { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .filters input { width: 100%; }
}

/* Portfolio parity pass: prioritize launch work and keep controls scannable. */
.page-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.platform-signals {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.signal {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid #e4e7ec;
  border-radius: 999px;
  background: #fff;
  color: #475467;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}
.signal i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #98a2b3;
}
.signal-connected {
  border-color: #b7ebcd;
  background: #ecfdf3;
  color: #027a48;
}
.signal-connected i { background: #12b76a; }
.signal-attention {
  border-color: #fecdca;
  background: #fef3f2;
  color: #b42318;
}
.signal-attention i { background: #f04438; }

button.metric {
  width: 100%;
  color: var(--ink);
  text-align: left;
  appearance: none;
  cursor: pointer;
}
button.metric:hover {
  border-color: #c7d7fe;
  background: #fff;
  box-shadow: 0 5px 18px rgba(16, 24, 40, .08);
  transform: translateY(-1px);
}
button.metric.active {
  border-color: #a9c2ff;
  background: #f8faff;
  box-shadow: inset 0 0 0 1px #d6e1ff, 0 5px 18px rgba(16, 24, 40, .06);
}
button.metric:focus-visible {
  outline: 3px solid rgba(21, 94, 239, .18);
  outline-offset: 2px;
}
.portfolio-count {
  margin-top: 7px;
  color: #98a2b3;
  font-size: 9px;
  font-weight: 650;
}
.tenant-cell {
  font-style: normal;
}
.table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 11px 20px;
  border-top: 1px solid #edf0f4;
  background: #fbfcfe;
  color: #667085;
  font-size: 9px;
  font-weight: 650;
}
.table-footer button {
  min-height: 32px;
  padding: 7px 11px;
  font-size: 9px;
}
.tenant-detail {
  scroll-margin-top: 18px;
  overflow: hidden;
}
#portfolio,
#activity {
  scroll-margin-top: 82px;
}
.tabbar {
  scrollbar-width: thin;
}
.tabbar button {
  white-space: nowrap;
}

@media (max-width: 1220px) {
  .page-head { align-items: flex-start; }
  .page-controls {
    align-items: flex-end;
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .page-controls {
    width: 100%;
    align-items: stretch;
    gap: 10px;
  }
  .platform-signals { justify-content: flex-start; }
  .head-actions { justify-content: flex-end; }
  .signal { font-size: 7px; }
  .table-footer { padding-inline: 14px; }
}
.approval-control-card{margin-bottom:24px}.approval-control-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 0}.approval-control-row>div{max-width:760px}.approval-control-row strong{display:block;margin-bottom:6px}.approval-control-row p{margin:0;line-height:1.55}.approval-control-row button{flex:0 0 auto}@media(max-width:760px){.approval-control-row{align-items:stretch;flex-direction:column}.approval-control-row button{width:100%}}
.access-policy-grid{margin-bottom:24px}.access-policy-grid .lifecycle-card{margin-bottom:0}.staff-verification-card .assurance-note{margin-bottom:0}

/* Operator provisioning workspace */
.form-divider {
  margin: 12px 0 2px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.form-divider h3 {
  margin: 0 0 4px;
  color: #101828;
  font-size: 15px;
}
.form-divider p:last-child { margin-bottom: 0; font-size: 11px; }
.modal label.provisioning-confirmation {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 12px 0 2px;
  padding: 14px;
  border: 1px solid #c7d7fe;
  border-radius: 10px;
  background: #f8faff;
  color: #344054;
  cursor: pointer;
}
.provisioning-confirmation input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--green);
  flex: 0 0 auto;
}
.provisioning-confirmation span { display: grid; gap: 3px; }
.provisioning-confirmation strong { color: #101828; font-size: 12px; }
.provisioning-confirmation small { color: #667085; font-size: 10px; line-height: 1.45; }

.provisioning-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.provisioning-head h3 {
  margin: 0 0 5px;
  color: #101828;
  font-size: 20px;
}
.provisioning-head p { max-width: 690px; margin: 0; line-height: 1.55; }
.provisioning-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}
.provisioning-progress { margin-bottom: 18px; }
.provisioning-progress .progress-track { margin-bottom: 9px; }
.provisioning-progress > p { margin: 0; font-size: 10px; }
.provisioning-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
  align-items: start;
  gap: 18px;
}
.provisioning-side { display: grid; gap: 18px; }
.provisioning-steps {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
}
.provisioning-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  padding: 0 0 19px;
}
.provisioning-steps li::before {
  content: "";
  position: absolute;
  top: 34px;
  bottom: 0;
  left: 16px;
  width: 1px;
  background: #e4e7ec;
}
.provisioning-steps li:last-child { padding-bottom: 0; }
.provisioning-steps li:last-child::before { display: none; }
.provisioning-step-number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  background: #fff;
  color: #667085;
  font-size: 11px;
  font-weight: 850;
}
.provisioning-steps li.complete .provisioning-step-number {
  border-color: #a6d8bd;
  background: #ecfdf3;
  color: #067647;
}
.provisioning-steps li.progress .provisioning-step-number {
  border-color: #a9c2ff;
  background: #eff6ff;
  color: #1d4ed8;
}
.provisioning-steps li.blocked .provisioning-step-number {
  border-color: #f4b8b1;
  background: #fff1f0;
  color: #b42318;
}
.provisioning-steps li > div { display: grid; justify-items: start; gap: 4px; padding-top: 1px; }
.provisioning-steps strong { color: #1d2939; font-size: 12px; }
.provisioning-steps p { margin: 0; color: #667085; font-size: 10px; line-height: 1.5; }
.provisioning-steps small { color: #98a2b3; font-size: 9px; }
.provisioning-steps .step-attention { color: #b42318; font-weight: 700; }
.provisioning-steps .chip { padding: 3px 6px; font-size: 8px; }
.provisioning-urls { display: grid; gap: 8px; }
.provisioning-urls a,
.provisioning-urls > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  border: 1px solid #e4e7ec;
  border-radius: 9px;
  background: #fbfcfe;
  padding: 11px 12px;
  color: #344054;
  text-decoration: none;
}
.provisioning-urls a:hover { border-color: #a9c2ff; background: #f8faff; }
.provisioning-urls span { display: grid; min-width: 0; gap: 2px; }
.provisioning-urls small { color: #667085; font-size: 9px; }
.provisioning-urls strong {
  overflow: hidden;
  color: #1d2939;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.provisioning-urls i { color: var(--green-2); font-style: normal; }
.administrator-bootstrap .administrator-email {
  overflow-wrap: anywhere;
  color: #475467;
  font-size: 11px;
}
.administrator-bootstrap dl { display: grid; gap: 8px; margin: 14px 0 0; }
.administrator-bootstrap dl div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid #eaecf0;
}
.administrator-bootstrap dt { color: #667085; font-size: 9px; }
.administrator-bootstrap dd { margin: 0; color: #1d2939; font-size: 10px; font-weight: 750; text-align: right; }
.provisioning-warning { margin-bottom: 14px; border-color: #fedf89; background: #fffaeb; color: #7a2e0e; }

@media (max-width: 960px) {
  .provisioning-grid { grid-template-columns: 1fr; }
  .provisioning-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .provisioning-head { align-items: stretch; flex-direction: column; }
  .provisioning-actions { justify-content: flex-start; }
  .provisioning-actions button { flex: 1; }
  .provisioning-side { grid-template-columns: 1fr; }
}
/* Routeable Platform Control pages */
.platform-page{min-width:0}
.page-shell{display:grid;gap:24px}
.page-card{background:#fff;border:1px solid var(--line,#dfe5e1);border-radius:18px;padding:24px;box-shadow:0 12px 34px rgba(17,24,39,.045)}
.page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.summary-card{background:#fff;border:1px solid var(--line,#dfe5e1);border-radius:16px;padding:20px;display:grid;gap:8px}
.summary-card small,.data-table small{color:#68746d}
.summary-card strong{font-size:2rem;color:#121a16}
.data-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:18px}
.data-toolbar .filters{display:flex;gap:12px;flex-wrap:wrap}
.data-table{display:grid;border:1px solid #e1e6e3;border-radius:14px;overflow:hidden}
.data-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) minmax(120px,.8fr) minmax(130px,.8fr) minmax(120px,.7fr);gap:16px;padding:15px 18px;border-top:1px solid #e8ece9;align-items:center}
.data-row:first-child{border-top:0}.data-row.data-head{background:#f4f6f4;color:#5d6962;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.data-row strong{display:block}.data-actions{display:flex;justify-content:flex-end;gap:8px}.data-actions button{white-space:nowrap}
.account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.account-tabs button{background:#f2f4f2;color:#334039}.account-tabs button.active{background:#142019;color:white}
.operator-section{display:grid;gap:12px;margin-top:24px}.operator-section>header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.route-empty{padding:40px;text-align:center;color:#68746d}
.inline-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ef;font-size:.75rem;font-weight:800}.inline-status.ACTIVE,.inline-status.CONFIRMED,.inline-status.COMPLETED,.inline-status.VERIFIED{background:#e2f4e9;color:#17663a}.inline-status.SUSPENDED,.inline-status.FAILED,.inline-status.REJECTED{background:#fbe5e2;color:#9b2d24}.inline-status.PENDING,.inline-status.PROVISIONING,.inline-status.UNDER_REVIEW{background:#fff1d6;color:#8a5a00}
.sidebar nav a svg{fill:none;stroke:currentColor;stroke-width:1.8}.sidebar nav a.active{background:#eaf0ff;color:#174fcd}
@media(max-width:1100px){.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-row{grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) minmax(110px,.8fr)}.data-row>:nth-child(4),.data-row>:nth-child(5){display:none}}
@media(max-width:760px){.page-grid{grid-template-columns:1fr}.page-card{padding:16px}.data-row{grid-template-columns:1fr auto;gap:8px}.data-row.data-head{display:none}.data-row>:nth-child(n+3){display:none}.workspace-shell{display:block}.sidebar{position:sticky;top:0;z-index:20;width:100%;padding:8px;background:#fff;border-bottom:1px solid #e3e7e4}.sidebar nav{display:flex;overflow:auto;gap:6px}.sidebar nav .sidebar-label,.sidebar-note{display:none}.sidebar nav a{min-width:max-content;padding:10px}.content{padding:20px 14px}.topbar{padding:12px 16px}.environment,.account-copy{display:none}}

/* Mobile Platform navigation stays out of the working area until explicitly opened. */
.mobile-menu-toggle{display:none}
@media(max-width:760px){
  .topbar{position:sticky;top:0;z-index:60;display:flex;min-height:64px}
  .mobile-menu-toggle{display:grid;margin-left:auto;margin-right:6px;border:1px solid #d7dce4;background:#fff;color:#182230}
  .workspace-shell{display:block}
  .sidebar{display:flex!important;position:fixed!important;top:64px;bottom:0;left:0;z-index:55;width:min(84vw,300px)!important;height:auto!important;padding:18px 12px 16px;background:#fff;border-right:1px solid #d7dce4;border-bottom:0;box-shadow:16px 0 40px #10182826;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto}
  .sidebar.open{transform:translateX(0)}
  .sidebar nav{display:grid;overflow:visible;gap:4px}
  .sidebar nav .sidebar-label{display:block}
  .sidebar nav a{min-width:0;padding:11px 12px}
  .sidebar-note{display:block;margin-top:24px}
}

/* Platform Admin production hardening */
.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:72px}.password-toggle{position:absolute;right:6px;top:50%;min-height:34px;padding:6px 10px;transform:translateY(-50%);background:transparent;color:var(--green);font-size:12px}.login-help{margin:14px 0 0;color:var(--muted);font-size:13px;text-align:center}.login-help a{color:var(--green);font-weight:750}.password-requirements{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 14px;padding:0;list-style:none;color:var(--muted);font-size:12px}.password-requirements li::before{content:"○";margin-right:6px}.password-requirements li.valid{color:#067647}.password-requirements li.valid::before{content:"✓"}.color-field{display:flex;align-items:center;gap:12px}.color-field input{width:56px;min-height:44px;padding:4px}.color-field output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}
.operator-focused>.portfolio-page-head,.operator-focused>.portfolio-metrics,.operator-focused>.operator-directory{display:none}.operator-focused>#notice:empty{display:none}.operator-focused>.tenant-detail{margin-top:0}.operator-breadcrumb{display:flex;align-items:center;gap:8px;padding:14px 20px 0;color:var(--muted);font-size:13px}.operator-breadcrumb a{color:var(--green);font-weight:750;text-decoration:none}.operator-breadcrumb a:hover{text-decoration:underline}
.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}.role-options legend{margin-bottom:8px;font-weight:800}.role-options label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.role-options label:has(input:checked){border-color:#a9c2ff;background:#f8faff;box-shadow:inset 0 0 0 1px #d6e1ff}.role-options input{width:18px;height:18px;margin-top:2px;accent-color:var(--green)}.role-options span{display:grid;gap:3px}.role-options small{color:var(--muted);font-size:12px;line-height:1.45}.limit-guidance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.limit-guidance span{display:grid;gap:4px;padding:12px;border-radius:10px;background:#f8fafc}.limit-guidance small{color:var(--muted);font-size:11px}.limit-guidance strong{font-size:14px}
.lifecycle-help{margin-top:8px;max-width:650px;color:var(--muted);font-size:12px}.lifecycle-help summary{width:max-content;color:var(--green);font-weight:750;cursor:pointer}.lifecycle-help p{margin:8px 0 0!important;line-height:1.55}.copy-button{min-height:32px;padding:5px 9px;background:#eef4ff;color:var(--green);font-size:11px}.dns-record{grid-template-columns:auto minmax(0,1fr) auto!important}.attention-card{border-color:#d9e2f5}
.menu-backdrop{display:none}.data-row>[data-label]::before{display:none}.tabbar button{min-height:44px;font-size:12px}.sidebar a{min-height:44px}.sidebar a span{font-size:13px}.sidebar-label{font-size:11px}.sidebar-note{font-size:12px}.brand strong{font-size:14px}.brand small,.account-copy strong{font-size:12px}.account-copy .role{font-size:11px}.account .ghost{min-height:40px;font-size:12px}.page-head p:last-child,.portfolio-toolbar p,.metric .metric-context,.provisioning-progress>p,.provisioning-steps p,.provisioning-steps small,.provisioning-urls small,.administrator-bootstrap dt,.administrator-bootstrap dd{font-size:12px}.metric-heading small,.tenant-main strong,.tenant-cell strong,.provisioning-steps strong,.provisioning-urls strong{font-size:13px}.tenant-main small,.tenant-cell small,.portfolio-count,.signal{font-size:11px}.inline-status{font-size:12px}.data-row{font-size:13px}.data-row small{display:block;margin-top:3px;font-size:12px}.page-card,.summary-card{border-radius:14px}.route-empty{font-size:14px}
@media(max-width:1100px){.data-table{overflow:visible}.data-row{grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(110px,.7fr)}.data-row>:nth-child(4),.data-row>:nth-child(5){display:block}.data-actions{display:flex!important}.operator-focused{padding-top:18px}}
@media(max-width:760px){body.menu-open{overflow:hidden}.menu-backdrop.open{display:block;position:fixed;inset:64px 0 0;z-index:54;border:0;border-radius:0;background:rgba(16,24,40,.42)}.sidebar nav a{min-height:48px}.data-table{display:grid;gap:12px;border:0;background:transparent;overflow:visible}.data-row.data-head{display:none}.data-row:not(.data-head){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(16,24,40,.04)}.data-row:not(.data-head)>*{display:block!important;min-width:0}.data-row:not(.data-head)>:first-child{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid var(--line)}.data-row:not(.data-head)>[data-label]::before{content:attr(data-label);display:block;margin-bottom:4px;color:#667085;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.data-row:not(.data-head)>.data-actions{grid-column:1/-1;justify-content:stretch;padding-top:4px}.data-actions button,.data-actions .button{width:100%;min-height:44px;text-align:center}.summary-card{padding:16px}.summary-card strong{font-size:1.65rem}.operator-focused{padding-top:12px}.operator-breadcrumb{padding:12px 14px 0}.detail-hero{padding-top:18px}.tabbar{position:sticky;top:64px;z-index:15;background:#fff}.tabbar button{min-height:48px}.filters{grid-template-columns:1fr!important}.filters label,.filters select,.filters input{width:100%}.account-tabs button,.head-actions button,.provisioning-actions button{min-height:44px}.page-head h1{font-size:26px}.role-options{grid-template-columns:1fr}.password-requirements,.limit-guidance{grid-template-columns:1fr}}
.crypto-automation-card{margin-top:22px;padding:24px;border:1px solid #ddd7ff;background:linear-gradient(180deg,#fff 0%,#fbfaff 100%)}
.automation-control-head{align-items:flex-start}
.automation-prerequisite{margin:18px 0;padding:14px 16px;border:1px solid #f1d8a8;border-radius:12px;background:#fff8e8;color:#805600}
.automation-prerequisite p{margin:4px 0 0}
.automation-settings-form{display:grid;gap:20px;margin-top:18px}
.automation-master-switch{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px;border:1px solid #e5e2ee;border-radius:14px;background:#fff;cursor:pointer}
.automation-master-switch span{display:grid;gap:4px}.automation-master-switch small{color:#767386;line-height:1.45}
.automation-master-switch input{position:absolute;opacity:0;pointer-events:none}.automation-master-switch i{position:relative;flex:0 0 48px;height:28px;border-radius:999px;background:#cbc8d4;transition:.2s}.automation-master-switch i:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.2s}.automation-master-switch input:checked+i{background:#5b3df5}.automation-master-switch input:checked+i:after{transform:translateX(20px)}.automation-master-switch input:disabled+i{opacity:.5}
.automation-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.automation-settings-grid label,.automation-settings-grid fieldset{display:grid;gap:7px;min-width:0}.automation-settings-grid fieldset{margin:0;padding:12px 14px;border:1px solid #e5e2ee;border-radius:12px}.automation-settings-grid legend{padding:0 5px;font-weight:650}.automation-settings-grid .check-option{display:flex;align-items:center;gap:8px;font-weight:500}.automation-settings-grid .check-option input{width:auto}
.automation-oracles{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:16px;border-radius:12px;background:#f4f2fb}.automation-oracles span{grid-row:1/3;color:#777388;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.automation-oracles small{color:#777388}
.automation-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.automation-actions span{color:#777388;font-size:13px}
@media(max-width:900px){.automation-settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.automation-settings-grid{grid-template-columns:1fr}.automation-master-switch,.automation-actions{align-items:flex-start;flex-direction:column}.automation-oracles{grid-template-columns:1fr}.automation-oracles span{grid-row:auto}}
