/* JYS_UNIFIED_WECOM_ASSISTANT_1A_START */
/* Enterprise WeChat narrow-web adapter. Business handlers and state sources remain in frontend/index.html. */

body.ai-assistant-standalone {
  background: var(--jys-color-surface-page);
  color: var(--jys-color-text-primary);
  font-family: var(--jys-font-family-sans);
}

body.ai-assistant-standalone .jys-wecom-assistant {
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  max-width: var(--jys-size-content-assistant-max);
  min-height: 100dvh;
  padding: max(var(--jys-space-3), env(safe-area-inset-top)) var(--jys-space-3) max(var(--jys-space-4), env(safe-area-inset-bottom));
  width: 100%;
}

body.ai-assistant-standalone .page:not(.jys-wecom-assistant) {
  display: none;
}

.jys-wecom-assistant,
.jys-wecom-assistant *,
.jys-wecom-assistant *::before,
.jys-wecom-assistant *::after {
  box-sizing: border-box;
}

.jys-wecom-assistant .ai-assistant-panel {
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-card);
  box-shadow: var(--jys-shadow-raised);
  margin: 0;
  min-height: calc(100dvh - var(--jys-space-6));
  padding: var(--jys-space-4);
}

.jys-wecom-assistant .ai-product-status,
.jys-wecom-assistant .ai-service-flow-course-status,
.jys-wecom-assistant .ai-product-checkitem {
  align-items: center;
  border: 1px solid var(--jys-color-status-info-border);
  border-radius: var(--jys-radius-pill);
  display: inline-flex;
  font-size: var(--jys-font-size-caption);
  font-weight: var(--jys-font-weight-semibold);
  justify-content: center;
  line-height: var(--jys-font-line-height-compact);
  min-height: var(--jys-size-control-compact);
  padding: 0 var(--jys-space-2);
  white-space: nowrap;
}

.jys-wecom-assistant .ai-product-status {
  background: var(--jys-color-status-info-background);
  color: var(--jys-color-status-info-text);
}

.jys-wecom-assistant .ai-assistant-product-head {
  display: grid;
  gap: var(--jys-space-2);
  margin-bottom: var(--jys-space-3);
}

.jys-wecom-assistant .ai-assistant-context-card {
  align-items: center;
  background: var(--jys-color-surface-sunken);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-card);
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: var(--jys-size-control-touch) minmax(0, 1fr);
  padding: var(--jys-space-3);
}

.jys-wecom-assistant .ai-assistant-context-avatar {
  background: var(--jys-color-surface-disabled);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  height: var(--jys-size-control-touch);
  object-fit: cover;
  width: var(--jys-size-control-touch);
}

.jys-wecom-assistant .ai-assistant-context-avatar[hidden] + .ai-assistant-context-copy {
  grid-column: 1 / -1;
}

.jys-wecom-assistant .ai-assistant-context-avatar[hidden],
.jys-wecom-assistant .ai-assistant-quick-actions[hidden],
.jys-wecom-assistant .ai-assistant-quick-actions .btn[hidden],
.jys-wecom-assistant .ai-assistant-identity-popover[hidden],
.jys-wecom-assistant .ai-service-flow-course-picker[hidden],
.jys-wecom-assistant .ai-service-flow-step-picker[hidden],
.jys-wecom-assistant .ai-service-flow-step-select[hidden],
.jys-wecom-assistant .ai-service-flow-step[hidden],
.jys-wecom-assistant .ai-service-flow-copy[hidden] {
  display: none;
}

.jys-wecom-assistant .ai-assistant-context-copy {
  display: grid;
  gap: var(--jys-space-1);
  min-width: 0;
}

.jys-wecom-assistant-context-label {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  font-weight: var(--jys-font-weight-medium);
  line-height: var(--jys-font-line-height-compact);
}

.jys-wecom-assistant .ai-assistant-context-main,
.jys-wecom-assistant .ai-assistant-customer-link {
  color: var(--jys-color-text-primary);
  font-size: var(--jys-font-size-body-large);
  font-weight: var(--jys-font-weight-semibold);
  line-height: var(--jys-font-line-height-body);
  min-width: 0;
  overflow-wrap: anywhere;
}

.jys-wecom-assistant .ai-assistant-customer-link {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  flex-wrap: wrap;
  font-family: inherit;
  gap: var(--jys-space-1);
  margin: 0;
  padding: 0;
  text-align: left;
}

.jys-wecom-assistant .ai-assistant-customer-link:hover {
  color: var(--jys-color-text-link);
  text-decoration: underline;
  text-underline-offset: var(--jys-space-1);
}

.jys-wecom-assistant .ai-assistant-context-meta-row {
  align-items: flex-start;
  display: grid;
  gap: var(--jys-space-2);
  min-width: 0;
}

.jys-wecom-assistant .ai-assistant-context-sub,
.jys-wecom-assistant #archiveAiAssistantTopIdentity {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-body);
  min-width: 0;
}

.jys-wecom-assistant #archiveAiAssistantTopIdentity {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: var(--jys-space-1);
  position: relative;
}

.jys-wecom-assistant .ai-assistant-identity-summary {
  color: var(--jys-color-text-secondary);
  display: block;
  font-size: var(--jys-font-size-caption);
  font-weight: var(--jys-font-weight-medium);
  line-height: var(--jys-font-line-height-compact);
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jys-wecom-assistant button.ai-assistant-identity-summary--expandable {
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  margin: 0;
  min-height: var(--jys-size-touch-minimum);
  padding: 0;
  text-align: left;
  width: 100%;
}

.jys-wecom-assistant button.ai-assistant-identity-summary--expandable:hover {
  color: var(--jys-color-text-link);
  text-decoration: underline;
  text-underline-offset: var(--jys-space-1);
}

.jys-wecom-assistant .ai-assistant-identity-tag {
  align-items: center;
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-pill);
  color: var(--jys-color-text-secondary);
  display: inline-flex;
  font-size: var(--jys-font-size-caption);
  font-weight: var(--jys-font-weight-medium);
  line-height: var(--jys-font-line-height-compact);
  max-width: calc(var(--jys-space-16) * 2);
  min-height: var(--jys-size-control-compact);
  overflow: hidden;
  padding: 0 var(--jys-space-2);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jys-wecom-assistant .ai-assistant-identity-popover {
  background: var(--jys-color-surface-raised);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-card);
  box-shadow: var(--jys-shadow-floating);
  display: flex;
  flex-wrap: wrap;
  gap: var(--jys-space-1);
  left: 0;
  max-width: calc(var(--jys-space-16) * 4);
  padding: var(--jys-space-2);
  position: absolute;
  top: calc(100% + var(--jys-space-1));
  white-space: normal;
  z-index: var(--jys-layer-dropdown);
}

.jys-wecom-assistant .ai-assistant-quick-actions {
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.jys-wecom-assistant .btn,
.jys-wecom-assistant button,
.jys-wecom-assistant select,
.jys-wecom-assistant input,
.jys-wecom-assistant textarea {
  font-family: inherit;
}

.jys-wecom-assistant .btn {
  align-items: center;
  border-radius: var(--jys-radius-control);
  display: inline-flex;
  font-size: var(--jys-font-size-body);
  font-weight: var(--jys-font-weight-medium);
  justify-content: center;
  min-height: var(--jys-size-control-touch);
  min-width: 0;
  padding: 0 var(--jys-space-3);
  transition: background-color var(--jys-motion-duration-fast) var(--jys-motion-easing-standard), border-color var(--jys-motion-duration-fast) var(--jys-motion-easing-standard), color var(--jys-motion-duration-fast) var(--jys-motion-easing-standard), box-shadow var(--jys-motion-duration-fast) var(--jys-motion-easing-standard);
}

.jys-wecom-assistant #archiveAiAssistantDirectCollectionBtn {
  background: var(--jys-color-surface-base);
  border-color: var(--jys-color-border-strong);
  color: var(--jys-color-text-secondary);
}

.jys-wecom-assistant .btn-primary,
.jys-wecom-assistant #archiveAiAssistantExperienceBtn {
  background: var(--jys-color-action-primary);
  border-color: var(--jys-color-action-primary);
  color: var(--jys-color-text-inverse);
}

.jys-wecom-assistant .btn-primary:hover:not(:disabled),
.jys-wecom-assistant #archiveAiAssistantExperienceBtn:hover:not(:disabled) {
  background: var(--jys-color-action-primary-hover);
  border-color: var(--jys-color-action-primary-hover);
}

.jys-wecom-assistant .btn:disabled {
  background: var(--jys-color-surface-disabled);
  border-color: var(--jys-color-border-default);
  box-shadow: var(--jys-shadow-none);
  color: var(--jys-color-text-disabled);
  cursor: not-allowed;
  opacity: 1;
}

.jys-wecom-assistant :is(button, select, input, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--jys-color-border-focus);
  outline-offset: 2px;
}

.jys-wecom-assistant .jys-field-frame:focus-within {
  outline: none;
}

.jys-wecom-assistant .ai-assistant-action-spinner,
.jys-wecom-assistant .ai-service-flow-action-spinner {
  border: 2px solid var(--jys-color-status-info-border);
  border-radius: var(--jys-radius-pill);
  border-top-color: var(--jys-color-text-inverse);
  display: none;
  flex: 0 0 var(--jys-size-icon-small);
  height: var(--jys-size-icon-small);
  margin-right: var(--jys-space-1);
  width: var(--jys-size-icon-small);
}

.jys-wecom-assistant .ai-service-flow-button-loading {
  align-items: center;
  display: inline-flex;
  gap: var(--jys-space-1);
  justify-content: center;
  white-space: nowrap;
}

.jys-wecom-assistant .ai-service-flow-button-loading.is-spinner-only .ai-service-flow-action-spinner {
  margin-right: 0;
}

.jys-wecom-assistant .btn:not(.btn-primary) .ai-service-flow-action-spinner,
.jys-wecom-assistant .ai-service-flow-copy .ai-service-flow-action-spinner {
  border-color: var(--jys-color-status-info-border);
  border-top-color: var(--jys-color-text-link);
}

.jys-wecom-assistant #archiveAiAssistantExperienceBtn.is-loading .ai-assistant-action-spinner,
.jys-wecom-assistant .ai-service-flow-button-loading .ai-service-flow-action-spinner {
  animation: jys-wecom-assistant-spin var(--jys-motion-duration-slow) linear infinite;
  display: inline-block;
}

@keyframes jys-wecom-assistant-spin {
  to { transform: rotate(1turn); }
}

.jys-wecom-assistant .ai-product-card {
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-card);
  margin-top: var(--jys-space-3);
  padding: var(--jys-space-3);
}

.jys-wecom-assistant .ai-product-card-primary,
.jys-wecom-assistant .ai-service-flow-card {
  border-color: var(--jys-color-status-info-border);
}

.jys-wecom-assistant .ai-service-flow-card {
  background: var(--jys-color-action-primary-subtle);
}

.jys-wecom-assistant .ai-editor-account-summary {
  background: var(--jys-color-surface-sunken);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  display: grid;
  gap: var(--jys-space-0);
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: var(--jys-space-1);
  overflow: hidden;
}

.jys-wecom-assistant .ai-editor-account-summary[hidden] {
  display: none;
}

.jys-wecom-assistant .ai-editor-account-metric {
  align-content: center;
  display: grid;
  gap: var(--jys-space-1);
  min-width: 0;
  padding: var(--jys-space-2) var(--jys-space-1);
  text-align: center;
}

.jys-wecom-assistant .ai-editor-account-metric + .ai-editor-account-metric {
  border-inline-start: 1px solid var(--jys-color-border-default);
}

.jys-wecom-assistant .ai-editor-account-metric span {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-compact);
}

.jys-wecom-assistant .ai-editor-account-metric strong {
  color: var(--jys-color-text-primary);
  font-size: var(--jys-font-size-label);
  font-weight: var(--jys-font-weight-semibold);
  font-variant-numeric: tabular-nums;
  line-height: var(--jys-font-line-height-compact);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jys-wecom-assistant .ai-product-card-title {
  align-items: center;
  display: flex;
  gap: var(--jys-space-2);
  justify-content: space-between;
  margin-bottom: var(--jys-space-3);
}

.jys-wecom-assistant .ai-product-card-title h3 {
  color: var(--jys-color-text-primary);
  font-size: var(--jys-font-size-section-title);
  font-weight: var(--jys-font-weight-semibold);
  line-height: var(--jys-font-line-height-title);
  margin: 0;
}

.jys-wecom-assistant .ai-intent-row {
  margin-bottom: var(--jys-space-3);
}

.jys-wecom-assistant .ai-intent-row .jys-field-frame,
.jys-wecom-assistant .ai-service-flow-step-picker,
.jys-wecom-assistant .ai-service-flow-course-picker .jys-field-frame {
  width: 100%;
}

.jys-wecom-assistant .ai-inline-feedback,
.jys-wecom-assistant .ai-service-flow-feedback {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-body);
  overflow-wrap: anywhere;
}

.jys-wecom-assistant .ai-inline-feedback:empty,
.jys-wecom-assistant .ai-service-flow-feedback:empty {
  display: none;
}

.jys-wecom-assistant .ai-inline-feedback.is-error,
.jys-wecom-assistant .ai-service-flow-feedback.is-error,
.jys-wecom-assistant .archive-ai-direct-collection-error {
  background: var(--jys-color-status-danger-background);
  border: 1px solid var(--jys-color-status-danger-border);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-status-danger-text);
  margin-top: var(--jys-space-2);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .ai-inline-feedback.is-success,
.jys-wecom-assistant .ai-service-flow-feedback.is-success,
.jys-wecom-assistant .archive-ai-direct-collection-result {
  background: var(--jys-color-status-success-background);
  border: 1px solid var(--jys-color-status-success-border);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-status-success-text);
  margin-top: var(--jys-space-2);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .ai-assistant-boundary,
.jys-wecom-assistant .ai-service-flow-notice {
  background: var(--jys-color-status-warning-background);
  border: 1px solid var(--jys-color-status-warning-border);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-status-warning-text);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-relaxed);
  margin-top: var(--jys-space-2);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .jys-wecom-assistant-script,
.jys-wecom-assistant .ai-service-flow-copy {
  background: var(--jys-color-surface-sunken);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-text-primary);
  font-size: var(--jys-font-size-body);
  line-height: var(--jys-font-line-height-relaxed);
  margin-top: var(--jys-space-2);
  min-height: calc(var(--jys-size-control-touch) * 2);
  overflow-wrap: anywhere;
  padding: var(--jys-space-3);
  white-space: pre-wrap;
}

.jys-wecom-assistant .jys-wecom-assistant-script-hint,
.jys-wecom-assistant .jys-wecom-assistant-secondary-copy {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-relaxed);
  margin-top: var(--jys-space-2);
}

.jys-wecom-assistant .ai-product-actions,
.jys-wecom-assistant .ai-service-flow-actions,
.jys-wecom-assistant .ai-service-flow-confirm-actions {
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--jys-space-3);
}

.jys-wecom-assistant .ai-product-actions-compact #archiveAiAssistantCopyScriptBtn {
  grid-column: 1 / -1;
  grid-row: 1;
}

.jys-wecom-assistant .ai-product-actions .ai-inline-feedback,
.jys-wecom-assistant .ai-service-flow-feedback {
  grid-column: 1 / -1;
}

.jys-wecom-assistant .ai-service-flow-primary-action,
.jys-wecom-assistant .ai-service-flow-secondary-action {
  min-width: 0;
}

.jys-wecom-assistant .ai-service-flow-primary-action > .btn,
.jys-wecom-assistant .ai-service-flow-primary-action > select,
.jys-wecom-assistant .ai-service-flow-secondary-action > .btn {
  width: 100%;
}

.jys-wecom-assistant .ai-service-flow-primary-action[hidden],
.jys-wecom-assistant .ai-service-flow-secondary-action[hidden],
.jys-wecom-assistant .ai-service-flow-actions[hidden] {
  display: none;
}

.jys-wecom-assistant .ai-service-flow-summary {
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  min-width: 0;
  overflow: hidden;
}

.jys-wecom-assistant .ai-service-flow-course-picker {
  align-items: center;
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: minmax(0, 1fr) max-content;
  padding: var(--jys-space-2);
}

.jys-wecom-assistant .ai-service-flow-course-picker .jys-field-frame:has(.ai-service-flow-course-select:disabled) {
  opacity: 1;
}

.jys-wecom-assistant .ai-service-flow-course-select:disabled {
  color: var(--jys-color-text-primary);
  opacity: 1;
  -webkit-text-fill-color: var(--jys-color-text-primary);
}

.jys-wecom-assistant .ai-service-flow-current {
  border-top: 1px solid var(--jys-color-border-default);
  display: grid;
  gap: var(--jys-space-2);
  min-width: 0;
  padding: var(--jys-space-2);
}

.jys-wecom-assistant .ai-service-flow-step-row {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.jys-wecom-assistant .ai-service-flow-step {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--jys-radius-none);
  color: var(--jys-color-text-primary);
  display: flex;
  font-size: var(--jys-font-size-label);
  font-weight: var(--jys-font-weight-medium);
  line-height: var(--jys-font-line-height-body);
  min-height: var(--jys-size-control-touch);
  overflow-wrap: anywhere;
  padding: 0 var(--jys-space-3);
}

.jys-wecom-assistant .ai-service-flow-next,
.jys-wecom-assistant .ai-service-flow-context {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-relaxed);
  overflow-wrap: anywhere;
}

.jys-wecom-assistant .ai-service-flow-context {
  background: var(--jys-color-status-info-background);
  border: 1px solid var(--jys-color-status-info-border);
  border-radius: var(--jys-radius-control);
  display: grid;
  gap: var(--jys-space-1) var(--jys-space-2);
  grid-template-columns: minmax(0, 1fr) max-content;
  margin-top: var(--jys-space-2);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .ai-service-flow-context[style*="display:none"] {
  display: none;
}

.jys-wecom-assistant .ai-service-flow-context strong {
  color: var(--jys-color-status-info-text);
  grid-column: 1 / -1;
}

.jys-wecom-assistant .ai-service-flow-recommendation {
  background: var(--jys-color-status-info-background);
  border: 1px solid var(--jys-color-status-info-border);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-status-info-text);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-relaxed);
  margin-top: var(--jys-space-2);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .ai-service-flow-alternatives {
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-strong);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-text-primary);
  min-height: var(--jys-size-control-touch);
  padding: 0 var(--jys-space-3);
  width: 100%;
}

.jys-wecom-assistant .ai-service-flow-admin-entry {
  border-style: dashed;
}

.jys-wecom-assistant .ai-service-flow-notice.is-critical {
  background: var(--jys-color-status-danger-background);
  border-color: var(--jys-color-status-danger-border);
  color: var(--jys-color-status-danger-text);
  font-weight: var(--jys-font-weight-semibold);
  padding-left: var(--jys-space-10);
  position: relative;
}

.jys-wecom-assistant .ai-service-flow-notice.is-critical::before {
  align-items: center;
  background: var(--jys-color-action-danger);
  border-radius: var(--jys-radius-pill);
  color: var(--jys-color-text-inverse);
  content: "!";
  display: inline-flex;
  font-size: var(--jys-font-size-body);
  font-weight: var(--jys-font-weight-bold);
  height: var(--jys-size-icon-medium);
  justify-content: center;
  left: var(--jys-space-3);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--jys-size-icon-medium);
}

.jys-wecom-assistant .ai-service-flow-course-status {
  background: var(--jys-color-surface-disabled);
  border-color: var(--jys-color-border-default);
  color: var(--jys-color-text-secondary);
}

.jys-wecom-assistant .ai-service-flow-course-status.is-converted {
  background: var(--jys-color-status-success-background);
  border-color: var(--jys-color-status-success-border);
  color: var(--jys-color-status-success-text);
}

.jys-wecom-assistant .ai-service-flow-course-status.is-unknown {
  background: var(--jys-color-status-warning-background);
  border-color: var(--jys-color-status-warning-border);
  color: var(--jys-color-status-warning-text);
}

.jys-wecom-assistant .ai-service-flow-course-status.is-refunded {
  background: var(--jys-color-status-danger-background);
  border-color: var(--jys-color-status-danger-border);
  color: var(--jys-color-status-danger-text);
}

.jys-wecom-assistant .ai-service-flow-experience {
  background: var(--jys-color-status-success-background);
  border: 1px solid var(--jys-color-status-success-border);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-status-success-text);
  display: none;
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-relaxed);
  margin-top: var(--jys-space-2);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .ai-service-flow-experience.is-visible {
  display: block;
}

.jys-wecom-assistant .ai-service-flow-progress {
  align-items: center;
  display: flex;
  gap: var(--jys-space-2);
  margin-top: var(--jys-space-2);
}

.jys-wecom-assistant .ai-service-flow-progress-track {
  background: var(--jys-color-status-success-border);
  border-radius: var(--jys-radius-pill);
  flex: 1;
  height: var(--jys-space-1);
  overflow: hidden;
}

.jys-wecom-assistant .ai-service-flow-progress-track span {
  background: var(--jys-color-status-success-text);
  border-radius: inherit;
  display: block;
  height: 100%;
}

.jys-wecom-assistant .ai-verification-fee-status {
  align-items: center;
  background: var(--jys-color-surface-sunken);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  color: var(--jys-color-text-muted);
  display: inline-flex;
  font-size: var(--jys-font-size-caption);
  justify-content: center;
  line-height: var(--jys-font-line-height-body);
  min-height: var(--jys-size-control-touch);
  padding: 0 var(--jys-space-3);
  width: 100%;
}

.jys-wecom-assistant .ai-verification-fee-status.is-success {
  color: var(--jys-color-status-success-text);
}

.jys-wecom-assistant .ai-verification-fee-status.is-warning {
  color: var(--jys-color-status-warning-text);
}

.jys-wecom-assistant .ai-verification-fee-action {
  min-height: var(--jys-size-control-touch);
}

.jys-wecom-assistant .ai-verification-fee-confirm-modal {
  border-radius: var(--jys-radius-dialog);
  max-height: calc(100dvh - var(--jys-space-6));
  overflow: auto;
  text-align: center;
  width: min(var(--jys-size-content-assistant-max), calc(100vw - var(--jys-space-6)));
}

.jys-wecom-assistant #archiveAiAssistantVerificationFeeConfirmModal.is-open {
  display: flex;
}

.jys-wecom-assistant .ai-verification-fee-confirm-icon {
  align-items: center;
  background: var(--jys-color-action-primary);
  border-radius: var(--jys-radius-pill);
  color: var(--jys-color-text-inverse);
  display: inline-flex;
  font-size: var(--jys-font-size-body-large);
  font-weight: var(--jys-font-weight-bold);
  height: var(--jys-size-control-touch);
  justify-content: center;
  margin-bottom: var(--jys-space-3);
  width: var(--jys-size-control-touch);
}

.jys-wecom-assistant .ai-verification-fee-confirm-modal h3 {
  color: var(--jys-color-text-primary);
  font-size: var(--jys-font-size-page-title);
  line-height: var(--jys-font-line-height-heading);
  margin: 0 0 var(--jys-space-2);
}

.jys-wecom-assistant .ai-verification-fee-confirm-copy,
.jys-wecom-assistant .ai-verification-fee-confirm-note {
  font-size: var(--jys-font-size-label);
  line-height: var(--jys-font-line-height-relaxed);
  margin: 0;
}

.jys-wecom-assistant .ai-verification-fee-confirm-copy {
  color: var(--jys-color-text-secondary);
}

.jys-wecom-assistant .ai-verification-fee-confirm-note {
  color: var(--jys-color-text-muted);
  margin-top: var(--jys-space-1);
}

.jys-wecom-assistant .ai-risk-reminder-modal {
  max-width: calc(var(--jys-size-content-assistant-max) - (var(--jys-space-4) * 2));
  text-align: center;
  width: calc(100% - (var(--jys-space-4) * 2));
}

.jys-wecom-assistant #archiveAiAssistantRiskReminderModal.is-open {
  display: flex;
}

.jys-wecom-assistant .ai-risk-reminder-icon {
  align-items: center;
  background: var(--jys-color-status-warning-background);
  border: 1px solid var(--jys-color-status-warning-border);
  border-radius: var(--jys-radius-pill);
  color: var(--jys-color-status-warning-text);
  display: inline-flex;
  font-size: var(--jys-font-size-section-title);
  font-weight: var(--jys-font-weight-bold);
  height: var(--jys-size-control-touch);
  justify-content: center;
  margin-bottom: var(--jys-space-2);
  width: var(--jys-size-control-touch);
}

.jys-wecom-assistant .ai-risk-reminder-modal h3 {
  color: var(--jys-color-text-primary);
  font-size: var(--jys-font-size-section-title);
  margin: 0;
}

.jys-wecom-assistant .ai-risk-reminder-copy {
  color: var(--jys-color-text-secondary);
  font-size: var(--jys-font-size-body);
  line-height: var(--jys-font-line-height-relaxed);
  margin: var(--jys-space-3) 0 0;
}

.jys-wecom-assistant .ai-risk-reminder-modal .modal-actions {
  grid-template-columns: 1fr;
}

.jys-wecom-assistant .ai-product-fields {
  display: grid;
  gap: var(--jys-space-2);
}

.jys-wecom-assistant .ai-product-field {
  align-items: flex-start;
  background: var(--jys-color-surface-sunken);
  border-radius: var(--jys-radius-control);
  display: flex;
  font-size: var(--jys-font-size-caption);
  gap: var(--jys-space-2);
  justify-content: space-between;
  line-height: var(--jys-font-line-height-body);
  padding: var(--jys-space-2) var(--jys-space-3);
}

.jys-wecom-assistant .ai-product-field span {
  color: var(--jys-color-text-muted);
}

.jys-wecom-assistant .ai-product-field strong {
  color: var(--jys-color-text-primary);
  overflow-wrap: anywhere;
  text-align: right;
}

.jys-wecom-assistant .ai-product-checklist {
  display: flex;
  flex-wrap: wrap;
  gap: var(--jys-space-2);
  margin-top: var(--jys-space-3);
}

.jys-wecom-assistant .ai-product-checkitem {
  background: var(--jys-color-surface-disabled);
  border-color: var(--jys-color-border-default);
  color: var(--jys-color-text-secondary);
}

.jys-wecom-assistant .archive-ai-direct-collection-modal,
.jys-wecom-assistant .ai-service-flow-review-modal {
  border-radius: var(--jys-radius-dialog);
  max-height: calc(100dvh - var(--jys-space-6));
  overflow: auto;
  width: min(var(--jys-size-content-assistant-max), calc(100vw - var(--jys-space-6)));
}

.jys-wecom-assistant .ai-service-flow-review-modal {
  text-align: center;
}

.jys-wecom-assistant .ai-service-flow-review-icon {
  align-items: center;
  background: var(--jys-color-action-danger);
  border-radius: var(--jys-radius-pill);
  color: var(--jys-color-text-inverse);
  display: inline-flex;
  font-size: var(--jys-font-size-page-title);
  font-weight: var(--jys-font-weight-bold);
  height: var(--jys-size-control-touch);
  justify-content: center;
  margin-bottom: var(--jys-space-3);
  width: var(--jys-size-control-touch);
}

.jys-wecom-assistant .archive-ai-direct-collection-lead,
.jys-wecom-assistant .ai-service-flow-review-copy {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-label);
  line-height: var(--jys-font-line-height-relaxed);
  margin: 0 0 var(--jys-space-4);
}

.jys-wecom-assistant .archive-ai-direct-collection-form {
  display: grid;
  gap: var(--jys-space-3);
}

.jys-wecom-assistant .archive-ai-direct-collection-form .jys-field-frame {
  grid-template-columns: max-content minmax(0, 1fr);
}

.jys-wecom-assistant .archive-ai-direct-collection-remark-label {
  display: grid;
  gap: var(--jys-space-1);
}

.jys-wecom-assistant .archive-ai-direct-collection-optional {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  font-weight: var(--jys-font-weight-regular);
  white-space: nowrap;
}

.jys-wecom-assistant .archive-ai-direct-collection-form textarea {
  min-height: calc(var(--jys-size-control-touch) * 2);
}

.jys-wecom-assistant .modal-actions {
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--jys-space-4);
}

.jys-wecom-assistant .modal-close-x {
  align-items: center;
  display: inline-flex;
  height: var(--jys-size-control-touch);
  justify-content: center;
  min-height: var(--jys-size-touch-minimum);
  min-width: var(--jys-size-touch-minimum);
  width: var(--jys-size-control-touch);
}

.jys-wecom-assistant .ai-debug-details {
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-card);
  margin-top: var(--jys-space-3);
  overflow: hidden;
}

.jys-wecom-assistant .ai-context-details {
  background: var(--jys-color-surface-sunken);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  margin-top: var(--jys-space-3);
  overflow: hidden;
}

.jys-wecom-assistant .ai-context-details summary {
  color: var(--jys-color-text-secondary);
  cursor: pointer;
  font-size: var(--jys-font-size-label);
  font-weight: var(--jys-font-weight-medium);
  list-style: none;
  min-height: var(--jys-size-control-touch);
  padding: var(--jys-space-3);
}

.jys-wecom-assistant .ai-context-details summary::-webkit-details-marker {
  display: none;
}

.jys-wecom-assistant .ai-context-body {
  border-top: 1px solid var(--jys-color-border-default);
  padding: var(--jys-space-3);
}

.jys-wecom-assistant .ai-debug-details summary {
  color: var(--jys-color-text-secondary);
  cursor: pointer;
  font-size: var(--jys-font-size-label);
  font-weight: var(--jys-font-weight-semibold);
  list-style: none;
  min-height: var(--jys-size-control-touch);
  padding: var(--jys-space-3);
}

.jys-wecom-assistant .ai-debug-details summary::-webkit-details-marker {
  display: none;
}

.jys-wecom-assistant .ai-debug-body {
  border-top: 1px solid var(--jys-color-border-default);
  padding: var(--jys-space-3);
}

body.ai-assistant-standalone .jys-wecom-assistant .cards,
body.ai-assistant-standalone .jys-wecom-assistant .detail-grid,
body.ai-assistant-standalone .jys-wecom-assistant .ai-assistant-reserved-grid {
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: 1fr;
}

body.ai-assistant-standalone .jys-wecom-assistant .card,
body.ai-assistant-standalone .jys-wecom-assistant .detail-card,
.jys-wecom-assistant .ai-assistant-reserved-card {
  background: var(--jys-color-surface-base);
  border: 1px solid var(--jys-color-border-default);
  border-radius: var(--jys-radius-control);
  min-width: 0;
  padding: var(--jys-space-3);
}

.jys-wecom-assistant .ai-assistant-reserved-card {
  border-style: dashed;
}

.jys-wecom-assistant .ai-assistant-reserved-card strong {
  color: var(--jys-color-text-primary);
  display: block;
  font-size: var(--jys-font-size-body);
  margin-bottom: var(--jys-space-1);
}

.jys-wecom-assistant .ai-assistant-reserved-card span {
  color: var(--jys-color-text-muted);
  font-size: var(--jys-font-size-caption);
  line-height: var(--jys-font-line-height-body);
}

body.ai-assistant-standalone .jys-wecom-assistant .detail-row {
  display: grid;
  gap: var(--jys-space-2);
  grid-template-columns: minmax(calc(var(--jys-space-16) + var(--jys-space-6)), calc(var(--jys-space-16) * 2)) minmax(0, 1fr);
}

body.ai-assistant-standalone .jys-wecom-assistant .detail-row strong {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

/* Desktop Enterprise WeChat is a narrow mouse-driven utility rail. Keep the
   shared visual language while restoring the compact density of the accepted
   pre-migration panel. Touch devices retain the 44px defaults above. */
@media (hover: hover) and (pointer: fine) {
  body.ai-assistant-standalone .jys-wecom-assistant {
    --jys-wecom-size-control-micro: calc(var(--jys-size-control-compact) - var(--jys-space-1));
    padding: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-assistant-panel {
    box-shadow: var(--jys-shadow-none);
    padding: var(--jys-space-3);
  }

  .jys-wecom-assistant .ai-assistant-product-head {
    gap: var(--jys-space-2);
    margin-bottom: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-assistant-context-card {
    background: var(--jys-color-surface-base);
    gap: var(--jys-space-2);
    grid-template-columns: var(--jys-size-control-standard) minmax(0, 1fr);
    padding: var(--jys-space-2) var(--jys-space-3);
  }

  .jys-wecom-assistant .ai-assistant-context-avatar {
    height: var(--jys-size-control-standard);
    width: var(--jys-size-control-standard);
  }

  .jys-wecom-assistant .ai-assistant-context-copy {
    gap: var(--jys-space-1);
  }

  .jys-wecom-assistant .ai-assistant-context-main,
  .jys-wecom-assistant .ai-assistant-customer-link {
    font-size: var(--jys-font-size-body);
  }

  .jys-wecom-assistant .ai-assistant-context-meta-row {
    align-items: center;
    display: flex;
    gap: var(--jys-space-1);
  }

  .jys-wecom-assistant #archiveAiAssistantTopIdentity {
    flex: 1 1 0;
  }

  .jys-wecom-assistant button.ai-assistant-identity-summary--expandable {
    min-height: var(--jys-size-icon-large);
  }

  .jys-wecom-assistant .ai-assistant-identity-tag {
    font-size: var(--jys-font-size-caption);
    min-height: var(--jys-size-icon-large);
    padding: 0 var(--jys-space-1);
  }

  .jys-wecom-assistant .ai-assistant-quick-actions {
    display: flex;
    flex: 0 0 auto;
    gap: var(--jys-space-1);
    width: auto;
  }

  .jys-wecom-assistant .btn {
    font-size: var(--jys-font-size-caption);
    min-height: var(--jys-size-control-compact);
    padding: 0 var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-assistant-quick-actions .btn {
    font-size: var(--jys-font-size-caption);
    min-height: var(--jys-wecom-size-control-micro);
    min-width: var(--jys-space-16);
    padding: var(--jys-space-1);
  }

  .jys-wecom-assistant .jys-field-frame--touch {
    --jys-field-control-height: var(--jys-size-control-compact);
  }

  .jys-wecom-assistant .jys-field-frame__label,
  .jys-wecom-assistant .jys-field-frame__control {
    font-size: var(--jys-font-size-caption);
    padding-left: var(--jys-space-2);
    padding-right: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-product-card {
    margin-top: var(--jys-space-2);
    padding: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-product-card-title {
    margin-bottom: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-product-card-title h3 {
    font-size: var(--jys-font-size-body-large);
  }

  .jys-wecom-assistant .ai-product-status,
  .jys-wecom-assistant .ai-service-flow-course-status,
  .jys-wecom-assistant .ai-product-checkitem {
    font-size: var(--jys-font-size-caption);
    min-height: var(--jys-size-icon-large);
    padding: 0 var(--jys-space-1);
  }

  .jys-wecom-assistant .ai-intent-row {
    margin-bottom: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-service-flow-course-picker,
  .jys-wecom-assistant .ai-service-flow-current {
    gap: var(--jys-space-1);
    padding: var(--jys-space-1);
  }

  .jys-wecom-assistant .ai-service-flow-step-row {
    gap: var(--jys-space-1);
  }

  .jys-wecom-assistant .ai-service-flow-step {
    font-size: var(--jys-font-size-caption);
    min-height: var(--jys-size-control-compact);
    padding: 0 var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-assistant-boundary,
  .jys-wecom-assistant .ai-service-flow-notice,
  .jys-wecom-assistant .ai-service-flow-context,
  .jys-wecom-assistant .ai-service-flow-recommendation,
  .jys-wecom-assistant .ai-service-flow-experience {
    margin-top: var(--jys-space-2);
    padding: var(--jys-space-2);
  }

  .jys-wecom-assistant .jys-wecom-assistant-script,
  .jys-wecom-assistant .ai-service-flow-copy {
    font-size: var(--jys-font-size-caption);
    line-height: var(--jys-font-line-height-body);
    margin-top: var(--jys-space-2);
    min-height: calc((var(--jys-size-control-compact) * 2) + var(--jys-space-2));
    padding: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-product-actions,
  .jys-wecom-assistant .ai-service-flow-actions,
  .jys-wecom-assistant .ai-service-flow-confirm-actions {
    gap: var(--jys-space-1);
    margin-top: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-service-flow-alternatives,
  .jys-wecom-assistant .ai-verification-fee-action,
  .jys-wecom-assistant .ai-verification-fee-status,
  .jys-wecom-assistant .ai-context-details summary,
  .jys-wecom-assistant .ai-debug-details summary {
    min-height: var(--jys-size-control-compact);
  }

  .jys-wecom-assistant .ai-product-fields {
    gap: var(--jys-space-1);
  }

  .jys-wecom-assistant .ai-product-field {
    padding: var(--jys-space-1) var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-product-checklist {
    gap: var(--jys-space-1);
    margin-top: var(--jys-space-2);
  }
}

@media (max-width: 390px) {
  body.ai-assistant-standalone .jys-wecom-assistant {
    padding-left: var(--jys-space-2);
    padding-right: var(--jys-space-2);
  }

  .jys-wecom-assistant .ai-assistant-panel {
    border-radius: var(--jys-radius-control);
    padding: var(--jys-space-3);
  }

  body.ai-assistant-standalone .jys-wecom-assistant .detail-row {
    grid-template-columns: 1fr;
  }

  body.ai-assistant-standalone .jys-wecom-assistant .detail-row strong {
    text-align: left;
  }
}

@media (max-width: 320px) {
  .jys-wecom-assistant .ai-editor-account-metric {
    gap: var(--jys-space-0);
    padding: var(--jys-space-1) var(--jys-space-0);
  }

  .jys-wecom-assistant .ai-editor-account-metric strong,
  .jys-wecom-assistant .ai-editor-account-metric span {
    font-size: var(--jys-font-size-caption);
  }

  .jys-wecom-assistant .ai-assistant-context-card {
    grid-template-columns: 1fr;
  }

  .jys-wecom-assistant .ai-assistant-context-avatar {
    display: none;
  }

  .jys-wecom-assistant .ai-assistant-quick-actions,
  .jys-wecom-assistant .ai-product-actions,
  .jys-wecom-assistant .ai-service-flow-actions,
  .jys-wecom-assistant .ai-service-flow-confirm-actions,
  .jys-wecom-assistant .modal-actions {
    grid-template-columns: 1fr;
  }

  .jys-wecom-assistant .ai-service-flow-step-row,
  .jys-wecom-assistant .ai-service-flow-course-picker {
    grid-template-columns: 1fr;
  }

  .jys-wecom-assistant .ai-product-actions-compact #archiveAiAssistantCopyScriptBtn {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jys-wecom-assistant *,
  .jys-wecom-assistant *::before,
  .jys-wecom-assistant *::after {
    animation: none;
    scroll-behavior: auto;
    transition: none;
  }
}

/* JYS_UNIFIED_WECOM_ASSISTANT_1A_END */
