/* ═══════════════════════════════════════════════════
   Семейная Синастрия — synastry.css v2.0
   Quantum Life Guide
═══════════════════════════════════════════════════ */

/* ─── Заголовок ───────────────────────────────────── */
.syn-subtitle { font-size:1.1em; color:#a0aec0; margin-top:8px; }

/* ─── Форма ───────────────────────────────────────── */
.syn-form-wrapper { max-width: 860px; margin: 0 auto; }

.syn-form-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 24px; flex-wrap: wrap; gap: 12px;
}
.syn-form-title { font-size:1.3em; font-weight:700; color:#f093fb; }

.add-member-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px;
  background: rgba(102,126,234,0.15);
  border: 2px dashed rgba(102,126,234,0.5);
  border-radius: 12px; color: #667eea;
  font-size: 0.95em; font-weight: 600; cursor: pointer;
  transition: all 0.3s ease;
}
.add-member-btn:hover { background:rgba(102,126,234,0.25); border-color:#667eea; color:#fff; }
.add-member-btn:disabled { opacity:0.4; cursor:not-allowed; }

/* ─── Карточка участника ──────────────────────────── */
.member-card {
  background: rgba(255,255,255,0.05);
  border: 2px solid rgba(102,126,234,0.25);
  border-radius: 16px; padding: 24px; margin-bottom: 16px;
  position: relative; transition: border-color 0.3s ease;
  animation: cardIn 0.35s ease;
}
@keyframes cardIn { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
.member-card:hover { border-color: rgba(102,126,234,0.5); }
.member-card.main-member { border-color: rgba(240,147,251,0.4); }

.member-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.member-card-title  { font-size:1.1em; font-weight:700; display:flex; align-items:center; gap:10px; }

.member-avatar { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2em; flex-shrink:0; }
.member-avatar.self    { background:rgba(240,147,251,0.2); }
.member-avatar.partner { background:rgba(102,126,234,0.2); }
.member-avatar.parent  { background:rgba(72,187,120,0.2); }
.member-avatar.child   { background:rgba(250,173,20,0.2); }
.member-avatar.sibling { background:rgba(147,210,250,0.2); }

.remove-btn { background:none; border:none; color:#fc8181; cursor:pointer; font-size:1.2em; padding:4px 8px; border-radius:8px; transition:all 0.2s ease; opacity:0.7; }
.remove-btn:hover { background:rgba(252,129,129,0.15); opacity:1; }

.member-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.member-grid.four-cols { grid-template-columns:1fr 1fr 1fr 1fr; }

.form-group label { display:block; font-size:0.82em; color:#a0aec0; margin-bottom:6px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; }
.form-group input,
.form-group select { width:100%; padding:10px 14px; background:rgba(255,255,255,0.07); border:1.5px solid rgba(255,255,255,0.12); border-radius:10px; color:#fff; font-size:0.95em; transition:border-color 0.2s ease; }
.form-group input:focus,
.form-group select:focus { outline:none; border-color:#667eea; background:rgba(255,255,255,0.1); }
.form-group select option { background:#1a1a3e; color:#fff; }

.gender-toggle { display:flex; gap:10px; }
.gender-btn { flex:1; padding:9px 0; border:1.5px solid rgba(255,255,255,0.15); border-radius:10px; background:rgba(255,255,255,0.05); color:#a0aec0; font-size:0.9em; cursor:pointer; transition:all 0.2s ease; font-weight:600; }
.gender-btn.active.male   { border-color:#667eea; background:rgba(102,126,234,0.2); color:#fff; }
.gender-btn.active.female { border-color:#f093fb; background:rgba(240,147,251,0.2); color:#fff; }

.submit-syn-btn { width:100%; padding:18px; background:linear-gradient(135deg,#667eea,#764ba2,#f093fb); border:none; border-radius:14px; color:#fff; font-size:1.15em; font-weight:700; cursor:pointer; margin-top:24px; transition:all 0.3s ease; letter-spacing:0.03em; }
.submit-syn-btn:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(102,126,234,0.4); }

.members-counter { text-align:center; font-size:0.85em; color:#718096; margin-top:8px; }

/* ─── Загрузка ─────────────────────────────────────── */
.syn-loading { text-align:center; padding:60px 20px; }
.syn-loading .loader { width:56px; height:56px; border:4px solid rgba(255,255,255,0.1); border-top-color:#f093fb; border-radius:50%; animation:spin 1s linear infinite; margin:0 auto 24px; }
@keyframes spin { to { transform:rotate(360deg); } }
.syn-loading p { color:#a0aec0; font-size:1.1em; }

/* ─── Результаты ───────────────────────────────────── */
.syn-results { max-width: 1050px; margin: 0 auto; }

/* ─── PDF кнопка ───────────────────────────────────── */
.pdf-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px;
  background: rgba(236,201,75,0.15);
  border: 2px solid rgba(236,201,75,0.4);
  border-radius: 12px; color: #ecc94b;
  font-size: 0.9em; font-weight: 700; cursor: pointer;
  transition: all 0.25s ease; margin-left: auto;
}
.pdf-btn:hover { background:rgba(236,201,75,0.25); border-color:#ecc94b; color:#fff; }
.pdf-btn.loading { opacity:0.6; cursor:not-allowed; }

.results-top-bar {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 20px; flex-wrap: wrap;
}
.results-title { font-size:1.4em; font-weight:800; background:linear-gradient(135deg,#667eea,#f093fb); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* ─── Вкладки ──────────────────────────────────────── */
.results-nav { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; background:rgba(255,255,255,0.03); border-radius:14px; padding:10px; }
.nav-tab { padding:8px 16px; border-radius:10px; border:none; background:transparent; color:#a0aec0; font-size:0.88em; cursor:pointer; font-weight:600; transition:all 0.2s ease; }
.nav-tab:hover { color:#fff; background:rgba(255,255,255,0.07); }
.nav-tab.active { background:rgba(102,126,234,0.25); color:#667eea; }

.tab-panel { display:none; animation:fadeIn 0.3s ease; }
.tab-panel.active { display:block; }
@keyframes fadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

/* ─── Портреты ─────────────────────────────────────── */
.portraits-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; margin-bottom:20px; }
.portrait-card { background:rgba(255,255,255,0.05); border-radius:16px; padding:24px; border:2px solid rgba(255,255,255,0.08); transition:all 0.3s ease; }
.portrait-card:hover { border-color:rgba(102,126,234,0.4); transform:translateY(-3px); }
.portrait-header { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.portrait-element-icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.5em; flex-shrink:0; }
.portrait-name { font-size:1.1em; font-weight:700; }
.portrait-role { font-size:0.8em; color:#a0aec0; margin-top:2px; }
.portrait-daymaster { font-size:0.85em; color:#e2e8f0; margin-bottom:14px; padding:8px 12px; background:rgba(255,255,255,0.05); border-radius:8px; }
.portrait-pillars { display:flex; gap:6px; margin-bottom:14px; }
.pillar-mini { flex:1; text-align:center; background:rgba(255,255,255,0.04); border-radius:8px; padding:8px 4px; border:1px solid rgba(255,255,255,0.08); }
.pillar-mini .p-stem   { font-size:0.7em; font-weight:700; color:#f093fb; line-height:1.3; }
.pillar-mini .p-branch { font-size:0.65em; color:#667eea; line-height:1.3; }
.pillar-mini .p-label  { font-size:0.6em; color:#718096; display:block; margin-top:3px; }
.portrait-traits { display:flex; flex-direction:column; gap:8px; }
.trait-row { display:flex; gap:8px; font-size:0.85em; }
.trait-label { color:#718096; white-space:nowrap; min-width:80px; }
.trait-value { color:#e2e8f0; }

/* ─── Матрица ──────────────────────────────────────── */
.compat-matrix { background:rgba(255,255,255,0.03); border-radius:16px; padding:24px; margin-bottom:24px; overflow-x:auto; }
.compat-matrix h3 { color:#f093fb; margin-bottom:20px; font-size:1.2em; }
.matrix-table { width:100%; border-collapse:separate; border-spacing:6px; }
.matrix-table th { padding:10px; text-align:center; font-size:0.8em; color:#a0aec0; font-weight:600; white-space:nowrap; }
.matrix-table td { text-align:center; padding:10px; border-radius:10px; font-weight:700; font-size:0.95em; }
.matrix-cell-empty { background:rgba(255,255,255,0.03); color:#2d3748; }
.matrix-cell-score { cursor:pointer; transition:all 0.2s ease; }
.matrix-cell-score:hover { transform:scale(1.08); }

/* ─── Баланс ───────────────────────────────────────── */
.balance-section { background:rgba(255,255,255,0.04); border-radius:16px; padding:28px; margin-bottom:24px; }
.balance-section h3 { color:#667eea; margin-bottom:20px; font-size:1.2em; }
.elements-bars { display:flex; flex-direction:column; gap:12px; margin-bottom:20px; }
.element-bar-row { display:flex; align-items:center; gap:12px; }
.element-bar-label { width:100px; font-size:0.9em; font-weight:600; flex-shrink:0; }
.element-bar-track { flex:1; height:10px; background:rgba(255,255,255,0.08); border-radius:5px; overflow:hidden; }
.element-bar-fill { height:100%; border-radius:5px; transition:width 0.6s ease; }
.element-bar-count { width:28px; text-align:right; font-size:0.85em; color:#a0aec0; }
.balance-info { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.balance-badge { padding:7px 14px; border-radius:20px; font-size:0.85em; font-weight:600; }
.balance-badge.dominant { background:rgba(102,126,234,0.15); color:#667eea; border:1px solid rgba(102,126,234,0.3); }
.balance-badge.missing  { background:rgba(252,129,129,0.12); color:#fc8181; border:1px solid rgba(252,129,129,0.3); }
.balance-badge.ok       { background:rgba(72,187,120,0.12);  color:#68d391; border:1px solid rgba(72,187,120,0.3); }

/* ─── Пары ─────────────────────────────────────────── */
.pairs-list { display:flex; flex-direction:column; gap:14px; }
.pair-card { background:rgba(255,255,255,0.04); border-radius:14px; padding:20px 24px; border:1.5px solid rgba(255,255,255,0.08); cursor:pointer; transition:all 0.25s ease; }
.pair-card:hover { border-color:rgba(102,126,234,0.4); background:rgba(255,255,255,0.06); }
.pair-card-header { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pair-names { display:flex; align-items:center; gap:12px; flex:1; }
.pair-person { display:flex; flex-direction:column; gap:2px; }
.pair-person-name { font-weight:700; font-size:1em; }
.pair-person-role { font-size:0.75em; color:#a0aec0; }
.pair-person-elem { font-size:0.8em; }
.pair-arrow { font-size:1.3em; color:#4a5568; }
.pair-score-badge { padding:8px 16px; border-radius:20px; font-size:1.1em; font-weight:800; flex-shrink:0; }

.pair-details { margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.06); display:none; }
.pair-details.open { display:block; animation:fadeIn 0.3s ease; }
.pair-ai-content { margin-top:14px; padding:16px; background:rgba(102,126,234,0.07); border-radius:12px; font-size:0.9em; line-height:1.7; color:#e2e8f0; }
.pair-ai-content p { margin-bottom:8px; }
.pair-ai-content ul { margin:6px 0 10px 20px; }
.pair-ai-content li { margin-bottom:4px; }
.pair-ai-loading { display:flex; align-items:center; gap:10px; color:#a0aec0; font-size:0.88em; padding:12px 0; }
.pair-ai-spinner { width:18px; height:18px; border:2px solid rgba(255,255,255,0.15); border-top-color:#f093fb; border-radius:50%; animation:spin 0.8s linear infinite; flex-shrink:0; }

.pair-badges { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.pair-badge { font-size:0.78em; padding:4px 10px; border-radius:20px; font-weight:600; }
.pair-badge.harmony { background:rgba(72,187,120,0.15); color:#68d391; border:1px solid rgba(72,187,120,0.3); }
.pair-badge.clash   { background:rgba(252,129,129,0.15); color:#fc8181; border:1px solid rgba(252,129,129,0.3); }
.pair-badge.combo   { background:rgba(240,147,251,0.15); color:#f093fb; border:1px solid rgba(240,147,251,0.3); }

/* ─── Дети ─────────────────────────────────────────── */
.children-grid { display:flex; flex-direction:column; gap:24px; }
.child-card { background:rgba(255,255,255,0.04); border-radius:16px; padding:28px; border:2px solid rgba(250,173,20,0.2); }
.child-card-header { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.child-icon { width:52px; height:52px; border-radius:50%; background:rgba(250,173,20,0.15); display:flex; align-items:center; justify-content:center; font-size:1.6em; }
.child-name { font-size:1.2em; font-weight:700; }
.child-sub  { font-size:0.85em; color:#a0aec0; }
.child-sections { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.child-section { background:rgba(255,255,255,0.04); border-radius:12px; padding:16px; border-left:3px solid; }
.child-section h4 { font-size:0.85em; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:8px; opacity:0.8; }
.child-section p { font-size:0.88em; color:#e2e8f0; line-height:1.6; }

/* ─── Сиблинги ─────────────────────────────────────── */
.sibling-card { background:rgba(102,126,234,0.05); border-radius:14px; padding:24px; border:1.5px solid rgba(102,126,234,0.2); margin-top:24px; }
.sibling-card h3 { color:#667eea; margin-bottom:16px; font-size:1.1em; }
.sibling-pair { background:rgba(255,255,255,0.04); border-radius:12px; padding:18px; margin-bottom:14px; }
.sibling-pair-header { display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.sibling-type-badge { font-size:0.8em; padding:4px 12px; border-radius:20px; font-weight:700; }
.sibling-type-badge.союз          { background:rgba(72,187,120,0.2); color:#68d391; }
.sibling-type-badge.соперничество { background:rgba(252,129,129,0.2); color:#fc8181; }
.sibling-type-badge.mixed         { background:rgba(236,201,75,0.2);  color:#ecc94b; }
.sibling-type-badge.независимость { background:rgba(102,126,234,0.2); color:#667eea; }
.sibling-tips { margin-top:10px; }
.sibling-tips li { font-size:0.88em; color:#e2e8f0; margin-bottom:4px; padding-left:2px; }

/* ─── Динамика ─────────────────────────────────────── */
.dynamics-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
.dynamics-card { background:rgba(255,255,255,0.04); border-radius:14px; padding:22px; border:1.5px solid rgba(255,255,255,0.08); }
.dynamics-card h3 { font-size:1em; font-weight:700; color:#f093fb; margin-bottom:14px; }
.role-pills { display:flex; flex-wrap:wrap; gap:10px; }
.role-pill { display:flex; align-items:center; gap:8px; padding:8px 14px; border-radius:20px; font-size:0.85em; font-weight:600; background:rgba(255,255,255,0.05); border:1.5px solid rgba(255,255,255,0.1); }
.karma-text { font-size:0.95em; color:#e2e8f0; line-height:1.7; }
.tension-list { display:flex; flex-direction:column; gap:10px; }
.tension-item { display:flex; align-items:center; gap:10px; padding:10px 14px; background:rgba(252,129,129,0.08); border-radius:10px; border:1px solid rgba(252,129,129,0.15); }
.tension-score { font-size:0.85em; font-weight:700; color:#fc8181; flex-shrink:0; }
.superpower-box { background:linear-gradient(135deg,rgba(102,126,234,0.15),rgba(240,147,251,0.15)); border-radius:14px; padding:24px; border:1.5px solid rgba(240,147,251,0.25); text-align:center; }
.superpower-box p { font-size:1em; color:#e2e8f0; line-height:1.7; }

/* ─── Календарь ─────────────────────────────────────── */
.calendar-header { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.calendar-badge { padding:8px 16px; border-radius:20px; font-size:0.88em; font-weight:700; }
.calendar-badge.best  { background:rgba(72,187,120,0.15); color:#68d391; border:1px solid rgba(72,187,120,0.3); }
.calendar-badge.worst { background:rgba(252,129,129,0.12); color:#fc8181; border:1px solid rgba(252,129,129,0.3); }

.months-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.month-card { background:rgba(255,255,255,0.04); border-radius:12px; padding:14px; border:1.5px solid rgba(255,255,255,0.07); transition:all 0.2s ease; }
.month-card:hover { border-color:rgba(102,126,234,0.3); }
.month-card.current { border-color:rgba(240,147,251,0.5); background:rgba(240,147,251,0.06); }
.month-name { font-size:0.95em; font-weight:700; margin-bottom:4px; }
.month-element { font-size:0.8em; margin-bottom:10px; }
.month-score-bar { height:6px; border-radius:3px; background:rgba(255,255,255,0.08); margin-bottom:8px; overflow:hidden; }
.month-score-fill { height:100%; border-radius:3px; }
.month-score-label { font-size:0.75em; color:#a0aec0; margin-bottom:8px; }
.month-members { display:flex; flex-direction:column; gap:3px; }
.month-member { font-size:0.75em; display:flex; align-items:center; gap:4px; }
.month-member.favorable   { color:#68d391; }
.month-member.challenging { color:#fc8181; }

/* ─── Советы (Extras) ──────────────────────────────── */
.extras-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.extra-card { background:rgba(255,255,255,0.04); border-radius:16px; padding:24px; border:1.5px solid rgba(255,255,255,0.08); }
.extra-card h3 { font-size:1.05em; font-weight:700; margin-bottom:16px; }
.extra-card.full-width { grid-column:1/-1; }

/* Рецепт */
.recipe-section { margin-bottom:14px; }
.recipe-section h4 { font-size:0.8em; color:#a0aec0; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:8px; }
.recipe-tags { display:flex; flex-wrap:wrap; gap:6px; }
.recipe-tag { font-size:0.8em; padding:4px 10px; border-radius:20px; font-weight:600; }
.recipe-tag.present { background:rgba(102,126,234,0.15); color:#a0aec0; border:1px solid rgba(102,126,234,0.2); }
.recipe-tag.missing { background:rgba(236,201,75,0.15); color:#ecc94b; border:1px solid rgba(236,201,75,0.3); }

/* Здоровье */
.health-list { display:flex; flex-direction:column; gap:12px; }
.health-item { padding:12px 14px; background:rgba(255,255,255,0.04); border-radius:10px; border-left:3px solid; }
.health-item-name { font-weight:700; font-size:0.9em; margin-bottom:4px; }
.health-item-organs { font-size:0.8em; color:#a0aec0; margin-bottom:4px; }
.health-item-tips   { font-size:0.85em; color:#e2e8f0; }

/* Финансы */
.finance-list { display:flex; flex-direction:column; gap:12px; }
.finance-item { padding:12px 14px; background:rgba(255,255,255,0.04); border-radius:10px; }
.finance-item-name { font-weight:700; font-size:0.9em; margin-bottom:6px; }
.finance-potential-bar { height:8px; border-radius:4px; background:rgba(255,255,255,0.08); margin-bottom:6px; overflow:hidden; }
.finance-potential-fill { height:100%; border-radius:4px; background:linear-gradient(90deg,#667eea,#f093fb); }
.finance-item-desc { font-size:0.8em; color:#a0aec0; }

/* Совет дня */
.day-tip-card { background:linear-gradient(135deg,rgba(102,126,234,0.1),rgba(240,147,251,0.1)); border-radius:14px; padding:24px; border:1.5px solid rgba(240,147,251,0.25); margin-bottom:16px; }
.day-tip-date { font-size:0.85em; color:#a0aec0; margin-bottom:10px; }
.day-tip-text { font-size:1em; color:#e2e8f0; line-height:1.7; margin-bottom:14px; }
.day-tip-members { display:flex; gap:10px; flex-wrap:wrap; }
.day-tip-badge { font-size:0.82em; padding:5px 12px; border-radius:20px; font-weight:600; }
.day-tip-badge.good { background:rgba(72,187,120,0.15); color:#68d391; border:1px solid rgba(72,187,120,0.3); }
.day-tip-badge.care { background:rgba(252,129,129,0.12); color:#fc8181; border:1px solid rgba(252,129,129,0.3); }

/* Прогноз на год */
.year-header { display:flex; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.year-badge { padding:8px 20px; border-radius:20px; background:rgba(255,107,107,0.15); color:#ff6b6b; border:1px solid rgba(255,107,107,0.3); font-weight:700; font-size:0.9em; }
.year-trend { font-size:1em; font-weight:700; color:#f093fb; }
.year-members { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; margin-bottom:20px; }
.year-member-card { background:rgba(255,255,255,0.04); border-radius:12px; padding:16px; border:1.5px solid rgba(255,255,255,0.08); }
.year-member-name { font-weight:700; margin-bottom:6px; }
.year-member-trend { font-size:0.82em; font-weight:600; margin-bottom:8px; }
.year-score-mini { height:6px; border-radius:3px; background:rgba(255,255,255,0.08); margin-bottom:8px; overflow:hidden; }
.year-score-mini-fill { height:100%; border-radius:3px; }
.year-member-desc   { font-size:0.82em; color:#a0aec0; line-height:1.5; }
.quarters-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.quarter-card { padding:14px; background:rgba(255,255,255,0.04); border-radius:10px; border-top:3px solid; }
.quarter-name    { font-size:0.8em; font-weight:700; margin-bottom:6px; }
.quarter-element { font-size:0.75em; color:#a0aec0; margin-bottom:6px; }
.quarter-desc    { font-size:0.78em; color:#e2e8f0; line-height:1.5; }

/* ─── AI Анализ ────────────────────────────────────── */
.ai-analysis-block { background:rgba(102,126,234,0.06); border:1.5px solid rgba(102,126,234,0.2); border-radius:16px; padding:32px; line-height:1.75; color:#e2e8f0; }
.ai-analysis-block h4 { color:#f093fb; font-size:1.1em; margin:24px 0 10px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,0.07); }
.ai-analysis-block h4:first-child { margin-top:0; }
.ai-analysis-block p  { margin-bottom:12px; font-size:0.95em; }
.ai-analysis-block ul { margin:10px 0 14px 20px; }
.ai-analysis-block li { margin-bottom:6px; font-size:0.93em; }
.ai-analysis-block strong { color:#f7fafc; }
.ai-analysis-block em { color:#ecc94b; font-style:normal; }

/* ─── Новый расчёт ─────────────────────────────────── */
.new-calc-btn { display:block; width:fit-content; margin:30px auto 0; padding:14px 32px; background:rgba(102,126,234,0.15); border:2px solid rgba(102,126,234,0.4); border-radius:12px; color:#667eea; font-size:1em; font-weight:700; cursor:pointer; transition:all 0.25s ease; }
.new-calc-btn:hover { background:rgba(102,126,234,0.25); border-color:#667eea; color:#fff; transform:translateY(-2px); }

/* ─── Score цвета ──────────────────────────────────── */
.score-great  { background:rgba(72,187,120,0.2);  color:#68d391; }
.score-good   { background:rgba(102,126,234,0.2); color:#9f7aea; }
.score-medium { background:rgba(236,201,75,0.2);  color:#ecc94b; }
.score-low    { background:rgba(252,129,129,0.2); color:#fc8181; }

/* ─── Адаптив ──────────────────────────────────────── */
@media (max-width: 768px) {
  .member-grid.four-cols { grid-template-columns:1fr 1fr; }
  .portraits-grid        { grid-template-columns:1fr; }
  .child-sections        { grid-template-columns:1fr; }
  .dynamics-grid         { grid-template-columns:1fr; }
  .extras-grid           { grid-template-columns:1fr; }
  .months-grid           { grid-template-columns:repeat(2,1fr); }
  .quarters-grid         { grid-template-columns:repeat(2,1fr); }
  .year-members          { grid-template-columns:1fr; }
  .results-nav           { gap:5px; }
  .nav-tab               { padding:7px 10px; font-size:0.8em; }
  .pair-card-header      { flex-direction:column; align-items:flex-start; }
  .matrix-table          { font-size:0.78em; }
  .ai-analysis-block     { padding:20px; }
}
@media (max-width: 480px) {
  .months-grid  { grid-template-columns:1fr 1fr; }
  .quarters-grid{ grid-template-columns:1fr 1fr; }
}

/* ─── Ближайший родитель (карточка ребёнка) ───────── */
.closest-parent-badge {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 10px 0 14px;
  padding: 10px 14px;
  background: rgba(240,147,251,0.08);
  border: 1px solid rgba(240,147,251,0.25);
  border-radius: 10px; font-size: 0.88em;
}
.closest-parent-label { color: #a0aec0; white-space: nowrap; }
.closest-parent-name  { font-weight: 700; }
.closest-parent-score {
  padding: 3px 10px; border-radius: 20px; font-size: 0.82em; font-weight: 700;
  margin-left: auto;
}
.score-great { background: rgba(104,211,145,0.2); color: #68d391; }
.score-good  { background: rgba(159,122,234,0.2); color: #9f7aea; }
.score-medium{ background: rgba(236,201,75,0.2);  color: #ecc94b; }
.score-low   { background: rgba(252,129,129,0.2); color: #fc8181; }

/* ─── Антикризисный план ───────────────────────────── */
.crisis-plan-card { border-color: rgba(252,129,129,0.3) !important; }

.crisis-plan-body { display: flex; flex-direction: column; gap: 16px; }

.crisis-mediator {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 16px;
  background: rgba(104,211,145,0.08);
  border: 1px solid rgba(104,211,145,0.25);
  border-radius: 12px;
}
.crisis-mediator-icon   { font-size: 2em; line-height: 1; }
.crisis-mediator-label  { font-size: 0.78em; color: #68d391; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.crisis-mediator-name   { font-size: 1em; color: #e2e8f0; font-weight: 700; margin-top: 2px; }

.crisis-steps-title { font-size: 0.88em; color: #f093fb; font-weight: 700; margin-bottom: 6px; }
.crisis-steps       { display: flex; flex-direction: column; gap: 8px; }
.crisis-step {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 10px 14px;
  background: rgba(252,129,129,0.06);
  border-left: 3px solid rgba(252,129,129,0.4);
  border-radius: 0 8px 8px 0;
}
.crisis-step-num {
  min-width: 24px; height: 24px; border-radius: 50%;
  background: rgba(252,129,129,0.2); color: #fc8181;
  font-size: 0.8em; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.crisis-step-text { font-size: 0.88em; color: #e2e8f0; line-height: 1.5; }

.crisis-cooling-title { font-size: 0.88em; color: #90caf9; font-weight: 700; margin-bottom: 6px; }
.crisis-advice-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px;
}
.crisis-advice-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid; border-radius: 10px;
  font-size: 0.85em;
}

/* ─── Lang toggle ──────────────────────────────────── */
.lang-toggle { position:fixed; bottom:25px; right:25px; z-index:1001; width:50px; height:50px; border-radius:50%; border:2px solid #667eea; background:rgba(26,26,61,0.9); backdrop-filter:blur(10px); cursor:pointer; font-size:14px; font-weight:700; color:#667eea; display:flex; align-items:center; justify-content:center; transition:all 0.3s ease; box-shadow:0 4px 12px rgba(102,126,234,0.3); }
.lang-toggle:hover { transform:scale(1.1); box-shadow:0 6px 20px rgba(102,126,234,0.5); border-color:#f093fb; color:#f093fb; }
