/* 工具 07 · 跳槽时机评估
   独立视觉：决策仪表（半圆量表 + 指针）、灰蓝 / 亮青，七维滑杆密排与方案对比表。 */
.jh {
    --a1: #3a6279; --a1b: #159f9a; --a1s: #e6eff2; --a1i: #2c5065;
    --a2: #7fc6d6; --a2b: #67d8c0; --a2s: rgba(127, 198, 214, .15); --a2i: #a5dbe7;
    --h15-h1: clamp(29px, 3.5vw, 40px);
}
.jh .jh-h1 { letter-spacing: -.02em; }
.jh-hero {
    background:
        repeating-linear-gradient(90deg, transparent 0 60px, rgba(58, 98, 121, .04) 60px 61px),
        radial-gradient(560px 220px at 88% -10%, rgba(21, 159, 154, .18), transparent 72%),
        linear-gradient(120deg, #f5f9fa 0%, #eaf3f4 100%);
    border-color: #d5e3e6;
}
.jh-hero::before { background: linear-gradient(180deg, var(--a1), var(--a1b)); }
:root[data-theme="dark"] .jh .jh-hero { background: repeating-linear-gradient(90deg, transparent 0 60px, rgba(127, 198, 214, .035) 60px 61px), linear-gradient(120deg, #101c21 0%, #13272a 100%); border-color: #274047; }
.jh-quick { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.jh-quick-score { font-size: var(--h15-fs-13); color: var(--h15-ink-2); }
.jh-quick-score b { font-size: 20px; color: var(--h15-accent-ink); }

.jh-dash { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; align-items: center; }
@media (max-width: 860px) { .jh-dash { grid-template-columns: 1fr; } }
.jh-gauge-wrap { position: relative; }
.jh-gauge { width: 100%; max-width: 300px; height: auto; display: block; margin: 0 auto; }
.jh-gauge-bg { fill: none; stroke: var(--h15-line-2); stroke-width: 16; stroke-linecap: round; }
.jh-gauge-fg { fill: none; stroke: var(--h15-accent); stroke-width: 16; stroke-linecap: round; transition: stroke-dashoffset .3s; }
.jh-gauge-tick { fill: var(--h15-ink-3); font-size: 10px; font-family: var(--h15-font-num); }
.jh-gauge-needle { stroke: var(--h15-accent-2); stroke-width: 3; stroke-linecap: round; transition: all .3s; }
.jh-gauge-hub { fill: var(--h15-accent-2); }
.jh-gauge-val { position: absolute; left: 0; right: 0; bottom: 4px; text-align: center; }
.jh-gauge-val b { display: block; font-size: 44px; line-height: 1.1; font-weight: 800; color: var(--h15-accent-ink); letter-spacing: -.03em; }
.jh-gauge-val span { font-size: var(--h15-fs-13); font-weight: 700; color: var(--h15-ink-2); }
.jh-dash-main .h15-panel-t { margin-bottom: 10px; }
.jh-summary { font-size: var(--h15-fs-14); line-height: 1.9; color: var(--h15-ink-2); margin: 0 0 16px; }
.jh-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 620px) { .jh-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jh-kpis .h15-kpi-v { font-size: var(--h15-fs-16); }
.jh-dash-main .h15-note { margin-top: 14px; }
.jh-dash-main .h15-note.is-warn { border-left-color: var(--h15-warn); background: rgba(184, 121, 28, .09); }

.jh-dims { margin-top: 20px; }
.jh-dim-head, .jh-row { display: grid; grid-template-columns: 166px minmax(0, 1fr) 66px 92px; gap: 12px; align-items: center; }
.jh-dim-head { padding: 0 4px 8px; border-bottom: 1px solid var(--h15-line); font-size: var(--h15-fs-12); font-weight: 700; color: var(--h15-ink-3); }
.jh-rows { margin-top: 4px; }
.jh-row { padding: 11px 4px; border-bottom: 1px dashed var(--h15-line-2); }
.jh-row:last-child { border-bottom: 0; }
.jh-row-name { font-size: var(--h15-fs-14); font-weight: 700; color: var(--h15-ink); }
.jh-row-name small { display: block; font-weight: 400; color: var(--h15-ink-3); font-size: var(--h15-fs-11); line-height: 1.5; }
.jh-row-range { display: flex; align-items: center; gap: 9px; }
.jh-row-range input[type=range] { flex: 1; }
.jh-row-val { font-family: var(--h15-font-num); font-size: var(--h15-fs-14); font-weight: 700; text-align: right; color: var(--h15-ink); }
.jh-row-weight { padding: 6px 8px; text-align: right; }
@media (max-width: 700px) {
    .jh-dim-head { display: none; }
    .jh-row { grid-template-columns: 1fr 1fr; gap: 6px 10px; }
    .jh-row-name { grid-column: 1 / -1; }
}
.jh-dim-tools { align-items: center; }
.jh-esc-label { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.jh-esc-label .h15-select { width: 116px; padding: 5px 8px; }

.jh-plans { margin-top: 20px; }
.jh-plan-form { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 14px; }
.jh-plan-form .h15-label { margin: 0; }
.jh-plan-form .h15-input { width: 240px; }
.jh-plans .h15-tbl tr.is-best { background: var(--h15-accent-soft); }
.jh-plans .h15-tbl .h15-tag--ok { margin-left: 4px; }
.jh-plans .h15-label { margin-top: 16px; }
.jh-plans .h15-textarea { min-height: 68px; }
.jh-season { margin-top: 16px; }
.jh-faq .h15-faq-q::before { content: "▸"; margin-right: 7px; color: var(--h15-accent-2); }
.jh-report-pre { margin: 0; white-space: pre-wrap; font-size: var(--h15-fs-13); line-height: 1.85; }
