/* ============================================================================
   fleet.css — three-theme custom layer over Bootstrap 5.3
   Light and dark themes rely on Bootstrap's data-bs-theme; VT100 is bespoke.
   ============================================================================ */

:root {
    --fleet-mono: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

/* --- Light theme (Bootstrap default; minor accents) ----------------------- */
html[data-fleet-theme="light"] .fleet-navbar {
    background-color: #ffffff;
    box-shadow: 0 1px 0 rgba(0,0,0,.05);
}

/* --- Dark theme ----------------------------------------------------------- */
html[data-fleet-theme="dark"] {
    background-color: #0f1419;
}
html[data-fleet-theme="dark"] body {
    background-color: #0f1419;
    color: #e6e6e6;
}
html[data-fleet-theme="dark"] .fleet-navbar {
    background-color: #1a1f26;
    border-color: #2a323d !important;
}
html[data-fleet-theme="dark"] .card {
    background-color: #1a1f26;
    border-color: #2a323d;
}
html[data-fleet-theme="dark"] .table {
    --bs-table-bg: #1a1f26;
    --bs-table-color: #e6e6e6;
    --bs-table-border-color: #2a323d;
    --bs-table-striped-bg: #161b22;
}

/* --- VT100 theme ---------------------------------------------------------- */
@font-face {
    font-family: "VT323-fallback";
    src: local("VT323"), local("Courier New"), local("Courier");
}

html[data-fleet-theme="vt100"] {
    --bs-body-bg: #000000;
    --bs-body-color: #33ff66;
    --bs-border-color: #1f8a3a;
    --bs-link-color: #7fff7f;
    --bs-link-hover-color: #aaffaa;
    background-color: #000000;
}
html[data-fleet-theme="vt100"] body {
    background-color: #000000;
    color: #33ff66;
    font-family: "VT323", "VT323-fallback", "Courier New", Courier, monospace;
    font-size: 18px;
    letter-spacing: 0.02em;
    text-shadow: 0 0 1px rgba(51, 255, 102, .35);
}
html[data-fleet-theme="vt100"] .fleet-navbar,
html[data-fleet-theme="vt100"] .card,
html[data-fleet-theme="vt100"] .alert,
html[data-fleet-theme="vt100"] .table {
    background-color: #000000;
    border-color: #1f8a3a !important;
    color: #33ff66;
    border-radius: 0 !important;
}
html[data-fleet-theme="vt100"] .navbar-brand,
html[data-fleet-theme="vt100"] .nav-link,
html[data-fleet-theme="vt100"] .navbar-text {
    color: #33ff66 !important;
}
html[data-fleet-theme="vt100"] .nav-link.active {
    color: #aaffaa !important;
    text-decoration: underline;
}
html[data-fleet-theme="vt100"] .table {
    --bs-table-bg: #000000;
    --bs-table-color: #33ff66;
    --bs-table-border-color: #1f8a3a;
    --bs-table-striped-bg: #001a00;
    --bs-table-striped-color: #33ff66;
}
html[data-fleet-theme="vt100"] .table th {
    text-transform: uppercase;
    color: #7fff7f;
    border-bottom: 1px solid #1f8a3a;
}
html[data-fleet-theme="vt100"] .badge,
html[data-fleet-theme="vt100"] .btn {
    border-radius: 0 !important;
    font-family: inherit;
}
html[data-fleet-theme="vt100"] .badge.bg-success { background-color: #1f8a3a !important; color: #aaffaa; }
html[data-fleet-theme="vt100"] .badge.bg-danger  { background-color: #5a0000 !important; color: #ff5555; }
html[data-fleet-theme="vt100"] .badge.bg-warning { background-color: #5a4500 !important; color: #ffcc00 !important; }
html[data-fleet-theme="vt100"] .badge.bg-secondary { background-color: #1a1a1a !important; color: #7fff7f; }
html[data-fleet-theme="vt100"] code,
html[data-fleet-theme="vt100"] pre {
    background-color: transparent;
    color: #aaffaa;
    border: 1px dashed #1f8a3a;
    font-family: "VT323", "VT323-fallback", "Courier New", monospace;
}
html[data-fleet-theme="vt100"] .form-control,
html[data-fleet-theme="vt100"] .form-control:focus {
    background-color: #000000;
    color: #33ff66;
    border-color: #1f8a3a;
    box-shadow: none;
    font-family: inherit;
}
html[data-fleet-theme="vt100"] .btn-outline-secondary {
    color: #33ff66;
    border-color: #1f8a3a;
}
html[data-fleet-theme="vt100"] .btn-outline-secondary:hover,
html[data-fleet-theme="vt100"] .btn-outline-secondary.active {
    background-color: #1f8a3a;
    color: #000000;
}

/* --- Shared utility ------------------------------------------------------- */
.stat-card .stat-number {
    font-size: 2.25rem;
    font-weight: 600;
    font-family: var(--fleet-mono);
    line-height: 1.1;
}
.stat-card .stat-label {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
}
.mono { font-family: var(--fleet-mono); font-size: 0.9em; }

.chart-container {
    position: relative;
    height: 280px;
    width: 100%;
}

table.compact td, table.compact th { padding: 0.4rem 0.6rem; }

.host-log-pre {
    max-height: 60vh;
    overflow: auto;
    font-size: 0.85em;
}
