/* The actual PM prototype identity (fieldcount-prototype/index.html).
   Applied only to dashboard pages; login and data/authority code are untouched.
   Semantic colors, warning/refusal rules and [hidden] remain owned by shipping
   styles. Do not turn this stylesheet into a second status model. */
body.prototype-identity {
  font: 15px/1.5 var(--font);
  background: var(--cpcon-ice);
}
.prototype-identity .sidebar { background: var(--cpcon-navy); }
.prototype-identity .sidebar-brand { padding: 18px 18px 16px; border: 0; }
.prototype-identity .identity-wordmark {
  font-size: 13px; font-weight: 800; letter-spacing: .13em;
  text-transform: uppercase; color: #fff; white-space: nowrap;
}
.prototype-identity .sidebar-nav { gap: 0; padding: 0; min-height: 80px; }
.prototype-identity .sidebar-nav .nav-group-label {
  padding: 10px 18px 5px; color: #99ACBF; font-size: 10px;
  letter-spacing: .1em; font-weight: 700;
}
.prototype-identity .sidebar-nav a {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 5px 8px; border: 0; border-radius: 0;
  padding: 10px 18px; font-size: 14px; font-weight: 400;
  color: #C7D3DF; min-height: 41px;
}
.prototype-identity .sidebar-nav a:hover {
  color: #fff; background: rgba(255,255,255,.06);
}
.prototype-identity .sidebar-nav a.active {
  color: #fff; background: rgba(255,255,255,.10);
  font-weight: 700; box-shadow: inset 3px 0 0 var(--cpcon-gold-dk);
}
.prototype-identity .nav-label { min-width: 0; }
.prototype-identity .nav-label small {
  display: block; font-size: 11px; line-height: 1.35; color: #B4C2D1;
  font-weight: 400;
}
.prototype-identity .nav-metric {
  padding: 1px 7px; border-radius: 999px; background: #E2E8F0;
  color: #334155; font-size: 11px; font-weight: 800;
  line-height: 1.5; max-width: 100%; font-variant-numeric: tabular-nums;
}
.prototype-identity .sidebar-nav details.nav-settings a { opacity: 1; }
.prototype-identity .sidebar-nav details.nav-settings .muted { color: #B4C2D1; padding-left: 14px; }
.prototype-identity .sidebar-footer { padding: 12px 18px; flex-shrink: 0; }
.prototype-identity .sidebar-workspace { display: grid; gap: 6px; margin-bottom: 12px; }
.prototype-identity .sidebar-workspace label { color: #B4C2D1; text-transform: uppercase; letter-spacing: .1em; }
.prototype-identity #tenant-switcher {
  width: 100%; min-width: 0; min-height: 40px; font: inherit; font-size: 13px;
  background: #16263A; color: #fff; border: 1px solid #718297;
  border-radius: 6px; padding: 7px;
}
.prototype-identity #tenant-switcher:disabled { color: #CBD5E1; cursor: wait; }
.prototype-identity #tenant-switcher option { color: var(--cpcon-navy); background: #fff; }
.prototype-identity #tenant-directory-status { color: #CBD5E1; overflow-wrap: anywhere; }
.prototype-identity .sidebar-footer .side-fresh,
.prototype-identity .sidebar-footer .side-session { padding-left: 0; padding-right: 0; overflow-wrap: anywhere; }
.prototype-identity .sidebar-footer .side-session { color: #B4C2D1; }
.prototype-identity .sidebar-footer a { padding: 8px 0; }
.prototype-identity .shell.app-shell > main.content {
  padding: 22px 26px 70px; background: var(--cpcon-ice);
}
.prototype-identity .content > .page-header {
  margin: -22px -26px 22px; padding: 13px 26px;
  background: #fff; border-bottom: 1px solid var(--cpcon-border); gap: 12px;
}
.prototype-identity .console-context-label { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cpcon-muted); }
.prototype-identity .content > .page-header .who { margin: 2px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.prototype-identity .tenant-controls { gap: 8px; }
.prototype-identity .dashboard-title,
.prototype-identity .content > .page-header h2 {
  font-size: 27px; line-height: 1.25; letter-spacing: -.02em;
  color: var(--cpcon-navy); margin: 0 0 18px; font-weight: 700;
}
.prototype-identity .content > .page-header h2 { margin-bottom: 4px; }
.prototype-identity .section { margin-top: 18px; }
.prototype-identity .section > .card { border-radius: 13px; }
.prototype-identity .toolbar > h3,
.prototype-identity .toolbar > div > h3,
.prototype-identity .section > .card > h3 { font-size: 19px; letter-spacing: -.01em; }
.prototype-identity #sec-overview .overview-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 268px), 1fr)); gap: 14px;
}
.prototype-identity #sec-overview #stats .stat {
  display: flex; flex-direction: column; align-items: stretch;
  padding: 16px; text-align: left; border-radius: 13px;
}
.prototype-identity #sec-overview #stats .stat > strong {
  order: 1; font-size: 38px; font-weight: 700; letter-spacing: -.03em;
  line-height: 1.08; margin: 7px 0 4px; font-variant-numeric: tabular-nums;
}
.prototype-identity #sec-overview #stats .stat > span:not(.sub) {
  order: 0; text-transform: uppercase; font-size: 13px; font-weight: 700;
  letter-spacing: .06em; line-height: 1.5;
}
.prototype-identity #sec-overview #stats .stat > .sub { order: 2; margin-top: 12px; font-size: 12px; line-height: 1.5; }
.prototype-identity #sec-overview .overview-group-title { font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.prototype-identity .summary-grid { gap: 14px; }
.prototype-identity .summary-grid strong { font-size: 32px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.prototype-identity #sec-team .stat .v { font-size: 38px; letter-spacing: -.03em; }
.prototype-identity table.data th { background: #FBFCFD; }
.prototype-identity table.data td { border-bottom-color: #EEF2F6; }
.prototype-identity .table-scroll { border-radius: 11px; }
.prototype-identity .btn, .prototype-identity .btn-sm { font-family: var(--font); }
.prototype-identity .dropzone { border-radius: 14px; }
.prototype-identity .sidebar :is(a,summary,select):focus-visible {
  outline: 2px solid var(--cpcon-gold-dk); outline-offset: -3px;
}
/* Do not apply the prototype's desktop-only sidebar to a phone. Every route
   remains visible/scrollable and the working project control stays in the rail. */
@media (max-width: 800px) and (min-width: 641px) {
  .prototype-identity .shell.app-shell { flex-direction: row; }
  .prototype-identity .sidebar { width: var(--sidebar-width); flex: 0 0 var(--sidebar-width); position: sticky; height: 100vh; min-height: 100vh; }
  .prototype-identity .sidebar-nav { flex-direction: column; flex-wrap: nowrap; overflow-y: auto; }
  .prototype-identity .sidebar-footer { display: block; }
}
@media (max-width: 640px) {
  .prototype-identity .sidebar { position: relative; height: auto; min-height: 0; }
  .prototype-identity .sidebar-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .prototype-identity .sidebar-nav > .nav-group-label,
  .prototype-identity .sidebar-nav > details { grid-column: 1 / -1; }
  .prototype-identity .sidebar-footer { display: block; }
  .prototype-identity .sidebar-workspace { max-width: 100%; }
  .prototype-identity .shell.app-shell > main.content { padding: 18px 16px 48px; }
  .prototype-identity .content > .page-header { margin: -18px -16px 18px; padding: 13px 16px; }
  .prototype-identity #sec-overview #stats .stat > strong { font-size: 38px; }
}
/* The setup wizard intentionally keeps its task-specific structure. */
.prototype-identity .ob-shell { font-family: var(--font); }

/* A 15px page must not shrink an inherited 16px warning or refusal. Child
   sizes/colors and all inline refusal styles remain unchanged. */
.prototype-identity :is(.tone-bad, .tone-warn, .erp-banner, #overview-verdict-host > .card, #client-review-scope-controls) { font-size: 16px; }
.prototype-identity .content .tenant-controls { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.prototype-identity .content .tenant-controls select { min-width: 0; max-width: 100%; }

/* Long filter choices and identifiers wrap; tables retain their own scroll
   containers rather than making the entire narrow page scroll sideways. */
.prototype-identity .section select { max-width: 100%; min-width: 0; }
.prototype-identity .section code { overflow-wrap: anywhere; }
.prototype-identity .section label[style*="display:flex"] { flex-wrap: wrap; }
.prototype-identity .section .toolbar > div { min-width: 0; }
.prototype-identity #value-band .stat strong { font-size: 38px; letter-spacing: -.03em; }
.prototype-identity #sec-qa .qa-review-buckets dd { font-size: 32px; letter-spacing: -.03em; }

/* This shipping metric is a qualified sentence, not the prototype's bare QA
   total. Keep every word at least as large as before instead of truncating it. */
.prototype-identity #sec-overview .overview-group:first-child .stat:first-child > strong { font-size: 32px; }

/* Literal 8811 baseline, explicitly superseding the prior mapped identity.
   Only the Overview composition is rebuilt in this PR. */
.prototype-identity .sidebar { overflow-y: auto; }
.prototype-identity .sidebar-nav { flex: none; overflow: visible; }
.prototype-identity .sidebar-footer { margin-top: 22px; border-top: 1px solid rgba(255,255,255,.12); padding: 12px 0; }
.prototype-identity .sidebar-workspace { margin: 0; gap: 0; }
.prototype-identity .sidebar-workspace > label,
.prototype-identity .sidebar-workspace > select { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
.prototype-identity .sidebar-workspace.directory-ready > #tenant-directory-status { display: none; }
.prototype-identity #tenant-directory-status { padding: 8px 18px; }
.prototype-identity #project-list button { display: flex; width: 100%; border: 0; background: none; color: #C7D3DF; font: inherit; font-size: 14px; padding: 10px 18px; text-align: left; cursor: pointer; }
.prototype-identity .project-list-label { padding: 0 18px 6px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #7C8FA3; }
.prototype-identity #project-list button.active { color: #fff; font-weight: 700; }
.prototype-identity #project-list button:hover { background: rgba(255,255,255,.06); color: #fff; }
.prototype-identity #project-list button:disabled { cursor: not-allowed; }
.prototype-identity #project-list button:focus-visible { outline: 2px solid var(--cpcon-gold); outline-offset: -3px; }
.prototype-identity .sidebar-footer #logout { margin-top: 22px; padding: 10px 18px; }
.prototype-identity .content > .page-header { min-height: 46px; margin-bottom: 22px; padding: 13px 26px; font-size: 13px; line-height: 20px; justify-content: flex-start; gap: 8px; }
.prototype-identity .context-status { display: flex; flex-wrap: wrap; gap: 6px; color: var(--cpcon-muted); font-size: 13px; }
.prototype-identity .context-status .side-fresh,
.prototype-identity .context-status .side-session { padding: 0; color: var(--cpcon-muted); font-size: 13px; line-height: inherit; }
.prototype-identity .context-status .side-fresh.is-stale { color: #991B1B; font-weight: 700; }
.prototype-identity[data-active-tab="overview"] #dashboard-title { display: none; }
.prototype-identity #sec-overview { margin: 0; max-width: 1128px; }
.prototype-identity #overview-verdict-host { max-width: 1128px; margin: 0; }
.prototype-verdict { display: flex; gap: 13px; align-items: flex-start; padding: 4px 0 20px; }
.prototype-verdict .status-dot { width: 12px; height: 12px; flex: none; border-radius: 50%; margin-top: 8px; background: #DC2626; box-shadow: 0 0 0 4px #FEE2E2; }
.prototype-verdict.tone-ok .status-dot { background: #0D9488; box-shadow: 0 0 0 4px #CCFBF1; }
.prototype-verdict h1 { margin: 0; font-size: 24px; letter-spacing: -.02em; line-height: 1.5; text-wrap: balance; }
.prototype-verdict > div > p { margin: 3px 0 0; color: var(--cpcon-muted); font-size: 14px; }
.prototype-readiness { font-size: 16px; margin-top: 10px; padding: 10px 12px; border: 1px solid #FCD34D; background: #FEF3C7; color: #92400E; border-radius: 8px; }
.prototype-readiness a { color: #92400E; text-decoration: underline; }
.prototype-verdict.tone-ok .prototype-readiness { color: #065F46; background: none; border: 0; padding: 0; font-size: 13px; }
.prototype-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,268px),1fr)); gap: 14px; }
.prototype-card { background: #fff; border: 1px solid var(--cpcon-border); border-radius: 13px; padding: 16px; display: flex; flex-direction: column; }
.prototype-card .k { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cpcon-muted); }
.prototype-card .big { font-size: 38px; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; margin-top: 7px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.prototype-card .big.placeholder { font-size: 22px; line-height: 1.25; color: var(--cpcon-muted); }
.prototype-card .of { font-size: 13.5px; color: var(--cpcon-muted); margin-top: 2px; }
.prototype-card .bar { display: flex; height: 8px; margin-top: 11px; border-radius: 5px; overflow: hidden; background: var(--cpcon-ice); }
.prototype-card .bar.unmeasured { border: 1px dashed var(--cpcon-muted); }
.prototype-card .bar i { background: var(--cpcon-navy); }
.prototype-card .bar u { background: var(--cpcon-gold); }
.prototype-card .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 11px; }
.prototype-card .pair > div { background: var(--cpcon-ice); border-radius: 9px; padding: 9px 11px; }
.prototype-card .pair b { display: block; font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
.prototype-card .pair b.placeholder { font-size: 14px; }
.prototype-card .pair span { font-size: 11.5px; color: var(--cpcon-muted); }
.prototype-card .caveat { font-size: 12px; line-height: 1.45; color: var(--cpcon-muted); margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed var(--cpcon-border); }
.prototype-card .cta { margin-top: 11px; align-self: flex-start; background: none; border: 0; padding: 0; font: inherit; font-size: 13px; font-weight: 700; color: var(--cpcon-gold-text); }
.prototype-identity #setup-more-tools a { display: inline-block; margin: 6px 18px 6px 0; }
.prototype-identity #setup-count-details { margin-top: 14px; }
.prototype-identity #setup-count-details > summary { font-weight: 700; cursor: pointer; }
.prototype-identity #setup-count-details #stats { display: block; }
.prototype-identity #setup-count-details .overview-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: 14px; }
.prototype-identity #setup-count-details .overview-group { margin-bottom: 18px; }
.prototype-identity #setup-count-details .overview-group-title { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--cpcon-muted); }
.prototype-identity #setup-count-details .overview-group-note { font-size: 13px; color: var(--cpcon-muted); }
.prototype-identity #overview-operational-warnings:empty { display: none; }
@media (max-width:640px) {
  .prototype-identity .sidebar-footer { margin-top: 12px; }
  .prototype-identity .context-status { font-size: 12px; }
}

/* The sentence and dot replace the preceding panel-shaped verdict. Warning
   content itself keeps its 24px title, 16px body and contrasting background. */
.prototype-identity #overview-verdict-host .prototype-verdict { padding: 4px 0 20px; border: 0; border-radius: 0; }
.prototype-identity #overview-verdict-host .prototype-verdict > .status-dot { margin-top: 8px; }

.prototype-identity .sidebar-nav a[data-tab="qa"] .nav-metric { background: #FEF3C7; color: #92400E; }
