/* server_manager plugin — admin UI styles. Admin theme (not .jy-ui), so
   distinctive .svm-* / .node-row / .host-accordion prefixes, unscoped.
   Values lifted verbatim from former <style> block and inline styles. */

/* --- Dashboard (index) --- */
.node-row { cursor: pointer; transition: background-color 0.12s ease; min-height: 58px; }
.node-row:hover { background-color: #f8f9fa; }
.host-accordion .accordion-button { padding: 0.6rem 1rem; }
.host-accordion .accordion-body { padding: 0; }
.svm-w90 { max-width: 90px; }

/* --- Job detail --- */
.svm-status-icon { display: inline-block; width: 1.25em; text-align: center; }
.svm-logbox { max-height: 600px; overflow-y: auto; background: #1e1e1e; color: #d4d4d4;
              padding: 1rem; border-radius: 4px; font-size: 13px; white-space: pre-wrap; }

/* --- Node detail --- */
.svm-modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.svm-modal-close { background: none; border: none; font-size: 1.5rem; cursor: pointer; line-height: 1; }
.svm-inline-form { display: inline; }
.svm-progress-thin { height: 4px; }
.svm-progress-bar { width: var(--svm-pct, 0%); }
.svm-w100 { width: 100px; }
/* Node overview: the facts under the name, and the tile grids (as many
   columns as fit; a wide tile spans two, one column on a phone). */
.svm-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0.75rem 1.5rem; }
.svm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; }
.svm-span-2 { grid-column: span 2; }
@media (max-width: 600px) { .svm-span-2 { grid-column: auto; } }
/* Health bars: a track with marks at 75% and 90%, the amber and red lines. */
.svm-gauge { position: relative; height: 10px; border-radius: 5px; background: #e9ecef; overflow: hidden; }
.svm-gauge::before, .svm-gauge::after { content: ''; position: absolute; top: 0; bottom: 0; width: 2px;
                                        background: rgba(0, 0, 0, 0.28); z-index: 1; }
.svm-gauge::before { left: 75%; }
.svm-gauge::after { left: 90%; }
.svm-gauge-fill { height: 100%; width: var(--svm-pct, 0%); border-radius: 5px 0 0 5px; }

/* --- Target info --- */
.svm-mw600 { max-width: 600px; }

/* --- Publish/version list (includes/publish_upgrade.php, web mode) --- */
.svm-tag-missing { color: red; font-weight: bold; }
.svm-tag-targz { color: green; }
.svm-tag-zip { color: blue; }
.svm-delete-link { color: #dc3545; margin-left: 10px; }

/* --- Node detail (additional) --- */
.svm-relative { position: relative; }
.svm-dropdown-menu { display: none; position: absolute; right: 0; top: 100%; }
.svm-fs-075 { font-size: .75rem; }
.svm-w200 { width: 200px; }
.svm-m0 { margin: 0; }

/* --- Misc layout utilities (former inline) --- */
.svm-w40 { width: 40%; }
.svm-flex1 { min-width: 0; flex: 1; }
.svm-minw0 { min-width: 0; }

/* --- Mobile: keep the host-accordion header rows from running off a phone --- */
@media (max-width: 767px) {
    .host-accordion .accordion-button,
    .host-accordion .accordion-button .d-flex { flex-wrap: wrap; }
}

/* --- Incidents (IncidentViews) --- */
.svm-incident-pick { width: 1%; }
.svm-incident-text { white-space: pre-wrap; overflow-wrap: anywhere; }
