/* Layout */ body { min-height: 100vh; margin: 0; padding: 0; display: flex; flex-direction: column; } footer { margin-top: auto; padding: 20px; border-top: 1px solid var(--bs-border-color); width: 100%; } /* Monitor Cards */ .monitor-card { transition: transform 0.2s ease-in-out; height: 100%; } .monitor-card:hover { transform: translateY(-5px); box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .monitor-card .card-body { display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; min-height: 320px; } .monitor-header { background-color: var(--bs-body-bg); border-bottom: 1px solid var(--bs-border-color); } .progress { background-color: var(--bs-tertiary-bg); } /* CPU Gauge */ .cpu-gauge { position: relative; width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; } .cpu-gauge canvas { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .cpu-gauge .position-relative { position: absolute !important; top: 50%; left: 50%; transform: translate(-50%, -55%); z-index: 2; width: auto; text-align: center; line-height: 1.2; } .cpu-gauge .h3 { font-size: 1.75rem; line-height: 1; margin: 0; } .cpu-gauge .small { opacity: 0.75; margin-top: 3px; } /* Theme & Logo */ .hover-effect { transition: opacity 0.3s ease; } .hover-effect:hover { opacity: 0.8; } .theme-light .dark-logo { display: none; } .theme-dark .light-logo { display: none; } /* Grid Spacing */ .row.g-4 { --bs-gutter-y: 2rem; } /* Responsive */ @media (max-width: 768px) { .container { padding: 0.5rem; } .h4 { font-size: 1.25rem; } .monitor-card .card-body { padding: 1rem; min-height: 280px; } .row.g-4 > [class*="col-"] { margin-bottom: 1rem; } }