/* Runbook dashboard — every rule scoped under .runbook-dashboard, safe to bundle site-wide. */

/* --------- Tile grid --------- */
.runbook-dashboard .rbd-tile-wrap.collapsed > .rbd-tile-grid { display: none; }
.runbook-dashboard .rbd-tile-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.runbook-dashboard .rbd-tile { position: relative; height: auto; overflow: visible; padding: 12px 14px 12px 22px; cursor: pointer; border: 1px solid var(--s-card-border, #334155); border-radius: 6px; background: var(--bs-body-bg); }
.runbook-dashboard .rbd-tile .rbd-bar { position: absolute; left: 8px; top: 10px; bottom: 10px; width: 6px; border-radius: 3px; background: var(--rbd-bar-color, transparent); }
.runbook-dashboard .rbd-tile.selected { outline: 2px solid var(--rbd-outline-color, var(--bs-primary)); outline-offset: 2px; }
.runbook-dashboard .rbd-tile-name { font-weight: 600; font-size: 13px; margin-bottom: 4px; }
.runbook-dashboard .rbd-tile-summary { font-size: 12px; font-weight: 600; margin-bottom: 2px; }
.runbook-dashboard .rbd-tile-footer { font-size: 11px; opacity: 0.7; }
.runbook-dashboard .rbd-tile.idle { opacity: 0.6; }

/* --------- Header --------- */
.runbook-dashboard .rbd-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.runbook-dashboard .rbd-header h4 { margin: 0; }

/* --------- Drill-in --------- */
.runbook-dashboard .rbd-breadcrumb { font-size: 12px; margin: 12px 0 8px; }
.runbook-dashboard .rbd-breadcrumb .back { cursor: pointer; margin-left: 8px; opacity: 0.8; }
.runbook-dashboard .rbd-collapse-all { cursor: pointer; margin-left: 12px; opacity: 0.8; color: var(--bs-primary); }
.runbook-dashboard .rbd-collapse-all:hover { opacity: 1; text-decoration: underline; }
.runbook-dashboard .rbd-diagram-wrap { position: relative; }
.runbook-dashboard #RunBookDiagram { width: 100%; height: 380px; border: 1px solid var(--bs-border-color); border-radius: 6px; }
/* !important because GoJS sets inline width/height on the div. */
.runbook-dashboard #RunBookDiagram.expanded {
    position: fixed !important;
    top: 20px !important;
    left: 20px !important;
    width: calc(100vw - 40px) !important;
    height: calc(100vh - 40px) !important;
    z-index: 1050;
    background: var(--bs-body-bg);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
}
.runbook-dashboard .rbd-diagram-expand { position: absolute; top: 8px; right: 8px; z-index: 1051; width: 30px; height: 30px; padding: 0; font-size: 16px; line-height: 1; cursor: pointer; border-radius: 4px; border: 1px solid var(--s-card-border, #334155); background: var(--bs-body-bg); color: inherit; }
.runbook-dashboard .rbd-diagram-expand:hover { border-color: var(--bs-primary); }
.runbook-dashboard .rbd-diagram-wrap:has(> #RunBookDiagram.expanded) > .rbd-diagram-expand { position: fixed; top: 28px; right: 28px; z-index: 1051; }

/* --------- Filter bar --------- */
.runbook-dashboard .rbd-filterbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 12px; }
.runbook-dashboard .rbd-filterbar > .rbd-right { display: flex; gap: 12px; align-items: center; flex-wrap: nowrap; }
.runbook-dashboard .rbd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.runbook-dashboard .rbd-chip { font-size: 11px; padding: 4px 12px; border-radius: 12px; border: 1px solid var(--s-card-border, #334155); background: transparent; color: inherit; cursor: pointer; }
.runbook-dashboard .rbd-chip.selected { outline: 2px solid var(--rbd-outline-color, var(--bs-primary)); outline-offset: 1px; }
.runbook-dashboard .rbd-search { font-size: 12px; padding: 4px 8px; border-radius: 4px; border: 1px solid var(--s-card-border, #334155); background: var(--bs-body-bg); color: inherit; min-width: 200px; }
.runbook-dashboard .rbd-roots { display: flex; align-items: center; gap: 4px; font-size: 12px; margin: 0; cursor: pointer; user-select: none; }
.runbook-dashboard .rbd-roots-cb { margin: 0; }
.runbook-dashboard .rbd-refresh { display: flex; align-items: center; gap: 6px; font-size: 12px; margin: 0; }
.runbook-dashboard .rbd-refresh-sel { font-size: 12px; padding: 3px 6px; padding-right: 24px; border-radius: 4px; border: 1px solid var(--s-card-border, #334155); background: var(--bs-body-bg); color: inherit; color-scheme: dark light; }
.runbook-dashboard .rbd-grid-toggle { cursor: pointer; font-size: 12px; color: #ffffff; opacity: 0.9; user-select: none; }
.runbook-dashboard .rbd-grid-toggle:hover { opacity: 1; text-decoration: underline; }
.runbook-dashboard .rbd-daypick { display: flex; align-items: center; gap: 6px; font-size: 12px; margin: 0; }
.runbook-dashboard .rbd-date,
.runbook-dashboard .rbd-hour,
.runbook-dashboard .rbd-ampm { font-size: 12px; padding: 3px 6px; border-radius: 4px; border: 1px solid var(--s-card-border, #334155); background: var(--bs-body-bg); color: inherit; color-scheme: dark light; }
.runbook-dashboard .rbd-date { min-width: 130px; }
.runbook-dashboard .rbd-hour { padding-right: 24px; }
.runbook-dashboard .rbd-ampm { padding-right: 24px; }
