/* Current stakeholder-approved refinements. Keep this file last in the cascade. */
/* Stakeholder feedback implementation — July 2026. */
.site-header .brand { justify-content: center; }
.site-header .brand img { margin-inline: auto; }
.icon-tile, .tool-logo, .result-icon, .home-compact-icon, .play, .position { display: grid; place-items: center; }
.icon-tile .icon, .tool-logo .icon, .result-icon .icon, .play .icon { margin: auto; }

.home-hero-refined { min-height: 292px; }
.home-hero-refined .home-hero-copy { padding: 46px 52px; }
.home-hero-refined h1 { max-width: 760px; font-size: clamp(43px, 5.4vw, 64px); line-height: 1.03; }
.home-hero-refined .home-hero-copy > p { max-width: 730px; margin-top: 18px; }
.access-hero { padding: 34px 32px; }
.access-mini-steps { list-style: none; padding: 0; margin: 14px 0 20px; }
.access-mini-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid var(--concrete-light); }
.access-mini-steps li:last-child { border-bottom: 1px solid var(--concrete-light); }
.access-mini-steps li > span { color: var(--coastal-green); font-family: Lato, sans-serif; font-weight: 900; font-size: 12px; letter-spacing: .08em; }
.access-mini-steps strong { display: block; color: #353638; font-family: Lato, sans-serif; font-size: 15px; }
.access-mini-steps small { display: block; margin-top: 2px; color: var(--concrete-dark); font-size: 12px; line-height: 1.45; }
.access-mini-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.compact-head { align-items: center; }
.quick-card { min-height: 152px; grid-template-rows: auto auto 1fr; }
.quick-card:after { margin-top: 12px; }


.home-insights-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 20px; }
.compact-feature { padding: 26px; }
.compact-feature h2 { font-size: 24px; }
.home-activity-card { padding: 26px; border-top: 4px solid var(--coastal-blue); }
.activity-card-head { margin-bottom: 6px; }
.activity-tabs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 18px 0 12px; border-bottom: 1px solid var(--concrete-light); }
.activity-tab { min-height: 38px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--concrete-dark); font-size: 12px; font-weight: 800; cursor: pointer; }
.activity-tab.active { color: var(--coastal-blue); border-bottom-color: var(--coastal-blue); }
.activity-list { border-top: 1px solid var(--concrete-light); }
.activity-row { min-height: 58px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 11px; align-items: center; border-bottom: 1px solid var(--concrete-light); }
.activity-rank { color: var(--coastal-green); font-family: Lato, sans-serif; font-weight: 900; font-size: 12px; text-align: center; }
.activity-copy strong { display: block; color: #353638; font-size: 13px; }
.activity-copy small { display: block; color: var(--concrete-dark); margin-top: 1px; font-size: 11px; line-height: 1.35; }
.activity-metric { color: var(--coastal-blue); font-family: Lato, sans-serif; font-weight: 900; font-size: 12px; white-space: nowrap; }
.home-governance-compact { margin-top: 46px; padding: 24px 28px; }

.access-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.access-card { position: relative; min-height: 318px; padding: 26px; border: 1px solid var(--concrete-light); background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.access-card-number { position: absolute; top: 18px; right: 20px; color: var(--concrete-light); font-family: Lato, sans-serif; font-size: 36px; font-weight: 900; line-height: 1; }
.access-card .icon-tile { width: 48px; height: 48px; margin: 0 0 22px; }
.access-card h2 { margin: 0 0 10px; font-size: 22px; color: #353638; }
.access-card p { color: var(--concrete-dark); margin: 0 0 22px; }
.access-card .btn { margin-top: auto; }
.training-source-notice { margin-top: 22px; }
.section-compact { margin-top: 26px; }

.practice-panel { padding: 28px; border: 1px solid var(--concrete-light); background: #fff; }
.practice-panel-head { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.practice-panel-head h2 { margin: 4px 0 6px; color: #353638; }
.practice-panel-head p { margin: 0; color: var(--concrete-dark); }
.practice-progress-summary { text-align: right; }
.practice-progress-summary strong { display: block; color: var(--coastal-blue); font-family: Lato, sans-serif; font-size: 34px; line-height: 1; }
.practice-progress-summary span { color: var(--concrete-dark); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.practice-progress { margin: 20px 0; }
.practice-checklist { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; }
.practice-check { min-height: 150px; padding: 16px; border: 1px solid var(--concrete-light); background: #fff; cursor: pointer; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.practice-check.complete { border-color: rgba(82,149,53,.55); background: #f7fbf5; }
.practice-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--coastal-green); }
.practice-check-number { color: var(--coastal-green); font-family: Lato, sans-serif; font-weight: 900; font-size: 11px; letter-spacing: .08em; }
.practice-check strong { display: block; color: #353638; font-size: 14px; line-height: 1.35; }
.practice-check small { display: block; margin-top: 4px; color: var(--concrete-dark); font-size: 11px; line-height: 1.45; }
.practice-actions { display: flex; justify-content: space-between; gap: 16px; margin-top: 18px; flex-wrap: wrap; }
.certification-banner { padding: 28px 32px; border: 1px solid var(--concrete-light); border-left: 6px solid var(--coastal-green); background: #fff; display: flex; justify-content: space-between; align-items: center; gap: 26px; }
.certification-copy h2 { margin: 4px 0 7px; color: #353638; }
.certification-copy p { margin: 0; color: var(--concrete-dark); max-width: 780px; }
.platform-purpose-list { display: grid; gap: 10px; margin-top: 16px; }
.platform-purpose-list > div { padding: 13px 14px; border: 1px solid var(--concrete-light); }
.platform-purpose-list strong { display: block; color: var(--coastal-blue); }
.platform-purpose-list span { display: block; color: var(--concrete-dark); font-size: 13px; margin-top: 2px; }
.course-note { color: var(--concrete-dark); font-size: 12px; }

.tool-section + .tool-section { margin-top: 46px; padding-top: 38px; border-top: 2px solid var(--concrete-light); }
.tool-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.tool-section-heading h2 { margin: 4px 0 0; color: #353638; font-size: 27px; }
.tool-section-heading > span { color: var(--concrete-dark); font-size: 13px; }
.status.evaluation, .status.limited { background: #f3f4f4; color: var(--concrete-dark); border-color: var(--concrete-light); }

.source-of-truth-notice { margin-bottom: 8px; }
.resource-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 16px; align-items: center; margin-bottom: 20px; }
.resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.resource-card { min-height: 255px; padding: 22px; border: 1px solid var(--concrete-light); background: #fff; cursor: pointer; display: flex; flex-direction: column; transition: border-color .16s ease, background .16s ease; }
.resource-card:hover { border-color: var(--coastal-blue); background: #fbfdff; }
.resource-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.resource-status { color: var(--concrete-dark); font-size: 11px; font-weight: 700; }
.resource-card h3 { margin: 16px 0 8px; color: #353638; font-size: 20px; line-height: 1.28; }
.resource-card > p { margin: 0; color: var(--concrete-dark); font-size: 13px; }
.resource-meta { display: grid; gap: 4px; margin-top: auto; padding-top: 18px; color: var(--concrete-dark); font-size: 11px; }
.resource-open { display: inline-flex; align-items: center; gap: 5px; margin-top: 14px; color: var(--coastal-blue); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.resource-modal-summary > p { font-size: 16px; color: var(--concrete-dark); }
.modal-resource-meta { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 16px; padding-top: 0; }
.modal-resource-meta span { padding: 9px 10px; border: 1px solid var(--concrete-light); }
.resource-step-list { margin: 14px 0 0; padding-left: 22px; color: var(--concrete-dark); }
.resource-step-list li + li { margin-top: 8px; }
.resource-template { white-space: pre-wrap; margin: 14px 0; padding: 18px; border: 1px solid var(--concrete-light); border-left: 4px solid var(--coastal-green); background: #f8f9f9; color: #353638; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.55; }
.library-video-section { padding-top: 44px; border-top: 2px solid var(--concrete-light); }
.video-status-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.video-needed { padding: 3px 7px; border: 1px solid var(--concrete-light); background: #f7f7f6; color: var(--concrete-dark); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }

.routing-list { display: grid; gap: 12px; margin-top: 14px; }
.routing-list > div { display: grid; grid-template-columns: 28px 1fr; gap: 11px; padding-bottom: 12px; border-bottom: 1px solid var(--concrete-light); }
.routing-list > div > span { color: var(--coastal-green); font-family: Lato, sans-serif; font-weight: 900; font-size: 11px; }
.routing-list strong { display: block; color: #353638; }
.routing-list small { display: block; margin-top: 2px; color: var(--concrete-dark); line-height: 1.4; }
.formal-training-card { border-left: 4px solid var(--coastal-blue); }

.leaderboard-main-panel { padding: 26px; }
.leaderboard-table td:nth-child(5), .leaderboard-table th:nth-child(5) { white-space: nowrap; }

@media (max-width: 1120px) {
  .resource-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .practice-checklist { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .access-path-grid { grid-template-columns: 1fr; }
  .access-card { min-height: 0; }
}

@media (max-width: 820px) {
  .home-insights-grid, .resource-grid { grid-template-columns: 1fr; }
  .practice-checklist { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .resource-toolbar { grid-template-columns: 1fr; }
  .certification-banner { align-items: flex-start; flex-direction: column; }
  .certification-banner .btn { width: 100%; }
  .home-section-head.compact-head { display: block; }
  .home-section-head.compact-head > p { text-align: left; margin-top: 8px; }
}

@media (max-width: 620px) {
  .home-hero-refined .home-hero-copy { padding: 34px 24px; }
  .home-hero-refined h1 { font-size: 42px; }
  .access-hero { padding: 28px 24px; }
  .access-mini-actions .btn { width: 100%; }
  .practice-panel { padding: 22px 18px; }
  .practice-panel-head { display: block; }
  .practice-progress-summary { margin-top: 14px; text-align: left; }
  .practice-checklist { grid-template-columns: 1fr; }
  .practice-check { min-height: 0; }
  .activity-tabs { grid-template-columns: 1fr; border-bottom: 0; gap: 4px; }
  .activity-tab { border: 1px solid var(--concrete-light); }
  .activity-tab.active { border-color: var(--coastal-blue); background: #eef4fb; }
  .activity-row { grid-template-columns: 28px minmax(0,1fr); }
  .activity-metric { grid-column: 2; justify-self: start; margin-top: -6px; }
  .modal-resource-meta { grid-template-columns: 1fr; }
  .home-governance-compact { display: block; }
  .home-governance-compact .btn { width: 100%; margin-top: 18px; }
}

/* Manually imported ChatGPT Users, Projects, and GPT leaderboards */
.data-period-label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--concrete-light);
  background: #f7f8f8;
  color: var(--concrete-dark);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.activity-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.leaderboard-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.leaderboard-stat {
  min-height: 104px;
  padding: 20px;
  border: 1px solid var(--concrete-light);
  border-top: 4px solid var(--coastal-blue);
  background: #fff;
}
.leaderboard-stat:nth-child(3),
.leaderboard-stat:nth-child(4) { border-top-color: var(--coastal-green); }
.leaderboard-stat span {
  display: block;
  color: var(--concrete-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.leaderboard-stat strong {
  display: block;
  margin-top: 9px;
  color: var(--coastal-blue);
  font-family: Lato, "Helvetica Neue", sans-serif;
  font-size: 28px;
  line-height: 1;
}
.leaderboard-stat:nth-child(3) strong,
.leaderboard-stat:nth-child(4) strong { color: var(--coastal-green); }
.leaderboard-name-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--coastal-blue);
  font-weight: 800;
  text-decoration: none;
}
.leaderboard-name-link:hover { text-decoration: underline; }
.leaderboard-data-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid var(--concrete-light);
  color: var(--concrete-dark);
  font-size: 11px;
  line-height: 1.5;
}
.leaderboard-data-note .icon { flex: 0 0 auto; color: var(--coastal-green); }
.leaderboard-empty {
  padding: 22px 12px;
  color: var(--concrete-dark);
  text-align: center;
}

@media (max-width: 820px) {
  .leaderboard-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .leaderboard-summary { grid-template-columns: 1fr; }
  .data-period-label { white-space: normal; }
}

/* Stakeholder update — August 2026 */
.home-hero-refined { grid-template-columns: minmax(0, 1fr); }
.home-hero-refined .home-hero-copy { min-height: 330px; }
.quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.status.beta { color: #2f5e20; background: #eff7eb; border-color: #b9d7ad; }
.status.in-review { color: #77520a; background: #fff8e7; border-color: #e2c77c; }
.guide-usage-notice { margin: 0 0 20px; }

@media (max-width: 1120px) {
  .quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .quick-grid { grid-template-columns: 1fr; }
  .home-hero-refined .home-hero-copy { min-height: 0; }
}

/* AI Governance update — August 2026 policy and standards */
.governance-document-section { margin-top: 8px; }
.governance-doc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.governance-doc-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--concrete-light);
  border-top: 4px solid var(--coastal-blue);
  background: var(--panel);
}
.governance-doc-card:nth-child(2) { border-top-color: var(--coastal-green); }
.governance-doc-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  color: var(--coastal-blue);
  background: var(--soft-blue);
}
.governance-doc-card:nth-child(2) .governance-doc-icon {
  color: var(--coastal-green);
  background: var(--soft-green);
}
.governance-doc-content h3 { margin: 10px 0 6px; font-size: 21px; }
.governance-doc-content p { margin: 0; color: var(--muted); }
.governance-doc-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
}
.governance-doc-meta span { position: relative; }
.governance-doc-meta span + span::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--concrete-dark);
  transform: translateY(-50%);
}
.governance-doc-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }

.governance-simple-rule {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 26px;
  border: 1px solid #bdd0e8;
  border-left: 6px solid var(--coastal-blue);
  background: var(--soft-blue);
}
.governance-rule-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--coastal-blue);
}
.governance-simple-rule h2 { margin: 4px 0 8px; color: var(--coastal-blue); }
.governance-simple-rule p { max-width: 980px; margin: 0; color: var(--text); }

.governance-access-grid,
.governance-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.governance-access-grid .policy-card,
.governance-control-grid .policy-card { min-width: 0; }
.governance-access-grid .policy-card h3 { margin-top: 12px; }

.governance-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.governance-data-card { border-top: 4px solid var(--coastal-green) !important; }
.governance-data-restricted { border-top-color: #b43349 !important; }
.governance-data-card .bullet-list { margin-bottom: 0; }
.governance-when-unsure { margin-top: 16px; }

.governance-action-panel { padding: 24px; }
.governance-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}
.governance-table th,
.governance-table td {
  padding: 13px 14px;
  border: 1px solid var(--concrete-light);
  text-align: left;
  vertical-align: top;
}
.governance-table th {
  color: #fff;
  background: var(--coastal-blue);
  font-family: Lato, "Helvetica Neue", sans-serif;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.governance-table td:nth-child(2) { width: 180px; }
.governance-status-stop {
  color: #8a2b36;
  background: #fff0f2;
  border-color: #e8b4bd;
}

.governance-request-panel { padding: 24px; }
.governance-request-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--concrete-light);
}
.governance-request-grid > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--concrete-light);
  background: #fff;
}
.governance-request-grid > div:nth-child(odd) { border-right: 1px solid var(--concrete-light); }
.governance-request-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.governance-request-grid > div:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  border-right: 0;
}
.governance-request-grid strong { color: var(--coastal-blue); }
.governance-request-grid span { font-weight: 700; }
.governance-request-grid small { color: var(--muted); line-height: 1.5; }

@media (max-width: 1120px) {
  .governance-access-grid,
  .governance-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .governance-doc-grid,
  .governance-data-grid,
  .governance-request-grid { grid-template-columns: 1fr; }
  .governance-doc-card { grid-template-columns: 44px minmax(0, 1fr); padding: 18px; }
  .governance-doc-icon { width: 44px; height: 44px; }
  .governance-simple-rule { grid-template-columns: 1fr; padding: 22px; }
  .governance-rule-icon { width: 52px; height: 52px; }
  .governance-request-grid > div,
  .governance-request-grid > div:nth-child(odd),
  .governance-request-grid > div:nth-last-child(-n+2) {
    grid-column: auto;
    border-right: 0;
    border-bottom: 1px solid var(--concrete-light);
  }
  .governance-request-grid > div:last-child { border-bottom: 0; }
}

@media (max-width: 560px) {
  .governance-access-grid,
  .governance-control-grid { grid-template-columns: 1fr; }
  .governance-doc-card { grid-template-columns: 1fr; }
  .governance-doc-actions .btn { width: 100%; justify-content: center; }
}
