/* Zip landing refresh: lower homepage and modals */
#landingPage {
  background: #f8fafc;
}

.zip-feature-intro {
  width: min(1360px, calc(100% - 80px));
  margin: 0 auto;
  padding: 148px 0 !important;
  background: #f8fafc !important;
}

.zip-feature-intro .section-heading {
  max-width: 980px;
  margin: 0 auto 82px;
  text-align: center;
}

.zip-feature-intro .features-title {
  margin: 0 0 14px;
  color: #2f6ff1 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0;
  text-align: center;
}

.zip-feature-intro .features-heading {
  max-width: 980px;
  margin: 0 auto !important;
  color: #080d19 !important;
  font-size: clamp(29px, 2.5vw, 41px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  text-align: center;
}

.zip-feature-intro .features-subheading {
  max-width: 760px;
  margin: 30px auto 0;
  color: #151c2b;
  font-size: clamp(13px, 1vw, 17px);
  font-weight: 400;
  line-height: 1.65;
  text-align: center;
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.capability-card {
  position: relative;
  min-height: 238px;
  overflow: hidden;
  padding: 30px 32px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 18px;
  background: linear-gradient(135deg, #e9f4ff 0%, #cfe5ff 100%);
}

.capability-card::before {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 255, 255, 0.72), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.44), transparent 58%);
  content: "";
}

.card-risk {
  background: linear-gradient(135deg, #eef5ff 0%, #d4e3ff 100%);
}

.card-hot {
  background: linear-gradient(135deg, #f0f1ff 0%, #d7dafd 100%);
}

.card-comp {
  background: linear-gradient(135deg, #eaf8ff 0%, #cfefff 100%);
}

.capability-copy {
  position: relative;
  z-index: 1;
  max-width: 54%;
}

.capability-copy span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #2f6ff1;
  font-size: 11px;
  font-weight: 900;
}

.capability-copy h3 {
  margin: 0;
  color: #303744;
  font-size: clamp(18px, 1.25vw, 21px);
  font-weight: 900;
  line-height: 1.25;
}

.capability-copy p {
  margin: 11px 0 0;
  color: #687486;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
}

.capability-copy a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 22px;
  color: #7587a0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.capability-copy a::after {
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  content: "";
}

.capability-visual {
  position: absolute;
  right: 26px;
  top: 50%;
  z-index: 1;
  width: 33%;
  min-height: 132px;
  transform: translateY(-50%);
}

.mock-window,
.mock-alert,
.mock-dock,
.mock-chart,
.mock-rank {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: 0 18px 40px rgba(73, 121, 191, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.mock-window {
  right: 0;
  top: 12px;
  width: 76%;
  height: 96px;
  padding: 13px;
}

.mock-window i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #b7cfff;
}

.mock-window b {
  display: block;
  height: 8px;
  margin-top: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
}

.mock-window b:nth-of-type(1) {
  width: 72%;
}

.mock-window b:nth-of-type(2) {
  width: 58%;
}

.mock-window b:nth-of-type(3) {
  width: 46%;
}

.mock-dock {
  left: 0;
  bottom: 10px;
  display: flex;
  gap: 7px;
  padding: 9px 11px;
}

.mock-dock em {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #2f6ff1;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}

.mock-alert {
  left: 8px;
  bottom: 10px;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px 12px;
  width: 126px;
  padding: 10px;
}

.mock-alert strong {
  grid-row: span 2;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #19bf4f;
  color: #fff;
}

.mock-alert span {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
}

.mock-trend {
  position: absolute;
  left: 0;
  bottom: 8px;
  width: 168px;
  padding: 8px;
  border: 1px solid rgba(142, 194, 255, 0.72);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 42px rgba(70, 130, 210, 0.13);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.mock-trend strong {
  display: block;
  margin-bottom: 6px;
  color: #63758e;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}

.trend-days {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  margin-bottom: 5px;
}

.trend-days span {
  display: grid;
  min-height: 20px;
  place-items: center;
  border-radius: 6px;
  background: rgba(237, 243, 255, 0.94);
  color: #66758e;
  font-size: 10px;
  font-weight: 900;
}

.trend-days .active {
  background: #2f6ff1;
  color: #fff;
}

.mock-trend svg {
  display: block;
  width: 100%;
  height: 42px;
}

.mock-trend svg .trend-area {
  fill: rgba(47, 111, 241, 0.1);
}

.trend-line,
.trend-dash {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trend-line {
  stroke: #2f7dff;
  stroke-width: 2.5;
}

.trend-dash {
  stroke: #02d8e8;
  stroke-width: 1.8;
  stroke-dasharray: 4 5;
}

.mock-trend circle {
  fill: #fff;
  stroke: #2f7dff;
  stroke-width: 3;
}

.mock-chart {
  right: 20px;
  top: 44px;
  display: flex;
  align-items: end;
  gap: 8px;
  width: 100px;
  height: 72px;
  padding: 12px;
}

.mock-chart b {
  flex: 1;
  border-radius: 999px 999px 6px 6px;
  background: #2f6ff1;
}

.mock-chart b:nth-child(1) {
  height: 52%;
}

.mock-chart b:nth-child(2) {
  height: 82%;
}

.mock-chart b:nth-child(3) {
  height: 64%;
}

.mock-rank {
  left: 4px;
  bottom: 14px;
  display: flex;
  gap: 7px;
  padding: 8px 10px;
}

.mock-rank span {
  color: #708096;
  font-size: 12px;
  font-weight: 900;
}

.data-band {
  position: relative;
  z-index: 1;
  padding: 130px 0 118px;
  background: #fff;
  color: var(--text);
}

.data-inner {
  width: min(1360px, calc(100% - 80px));
  margin: 0 auto;
}

.data-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  margin-bottom: 118px;
}

.data-pill {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 36px;
  padding: 0 22px;
  border: 2px dashed #e6e8ed;
  border-radius: 999px;
  color: #858a93;
  font-size: 13px;
  font-weight: 800;
}

.data-band h2 {
  max-width: 980px;
  margin: 0;
  color: #0a0f1a;
  font-size: clamp(29px, 2.5vw, 41px);
  font-weight: 900;
  line-height: 1.12;
}

.data-heading p:not(.data-pill) {
  max-width: 760px;
  margin: 30px 0 0;
  color: #626875;
  font-size: clamp(13px, 1vw, 17px);
  line-height: 1.65;
}

.data-heading > span {
  padding-bottom: 12px;
  color: #9a9fa8;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.data-points {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 56px;
}

.data-points strong {
  display: block;
  color: #3158ff;
  font-size: clamp(34px, 3.5vw, 53px);
  font-weight: 800;
  line-height: 1;
}

.data-points h3 {
  margin: 36px 0 0;
  color: #111722;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.data-points p {
  margin: 20px 0 0;
  color: #5f6671;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.75;
}

.scenes-section {
  position: relative;
  z-index: 1;
  width: min(1440px, calc(100% - 80px));
  margin: 0 auto;
  padding: 148px 0 96px;
}

.scenes-section .section-heading {
  max-width: 980px;
  margin: 0 auto 118px;
  text-align: center;
}

.scenes-section .section-heading h2 {
  margin: 0;
  color: #080d19;
  font-size: clamp(29px, 2.5vw, 41px);
  font-weight: 900;
  line-height: 1.12;
}

.scenes-section .section-heading p {
  max-width: 760px;
  margin: 30px auto 0;
  color: #151c2b;
  font-size: clamp(13px, 1vw, 17px);
  line-height: 1.65;
}

.scene-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.scene-grid article {
  min-height: 368px;
  padding: 58px 56px 48px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(105deg, #f6f8fe 0%, #fff 76%);
  box-shadow: none;
}

.scenes-section .role-icon {
  position: relative;
  display: block;
  width: 58px;
  height: 58px;
  color: #2f6ff0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.scenes-section .role-icon::before {
  position: absolute;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: block;
  width: var(--role-icon-render-size, 36px) !important;
  height: var(--role-icon-render-size, 36px) !important;
  content: "";
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain !important;
  box-shadow: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  transform: translate(-50%, -50%) !important;
}

.scenes-section .role-icon::after {
  content: none !important;
  display: none !important;
}

.scenes-section .icon-gov::before {
  background-image: url("/static/img/geo-home/icon-role-cmo.svg");
}

.scenes-section .icon-gov {
  --role-icon-render-size: 34px;
}

.scenes-section .icon-company::before {
  background-image: url("/static/img/geo-home/icon-role-compliance.svg");
}

.scenes-section .icon-company {
  --role-icon-render-size: 35px;
}

.scenes-section .icon-finance::before {
  background-image: url("/static/img/geo-home/icon-role-content.svg");
}

.scenes-section .icon-finance {
  --role-icon-render-size: 43px;
}

.scenes-section .icon-media::before {
  background-image: url("/static/img/geo-home/icon-role-service.svg");
}

.scenes-section .icon-media {
  --role-icon-render-size: 38px;
}

.scene-grid h3 {
  margin: 42px 0 0;
  color: #080a0f;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.2;
}

.scene-grid p {
  max-width: 280px;
  margin: 24px 0 0;
  color: #7a7a7a;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.95;
}

.security-section {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 32px;
  align-items: center;
  width: min(1360px, calc(100% - 80px));
  margin: 0 auto;
  padding: 92px 0;
}

.security-copy h2 {
  margin: 0;
  color: #0a0f1a;
  font-size: clamp(29px, 2.5vw, 41px);
  font-weight: 900;
  line-height: 1.12;
}

.security-copy p {
  max-width: 640px;
  margin: 20px 0 0;
  color: #5f6671;
  font-size: 15px;
  line-height: 1.8;
}

.security-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.security-checks span {
  display: flex;
  min-height: 94px;
  align-items: center;
  padding: 22px;
  border: 1px solid #d9e4f3;
  border-radius: 12px;
  background: #fff;
  color: #26364e;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(35, 64, 96, 0.08);
}

.faq-section {
  position: relative;
  z-index: 1;
  padding: 104px 0 112px;
  background: #fff;
}

.faq-inner {
  width: min(1400px, calc(100% - 80px));
  margin: 0 auto;
}

.faq-inner h2 {
  margin: 0 0 56px;
  color: #111b2c;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.faq-list {
  display: grid;
  gap: 22px;
}

.faq-item {
  overflow: hidden;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(35, 64, 96, 0.1);
}

.faq-question {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) 26px;
  align-items: center;
  gap: 22px;
  min-height: 82px;
  padding: 0 32px;
}

.faq-question > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1176ff;
}

.faq-question h3 {
  margin: 0;
  color: #30333a;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.45;
}

.faq-question i {
  position: relative;
  width: 24px;
  height: 24px;
}

.faq-question i::before,
.faq-question i::after {
  position: absolute;
  left: 5px;
  top: 11px;
  width: 10px;
  height: 3px;
  border-radius: 999px;
  background: #30333a;
  content: "";
  transition: background 0.2s ease, transform 0.2s ease;
}

.faq-question i::before {
  transform: translateX(-3px) rotate(45deg);
}

.faq-question i::after {
  transform: translateX(3px) rotate(-45deg);
}

.faq-item p {
  max-height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0 68px;
  color: #6e7889;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
  opacity: 0;
  transition: max-height 0.24s ease, padding 0.24s ease, opacity 0.2s ease;
}

.faq-item:first-child p,
.faq-item:hover p,
.faq-item:focus-within p {
  max-height: 128px;
  padding-bottom: 30px;
  opacity: 1;
}

.faq-list:hover .faq-item:first-child:not(:hover) p {
  max-height: 0;
  padding-bottom: 0;
  opacity: 0;
}

.faq-item:first-child .faq-question i::before,
.faq-item:hover .faq-question i::before,
.faq-item:focus-within .faq-question i::before {
  background: #1176ff;
  transform: translateX(-3px) rotate(-45deg);
}

.faq-item:first-child .faq-question i::after,
.faq-item:hover .faq-question i::after,
.faq-item:focus-within .faq-question i::after {
  background: #1176ff;
  transform: translateX(3px) rotate(45deg);
}

.faq-list:hover .faq-item:first-child:not(:hover) .faq-question i::before {
  background: #30333a;
  transform: translateX(-3px) rotate(45deg);
}

.faq-list:hover .faq-item:first-child:not(:hover) .faq-question i::after {
  background: #30333a;
  transform: translateX(3px) rotate(-45deg);
}

.landing-footer {
  padding: 0 !important;
  border-top: 1px solid #d9e4f3 !important;
  background: #07152e !important;
  color: #c7d4ea !important;
}

.landing-footer .footer-inner {
  display: flex;
  width: min(1360px, calc(100% - 80px));
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 auto;
  font-size: 14px;
}

.modal-overlay {
  background: rgba(7, 21, 46, 0.36);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.modal {
  border: 1px solid rgba(221, 230, 243, 0.88);
  border-radius: 16px;
  background:
    radial-gradient(circle at 86% 0%, rgba(83, 151, 255, 0.14), transparent 34%),
    #fff;
  box-shadow: 0 28px 90px rgba(7, 21, 46, 0.22);
}

.modal.modal-compact {
  max-width: 456px;
}

.modal-header {
  min-height: 68px;
  padding: 22px 34px 0;
  border-bottom: 0;
  background: transparent;
}

.modal-title {
  color: #07152e;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
}

.modal.modal-compact .modal-title {
  font-size: 28px;
}

.modal-close {
  position: relative;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 1px solid #d9e3f1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: transparent;
  font-size: 0;
}

.modal-close::before,
.modal-close::after {
  position: absolute;
  left: 10px;
  top: 15px;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: #738197;
  content: "";
}

.modal-close::before {
  transform: rotate(45deg);
}

.modal-close::after {
  transform: rotate(-45deg);
}

.modal-close:hover {
  border-color: #cfe0ff;
  background: #eef5ff;
}

.modal-body {
  padding: 12px 34px 30px;
}

.modal.modal-compact .modal-body {
  padding: 12px 34px 30px;
}

.modal-body input,
.modal-body textarea {
  border: 2px solid #d9e3f1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #132033 !important;
  font-weight: 700;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}

.modal-body input:focus,
.modal-body textarea:focus {
  border: 2px solid rgba(20, 92, 255, 0.58) !important;
  background: #fff !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

.modal-body input:-webkit-autofill,
.modal-body input:-webkit-autofill:hover,
.modal-body input:-webkit-autofill:focus {
  -webkit-text-fill-color: #132033 !important;
  caret-color: #132033 !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
}

.modal-body .auth-desc {
  margin: 0 0 20px;
  color: #64738a;
  font-size: 14px;
  line-height: 1.7;
}

.modal-body .auth-form {
  display: grid;
  gap: 12px;
}

.modal-body .auth-field {
  display: grid;
  gap: 8px;
}

.modal-body .auth-form label {
  color: #1b2a42;
  font-size: 14px;
  font-weight: 800;
}

.modal-body .auth-form input {
  width: 100%;
  height: 48px;
  padding: 0 14px !important;
  outline: 0;
  font-size: 15px;
}

.auth-code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 10px;
}

.auth-note,
.auth-agreement,
.auth-feedback {
  margin: 2px 0 0;
  color: #6a788d;
  font-size: 12px;
  line-height: 1.65;
}

.auth-agreement a,
.auth-agreement-link {
  color: #2f6ff0 !important;
  font-weight: 800;
}

#authSendCodeBtn,
#authSubmitBtn {
  border: 0 !important;
  border-radius: 10px !important;
  font-weight: 900 !important;
  cursor: pointer;
}

#authSendCodeBtn {
  min-height: 48px;
  background: #eef5ff !important;
  color: #2f6ff0 !important;
  box-shadow: none !important;
}

#authSubmitBtn {
  display: grid;
  width: 100%;
  min-height: 52px;
  place-items: center;
  margin-top: 6px;
  background: #2f6ff0 !important;
  color: #fff !important;
  font-size: 16px;
  box-shadow: 0 14px 28px rgba(20, 92, 255, 0.22) !important;
}

.auth-disclaimer-text,
.auth-legal-section-text {
  color: #6a788d;
}

.auth-agreement-link {
  color: #2f6ff0 !important;
}

/* Zip workflow modal mapping for the real app components */
.modal:has(.user-center-shell) {
  max-width: 680px;
}

.modal:has(.user-center-shell) .modal-body {
  padding: 0 30px 30px;
}

.user-center-shell {
  gap: 18px;
  width: 100%;
}

.user-center-summary {
  display: grid;
  gap: 18px;
  margin-top: 4px;
  padding: 18px;
  border: 0;
  border-radius: 14px;
  background: #f6f9ff;
  box-shadow: inset 0 0 0 1px rgba(217, 227, 241, 0.72);
}

.user-center-summary-kicker {
  color: #738197 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.user-center-summary-title {
  color: #132033 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.user-center-summary-text {
  color: #64738a !important;
}

.user-center-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.user-center-summary-card,
.history-center,
.history-center-item {
  border-radius: 12px !important;
  background: #f8fbff !important;
  box-shadow: inset 0 0 0 1px rgba(217, 227, 241, 0.72) !important;
}

.user-center-summary-card {
  border: 0 !important;
}

.user-center-summary-label {
  color: #738197 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.user-center-summary-value {
  color: #132033 !important;
  font-weight: 900 !important;
}

.user-center-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}

.user-center-actions button {
  min-height: 44px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.user-center-actions button.primary {
  background: #2f6ff0 !important;
  border-color: #2f6ff0 !important;
  box-shadow: 0 12px 24px rgba(47, 111, 240, 0.2) !important;
}

.modal.modal-diagnosis-material-editor,
.modal:has(.diagnosis-material-modal) {
  max-width: min(1400px, calc(100vw - 48px));
  height: min(88vh, 820px);
  max-height: min(88vh, 820px);
  overflow: hidden;
  background: #f5f8fc;
}

.modal.modal-diagnosis-material-editor .modal-header,
.modal:has(.diagnosis-material-modal) .modal-header,
.modal.modal-diagnosis-question-loading .modal-header,
.modal:has(.diagnosis-question-loading) .modal-header,
.modal.modal-diagnosis-question-editor .modal-header,
.modal:has(.diagnosis-question-editor) .modal-header {
  min-height: 68px;
  padding: 18px 22px;
  border-bottom: 1px solid #dfe7f2;
  background: #fff;
}

.modal.modal-diagnosis-material-editor .modal-title,
.modal:has(.diagnosis-material-modal) .modal-title,
.modal.modal-diagnosis-question-loading .modal-title,
.modal:has(.diagnosis-question-loading) .modal-title,
.modal.modal-diagnosis-question-editor .modal-title,
.modal:has(.diagnosis-question-editor) .modal-title {
  color: #172238;
  font-size: 20px;
  font-weight: 900;
}

.modal.modal-diagnosis-material-editor .modal-body,
.modal:has(.diagnosis-material-modal) .modal-body,
.modal.modal-diagnosis-question-loading .modal-body,
.modal:has(.diagnosis-question-loading) .modal-body,
.modal.modal-diagnosis-question-editor .modal-body,
.modal:has(.diagnosis-question-editor) .modal-body {
  background: #f5f8fc;
  padding: 0;
}

.diagnosis-material-modal {
  gap: 0;
  background:
    radial-gradient(circle at 14% 8%, rgba(20, 92, 255, 0.08), transparent 30%),
    linear-gradient(180deg, #f6faff 0%, #eef5ff 100%);
}

.diagnosis-material-scroll {
  gap: 14px;
  padding: 18px 20px 20px;
}

.diagnosis-material-intro {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 20px;
  align-items: center;
  min-height: 110px;
  padding: 18px 22px;
  border: 1px solid #dce6f3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
}

.diagnosis-material-eyebrow,
.diagnosis-material-field-head label,
.diagnosis-product-category-cell span,
.diagnosis-product-description-cell span {
  color: #25344a !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.diagnosis-material-brand {
  margin-top: 4px;
  color: #132033;
  font-size: 18px;
  font-weight: 900;
}

.diagnosis-material-note {
  max-width: 532px;
  margin: 0 0 0 auto;
  color: #637188;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.62;
  text-align: center;
}

.diagnosis-material-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.diagnosis-material-field {
  gap: 12px;
  padding: 16px;
  border: 1px solid #dce6f3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
}

.diagnosis-material-field-wide,
.diagnosis-material-product-panel {
  grid-column: 1 / -1;
}

.diagnosis-material-field-head span {
  padding: 4px 9px;
  background: #f1f4fa;
  color: #7d8ba1;
  font-size: 10px;
  font-weight: 900;
}

.diagnosis-material-field input[type="url"],
.diagnosis-material-field input[type="text"],
.diagnosis-material-field textarea {
  border: 1px solid #dce6f3 !important;
  border-radius: 10px !important;
  background: #fbfdff !important;
  color: #132033 !important;
  font-weight: 700;
}

.diagnosis-product-category-row {
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 0.64fr);
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid #e7edf5;
}

.diagnosis-upload-control {
  width: fit-content;
  margin-top: 2px;
  color: #254c84;
  font-size: 12px;
  font-weight: 900;
}

.diagnosis-upload-plus {
  width: 20px;
  height: 20px;
  background: #e8f1ff;
  color: #2f6ff0;
}

.diagnosis-material-actions {
  min-height: 54px;
  padding: 10px 20px calc(10px + var(--safe-bottom));
  border-top: 1px solid #dfe7f2;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 -16px 32px rgba(20, 50, 90, 0.08);
}

.diagnosis-material-actions .action-btn,
.diagnosis-question-float-confirm {
  border: 0 !important;
  border-radius: 9px !important;
  background: #2f6ff0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(47, 111, 240, 0.22) !important;
}

.diagnosis-question-float-back {
  border: 1px solid #cfe0ff !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #2f6ff0 !important;
  font-weight: 900 !important;
}

.modal.modal-diagnosis-question-loading,
.modal:has(.diagnosis-question-loading),
.modal.modal-diagnosis-question-editor,
.modal:has(.diagnosis-question-editor) {
  max-width: min(1280px, calc(100vw - 48px));
  height: min(88vh, 860px);
  max-height: min(88vh, 860px);
  overflow: hidden;
  background: #f5f8fc;
}

.diagnosis-question-loading,
.diagnosis-question-editor {
  background:
    radial-gradient(circle at 14% 8%, rgba(20, 92, 255, 0.07), transparent 28%),
    linear-gradient(180deg, #f6faff 0%, #eef5ff 100%);
}

.diagnosis-question-loading {
  padding: 18px 20px 24px;
}

.diagnosis-question-loading .loading-runtime-summary-main,
.diagnosis-question-loading .loading-runtime-progress-card,
.diagnosis-question-flow .loading-flow-row,
.diagnosis-question-terminal-shell,
.diagnosis-question-stat,
.diagnosis-question-browser {
  border: 1px solid #dce6f3 !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 12px 30px rgba(20, 55, 100, 0.06) !important;
}

.diagnosis-question-loading .loading-runtime-summary-main,
.diagnosis-question-loading .loading-runtime-progress-card {
  min-height: 236px;
  padding: 24px;
}

.diagnosis-question-loading .loading-runtime-brand {
  color: #111b2c;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 0;
}

.diagnosis-question-loading .loading-progress-value {
  color: #2f6ff0;
  font-size: 42px;
  font-weight: 900;
}

.diagnosis-question-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.diagnosis-question-flow .loading-flow-row {
  min-height: 142px;
  align-content: start;
  padding: 16px;
}

.diagnosis-question-flow .loading-flow-index {
  color: #8a96a8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 1px;
}

.diagnosis-question-flow .loading-flow-name {
  color: #182335;
  font-size: 16px;
  font-weight: 900;
}

.diagnosis-question-flow .loading-flow-meta {
  margin-top: 12px;
  color: #66758e;
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-question-terminal-shell {
  min-height: 260px;
  margin-top: 16px;
  overflow: hidden;
}

.diagnosis-question-editor {
  gap: 16px;
  padding: 18px 20px 116px;
}

.diagnosis-question-summary {
  gap: 12px;
}

.diagnosis-question-stat {
  min-height: 84px;
  padding: 16px;
}

.diagnosis-question-stat span {
  color: #6f7d91;
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-question-stat strong {
  margin-top: 8px;
  color: #1a2637;
  font-size: 20px;
  font-weight: 900;
}

.diagnosis-question-toolbar {
  margin-bottom: -2px;
}

.diagnosis-question-toolbar-copy strong {
  color: #172238;
  font-size: 18px;
  font-weight: 900;
}

.diagnosis-question-toolbar-copy span {
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-question-browser {
  border-radius: 12px !important;
}

.diagnosis-question-dimension-strip {
  border-bottom: 1px solid #dce6f3;
  border-radius: 12px 12px 0 0;
  background: #f8fbff;
}

.diagnosis-question-dimension-tab {
  min-height: 66px;
  padding: 12px 16px;
  color: #3b4a60;
}

.diagnosis-question-dimension-tab.active {
  background: #fff;
  color: #2f6ff0;
  box-shadow: inset 0 -3px 0 #2f6ff0;
}

.diagnosis-question-type-tab {
  min-height: 34px;
  border-radius: 999px;
}

.diagnosis-question-item {
  grid-template-columns: minmax(136px, 0.24fr) minmax(0, 1fr) 40px;
  padding: 11px 14px;
}

.diagnosis-question-item-field textarea {
  min-height: 46px;
  border-radius: 10px !important;
}

/* Keep the imported GEO homepage sections visible inside the existing app shell. */
#features,
#growth,
#usecases,
.faq-section {
  scroll-margin-top: 88px;
}

#growth.data-band {
  margin-top: 0;
  background: #fff !important;
}

#usecases.scenes-section {
  background: transparent !important;
}

#growth .data-inner,
#usecases .section-heading,
#usecases .scene-grid,
.faq-section .faq-inner {
  position: relative;
  z-index: 2;
  visibility: visible;
  opacity: 1;
}

#growth .data-points article,
#usecases .scene-grid article,
.faq-section .faq-item {
  visibility: visible;
  opacity: 1;
}

@media (min-width: 761px) {
  .zip-feature-intro {
    padding: 148px 0 !important;
  }

  .zip-feature-intro .section-heading {
    margin-bottom: 82px;
  }

  .data-band {
    padding: 130px 0 118px;
  }

  .data-heading {
    margin-bottom: 118px;
  }

  .data-points {
    gap: 34px;
  }

  .scenes-section {
    padding: 148px 0 96px;
  }

  .scenes-section .section-heading {
    margin-bottom: 118px;
  }

  .scene-grid article {
    min-height: 368px;
    padding: 58px 56px 48px;
  }

  .scene-grid h3 {
    margin-top: 42px;
  }

  .scene-grid p {
    margin-top: 24px;
  }

  .security-section {
    padding: 58px 0;
  }

  .faq-section {
    padding: 104px 0 112px;
  }

  .faq-inner h2 {
    margin-bottom: 56px;
  }

  .faq-list {
    gap: 16px;
  }
}

@media (max-width: 1200px) {
  .zip-feature-intro,
  .data-inner,
  .scenes-section,
  .security-section {
    width: min(1180px, calc(100% - 40px));
  }

  .capability-grid {
    grid-template-columns: 1fr;
  }

  .data-heading {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 74px;
  }

  .data-heading > span {
    padding-bottom: 0;
  }

  .data-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
  }

  .scene-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .scene-grid article {
    min-height: 310px;
    padding: 42px 38px 40px;
  }

  .scene-grid h3 {
    font-size: 20px;
  }
}

@media (max-width: 760px) {
  .zip-feature-intro {
    width: calc(100% - 28px);
    padding: 86px 0 !important;
  }

  .zip-feature-intro .section-heading {
    margin-bottom: 38px;
  }

  .zip-feature-intro .features-subheading {
    margin: 20px auto 0;
    font-size: 12px;
  }

  .zip-feature-intro .features-heading,
  .data-band h2,
  .scenes-section .section-heading h2,
  .security-copy h2 {
    font-size: 24px !important;
  }

  .capability-card {
    min-height: 0;
    padding: 22px;
  }

  .capability-copy {
    max-width: 100%;
  }

  .capability-copy h3 {
    font-size: 20px;
  }

  .capability-copy p {
    max-width: 100%;
  }

  .capability-copy a {
    margin-top: 18px;
    font-size: 12px;
  }

  .capability-visual {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    min-height: 114px;
    margin-top: 18px;
    transform: none;
  }

  .mock-window {
    width: 70%;
    height: 96px;
  }

  .data-band {
    padding: 78px 0 84px;
  }

  .data-inner,
  .scenes-section,
  .security-section,
  .faq-inner,
  .landing-footer .footer-inner {
    width: min(100% - 28px, 1180px);
  }

  .data-points,
  .scene-grid,
  .security-section,
  .security-checks {
    grid-template-columns: 1fr;
  }

  .data-points {
    gap: 30px;
  }

  .data-points h3 {
    margin-top: 18px;
  }

  .data-points p {
    margin-top: 10px;
  }

  .scenes-section {
    padding: 92px 0 74px;
  }

  .scenes-section .section-heading {
    margin-bottom: 52px;
  }

  .scenes-section .section-heading p {
    margin-top: 20px;
    font-size: 12px;
  }

  .scene-grid article {
    min-height: 230px;
    padding: 30px 24px 28px;
  }

  .scene-grid h3 {
    margin-top: 30px;
  }

  .scene-grid p {
    margin-top: 16px;
  }

  .security-section {
    padding: 74px 0;
  }

  .faq-section {
    padding: 78px 0 84px;
  }

  .faq-inner h2 {
    margin-bottom: 34px;
    font-size: 26px;
  }

  .faq-list {
    gap: 14px;
  }

  .faq-question {
    grid-template-columns: 8px minmax(0, 1fr) 22px;
    gap: 14px;
    min-height: 74px;
    padding: 0 18px;
  }

  .faq-question h3 {
    font-size: 16px;
  }

  .faq-item p {
    padding: 0 40px;
    font-size: 13px;
  }

  .faq-item:first-child p,
  .faq-item:hover p,
  .faq-item:focus-within p {
    max-height: 220px;
    padding-bottom: 24px;
  }

  .landing-footer .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
  }

  .modal-overlay {
    padding: calc(14px + var(--safe-top)) 12px calc(14px + var(--safe-bottom));
  }

  .modal,
  .modal.modal-compact {
    max-width: 100%;
  }

  .modal-header {
    min-height: 58px;
    padding: 18px 20px 0;
  }

  .modal-title,
  .modal.modal-compact .modal-title {
    font-size: 22px;
  }

  .modal-body,
  .modal.modal-compact .modal-body {
    padding: 10px 20px 24px;
  }

  .modal.modal-diagnosis-material-editor,
  .modal:has(.diagnosis-material-modal),
  .modal.modal-diagnosis-question-loading,
  .modal:has(.diagnosis-question-loading),
  .modal.modal-diagnosis-question-editor,
  .modal:has(.diagnosis-question-editor) {
    max-width: 100%;
    height: calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));
    max-height: calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));
  }

  .diagnosis-material-intro,
  .diagnosis-material-grid,
  .diagnosis-product-category-row,
  .diagnosis-question-loading .loading-runtime-summary,
  .diagnosis-question-flow,
  .diagnosis-question-summary,
  .user-center-summary-grid,
  .user-center-actions {
    grid-template-columns: 1fr;
  }

  .diagnosis-material-note {
    margin: 0;
    text-align: left;
  }

  .diagnosis-question-dimension-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnosis-question-flow .loading-flow-row {
    min-height: auto;
  }
}

/* GEO official homepage v2 */
.landing-nav-links > a,
.landing-nav-links > .landing-nav-pending {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0;
  white-space: nowrap;
}

.landing-nav-links .landing-nav-pending {
  appearance: none;
  border: 0;
  background: transparent;
  color: #9aa6b7;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.landing-nav-links .landing-nav-pending:hover,
.landing-nav-links .landing-nav-pending:focus-visible {
  background: #f1f4f8;
  color: #7b8798;
}

.landing-nav-links .landing-nav-pending:focus-visible {
  outline: 3px solid rgba(47, 111, 241, 0.18);
  outline-offset: 2px;
}

.landing-hero-layout {
  grid-template-columns: minmax(520px, 0.92fr) minmax(500px, 1.08fr);
  gap: clamp(72px, 7vw, 118px);
}

.landing-hero-main {
  gap: 54px;
}

.landing-hero-image-card {
  width: min(108%, 820px);
  aspect-ratio: 1868 / 960;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(ellipse 67% 62% at 54% 52%, #000 48%, rgba(0, 0, 0, 0.82) 66%, transparent 100%);
  mask-image: radial-gradient(ellipse 67% 62% at 54% 52%, #000 48%, rgba(0, 0, 0, 0.82) 66%, transparent 100%);
}

.landing-hero-image-card::after {
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background:
    linear-gradient(90deg, #e8f6ff 0%, rgba(232, 246, 255, 0.86) 7%, rgba(232, 246, 255, 0) 23%, rgba(232, 246, 255, 0) 78%, rgba(217, 235, 255, 0.78) 96%, #d9ebff 100%),
    linear-gradient(180deg, #e4f3ff 0%, rgba(228, 243, 255, 0) 18%, rgba(228, 243, 255, 0) 78%, rgba(217, 235, 255, 0.72) 100%);
  content: "";
}

.landing-hero-image-card img {
  object-fit: cover;
  object-position: center;
}

.ai-robot-entry {
  position: fixed;
  right: 22px;
  bottom: 28px;
  z-index: 45;
  display: grid;
  width: 88px;
  justify-items: center;
  color: #fff;
  text-decoration: none;
  filter: drop-shadow(0 7px 13px rgba(17, 94, 255, 0.18));
  animation: aiRobotFloat 3.1s ease-in-out infinite;
  transition: filter 200ms ease, transform 200ms ease;
}

.ai-robot-entry:hover,
.ai-robot-entry:focus-visible {
  animation-play-state: paused;
  transform: translateY(-2px);
  filter: drop-shadow(0 9px 16px rgba(17, 94, 255, 0.24));
}

.ai-robot-entry:focus-visible {
  outline: 3px solid rgba(20, 92, 255, 0.28);
  outline-offset: 5px;
}

.ai-robot-entry-art {
  display: block;
  width: 88px;
  height: 64px;
  overflow: hidden;
  animation: aiRobotNod 4.6s ease-in-out infinite;
  transform-origin: center bottom;
}

.ai-robot-entry-art img {
  display: block;
  width: 100%;
  height: auto;
}

.ai-robot-entry-label {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 26px;
  place-items: center;
  margin-top: -1px;
  padding: 4px 6px 5px;
  overflow: hidden;
  border-radius: 14px;
  background: #2473ff;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.15;
  white-space: nowrap;
}

.ai-robot-entry-label::after {
  position: absolute;
  top: 0;
  left: -32px;
  width: 13px;
  height: 100%;
  background: rgba(255, 255, 255, 0.34);
  content: "";
  transform: skewX(-18deg);
  animation: aiRobotShine 3.8s ease-in-out infinite;
}

@keyframes aiRobotFloat {
  0%, 100% { transform: translateY(-2px); }
  50% { transform: translateY(3px); }
}

@keyframes aiRobotNod {
  0%, 42%, 62%, 100% { transform: rotate(0deg); }
  48% { transform: rotate(-2deg); }
  55% { transform: rotate(2deg); }
}

@keyframes aiRobotShine {
  0%, 58% { transform: translateX(0) skewX(-18deg); }
  76%, 100% { transform: translateX(130px) skewX(-18deg); }
}

@media (max-width: 1180px) {
  .landing-hero-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ai-robot-entry {
    right: 10px;
    bottom: 16px;
    width: 64px;
  }

  .ai-robot-entry-art {
    width: 64px;
    height: 47px;
  }

  .ai-robot-entry-label {
    min-height: 20px;
    padding: 3px 4px 4px;
    border-radius: 10px;
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ai-robot-entry,
  .ai-robot-entry-art,
  .ai-robot-entry-label::after {
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-question i::before,
  .faq-question i::after,
  .faq-item p {
    transition: none;
  }
}

/* GEO workflow surfaces: material intake, probe generation, report generation */
:root {
  --geo-workflow-bg: #f3f8ff;
  --geo-workflow-bg-2: #eaf3ff;
  --geo-workflow-surface: #ffffff;
  --geo-workflow-surface-2: #f8fbff;
  --geo-workflow-line: #dce6f3;
  --geo-workflow-line-strong: #cbdcf2;
  --geo-workflow-text: #07152e;
  --geo-workflow-muted: #66758e;
  --geo-workflow-soft: #8b98ad;
  --geo-workflow-blue: #145cff;
  --geo-workflow-blue-2: #2b7cff;
  --geo-workflow-cyan: #11b8cf;
  --geo-workflow-green: #14a36f;
  --geo-workflow-gold: #d78b17;
  --geo-workflow-red: #e05252;
  --geo-workflow-radius: 8px;
  --geo-workflow-shadow: 0 22px 70px rgba(20, 92, 255, 0.12);
  --geo-workflow-shadow-soft: 0 14px 36px rgba(10, 30, 70, 0.08);
}

.modal-overlay {
  background: rgba(7, 21, 46, 0.42);
}

.modal.modal-diagnosis-material-editor,
.modal.modal-diagnosis-question-loading,
.modal.modal-diagnosis-question-editor,
.modal:has(.diagnosis-material-modal),
.modal:has(.diagnosis-question-loading),
.modal:has(.diagnosis-question-editor) {
  border: 1px solid rgba(221, 230, 243, 0.96);
  border-radius: 12px;
  background: var(--geo-workflow-bg);
  box-shadow: 0 28px 90px rgba(7, 21, 46, 0.24);
}

.modal.modal-diagnosis-material-editor,
.modal:has(.diagnosis-material-modal) {
  max-width: min(1420px, calc(100vw - 48px));
  height: min(90vh, 840px);
  max-height: min(90vh, 840px);
}

.modal.modal-diagnosis-question-loading,
.modal:has(.diagnosis-question-loading),
.modal.modal-diagnosis-question-editor,
.modal:has(.diagnosis-question-editor) {
  max-width: min(1320px, calc(100vw - 48px));
  height: min(90vh, 860px);
  max-height: min(90vh, 860px);
}

.modal.modal-diagnosis-material-editor .modal-header,
.modal.modal-diagnosis-question-loading .modal-header,
.modal.modal-diagnosis-question-editor .modal-header,
.modal:has(.diagnosis-material-modal) .modal-header,
.modal:has(.diagnosis-question-loading) .modal-header,
.modal:has(.diagnosis-question-editor) .modal-header {
  min-height: 70px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--geo-workflow-line);
  background: rgba(255, 255, 255, 0.96);
}

.modal.modal-diagnosis-material-editor .modal-title,
.modal.modal-diagnosis-question-loading .modal-title,
.modal.modal-diagnosis-question-editor .modal-title,
.modal:has(.diagnosis-material-modal) .modal-title,
.modal:has(.diagnosis-question-loading) .modal-title,
.modal:has(.diagnosis-question-editor) .modal-title {
  color: var(--geo-workflow-text);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0;
}

.modal.modal-diagnosis-material-editor .modal-body,
.modal.modal-diagnosis-question-loading .modal-body,
.modal.modal-diagnosis-question-editor .modal-body,
.modal:has(.diagnosis-material-modal) .modal-body,
.modal:has(.diagnosis-question-loading) .modal-body,
.modal:has(.diagnosis-question-editor) .modal-body {
  padding: 0;
  background: var(--geo-workflow-bg);
}

.modal.modal-diagnosis-question-loading .modal-body,
.modal:has(.diagnosis-question-loading) .modal-body {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.diagnosis-material-modal,
.diagnosis-question-loading,
.diagnosis-question-editor {
  color: var(--geo-workflow-text);
  background:
    radial-gradient(circle at 12% 10%, rgba(213, 244, 249, 0.72), transparent 31%),
    radial-gradient(circle at 92% 0%, rgba(174, 213, 255, 0.64), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, var(--geo-workflow-bg-2) 100%);
}

.diagnosis-material-scroll {
  gap: 16px;
  padding: 20px 22px 18px;
}

.diagnosis-material-intro {
  display: grid;
  grid-template-columns: minmax(260px, 0.74fr) minmax(0, 1.26fr);
  gap: 22px;
  align-items: center;
  min-height: 118px;
  padding: 22px 24px;
  border: 1px solid var(--geo-workflow-line);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.94)),
    var(--geo-workflow-surface);
  box-shadow: var(--geo-workflow-shadow-soft);
}

.diagnosis-material-eyebrow,
.diagnosis-material-field-head label,
.diagnosis-product-category-cell span,
.diagnosis-product-description-cell span,
.loading-runtime-label,
.loading-runtime-meta-label,
.loading-telemetry-label {
  color: #25344a !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.diagnosis-material-brand {
  margin-top: 6px;
  color: var(--geo-workflow-text);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.25;
}

.diagnosis-material-note {
  max-width: 660px;
  margin-left: auto;
  color: var(--geo-workflow-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.75;
  text-align: right;
}

.diagnosis-material-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.diagnosis-material-field {
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--geo-workflow-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: none;
}

.diagnosis-material-field:focus-within,
.diagnosis-material-upload-field:hover,
.diagnosis-material-upload-field.is-dragover {
  border-color: rgba(20, 92, 255, 0.42);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(20, 92, 255, 0.08);
}

.diagnosis-material-field-head span {
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: var(--geo-workflow-blue);
  font-size: 10px;
  font-weight: 900;
}

.diagnosis-material-field input[type="url"],
.diagnosis-material-field input[type="text"],
.diagnosis-material-field textarea,
.modal .diagnosis-material-field input[type="url"],
.modal .diagnosis-material-field input[type="text"],
.modal .diagnosis-material-field textarea {
  border: 1px solid var(--geo-workflow-line) !important;
  border-radius: 8px !important;
  background: #fbfdff !important;
  color: var(--geo-workflow-text) !important;
  -webkit-text-fill-color: var(--geo-workflow-text) !important;
  font-size: 14px;
  font-weight: 700;
  box-shadow: none !important;
}

.diagnosis-material-field input[type="url"]:focus,
.diagnosis-material-field input[type="text"]:focus,
.diagnosis-material-field textarea:focus,
.modal .diagnosis-material-field input[type="url"]:focus,
.modal .diagnosis-material-field input[type="text"]:focus,
.modal .diagnosis-material-field textarea:focus {
  border-color: rgba(20, 92, 255, 0.58) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(20, 92, 255, 0.1) !important;
}

.diagnosis-material-product-panel {
  grid-column: 1 / -1;
}

.diagnosis-material-product-head p {
  color: var(--geo-workflow-muted);
  font-weight: 650;
}

.diagnosis-product-category-row {
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 0.64fr);
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid #e7edf5;
}

.diagnosis-upload-control {
  gap: 8px;
  width: fit-content;
  color: #254c84;
  font-size: 12px;
  font-weight: 900;
}

.diagnosis-upload-plus {
  width: 20px;
  height: 20px;
  background: #e8f1ff;
  color: var(--geo-workflow-blue);
}

.diagnosis-upload-feedback {
  border-radius: 8px;
}

.diagnosis-upload-chip {
  border-color: var(--geo-workflow-line);
  background: #f8fbff;
  color: #25344a;
}

.diagnosis-material-actions {
  min-height: 64px;
  padding: 12px 22px calc(12px + var(--safe-bottom));
  border-top: 1px solid var(--geo-workflow-line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -16px 32px rgba(20, 50, 90, 0.08);
}

.diagnosis-material-actions .action-btn,
.diagnosis-question-float-confirm,
.search-submit-btn {
  border: 0 !important;
  border-radius: var(--geo-workflow-radius) !important;
  background: var(--geo-workflow-blue) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(20, 92, 255, 0.18) !important;
}

.diagnosis-material-actions .action-btn:hover,
.diagnosis-question-float-confirm:hover,
.search-submit-btn:hover {
  background: #0f4fe6 !important;
}

.diagnosis-question-float-back {
  border: 1px solid #cfe0ff !important;
  border-radius: var(--geo-workflow-radius) !important;
  background: #fff !important;
  color: var(--geo-workflow-blue) !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(10, 30, 70, 0.08) !important;
}

.diagnosis-question-loading {
  height: auto;
  min-height: 0;
  padding: 20px 22px 24px;
  overflow-x: hidden;
  overflow-y: auto;
}

.diagnosis-question-loading .loading-runtime-shell {
  gap: 14px;
}

.diagnosis-question-loading .loading-runtime-summary {
  grid-template-columns: minmax(0, 1.32fr) minmax(300px, 0.82fr);
  gap: 14px;
}

.diagnosis-question-loading .loading-runtime-summary-main,
.diagnosis-question-loading .loading-runtime-progress-card,
.diagnosis-question-flow .loading-flow-row,
.diagnosis-question-terminal-shell,
.diagnosis-question-stat,
.diagnosis-question-browser,
.diagnosis-question-insight,
.loading-card,
.loading-runtime-summary-main,
.loading-runtime-progress-card,
.loading-terminal-shell,
.loading-runtime-meta-card,
.loading-telemetry-item {
  border: 1px solid var(--geo-workflow-line) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--geo-workflow-shadow-soft) !important;
}

.diagnosis-question-loading .loading-runtime-summary-main,
.diagnosis-question-loading .loading-runtime-progress-card {
  min-height: 196px;
  padding: 24px;
}

.loading-card {
  width: min(1220px, calc(100vw - 40px));
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(213, 244, 249, 0.72), transparent 31%),
    radial-gradient(circle at 92% 0%, rgba(174, 213, 255, 0.64), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, var(--geo-workflow-bg-2) 100%) !important;
  overflow-x: hidden;
  overflow-y: auto;
}

.loading-overlay {
  background: rgba(7, 21, 46, 0.42);
}

.loading-console-shell {
  gap: 14px;
}

.loading-console-topbar {
  min-height: 54px;
  padding: 0 4px 10px;
}

.loading-console-kicker {
  display: grid;
  gap: 2px;
  text-align: left;
}

.loading-console-kicker-title {
  color: var(--geo-workflow-text);
  font-family: var(--font);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.loading-console-kicker-sub,
.loading-console-updated {
  color: var(--geo-workflow-muted);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.loading-runtime-brand {
  color: var(--geo-workflow-text);
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 0;
}

.loading-runtime-sub,
.loading-terminal-subtitle,
.loading-progress-foot,
.loading-telemetry-sub {
  color: var(--geo-workflow-muted);
  font-weight: 700;
}

.loading-runtime-badge {
  min-height: 30px;
  padding: 5px 11px;
  font-weight: 900;
}

.loading-runtime-badge.tone-blue,
.loading-toolbar-btn.is-active {
  background: #eef5ff;
  color: var(--geo-workflow-blue);
  border-color: #cfe0ff;
}

.loading-runtime-badge.tone-teal {
  background: #e9fbff;
  color: #07869a;
  border-color: #bdeef6;
}

.loading-runtime-badge.tone-gray {
  background: #f1f4fa;
  color: #5c6c83;
  border-color: #dfe7f2;
}

.loading-runtime-meta-card,
.loading-telemetry-item {
  padding: 14px;
  background: var(--geo-workflow-surface-2) !important;
  box-shadow: none !important;
}

.loading-runtime-meta-value,
.loading-telemetry-value {
  color: #132033;
  font-weight: 900;
}

.loading-progress-stage {
  color: #132033;
  font-weight: 900;
}

.loading-progress-value,
.diagnosis-question-loading .loading-progress-value {
  color: var(--geo-workflow-blue);
  font-size: 42px;
  font-weight: 900;
}

.loading-track {
  height: 9px;
  background: #dfe7f2;
}

.loading-fill {
  background: linear-gradient(90deg, var(--geo-workflow-blue), var(--geo-workflow-blue-2) 52%, var(--geo-workflow-cyan));
}

.diagnosis-question-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 2px;
}

.diagnosis-question-flow .loading-flow-row {
  min-height: 112px;
  align-content: start;
  padding: 16px;
  box-shadow: none !important;
}

.diagnosis-question-flow .loading-flow-index {
  color: var(--geo-workflow-soft);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 1px;
}

.diagnosis-question-flow .loading-flow-name {
  color: #182335;
  font-size: 16px;
  font-weight: 900;
}

.diagnosis-question-flow .loading-flow-meta {
  margin-top: 12px;
  color: var(--geo-workflow-muted);
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-question-flow .loading-flow-state {
  border-radius: 999px;
  font-weight: 900;
}

.diagnosis-question-terminal-shell {
  min-height: 196px;
  overflow: hidden;
  box-shadow: none !important;
}

.loading-terminal-toolbar {
  border-bottom: 1px solid var(--geo-workflow-line);
  background: var(--geo-workflow-surface-2);
}

.loading-terminal-title {
  color: #172238;
  font-weight: 900;
}

.loading-toolbar-btn {
  border-radius: 999px;
  border-color: var(--geo-workflow-line);
  background: #fff;
  color: var(--geo-workflow-muted);
  font-weight: 900;
}

.loading-unified-terminal,
.diagnosis-question-terminal {
  background: #fbfdff !important;
}

.loading-terminal-line {
  border-radius: 8px;
}

.loading-terminal-line.is-live,
.loading-terminal-line.is-recent,
.loading-terminal-line:hover {
  background: rgba(20, 92, 255, 0.055);
  border-color: rgba(20, 92, 255, 0.1);
}

.loading-terminal-tag.tone-info {
  background: #eef5ff;
  color: var(--geo-workflow-blue);
  border-color: #cfe0ff;
}

.loading-terminal-tag.tone-running {
  background: #e9fbff;
  color: #07869a;
  border-color: #bdeef6;
}

.loading-terminal-tag.tone-ok {
  background: #edf9f4;
  color: #0d7650;
  border-color: #c5ecdc;
}

.loading-terminal-tag.tone-error {
  background: #fff0f0;
  color: #ba3030;
  border-color: #f7cbcb;
}

.loading-terminal-tag.tone-command {
  background: #fff7e8;
  color: #9c620f;
  border-color: #f3d9a6;
}

.loading-terminal-message {
  color: #24344a;
}

.diagnosis-question-editor {
  gap: 16px;
  padding: 20px 22px 118px;
}

.diagnosis-question-summary {
  gap: 12px;
}

.diagnosis-question-stat {
  min-height: 86px;
  padding: 16px;
  box-shadow: none !important;
}

.diagnosis-question-stat span {
  color: var(--geo-workflow-muted);
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-question-stat strong {
  margin-top: 8px;
  color: #1a2637;
  font-size: 20px;
  font-weight: 900;
}

.diagnosis-question-toolbar {
  padding: 0 2px;
}

.diagnosis-question-toolbar-copy strong {
  color: #172238;
  font-size: 18px;
  font-weight: 900;
}

.diagnosis-question-toolbar-copy span {
  color: var(--geo-workflow-muted);
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-question-toolbar-actions .action-btn {
  border-radius: var(--geo-workflow-radius);
  font-weight: 900;
}

.diagnosis-question-browser {
  border-radius: 10px !important;
  overflow: hidden;
}

.diagnosis-question-insight {
  overflow: hidden;
}

.diagnosis-question-insight summary {
  padding: 14px 18px;
}

.diagnosis-question-insight summary strong {
  color: #172238;
  font-size: 14px;
  font-weight: 900;
}

.diagnosis-insight-grid {
  gap: 12px;
  padding: 0 18px 16px;
}

.diagnosis-insight-block {
  border-color: var(--geo-workflow-line);
  background: var(--geo-workflow-surface-2);
  border-radius: var(--geo-workflow-radius);
}

.diagnosis-question-page-actions .action-btn {
  border-radius: var(--geo-workflow-radius);
  font-weight: 900;
}

.diagnosis-question-dimension-strip {
  border-bottom: 1px solid var(--geo-workflow-line);
  background: var(--geo-workflow-surface-2);
}

.diagnosis-question-dimension-tab {
  min-height: 66px;
  padding: 12px 16px;
  color: #3b4a60;
}

.diagnosis-question-dimension-tab:hover {
  background: #eef5ff;
  color: var(--geo-workflow-blue);
}

.diagnosis-question-dimension-tab.active {
  background: #fff;
  color: var(--geo-workflow-blue);
  box-shadow: inset 0 -3px 0 var(--geo-workflow-blue);
}

.diagnosis-question-dimension-tab strong {
  font-weight: 900;
}

.diagnosis-question-type-tabs,
.diagnosis-question-selected-head,
.diagnosis-question-active-head {
  border-color: var(--geo-workflow-line);
  background: #fbfdff;
}

.diagnosis-question-type-tab {
  min-height: 34px;
  border-radius: 999px;
  font-weight: 900;
}

.diagnosis-question-type-tab.active {
  border-color: #cfe0ff;
  background: #eef5ff;
  color: var(--geo-workflow-blue);
  box-shadow: none;
}

.diagnosis-question-group {
  border-color: var(--geo-workflow-line);
  border-radius: 8px;
}

.diagnosis-question-group-head {
  border-color: var(--geo-workflow-line);
  background: var(--geo-workflow-surface-2);
}

.diagnosis-question-type-summary span,
.diagnosis-question-chip {
  border-color: var(--geo-workflow-line);
  background: #fff;
  color: #3b4a60;
  font-weight: 850;
}

.diagnosis-question-index {
  border-radius: 8px;
  background: #eef5ff;
  color: var(--geo-workflow-blue);
  font-weight: 900;
}

.diagnosis-question-item {
  grid-template-columns: minmax(142px, 0.24fr) minmax(0, 1fr) 40px;
  padding: 12px 14px;
  border-color: #eef3f8;
}

.diagnosis-question-item-field textarea,
.diagnosis-question-grid textarea {
  border: 1px solid var(--geo-workflow-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--geo-workflow-text) !important;
  -webkit-text-fill-color: var(--geo-workflow-text) !important;
  font-size: 14px;
  font-weight: 700;
}

.diagnosis-question-item-field textarea:focus,
.diagnosis-question-grid textarea:focus {
  border-color: rgba(20, 92, 255, 0.58) !important;
  box-shadow: 0 0 0 3px rgba(20, 92, 255, 0.1) !important;
}

.diagnosis-question-delete {
  border-radius: 999px;
  border-color: #f2caca;
  background: #fff5f5;
  color: #c44242;
}

.diagnosis-question-empty {
  border-color: #cfe0ff;
  background: #f8fbff;
  color: var(--geo-workflow-muted);
  font-weight: 700;
}

@media (max-width: 1200px) {
  .diagnosis-material-grid,
  .diagnosis-question-loading .loading-runtime-summary {
    grid-template-columns: 1fr;
  }

  .diagnosis-question-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .modal.modal-diagnosis-material-editor,
  .modal.modal-diagnosis-question-loading,
  .modal.modal-diagnosis-question-editor,
  .modal:has(.diagnosis-material-modal),
  .modal:has(.diagnosis-question-loading),
  .modal:has(.diagnosis-question-editor) {
    max-width: 100%;
    height: calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));
    max-height: calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));
    border-radius: 12px;
  }

  .modal.modal-diagnosis-material-editor .modal-header,
  .modal.modal-diagnosis-question-loading .modal-header,
  .modal.modal-diagnosis-question-editor .modal-header,
  .modal:has(.diagnosis-material-modal) .modal-header,
  .modal:has(.diagnosis-question-loading) .modal-header,
  .modal:has(.diagnosis-question-editor) .modal-header {
    min-height: 60px;
    padding: 16px 18px;
  }

  .diagnosis-material-scroll,
  .diagnosis-question-loading,
  .diagnosis-question-editor {
    padding-left: 14px;
    padding-right: 14px;
  }

  .diagnosis-material-intro,
  .diagnosis-product-category-row,
  .diagnosis-question-summary,
  .diagnosis-question-flow,
  .loading-runtime-meta-grid,
  .loading-stats-grid {
    grid-template-columns: 1fr;
  }

  .diagnosis-material-intro {
    height: auto;
    min-height: max-content;
    align-items: start;
    padding: 18px;
  }

  .diagnosis-material-note {
    margin: 0;
    text-align: left;
  }

  .diagnosis-question-dimension-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnosis-question-dimension-tab {
    min-height: 58px;
    padding: 10px 12px;
  }

  .diagnosis-question-item {
    grid-template-columns: 1fr 40px;
  }

  .diagnosis-question-item-meta {
    grid-column: 1 / -1;
  }

  .diagnosis-question-item-field {
    grid-column: 1;
  }

  .diagnosis-question-item .diagnosis-question-delete {
    grid-column: 2;
    grid-row: 2;
  }

  .loading-card {
    width: 100%;
    height: calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));
    max-height: calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom));
    margin-top: 0;
    padding: 14px;
  }

  .loading-runtime-summary {
    grid-template-columns: 1fr;
  }

  .loading-runtime-head,
  .loading-progress-head,
  .loading-terminal-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .loading-progress-value,
  .diagnosis-question-loading .loading-progress-value {
    font-size: 34px;
  }
}

/* GEO workflow page flow */
.diagnosis-workflow-page[hidden] {
  display: none !important;
}

body.diagnosis-workflow-active {
  background:
    radial-gradient(circle at 12% 10%, rgba(47, 111, 240, 0.08), transparent 30%),
    linear-gradient(180deg, #f6faff 0%, #eef5ff 100%);
}

body.diagnosis-workflow-active .landing-hero-shell,
body.diagnosis-workflow-active .zip-feature-intro,
body.diagnosis-workflow-active .data-band,
body.diagnosis-workflow-active .scenes-section,
body.diagnosis-workflow-active .security-section,
body.diagnosis-workflow-active .faq-section,
body.diagnosis-workflow-active .landing-footer {
  display: none !important;
}

body.diagnosis-workflow-active .landing-nav {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid #e5edf8;
}

.diagnosis-workflow-page {
  min-height: calc(100vh - 72px);
  padding: 24px 0 44px;
  background:
    radial-gradient(circle at 12% 0%, rgba(47, 111, 240, 0.08), transparent 30%),
    radial-gradient(circle at 86% 8%, rgba(17, 184, 207, 0.1), transparent 32%),
    linear-gradient(180deg, #f6faff 0%, #eef5ff 100%);
  color: #172238;
}

.diagnosis-workflow-shell {
  width: min(1320px, calc(100% - 48px));
  margin: 0 auto;
}

.diagnosis-workflow-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(520px, 760px) minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  min-height: 104px;
  padding: 18px 24px;
  border: 1px solid #dce6f3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 24px 64px rgba(31, 76, 132, 0.1);
}

.diagnosis-workflow-progress {
  width: 100%;
  justify-self: center;
  grid-column: 2;
}

.diagnosis-workflow-progress ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.diagnosis-workflow-progress li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 22px;
  color: #8d9aab;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

.diagnosis-workflow-progress li + li::before {
  position: absolute;
  top: 20px;
  right: 50%;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: #e4ebf5;
  content: "";
  transform: translateX(-24px);
}

.diagnosis-workflow-progress li.is-active::before,
.diagnosis-workflow-progress li.is-done::before {
  background: linear-gradient(90deg, #6543f1, #2f6ff0);
}

.diagnosis-workflow-progress span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #e9eef6;
  color: #95a2b4;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 0 0 10px #fff;
}

.diagnosis-workflow-progress strong {
  position: relative;
  z-index: 1;
  display: block;
  color: inherit;
  line-height: 1.2;
  white-space: nowrap;
}

.diagnosis-workflow-progress li.is-active,
.diagnosis-workflow-progress li.is-done {
  color: #5a63f2;
}

.diagnosis-workflow-progress li.is-active span,
.diagnosis-workflow-progress li.is-done span {
  background: linear-gradient(135deg, #7047f4, #2f6ff0);
  color: #fff;
  box-shadow:
    0 0 0 10px #fff,
    0 10px 26px rgba(47, 111, 240, 0.28);
}

.diagnosis-workflow-back {
  min-width: 106px;
  height: 42px;
  grid-column: 3;
  justify-self: end;
  border: 1px solid #cfe0ff;
  border-radius: 12px;
  background: #fff;
  color: #2f6ff0;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(30, 72, 128, 0.08);
}

.diagnosis-workflow-back:hover {
  border-color: #9fc1ff;
  background: #f8fbff;
}

.diagnosis-workflow-body {
  margin-top: 20px;
}

.diagnosis-workflow-stage {
  min-width: 0;
}

.diagnosis-workflow-page .diagnosis-material-modal {
  display: grid;
  grid-template-rows: auto auto;
  width: 100%;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.diagnosis-workflow-page .diagnosis-material-modal,
.diagnosis-workflow-page .diagnosis-material-scroll,
.diagnosis-workflow-page .diagnosis-question-loading,
.diagnosis-workflow-page .diagnosis-question-editor,
.diagnosis-workflow-page .loading-runtime-shell,
.diagnosis-workflow-page .diagnosis-question-browser,
.diagnosis-workflow-page .diagnosis-question-active-panel,
.diagnosis-workflow-page .diagnosis-question-selected-list {
  flex: initial !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.diagnosis-workflow-page .diagnosis-material-scroll,
.diagnosis-workflow-page .diagnosis-question-browser,
.diagnosis-workflow-page .diagnosis-question-active-panel,
.diagnosis-workflow-page .diagnosis-question-selected-list,
.diagnosis-workflow-page .diagnosis-question-group-body {
  overflow: visible !important;
}

.diagnosis-workflow-page .diagnosis-material-scroll {
  overflow: visible;
  padding: 0;
}

.diagnosis-workflow-page .diagnosis-material-scroll > * + * {
  margin-top: 16px;
}

.diagnosis-workflow-page .diagnosis-material-intro {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.35fr);
  align-items: center;
  gap: 22px;
  min-height: 104px;
  padding: 22px 28px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(120deg, #6b3ff2 0%, #2f6ff0 100%);
  color: #fff;
  box-shadow: 0 22px 54px rgba(47, 111, 240, 0.18);
}

.diagnosis-workflow-page .diagnosis-material-eyebrow {
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 900;
}

.diagnosis-workflow-page .diagnosis-material-brand {
  margin-top: 8px;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.12;
}

.diagnosis-workflow-page .diagnosis-material-note {
  max-width: 640px;
  margin-left: auto;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.75;
  text-align: left;
}

.diagnosis-workflow-page .diagnosis-material-form {
  display: block;
}

.diagnosis-workflow-page .diagnosis-material-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.diagnosis-workflow-page .diagnosis-material-field,
.diagnosis-workflow-page .diagnosis-material-product-panel {
  min-width: 0;
  border: 1px solid #dce6f3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 42px rgba(30, 72, 128, 0.07);
}

.diagnosis-workflow-page .diagnosis-material-field {
  padding: 18px;
}

.diagnosis-workflow-page .diagnosis-material-field-wide {
  grid-column: 1 / -1;
}

.diagnosis-workflow-page .diagnosis-material-field-head label,
.diagnosis-workflow-page .diagnosis-product-category-cell span,
.diagnosis-workflow-page .diagnosis-product-description-cell span {
  color: #25344a;
  font-size: 12px;
  font-weight: 900;
}

.diagnosis-workflow-page .diagnosis-material-field-head > span,
.diagnosis-workflow-page .diagnosis-material-product-head > span {
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: #2f6ff0;
  font-size: 11px;
  font-weight: 900;
}

.diagnosis-workflow-page .diagnosis-material-field input,
.diagnosis-workflow-page .diagnosis-material-field textarea,
.diagnosis-workflow-page .diagnosis-product-category-cell input,
.diagnosis-workflow-page .diagnosis-product-description-cell textarea {
  border: 1px solid #dce6f3 !important;
  border-radius: 10px !important;
  background: #fbfdff !important;
  color: #172238 !important;
  -webkit-text-fill-color: #172238 !important;
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-workflow-page .diagnosis-material-field input {
  height: 46px;
}

.diagnosis-workflow-page .diagnosis-material-field textarea {
  min-height: 72px;
}

.diagnosis-workflow-page .diagnosis-product-category-list {
  gap: 0;
}

.diagnosis-workflow-page .diagnosis-product-category-row {
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 0.64fr);
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid #e6edf6;
}

.diagnosis-workflow-page .diagnosis-material-actions {
  position: sticky;
  bottom: 0;
  z-index: 8;
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 16px;
  padding: 12px 0 0;
  border: 0;
  background: linear-gradient(180deg, rgba(238, 245, 255, 0), #eef5ff 44%);
  box-shadow: none;
}

.diagnosis-workflow-page .diagnosis-material-actions .action-btn,
.diagnosis-workflow-page .diagnosis-question-page-actions .action-btn {
  min-width: 150px;
  height: 44px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 900;
}

.diagnosis-workflow-page .diagnosis-question-loading {
  display: block;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  padding: 0;
  background: transparent;
  contain: none;
}

.diagnosis-workflow-page .loading-console-topbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
  padding: 0 6px;
}

.diagnosis-workflow-page .loading-console-kicker-title {
  color: #172238;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 5px;
}

.diagnosis-workflow-page .loading-console-kicker-sub {
  margin-top: 8px;
  color: #9aa3b0;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.diagnosis-workflow-page .loading-console-updated {
  color: #6c7685;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
}

.diagnosis-workflow-page .loading-runtime-shell {
  display: grid;
  grid-template-rows: none;
  gap: 18px;
  height: auto;
  min-height: 0;
  overflow: visible;
}

.diagnosis-workflow-page .loading-runtime-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.68fr) minmax(320px, 1fr);
  gap: 18px;
}

.diagnosis-workflow-page .loading-runtime-summary-main,
.diagnosis-workflow-page .loading-runtime-progress-card,
.diagnosis-workflow-page .loading-flow-row,
.diagnosis-workflow-page .loading-terminal-shell,
.diagnosis-workflow-page .diagnosis-question-summary,
.diagnosis-workflow-page .diagnosis-question-toolbar,
.diagnosis-workflow-page .diagnosis-question-browser {
  border: 1px solid #dce6f3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 42px rgba(30, 72, 128, 0.07);
}

.diagnosis-workflow-page .loading-runtime-summary-main,
.diagnosis-workflow-page .loading-runtime-progress-card {
  min-height: 0;
  padding: 24px;
}

.diagnosis-workflow-page .loading-runtime-brand {
  color: #111b2c;
  font-size: 30px;
  font-weight: 900;
}

.diagnosis-workflow-page .loading-runtime-sub {
  margin-top: 14px;
  color: #637188;
  font-size: 15px;
  font-weight: 800;
}

.diagnosis-workflow-page .loading-runtime-meta-grid {
  margin-top: 22px;
}

.diagnosis-workflow-page .loading-runtime-meta-card {
  min-height: 74px;
  border-color: #dce6f3;
  border-radius: 14px;
  background: #fbfdff;
}

.diagnosis-workflow-page .loading-progress-value {
  color: #2f6ff0;
  font-size: 46px;
  font-weight: 900;
}

.diagnosis-workflow-page .diagnosis-question-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px 22px;
  margin-top: 20px;
}

.diagnosis-workflow-page .loading-flow-row {
  display: block;
  min-height: 112px;
  padding: 18px;
}

.diagnosis-workflow-page .loading-flow-index {
  float: left;
  margin-right: 10px;
  background: transparent;
  color: #8a96a8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 1px;
}

.diagnosis-workflow-page .loading-flow-name {
  color: #182335;
  font-size: 16px;
  font-weight: 900;
}

.diagnosis-workflow-page .loading-flow-meta {
  clear: both;
  margin-top: 12px;
  color: #66758e;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.62;
}

.diagnosis-workflow-page .loading-flow-state {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-top: 12px;
  padding: 0 12px;
  border-radius: 999px;
  background: #eef4fa;
  color: #a8b5c5;
  font-size: 12px;
  font-weight: 900;
}

.diagnosis-workflow-page .loading-flow-row.done .loading-flow-state {
  background: #e8fbff;
  color: #11a9bf;
}

.diagnosis-workflow-page .loading-flow-row.running {
  border-color: rgba(47, 111, 240, 0.22);
}

.diagnosis-workflow-page .loading-flow-row.running .loading-flow-state {
  background: #e7f2ff;
  color: #6f9eff;
}

.diagnosis-workflow-page .loading-terminal-shell {
  overflow: hidden;
}

.diagnosis-workflow-page .loading-terminal-toolbar {
  padding: 20px 24px;
  border-bottom: 1px solid #e3ebf6;
}

.diagnosis-workflow-page .loading-terminal {
  padding: 14px;
  background: transparent;
}

.diagnosis-workflow-page .loading-unified-terminal {
  display: grid;
  gap: 8px;
  max-height: 320px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.diagnosis-workflow-page .loading-terminal-line {
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 10px;
  background: #f7faff;
  color: #263347;
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-workflow-page .loading-terminal-line.is-live,
.diagnosis-workflow-page .loading-terminal-line.is-recent {
  border: 1px solid #cfe0ff;
  background: #f5f9ff;
}

.diagnosis-workflow-page .diagnosis-question-editor {
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 18px;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  padding: 0;
  background: transparent;
}

.diagnosis-workflow-page .diagnosis-question-summary {
  padding: 0;
  overflow: hidden;
}

.diagnosis-workflow-page .diagnosis-question-stat {
  min-height: 88px;
  padding: 18px;
  border-right: 1px solid #e6edf6;
  background: rgba(255, 255, 255, 0.9);
}

.diagnosis-workflow-page .diagnosis-question-stat:last-child {
  border-right: 0;
}

.diagnosis-workflow-page .diagnosis-question-toolbar {
  padding: 22px 24px;
}

.diagnosis-workflow-page .diagnosis-question-browser {
  display: block;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  contain: none;
}

.diagnosis-workflow-page .diagnosis-question-active-panel,
.diagnosis-workflow-page .diagnosis-question-selected-list {
  display: block;
  min-height: 0;
  overflow: visible;
}

.diagnosis-workflow-page .diagnosis-question-table {
  max-height: none;
  overflow: visible;
}

.diagnosis-workflow-page .diagnosis-question-group-body {
  max-height: none;
  overflow: visible;
}

.diagnosis-workflow-page .diagnosis-question-page-actions {
  position: sticky;
  bottom: 0;
  z-index: 8;
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  padding: 18px 0 0;
  background: linear-gradient(180deg, rgba(238, 245, 255, 0), #eef5ff 44%);
}

body.diagnosis-workflow-runtime .diagnosis-workflow-header {
  display: none;
}

body.diagnosis-workflow-runtime .diagnosis-workflow-body {
  margin-top: 0;
}

.diagnosis-workflow-runtime-panel {
  display: grid;
  gap: 16px;
}

.diagnosis-workflow-runtime-titlebar {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  padding: 12px 8px 4px;
}

.diagnosis-workflow-runtime-titlebar h2 {
  margin: 0;
  color: #172238;
  font-size: 24px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-titlebar p {
  margin: 8px 0 0;
  color: #9aa3b0;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 5px;
}

.diagnosis-workflow-runtime-titlebar span {
  align-self: center;
  color: #7b8797;
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.68fr) minmax(320px, 1fr);
  gap: 18px;
}

.diagnosis-workflow-runtime-summary,
.diagnosis-workflow-runtime-progress,
.diagnosis-workflow-runtime-grid article,
.diagnosis-workflow-runtime-card,
.diagnosis-workflow-runtime-log {
  border: 1px solid #dce6f3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 42px rgba(30, 72, 128, 0.07);
}

.diagnosis-workflow-runtime-summary,
.diagnosis-workflow-runtime-progress {
  min-height: 0;
  padding: 24px;
}

.diagnosis-workflow-runtime-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.diagnosis-workflow-runtime-head span,
.diagnosis-workflow-runtime-progress > span,
.diagnosis-workflow-runtime-grid span,
.diagnosis-workflow-runtime-card span {
  color: #7b8797;
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-head strong {
  display: block;
  margin-top: 8px;
  color: #111b2c;
  font-size: 30px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-head p {
  max-width: 680px;
  margin: 12px 0 0;
  color: #637188;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.7;
}

.diagnosis-workflow-runtime-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-content: flex-start;
  gap: 10px;
}

.diagnosis-workflow-runtime-tags em {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(47, 111, 240, 0.18);
  border-radius: 999px;
  background: #eef5ff;
  color: #2f6ff0;
  font-style: normal;
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-tags em::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.diagnosis-workflow-runtime-tags .is-error {
  border-color: rgba(225, 83, 83, 0.22);
  background: #fff2f2;
  color: #cf4242;
}

.diagnosis-workflow-runtime-meta,
.diagnosis-workflow-runtime-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.diagnosis-workflow-runtime-meta article,
.diagnosis-workflow-runtime-grid article {
  min-height: 74px;
  padding: 18px;
  border-radius: 14px;
  background: #fbfdff;
}

.diagnosis-workflow-runtime-meta strong,
.diagnosis-workflow-runtime-grid strong,
.diagnosis-workflow-runtime-card strong {
  display: block;
  margin-top: 10px;
  color: #182335;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
}

.diagnosis-workflow-runtime-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 0;
}

.diagnosis-workflow-runtime-grid p,
.diagnosis-workflow-runtime-card p {
  margin: 12px 0 0;
  color: #66758e;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
}

.diagnosis-workflow-runtime-progress strong {
  display: block;
  float: right;
  color: #2f6ff0;
  font-size: 46px;
  font-weight: 900;
  line-height: 1;
}

.diagnosis-workflow-runtime-progress h3 {
  clear: both;
  margin: 30px 0 18px;
  color: #111b2c;
  font-size: 24px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-track {
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: #e8edf4;
}

.diagnosis-workflow-runtime-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6543f1, #11b8cf);
}

.diagnosis-workflow-runtime-progress p {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 22px 0 0;
  color: #596677;
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-workflow-runtime-progress b {
  color: #1c2a3e;
}

.diagnosis-workflow-runtime-models {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.diagnosis-workflow-runtime-card {
  min-height: 116px;
  padding: 18px;
}

.diagnosis-workflow-runtime-card em {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-top: 12px;
  padding: 0 12px;
  border-radius: 999px;
  background: #eef4fa;
  color: #a8b5c5;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-card.is-ok em {
  background: #e8fbff;
  color: #11a9bf;
}

.diagnosis-workflow-runtime-card.is-error em {
  background: #fff2f2;
  color: #cf4242;
}

.diagnosis-workflow-runtime-log {
  overflow: hidden;
}

.diagnosis-workflow-runtime-log header {
  padding: 22px 24px;
  border-bottom: 1px solid #e3ebf6;
}

.diagnosis-workflow-runtime-log h3 {
  margin: 0;
  color: #172238;
  font-size: 20px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-log p {
  margin: 8px 0 0;
  color: #66758e;
  font-size: 13px;
  font-weight: 800;
}

.diagnosis-workflow-runtime-terminal {
  display: grid;
  gap: 8px;
  max-height: 340px;
  overflow: auto;
  padding: 16px;
}

.diagnosis-workflow-runtime-line {
  display: grid;
  grid-template-columns: 76px auto 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  background: #f7faff;
  color: #263347;
  font-size: 13px;
  font-weight: 900;
}

.diagnosis-workflow-runtime-line.is-live {
  border: 1px solid #cfe0ff;
  background: #f5f9ff;
}

.diagnosis-workflow-runtime-line time {
  color: #99a4b5;
}

.diagnosis-workflow-runtime-line span {
  padding: 3px 10px;
  border-radius: 999px;
  background: #e8f2ff;
  color: #2f6ff0;
}

.diagnosis-workflow-runtime-line em {
  color: #2f6ff0;
  font-style: normal;
}

@media (max-width: 1180px) {
  .diagnosis-workflow-header,
  .diagnosis-workflow-page .diagnosis-material-intro,
  .diagnosis-workflow-page .loading-runtime-summary,
  .diagnosis-workflow-runtime-hero {
    grid-template-columns: 1fr;
  }

  .diagnosis-workflow-progress {
    justify-self: stretch;
  }

  .diagnosis-workflow-back {
    justify-self: end;
  }

  .diagnosis-workflow-page .diagnosis-material-note {
    margin-left: 0;
  }

  .diagnosis-workflow-page .diagnosis-question-flow,
  .diagnosis-workflow-runtime-grid,
  .diagnosis-workflow-runtime-models {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .diagnosis-workflow-page {
    min-height: calc(100vh - 60px);
    padding: 18px 0 36px;
  }

  .diagnosis-workflow-shell {
    width: min(100% - 24px, 560px);
  }

  .diagnosis-workflow-header {
    min-height: 0;
    padding: 18px;
    border-radius: 14px;
  }

  .diagnosis-workflow-progress ol {
    gap: 10px;
  }

  .diagnosis-workflow-progress li {
    font-size: 11px;
  }

  .diagnosis-workflow-progress li + li::before {
    top: 17px;
    transform: translateX(-18px);
  }

  .diagnosis-workflow-progress span {
    width: 36px;
    height: 36px;
    box-shadow: 0 0 0 6px #fff;
  }

  .diagnosis-workflow-page .diagnosis-material-grid,
  .diagnosis-workflow-page .diagnosis-product-category-row,
  .diagnosis-workflow-page .diagnosis-question-flow,
  .diagnosis-workflow-runtime-grid,
  .diagnosis-workflow-runtime-models,
  .diagnosis-workflow-runtime-meta {
    grid-template-columns: 1fr;
  }

  .diagnosis-workflow-page .diagnosis-material-intro,
  .diagnosis-workflow-page .loading-runtime-summary-main,
  .diagnosis-workflow-page .loading-runtime-progress-card,
  .diagnosis-workflow-runtime-summary,
  .diagnosis-workflow-runtime-progress {
    padding: 20px;
    border-radius: 14px;
  }

  .diagnosis-workflow-page .diagnosis-material-brand,
  .diagnosis-workflow-runtime-head strong,
  .diagnosis-workflow-page .loading-runtime-brand {
    font-size: 24px;
  }

  .diagnosis-workflow-page .loading-console-topbar,
  .diagnosis-workflow-runtime-titlebar,
  .diagnosis-workflow-runtime-head,
  .diagnosis-workflow-runtime-progress p {
    flex-direction: column;
    align-items: flex-start;
  }

  .diagnosis-workflow-page .loading-console-kicker-title,
  .diagnosis-workflow-runtime-titlebar h2 {
    font-size: 20px;
    letter-spacing: 2px;
  }

  .diagnosis-workflow-page .diagnosis-question-summary {
    grid-template-columns: 1fr;
  }

  .diagnosis-workflow-page .diagnosis-question-stat {
    border-right: 0;
    border-bottom: 1px solid #e6edf6;
  }

  .diagnosis-workflow-page .diagnosis-question-stat:last-child {
    border-bottom: 0;
  }

  .diagnosis-workflow-page .diagnosis-question-page-actions,
  .diagnosis-workflow-page .diagnosis-material-actions {
    flex-direction: column;
  }

  .diagnosis-workflow-page .diagnosis-material-actions .action-btn,
  .diagnosis-workflow-page .diagnosis-question-page-actions .action-btn {
    width: 100%;
  }

  .diagnosis-workflow-runtime-line {
    grid-template-columns: 72px 1fr;
  }

  .diagnosis-workflow-runtime-line strong,
  .diagnosis-workflow-runtime-line em {
    grid-column: 1 / -1;
  }
}

/* Workflow page hard reset: keep page flow independent from modal-era sizing. */
body.diagnosis-workflow-active #diagnosisWorkflowPage {
  display: block !important;
  min-height: 0 !important;
  padding: 18px 0 36px !important;
  overflow: visible !important;
}

body.diagnosis-workflow-active .diagnosis-workflow-shell {
  display: block !important;
  width: min(1280px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}

body.diagnosis-workflow-active .diagnosis-workflow-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(520px, 760px) minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 96px !important;
  margin: 0 !important;
  padding: 18px 24px !important;
  border: 1px solid #dce6f3 !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 18px 46px rgba(31, 76, 132, 0.1) !important;
  transform: none !important;
}

body.diagnosis-workflow-active .diagnosis-workflow-progress {
  grid-column: 2 !important;
  width: 100% !important;
  margin: 0 auto !important;
}

body.diagnosis-workflow-active .diagnosis-workflow-back {
  grid-column: 3 !important;
  justify-self: end !important;
}

body.diagnosis-workflow-active .diagnosis-workflow-body {
  display: block !important;
  min-height: 0 !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* 扫描运行台强制独立合成层(根因修复 2026-07-03):
   该子树没有自有层时会触发 Chromium 光栅化丢帧 —— DOM/布局/命中全正常但像素不上屏,
   表现为"步骤条下面整块空白"; translateZ(0) 建层后稳定恢复(预览环境可复现可验证)。
   只限 runtime 阶段: 材料/确认阶段的 .diagnosis-question-float-action 是 position:fixed,
   祖先加 transform 会把它的包含块从视口改成本体, 悬浮按钮会错位。 */
body.diagnosis-workflow-runtime .diagnosis-workflow-body {
  transform: translateZ(0) !important;
}

/* 扫描运行台是三部曲(材料→清单生成→清单确认)之后的第四阶段,
   不展示 01-03 步骤条 —— 整条头部(含"返回首页")一起收掉, 控制台顶到最上方。 */
body.diagnosis-workflow-active.diagnosis-workflow-runtime .diagnosis-workflow-header {
  display: none !important;
}

body.diagnosis-workflow-active.diagnosis-workflow-runtime .diagnosis-workflow-body {
  margin-top: 0 !important;
}

body.diagnosis-workflow-active .diagnosis-workflow-stage,
body.diagnosis-workflow-active .diagnosis-material-modal,
body.diagnosis-workflow-active .diagnosis-material-scroll,
body.diagnosis-workflow-active .diagnosis-material-form,
body.diagnosis-workflow-active .diagnosis-question-loading,
body.diagnosis-workflow-active .diagnosis-question-editor,
body.diagnosis-workflow-active .loading-runtime-shell {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  contain: none !important;
}

body.diagnosis-workflow-active .diagnosis-material-scroll {
  padding: 0 !important;
}

body.diagnosis-workflow-active .diagnosis-material-scroll > * + * {
  margin-top: 16px !important;
}

body.diagnosis-workflow-active .diagnosis-material-intro {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) !important;
  align-items: center !important;
  min-height: 104px !important;
  margin: 0 !important;
}

body.diagnosis-workflow-active .diagnosis-material-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body.diagnosis-workflow-active .diagnosis-material-actions,
body.diagnosis-workflow-active .diagnosis-question-page-actions {
  position: sticky !important;
  bottom: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
}

body.diagnosis-workflow-active .loading-console-topbar,
body.diagnosis-workflow-active .loading-runtime-summary,
body.diagnosis-workflow-active .diagnosis-workflow-runtime-hero,
body.diagnosis-workflow-active .diagnosis-workflow-runtime-grid,
body.diagnosis-workflow-active .diagnosis-workflow-runtime-models {
  margin-top: 0 !important;
}

body.diagnosis-workflow-active .loading-runtime-summary,
body.diagnosis-workflow-active .diagnosis-workflow-runtime-hero {
  display: grid !important;
}

@media (max-width: 900px) {
  body.diagnosis-workflow-active .diagnosis-workflow-shell {
    width: min(100% - 24px, 720px) !important;
  }

  body.diagnosis-workflow-active .diagnosis-workflow-header,
  body.diagnosis-workflow-active .diagnosis-material-intro {
    grid-template-columns: 1fr !important;
  }

  body.diagnosis-workflow-active .diagnosis-material-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===== 实时诊断控制台 · 对齐 GEO官网 参考设计 (2026-07-02) ===== */
.runtime-console-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 2px;
}

.runtime-console-head h3 {
  margin: 0;
  color: #1c2a3e;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
}

.runtime-console-head p {
  margin: 8px 0 0;
  color: #929ba9;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 3px;
}

.runtime-console-head > span {
  flex: 0 0 auto;
  margin-top: 4px;
  color: #7b8797;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
}

.runtime-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(360px, 1fr);
  gap: 16px;
}

.runtime-brand-card,
.runtime-progress-card,
.runtime-log-card {
  border: 1px solid #dce6f3;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 30px rgba(20, 55, 100, 0.06);
}

.runtime-brand-card,
.runtime-progress-card {
  min-height: 248px;
  padding: 24px;
}

.runtime-brand-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.runtime-brand-top span,
.runtime-progress-card > div span,
.runtime-summary-stats span,
.runtime-metric-grid span {
  display: block;
  color: #7b8797;
  font-size: 12px;
  font-weight: 900;
}

.runtime-brand-top strong {
  display: block;
  margin-top: 6px;
  color: #111b2c;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.15;
}

.runtime-brand-top p {
  max-width: 620px;
  margin: 12px 0 0;
  color: #637188;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.75;
}

.runtime-tags {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-end;
  gap: 10px;
  max-width: 420px;
}

.runtime-tags em {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(47, 111, 240, 0.18);
  border-radius: 999px;
  background: #eef5ff;
  color: #2f6ff0;
  font-style: normal;
  font-size: 13px;
  font-weight: 900;
}

.runtime-tags em::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: 0.7;
}

.runtime-tags em:last-child {
  border-color: rgba(132, 149, 174, 0.16);
  background: #f1f3f6;
  color: #8a94a3;
}

.runtime-tags em.is-error {
  border-color: rgba(225, 72, 72, 0.22);
  background: #fdf0f0;
  color: #d0342c;
}

.runtime-summary-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.runtime-summary-stats article {
  min-height: 104px;
  padding: 16px;
  border: 1px solid #dce6f3;
  border-radius: 13px;
  background: #fbfdff;
}

.runtime-summary-stats strong {
  display: block;
  margin-top: 10px;
  color: #182335;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.runtime-progress-card > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.runtime-progress-card > div strong {
  color: #2f6ff0;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}

.runtime-progress-card h4 {
  margin: 6px 0 18px;
  color: #111b2c;
  font-size: 22px;
  font-weight: 900;
}

.runtime-progress-bar {
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: #e8edf4;
}

.runtime-progress-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2f6ff0, #11b8cf);
  transition: width 0.6s ease;
}

.runtime-progress-card p {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 20px 0 0;
  color: #596677;
  font-size: 13px;
  font-weight: 800;
}

.runtime-progress-card b {
  flex: 0 0 auto;
  color: #1c2a3e;
}

.runtime-metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.runtime-metric-grid article {
  min-height: 154px;
  padding: 22px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 48px rgba(28, 49, 82, 0.07);
}

.runtime-metric-grid span {
  font-size: 13px;
}

.runtime-metric-grid strong {
  display: block;
  margin-top: 10px;
  color: #111b2c;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.25;
}

.runtime-metric-grid p {
  margin: 10px 0 0;
  color: #66758e;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.55;
}

.runtime-log-card {
  overflow: hidden;
  min-height: 334px;
}

.runtime-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid rgba(132, 149, 174, 0.12);
}

.runtime-log-head h4 {
  margin: 0;
  color: #172238;
  font-size: 18px;
  font-weight: 900;
}

.runtime-log-head p {
  margin: 6px 0 0;
  color: #66758e;
  font-size: 13px;
  font-weight: 800;
}

.runtime-log-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.runtime-log-actions button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 12px;
  background: #f3f6fa;
  color: #8a94a3;
  font-family: var(--font, inherit);
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.runtime-log-actions button.is-on {
  background: #e8f1ff;
  color: #2f6ff0;
  box-shadow: inset 0 0 0 1px rgba(47, 111, 240, 0.14);
}

.runtime-log-card ol {
  display: grid;
  gap: 10px;
  max-height: 340px;
  margin: 0;
  padding: 12px 24px 24px;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.runtime-log-card li {
  display: grid;
  grid-template-columns: 86px auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 4px 14px;
  border-radius: 999px;
  background: #f7f9fd;
  color: #1e293b;
  font-size: 13px;
  font-weight: 900;
}

.runtime-log-card li.is-active {
  background: #eef8ff;
  box-shadow: inset 0 0 0 1px rgba(47, 111, 240, 0.12);
}

.runtime-log-card time {
  color: #99a4b5;
}

.runtime-log-card li > span {
  justify-self: start;
  padding: 3px 10px;
  border-radius: 999px;
  background: #e8fbff;
  color: #11a9bf;
  white-space: nowrap;
}

.runtime-log-card strong {
  min-width: 0;
  color: #263347;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.runtime-log-card strong em {
  color: #2f6ff0;
  font-style: normal;
}

.runtime-log-card li.is-active strong em {
  color: #11a9bf;
}

@media (max-width: 1100px) {
  .runtime-hero-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 760px) {
  .runtime-brand-top {
    flex-direction: column;
  }

  .runtime-tags {
    justify-content: flex-start;
    max-width: none;
  }

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

  .runtime-metric-grid {
    grid-template-columns: 1fr;
  }

  .runtime-log-card li {
    grid-template-columns: 64px auto minmax(0, 1fr);
    border-radius: 14px;
  }
}

/* Keep homepage v2 overrides last so legacy workflow styles cannot win. */
.landing-hero-layout {
  grid-template-columns: minmax(520px, 0.92fr) minmax(500px, 1.08fr);
  gap: clamp(72px, 7vw, 118px);
}

.landing-hero-main {
  gap: 54px;
}

.landing-hero-image-card {
  width: min(108%, 820px);
  aspect-ratio: 1868 / 960;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(ellipse 67% 62% at 54% 52%, #000 48%, rgba(0, 0, 0, 0.82) 66%, transparent 100%);
  mask-image: radial-gradient(ellipse 67% 62% at 54% 52%, #000 48%, rgba(0, 0, 0, 0.82) 66%, transparent 100%);
}

.landing-hero-image-card img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1180px) {
  .landing-hero-layout {
    grid-template-columns: 1fr;
  }
}
