/* 46 机场中转时间核对 —— 独立视觉：深靛蓝航班条 + 荧光黄时间刻度 +
   横向甘特阶段块。与 42 的竖向节点时间轴、43 的电压轨道都不同。 */
.atb {
    --atb-navy: #1b2f6b;
    --atb-navy2: #2c4791;
    --atb-yellow: #f2cf3a;
    --atb-yellow2: #f7e59a;
    --atb-sky: #4d8fd6;
    --atb-coral: #e2765e;
    --atb-ink: #202a44;
    --atb-sub: #606c88;
    --atb-line: #d6dcea;
}
:root[data-theme="dark"] .atb {
    --atb-navy: #16234a;
    --atb-navy2: #24366f;
    --atb-yellow: #ecd262;
    --atb-yellow2: #f3e2a4;
    --atb-sky: #86b6e8;
    --atb-coral: #efa18d;
    --atb-ink: #e6ebf7;
    --atb-sub: #aab6cf;
    --atb-line: #2c3a59;
}
.atb { --g5-pri: var(--atb-navy2); --g5-pri2: var(--atb-navy); --g5-prisoft: #e7ecfa; --atb-head: #1b2f6b; }
:root[data-theme="dark"] .atb { --g5-prisoft: #1d2946; --g5-pri2: #a9c2f5; --atb-head: #9db8f0; }
.atb .g5-btn-amber { background: var(--atb-yellow); border-color: var(--atb-yellow); color: #1b2440; }
.atb .g5-btn-main { background: var(--atb-navy2); border-color: var(--atb-navy2); }
:root[data-theme="dark"] .atb .g5-btn-main { color: #eef3ff; }

.atb-strip { background: var(--atb-navy); color: #eef2ff; border-bottom: 5px solid var(--atb-yellow); }
.atb-strip-hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 22px; border-bottom: 1px solid rgba(242, 207, 58, .3); font-family: var(--g5-mono); font-size: 10.5px; letter-spacing: .14em; }
.atb-strip-tag { color: var(--atb-yellow2); }
.atb-strip-body { display: grid; grid-template-columns: .78fr 1.22fr; }
.atb-strip-copy { padding: 24px 24px 26px; border-right: 1px dashed rgba(242, 207, 58, .35); }
.atb-strip h1 { margin: 10px 0 14px; color: var(--atb-yellow2); font-size: 32px; }
.atb-strip .g5-lede { color: #d2dcf5; }
.g5.atb .atb-strip b, .g5.atb .atb-strip strong { color: var(--atb-yellow2); }
.g5.atb .atb-strip .g5-kicker { color: var(--atb-yellow2); }
.g5.atb .atb-bound b, .g5.atb .atb-bound strong { color: var(--atb-yellow2); }
.atb-bound { margin-top: 14px; font-size: 12.5px; color: #b9c6e6; border-left: 3px solid var(--atb-yellow); padding-left: 10px; }
.atb-strip-form { padding: 20px 24px 18px; }
.atb-fields { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px 12px; }
.atb-fields label { display: block; font-size: 11.5px; font-weight: 700; color: #b8c5e6; }
.atb-fields input[type="time"], .atb-fields select {
    display: block; width: 100%; margin-top: 4px; padding: 7px 9px; border: 1px solid rgba(208, 220, 255, .3);
    background: #101d43; color: #f0f4ff; font-family: var(--g5-mono); font-size: 13px; line-height: 1.6;
}
.atb-fields input[type="time"]:focus, .atb-fields select:focus { border-color: var(--atb-yellow); outline: none; }
.atb-checkline { display: flex !important; align-items: center; gap: 8px; padding-top: 18px; }
.atb-checkline span { font-size: 11.5px; }
.atb-checkline input { width: 16px; height: 16px; margin: 0; accent-color: var(--atb-yellow); }
.atb-strip-form .g5-btn { background: transparent; color: #dfe7ff; border-color: rgba(208, 220, 255, .4); }
.atb-strip-form .g5-btn:hover { color: var(--atb-yellow2); border-color: var(--atb-yellow2); }
.atb-strip-form .g5-btn-amber { background: var(--atb-yellow); border-color: var(--atb-yellow); color: #1b2440; }

.atb-sec { margin-top: 30px; }
.atb-sec-hd { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.atb-sec-hd h2 { color: var(--atb-head); }
.atb-sec-hd i { display: inline-block; margin-right: 10px; padding: 2px 9px; background: var(--atb-yellow); color: #1b2440; font-family: var(--g5-mono); font-style: normal; font-size: 11px; }
.atb-sec-hd span { font-size: 12px; color: var(--g5-muted); }
.atb-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.atb-stage { padding: 10px 12px; background: var(--g5-card); border: 1px solid var(--atb-line); border-top: 3px solid var(--atb-sky); }
.atb-stage label { display: block; font-size: 11.5px; color: var(--atb-sub); }
.atb-stage input { display: block; width: 100%; margin-top: 4px; padding: 6px 8px; border: 1px solid var(--atb-line); background: var(--g5-card2); color: var(--g5-ink); font-family: var(--g5-mono); font-size: 14px; }
.atb-stage input:focus { border-color: var(--atb-navy2); outline: none; }
.atb-stage small { display: block; margin-top: 5px; font-size: 10.5px; color: var(--g5-muted); line-height: 1.6; }

.atb-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.atb-kpi { padding: 12px 14px; background: var(--g5-card); border: 1px solid var(--atb-line); border-left: 4px solid var(--atb-navy2); }
.atb-kpi.is-bad { border-left-color: var(--atb-coral); }
.atb-kpi.is-good { border-left-color: var(--atb-sky); }
.atb-kpi .k { display: block; font-size: 11px; letter-spacing: .06em; color: var(--g5-muted); }
.atb-kpi .v { display: block; font-family: var(--g5-mono); font-size: 23px; font-weight: 700; color: var(--atb-head); line-height: 1.45; }
.atb-kpi .s { display: block; font-size: 11px; color: var(--g5-muted); }
.atb-gantt { padding: 16px 18px 18px; margin-bottom: 14px; background: var(--g5-card); border: 1px solid var(--atb-line); }
.atb-gantt-hd { display: flex; justify-content: space-between; font-family: var(--g5-mono); font-size: 11.5px; color: var(--atb-sub); margin-bottom: 12px; }
.atb-gantt-hd b { color: var(--atb-head); }
.atb-gantt-track { display: flex; height: 46px; border: 1px solid var(--atb-line); background: var(--g5-card2); overflow: hidden; }
.atb-seg { display: grid; place-items: center; min-width: 0; border-right: 1px solid rgba(255, 255, 255, .5); font-family: var(--g5-mono); font-size: 10px; font-weight: 700; color: #fff; overflow: hidden; white-space: nowrap; }
.atb-seg.is-buffer { background: var(--atb-yellow); color: #1b2440; }
.atb-seg.is-over { background: var(--atb-coral); }
.atb-gantt-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; font-size: 11px; color: var(--g5-muted); }
.atb-gantt-legend i { display: inline-block; width: 9px; height: 9px; margin-right: 5px; }
.atb-two { display: grid; grid-template-columns: 1.1fr .9fr; gap: 14px; margin-bottom: 14px; }
.atb-panel { background: var(--g5-card); border: 1px solid var(--g5-line); padding: 16px 18px; margin-bottom: 14px; }
.atb-panel h3 { color: var(--atb-head); margin-bottom: 12px; }
.atb-risks { display: grid; gap: 8px; font-size: 13px; }
.atb-risk { padding: 8px 10px; border-left: 3px solid var(--atb-sky); background: var(--g5-card2); line-height: 1.75; }
.atb-risk.is-warn { border-left-color: var(--atb-yellow); }
.atb-risk.is-bad { border-left-color: var(--atb-coral); }
.atb-text { margin: 0; padding: 14px 16px; background: var(--g5-card2); border: 1px dashed var(--g5-line2); font-family: var(--g5-mono); font-size: 12.5px; line-height: 1.95; white-space: pre-wrap; word-break: break-word; }
.atb-ai { margin-top: 18px; padding: 16px 18px; border: 1px dashed var(--atb-yellow); background: var(--g5-card); }
.atb-ai-hd { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: baseline; }
.atb-ai-hd h3 { color: var(--atb-head); }
.atb-ai-hd span { font-size: 11.5px; color: var(--g5-muted); }
.atb-clean { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; padding: 10px; background: var(--g5-card2); border: 1px dashed var(--g5-line2); font-size: 12px; }
.atb-clean b { margin-right: 4px; }
.atb-clean code { display: block; width: 100%; margin-top: 4px; white-space: pre-wrap; word-break: break-all; color: var(--g5-ink2); }
.atb textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--g5-line); background: var(--g5-card); color: var(--g5-ink); font-family: var(--g5-mono); font-size: 12.5px; line-height: 1.8; resize: vertical; }
.atb-read { margin-top: 38px; padding: 20px 22px; background: var(--g5-card); border-top: 4px solid var(--atb-yellow); }
.atb-read h2 { color: var(--atb-head); margin-bottom: 12px; }
.atb-read p { font-size: 13.5px; line-height: 1.95; color: var(--g5-ink2); max-width: 88ch; }

@media (max-width: 1000px) { .atb-fields, .atb-stages { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) {
    .atb-strip-body, .atb-two { grid-template-columns: 1fr; }
    .atb-strip-copy { border-right: 0; border-bottom: 1px dashed rgba(242, 207, 58, .35); }
    .atb-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) { .atb-fields, .atb-stages, .atb-kpis { grid-template-columns: 1fr; } }
