/*!
 * 15 · 征兵体检标准 —— 独立设计：体检登记表 / 军绿仪表
 * 橄榄绿 + 卡其纸底，逐项状态灯、刻度尺与三色结论条。
 */
.vx.vx-15 {
    --vx-accent: #4c6240;
    --vx-accent-2: #6b8455;
    --vx-accent-soft: #e6eddd;
    --vx-accent-ink: #ffffff;
    --vx-bg: #f1f1e8;
    --vx-surface: #fbfbf4;
    --vx-surface-2: #f6f6ed;
    --vx-surface-3: #eaeade;
    --vx-line: #dcdccb;
    --vx-line-2: #e9e9dc;
    --vx-ink: #28301f;
    --vx-ink-2: #535c48;
}
:root[data-theme="dark"] .vx.vx-15 {
    --vx-accent: #a7c98b;
    --vx-accent-2: #c0dda6;
    --vx-accent-soft: #253223;
    --vx-accent-ink: #14200f;
    --vx-bg: #10130d;
    --vx-surface: #191d16;
    --vx-surface-2: #20261c;
    --vx-surface-3: #283022;
    --vx-line: #333c2b;
    --vx-line-2: #272f22;
    --vx-ink: #edf2e6;
    --vx-ink-2: #b9c4ad;
}

.vx-15 .mil-hero { grid-template-columns: minmax(0, 1fr) minmax(350px, 430px); gap: 32px; }
.vx-15 .vx-h1 em { color: var(--vx-accent); }
.vx-15 .vx-eyebrow { color: var(--vx-accent); }
.vx-15 .vx-chip { border-radius: 2px; }
.vx-15 .vx-feat > i { border-radius: 2px; }
.vx-15 .vx-panel { border-radius: 2px; }

/* 登记表 */
.vx-15 .mil-form { border: 2px solid var(--vx-accent); border-radius: 2px; background: var(--vx-surface); box-shadow: var(--vx-shadow-lg); }
.vx-15 .mil-form-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 15px; background: var(--vx-accent); color: #fff; }
.vx-15 .mil-form-h > b { font-size: 14px; letter-spacing: .08em; }
.vx-15 .mil-form-h b, .vx-15 .mil-form-h strong { color: inherit; }
.vx-15 .mil-form-h > span { font: 700 10px/1 var(--vx-font-num); letter-spacing: .16em; }
:root[data-theme="dark"] .vx-15 .mil-form-h { color: #14200f; }
.vx-15 .mil-form-b { padding: 16px; }
.vx-15 .mil-form .vx-label { font-size: 11.8px; }
.vx-15 .mil-form .vx-check { display: flex; margin: 5px 0 9px; }
.vx-15 .mil-form .vx-radio span { border-radius: 2px; }
.vx-15 .mil-form #v15LaserBox { display: none; padding: 9px 11px; border-left: 3px solid var(--vx-accent); background: var(--vx-surface-2); }
.vx-15 .mil-form #v15LaserBox.is-on { display: block; }
.vx-15 .mil-form .vx-field-row.vx-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* 结论条 */
.vx-15 .mil-verdict { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 16px; padding: 17px 22px; border: 1px solid var(--vx-line); border-left: 6px solid var(--vx-good); border-radius: 2px; background: var(--vx-good-soft); }
.vx-15 .mil-verdict.is-border { border-left-color: var(--vx-warn); background: var(--vx-warn-soft); }
.vx-15 .mil-verdict.is-fail { border-left-color: var(--vx-bad); background: var(--vx-bad-soft); }
.vx-15 .mil-verdict > b { font-size: 22px; font-weight: 850; letter-spacing: .02em; }
.vx-15 .mil-verdict > span { font-size: 13px; line-height: 1.8; }
.vx-15 .vx-kpi { border-radius: 2px; border-top: 3px solid var(--vx-accent); }

/* 逐项表 */
.vx-15 .mil-sheet { display: grid; gap: 0; margin-bottom: 16px; }
.vx-15 .mil-row { display: grid; grid-template-columns: 26px 150px 1fr 1.15fr 78px; gap: 10px; align-items: start; padding: 10px 6px; border-bottom: 1px solid var(--vx-line-2); font-size: 13px; }
.vx-15 .mil-row:last-child { border-bottom: 0; }
.vx-15 .mil-lamp { width: 13px; height: 13px; margin-top: 5px; border-radius: 50%; background: var(--vx-good); box-shadow: 0 0 0 3px var(--vx-good-soft); }
.vx-15 .mil-row.is-border .mil-lamp { background: var(--vx-warn); box-shadow: 0 0 0 3px var(--vx-warn-soft); }
.vx-15 .mil-row.is-fail .mil-lamp { background: var(--vx-bad); box-shadow: 0 0 0 3px var(--vx-bad-soft); }
.vx-15 .mil-row > b { font-size: 13.5px; }
.vx-15 .mil-row > .mil-val { font-family: var(--vx-font-num); font-size: 12.5px; }
.vx-15 .mil-row > .mil-std { color: var(--vx-ink-2); font-size: 12.5px; line-height: 1.7; }
.vx-15 .mil-row > small { grid-column: 3 / span 2; font-size: 11.8px; }
.vx-15 .mil-st { justify-self: end; }

/* 体重刻度 */
.vx-15 .mil-gauge { padding: 14px 16px; border: 1px solid var(--vx-line); border-radius: 2px; background: var(--vx-surface-2); }
.vx-15 .mil-gauge-h { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin-bottom: 10px; font-size: 13px; }
.vx-15 .mil-gauge-h > span { font-family: var(--vx-font-num); color: var(--vx-accent); }
.vx-15 .mil-gauge-track { position: relative; height: 14px; border-radius: 2px; background: repeating-linear-gradient(90deg, var(--vx-surface-3) 0 10%, var(--vx-line) 10% 10.3%); }
.vx-15 .mil-gauge-track > i { position: absolute; top: 0; bottom: 0; border-radius: 2px; background: var(--vx-good); opacity: .55; }
.vx-15 .mil-gauge-track > u { position: absolute; top: -6px; bottom: -6px; width: 3px; background: var(--vx-accent); }

@media (max-width: 760px) {
    .vx-15 .mil-row { grid-template-columns: 20px 1fr; gap: 5px 8px; }
    .vx-15 .mil-row > .mil-val, .vx-15 .mil-row > .mil-std, .vx-15 .mil-row > small { grid-column: 2; }
    .vx-15 .mil-st { grid-column: 2; justify-self: start; }
}
