/* ========== Root, theme & density ========== */ :root { --radius: 14px; --shadow-sm: 0 4px 12px rgba(0, 0, 0, .08); } html[data-density="compact"] .table-sm> :not(caption)>*>* { padding: .3rem .4rem; } html[data-density="compact"] .input-group-sm>.form-control, html[data-density="compact"] .form-select, html[data-density="compact"] .btn-sm { padding-top: .2rem; padding-bottom: .2rem; } /* Rounded cards / sections */ .card { border-radius: var(--radius); box-shadow: var(--shadow-sm); } .accordion .accordion-item { border: none; } .accordion-button { border-radius: 0 !important; } /* Navbar polish */ .navbar .navbar-brand i { font-size: 1.15rem; } /* Health dot — controlled by JS via .ok / .bad */ .health-card .health-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--bs-secondary-color); /* neutral by default */ box-shadow: 0 0 0 4px rgba(0, 0, 0, .12) inset, 0 0 10px rgba(0, 0, 0, .1); } /* green when OK, red when problem */ .health-card .health-dot.ok { background: var(--bs-success); } .health-card .health-dot.bad { background: var(--bs-danger); } /* Tables: sticky head & compact borders */ .table thead th { position: sticky; top: 0; z-index: 2; background: var(--bs-body-bg); } .table thead { border-bottom: 1px solid var(--bs-border-color); } .table> :not(caption)>*>* { vertical-align: middle; } /* Overflow shadows for scrollable containers (JS toggles classes) */ .table-responsive { position: relative; mask-image: linear-gradient(to right, transparent 0, black 12px, black calc(100% - 12px), transparent 100%); } .table-responsive.is-scrolled-start { mask-image: linear-gradient(to right, black 0, black calc(100% - 12px), transparent 100%); } .table-responsive.is-scrolled-end { mask-image: linear-gradient(to right, transparent 0, black 12px, black 100%); } /* Pre blocks */ pre { background: var(--bs-tertiary-bg); border-radius: 10px; padding: .75rem; border: 1px solid var(--bs-border-color); } /* Footer */ .site-footer { background: var(--bs-body-bg); } /* Buttons & utilities */ .btn .bi { margin-right: .35rem; } /* Make first column narrow-friendly */ .w-1 { width: 1%; white-space: nowrap; } /* Slightly denser tabs bar and nicer corners */ .nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; padding: .6rem .8rem; } .nav-tabs .nav-link.active { border-bottom-color: var(--bs-primary); font-weight: 600; } /* Global loading spacing */ #global-loading { display: none; } #global-loading.show { display: block; }