/* AI 套保建议页面样式 */
.ai-hedge-wrap { max-width: 1100px; margin:0 auto; padding:20px; }
.ai-hedge-wrap h2 { margin-bottom:6px; }
.ai-hedge-wrap .subtitle { color:var(--muted); margin-bottom:24px; font-size:14px; }

.ai-tabs { display:flex; gap:0; margin-bottom:24px; border-bottom:2px solid var(--border); }
.ai-tab { padding:10px 24px; cursor:pointer; font-size:15px; color:var(--muted); border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .2s; }
.ai-tab.active { color:var(--accent); border-bottom-color:var(--accent); font-weight:600; }
.ai-tab:hover { color:var(--accent); }
.ai-panel { display:none; }
.ai-panel.active { display:block; }

.hedge-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; }
.hedge-form .full-width { grid-column:1 / -1; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:13px; font-weight:600; color:var(--text); }
.form-group input, .form-group select, .form-group textarea { padding:9px 12px; border:1px solid var(--border); border-radius:6px; font-size:14px; background:var(--card); color:var(--text); transition:border-color .2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--accent); }
.form-group textarea { resize:vertical; min-height:70px; }
.form-hint { font-size:12px; color:var(--muted); }

.btn-ai { padding:10px 32px; background:var(--accent); color:var(--text); border:none; border-radius:6px; font-size:15px; cursor:pointer; transition:opacity .2s; }
.btn-ai:hover { opacity:.85; }
.btn-ai:disabled { opacity:.5; cursor:not-allowed; }
.btn-ai-secondary { background:var(--border); color:var(--text); }

.result-card { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:24px; margin-bottom:20px; }
.result-card h3 { margin:0 0 12px; font-size:16px; display:flex; align-items:center; gap:8px; }
.result-card h3 .icon { font-size:20px; }
.result-summary { font-size:18px; font-weight:700; color:var(--accent); margin-bottom:16px; padding:12px 16px; background:rgba(59,130,246,.06); border-radius:8px; }

.advice-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
@media(max-width:700px){ .advice-grid{grid-template-columns:1fr;} .hedge-form{grid-template-columns:1fr;} }

.advice-block { background:var(--bg); border-radius:8px; padding:14px; border:1px solid var(--border); }
.advice-block h4 { margin:0 0 8px; font-size:14px; color:var(--accent); }
.advice-block p { margin:0; font-size:13px; line-height:1.6; color:var(--text); }
.advice-block ul { margin:4px 0 0; padding-left:18px; font-size:13px; line-height:1.7; }

.tag { display:inline-block; padding:2px 10px; border-radius:12px; font-size:12px; font-weight:600; }
.tag-green { background:#dcfce7; color:#166534; }
.tag-yellow { background:#fef3c7; color:#92400e; }
.tag-red { background:#fee2e2; color:#991b1b; }
.tag-blue { background:#dbeafe; color:#1e40af; }

.instrument-card { border:1px solid var(--border); border-radius:8px; padding:14px; margin-bottom:10px; background:var(--bg); }
.instrument-card .inst-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.instrument-card .inst-type { font-weight:700; font-size:14px; }
.instrument-card .inst-portion { font-size:13px; color:var(--muted); }
.inst-detail { font-size:13px; line-height:1.6; }
.inst-detail .pros { color:#16a34a; }
.inst-detail .cons { color:#dc2626; }

.reasoning-block { background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(168,85,247,.05)); border-radius:8px; padding:16px; font-size:13px; line-height:1.7; color:var(--text); margin-top:16px; }

.loading-ai { display:none; text-align:center; padding:40px; color:var(--muted); }
.loading-ai.active { display:block; }
.loading-ai .spinner { display:inline-block; width:36px; height:36px; border:3px solid var(--border); border-top-color:var(--accent); border-radius:50%; animation:spin .8s linear infinite; margin-bottom:12px; }
@keyframes spin{ to{ transform:rotate(360deg); } }

.error-ai { display:none; padding:14px 18px; background:#fee2e2; color:#991b1b; border-radius:8px; margin-bottom:16px; font-size:14px; }
.error-ai.active { display:block; }

.analysis-chat { max-height:500px; overflow-y:auto; margin-bottom:16px; }
.chat-bubble { padding:12px 16px; border-radius:12px; margin-bottom:10px; max-width:85%; }
.chat-bubble.user { background:var(--accent); color:#fff; margin-left:auto; }
.chat-bubble.ai { background:var(--card); border:1px solid var(--border); }
.chat-input-row { display:flex; gap:10px; }
.chat-input-row input { flex:1; padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:14px; }
.chat-input-row button { padding:10px 20px; }
