/* ======================================================================
 * av6 · 59 无人机起飞前核对 —— 页面专属样式（2×2 检查板 / 三态横幅 / 硬中止红框）
 * 只使用 shell.css 的 --av6-* 变量，暗色自动跟随
 * ====================================================================== */

/* 2×2 检查板 SVG */
.dpf #dpfPlate { width: 100%; height: auto; max-width: 240px; }
.dpf .dpf-plate-t {
    font-family: var(--av6-mono);
    font-size: 10px;
    letter-spacing: .12em;
    fill: var(--av6-muted);
}
.dpf .dpf-plate-c {
    font-family: var(--av6-mono);
    font-size: 11px;
    fill: var(--av6-ink2);
}
.dpf .dpf-plate-s { font-size: 9.5px; fill: var(--av6-muted); }
.dpf .dpf-dot { fill: var(--av6-line); transition: fill .25s; }
.dpf .dpf-dot.lit { fill: var(--av6-pri); }
.dpf .dpf-cell.stop rect { stroke: var(--av6-bad); stroke-width: 2; }
.dpf .dpf-cell.stop .dpf-plate-c { fill: var(--av6-bad); }

/* 三态结论横幅 */
.dpf .dpf-banner {
    display: none;
    margin: 14px 20px 0;
    padding: 12px 16px;
    border-radius: 3px;
    font-size: 17px;
    font-weight: 700;
    border: 1px solid var(--av6-line);
}
.dpf .dpf-banner.is-on { display: block; }
.dpf .dpf-banner small { display: block; font-size: 12.5px; font-weight: 400; margin-top: 3px; }
.dpf .dpf-banner.ok   { color: var(--av6-ok);   background: var(--av6-okbg);   border-color: var(--av6-ok); }
.dpf .dpf-banner.warn { color: var(--av6-warn); background: var(--av6-warnbg); border-color: var(--av6-warn); }
.dpf .dpf-banner.bad  { color: var(--av6-bad);  background: var(--av6-badbg);  border-color: var(--av6-bad); }

/* 硬中止红框 */
.dpf .dpf-hard {
    display: none;
    margin: 10px 20px 0;
    padding: 10px 14px;
    border: 2px solid var(--av6-bad);
    border-radius: 3px;
    background: var(--av6-badbg);
    color: var(--av6-bad);
    font-size: 13.5px;
}
.dpf .dpf-hard.is-on { display: block; }
.dpf .dpf-hard .hd { font-weight: 700; margin-bottom: 4px; }
.dpf .dpf-hard ul { margin: 0; padding-left: 20px; }
.dpf .dpf-hard li { margin: 2px 0; }

/* 四组检查卡 */
.dpf .dpf-groups {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 4px 0 12px;
}
.dpf .dpf-group {
    border: 1px solid var(--av6-line);
    border-radius: 3px;
    background: var(--av6-paper);
    padding: 10px 12px;
}
.dpf .dpf-group h4 {
    margin: 0 0 6px;
    font-size: 13.5px;
    color: var(--av6-ink);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.dpf .dpf-group h4 .sc { font-family: var(--av6-mono); font-size: 12px; color: var(--av6-pri); }
.dpf .dpf-group ul { margin: 0; padding: 0; list-style: none; }
.dpf .dpf-group li { font-size: 12.8px; margin: 3px 0; color: var(--av6-ink2); }
.dpf .dpf-group li .mk { font-family: var(--av6-mono); font-weight: 700; margin-right: 6px; }
.dpf .dpf-group li.pass .mk { color: var(--av6-ok); }
.dpf .dpf-group li.fail .mk { color: var(--av6-bad); }
.dpf .dpf-group.stop { border-color: var(--av6-bad); background: var(--av6-badbg); }
.dpf .dpf-group.stop h4 .sc { color: var(--av6-bad); }
@media (max-width: 560px) { .dpf .dpf-groups { grid-template-columns: 1fr; } }

/* 批量输出表容器（空时不占位） */
.dpf #dpf_batch_out:empty { display: none; }
.dpf #dpf_batch_out table { margin-bottom: 4px; }
