.annual-choice {
  border:0;
  background:transparent;
  font:inherit;
  min-width:0;
  color:inherit
}

.annual-choice.active {
  background:#e5edfc
}

.annual-choice:hover {
  background:#edf2fd
}

.annual-choice:focus-visible {
  outline:2px solid #345db5;
  outline-offset:1px
}

.filing {
  text-align:center;
  font-size:11px;
  line-height:1.6
}

.filing a {
  color:#69758b;
  text-decoration:none
}

.filing a:hover {
  text-decoration:underline
}

.chat-examples-label {
  margin:16px 0 8px;
  font-size:12px;
  color:#69758b
}

.chat-examples button {
  text-align:left;
  line-height:1.7
}

.module-chat {
  margin-top:24px;
  padding:18px;
  border:1px solid #dce4f4;
  border-radius:14px;
  background:#fff
}

.module-chat h3 {
  font-size:17px;
  margin:0;
  color:#253049
}

.module-chat .chat-hint {
  font-size:13px;
  line-height:1.8;
  color:#69758b
}

.chat-examples {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.chat-examples button {
  border:0;
  border-radius:8px;
  padding:8px 10px;
  background:#edf2fd;
  color:#345db5;
  font-size:12px;
  cursor:pointer
}

.chat-message {
  margin-top:14px;
  padding:12px;
  border-radius:10px;
  background:#f5f7fb
}

.chat-message.user {
  background:#edf2fd
}

.chat-message strong {
  font-size:12px;
  color:#69758b
}

.chat-message p {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:14px;
  line-height:1.9;
  margin:6px 0 0;
  color:#35415a
}

.chat-form {
  margin-top:16px
}

.chat-form label {
  display:block;
  font-size:13px;
  color:#35415a;
  margin-bottom:8px
}

.chat-form textarea {
  width:100%;
  box-sizing:border-box;
  border:1px solid #dce4f4;
  border-radius:8px;
  padding:10px;
  font:inherit;
  font-size:14px;
  resize:vertical
}

.chat-send {
  margin-top:10px;
  padding:10px 22px;
  background:#345db5;
  color:#fff;
  border:0;
  border-radius:8px;
  cursor:pointer
}

.module-chat button:disabled {
  opacity:.55;
  cursor:default
}

.chat-error {
  color:#b34a44;
  font-size:13px;
  line-height:1.7
}

.chat-pending {
  font-size:13px;
  color:#69758b;
  margin-top:14px
}

.phone-report .phone-block {
  padding:16px 0;
  border-bottom:1px solid #e4e9f2
}

.natal-report .report-group-title {
  margin:22px 0 0;
  font-size:16px;
  font-weight:600;
  color:#253049
}

.natal-report {
  margin-top:20px
}

.natal-report .report-title {
  font-size:17px;
  font-weight:600;
  color:#253049;
  margin:0
}

.natal-report .report-intro,.natal-report .report-note {
  font-size:12px;
  line-height:1.8;
  color:#69758b;
  margin-top:8px
}

.natal-report .report-section {
  margin-top:12px;
  padding:16px;
  background:#fff;
  border:1px solid #e4e9f2;
  border-radius:12px
}

.natal-report .section-title {
  font-size:13px;
  font-weight:400;
  color:#69758b;
  line-height:1.7;
  margin:0
}

.natal-report .section-result {
  font-size:17px;
  font-weight:600;
  color:#345db5;
  line-height:1.6;
  margin-top:6px;
  overflow-wrap:anywhere
}

.natal-report .section-text {
  font-size:13px;
  line-height:1.9;
  color:#35415a;
  margin-top:8px;
  overflow-wrap:anywhere
}

.phone-report .phone-block h3 {
  font-size:16px;
  margin:0 0 10px
}

.phone-report .phone-text {
  font-size:14px;
  line-height:1.9;
  color:#38445b;
  margin:0
}

.phone-report .phone-item+.phone-item {
  margin-top:12px
}

.phone-report .phone-evidence {
  font-size:11px;
  line-height:1.7;
  color:#69758b;
  margin-top:4px
}

.phone-report .phone-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px
}

.phone-report .phone-tags span {
  background:#edf2fd;
  color:#345db5;
  padding:3px 8px;
  border-radius:6px;
  font-size:12px
}

.phone-report .phone-details {
  margin-top:14px
}

.phone-report .phone-details summary {
  cursor:pointer;
  padding:12px;
  background:#edf2fd;
  color:#345db5;
  border-radius:8px
}

.phone-report .phone-segment {
  padding:10px 0;
  border-bottom:1px solid #e4e9f2
}

.phone-report .phone-segment strong {
  color:#345db5
}

.phone-report .phone-caveat {
  font-size:11px;
  line-height:1.7;
  color:#69758b;
  margin-top:18px
}

.phone-report .phone-item-heading {
  font-size:13px;
  line-height:1.7;
  color:#345db5;
  margin:6px 0 4px;
  font-weight:500
}

.phone-report .phone-element-row,.phone-report .phone-grade-row {
  padding:8px 0;
  border-bottom:1px solid #edf0f6
}

/* 固定报告的展开区；AI问答样式保持原定义。 */
.natal-report .report-details {
  margin-top:14px
}

.natal-report .report-detail-title {
  padding:13px 14px;
  background:#edf2fd;
  color:#345db5;
  border-radius:10px;
  cursor:pointer;
  font-size:13px;
  line-height:1.7
}

.natal-report .report-details[open] .report-detail-title {
  margin-bottom:8px
}

.natal-report .report-detail-title:focus-visible,.phone-report .phone-details summary:focus-visible {
  outline:2px solid #345db5;
  outline-offset:3px
}

.phone-report .phone-sequence {
  margin:0;
  color:#345db5;
  font-size:12px;
  line-height:1.9;
  overflow-wrap:anywhere
}

.phone-report .phone-details>.phone-item {
  padding:12px 4px;
  border-bottom:1px solid #e4e9f2
}

.phone-report .phone-details>.phone-text,.phone-report .phone-details>.phone-evidence {
  padding:10px 4px
}

.phone-report .phone-item .phone-text+.phone-text {
  margin-top:7px
}
