<?php if (!defined('DASHBOARD_ROOT')) { http_response_code(403); exit; } RBAC::enforce('view.fleet'); require_once __DIR__ . '/../modules/fleet/fleet_data.php'; ?> <div class="workspace" id="ws-fleet"> <?php require __DIR__ . '/../modules/fleet/engine_panel.php'; ?> <div style="display: flex; flex-direction: column; gap: 2px;"> <?php foreach ($nodes as $nodeId => $node): ?> <?php require __DIR__ . '/../modules/fleet/fleet_card.php'; ?> <?php endforeach; ?> </div> </div>  <!-- Global Terminal Modal --> <div id="fleet-terminal-modal" class="modal-overlay" style="display:none; z-index: 9999;">     <div class="modal-container" style="width: 800px; max-width: 95%;">         <div class="modal-header" style="display: flex; justify-content: space-between; align-items: center;">             <div style="display: flex; align-items: center; gap: 10px;">                 <div class="brand-mark" style="width: 20px; height: 20px;"><?= UI::renderIcon('console') ?></div>                 <h3 id="term-modal-title" style="margin:0; font-size: 16px; color: #fff;">Terminal Output</h3>             </div>             <button class="modal-close" onclick="document.getElementById('fleet-terminal-modal').style.display='none'">×</button>         </div>         <div class="modal-body" style="padding: 24px;">             <div id="fleet-terminal-output" class="term-output" style="height: 400px; max-height: 60vh;"></div>         </div>     </div> </div>  <?php require_once __DIR__ . '/../modules/fleet/fleet_pin_modal.php'; ?> <script src="/assets/js/fleet.js" nonce="<?= $cspNonce ?? '' ?>"></script> <script src="/assets/js/engine_panel.js" nonce="<?= $cspNonce ?? '' ?>"></script>