Files
cute-kuma/main.css
2025-01-19 21:55:05 +04:00

329 lines
7.0 KiB
CSS

/* Base theme settings */
:root {
/* Base theme colors */
--color-black: #666;
--color-green: #1aad3a;
--color-blue: #087fe7;
--color-teal: #27918d;
--color-yellow: #ffaf0f;
--color-orange: #ff6f00;
--color-red: #f64831;
--color-gray: #77726e;
--body-color: #212529;
--body-bg: #fff;
--heading-color: #000;
--secondary-color: var(--color-gray);
--block-bg: #f6f5f4;
/* Incident block colors */
--incident-color: #fff;
--incident-info-bg: var(--color-teal);
--incident-warning-bg: var(--color-orange);
--incident-danger-bg: var(--color-red);
--incident-primary-bg: var(--color-green);
--incident-light-bg: var(--color-gray);
--incident-dark-bg: var(--color-black);
/* Main status block colors */
--overall-status-color: #fff;
--overall-status-ok-bg: var(--color-green);
--overall-status-warning-bg: var(--color-yellow);
--overall-status-danger-bg: var(--color-red);
--overall-status-maintenance-bg: var(--color-blue);
/* Maintenance block colors */
--maintenance-color: var(--color-blue);
--maintenance-bg: #ebf5fe;
/* Colors of timeslot in the maintenance block */
--timeslot-color: #2383e2;
--timeslot-bg: rgba(35, 131, 226, .14);
--timeslot-border-color: rgba(35, 131, 226, .35);
/* Uptime percentage color */
--badge-color: #7f7f7f;
/* Colors of HP bar beat */
--beat-ok-bg: var(--color-green);
--beat-empty-bg: var(--color-gray);
--beat-down-bg: var(--color-red);
--beat-pending-bg: var(--color-yellow);
--beat-maintenance-bg: var(--color-blue);
/* Color of time under the HP bar */
--word-color: #7f7f7f;
/* Layout settings */
--min-item-width: 32ch;
--max-item-width: 1fr;
/* Colors for dark theme */
.dark {
--body-color: #dee2e6;
--body-bg: #151515;
--heading-color: #fff;
--block-bg: #232323;
--maintenance-bg: rgba(35, 131, 226, .07);
}
}
body {
background-color: var(--body-bg) !important;
}
.container {
width: 97.5%;
max-width: 54rem;
}
/* Center the logo */
.logo-wrapper {
margin-right: auto;
margin-left: auto;
}
/* Remove the title adjacent to the logo */
span[data-v-7d4a7f28] {
display: none;
}
/* Fix vertical margin of admin buttons on mobile */
.mb-4[data-v-b8247e57]:has(.btn-info) {
margin-bottom: 2.5rem !important;
div {
gap: 1rem;
display: flex;
flex-wrap: wrap;
& button {
margin: 0 !important;
}
}
}
/* Incident block */
.incident {
margin-bottom: 1rem !important;
border-radius: 1rem;
color: var(--incident-color) !important;
&.bg-info {
background-color: var(--incident-info-bg) !important;
}
&.bg-warning {
background-color: var(--incident-warning-bg) !important;
}
&.bg-danger {
background-color: var(--incident-danger-bg) !important;
}
&.bg-primary {
background-color: var(--incident-primary-bg) !important;
}
&.bg-light {
background-color: var(--incident-light-bg) !important;
}
&.bg-dark {
background-color: var(--incident-dark-bg) !important;
}
}
/* Main status block */
.overall-status {
display: block;
margin-bottom: 1rem !important;
padding: 1rem 1.5rem !important;
border-radius: 1rem;
color: var(--overall-status-color);
font-weight: 600 !important;
font-size: 1.5rem !important;
box-shadow: none;
&:has(.ok) {
background-color: var(--overall-status-ok-bg) !important;
}
&:has(.warning) {
background-color: var(--overall-status-warning-bg) !important;
}
&:has(.danger) {
background-color: var(--overall-status-danger-bg) !important;
}
&:has(.status-maintenance) {
background-color: var(--overall-status-maintenance-bg) !important;
}
svg {
display: none;
}
}
/* Maintenance block */
.shadow-box.bg-maintenance {
margin-top: 1rem !important;
padding: 1.5rem !important;
border-radius: 1rem;
color: var(--maintenance-color) !important;
background-color: var(--maintenance-bg) !important;
box-shadow: none !important;
}
/* Timeslot in the maintenance block */
.timeslot {
border: 1px solid var(--timeslot-border-color);
border-radius: 2rem;
color: var(--timeslot-color) !important;
background-color: var(--timeslot-bg) !important;
}
/* Description */
div > .alert-heading.p-2 {
color: var(--body-color);
text-align: center;
}
/* Monitor group title */
.group-title {
color: var(--heading-color);
font-weight: 600 !important;
font-size: 1.5rem !important;
}
/* Monitor group */
.shadow-box.monitor-list {
margin-top: 1rem !important;
padding: 0;
background-color: transparent !important;
box-shadow: none !important;
& > .monitor-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(var(--min-item-width), var(--max-item-width)));
grid-gap: 1rem;
}
}
/* Monitor item */
.item {
padding: 1.25rem 1.25rem 1rem !important;
border-radius: 1rem !important;
background-color: var(--block-bg);
& > .row {
flex-direction: column;
& > div {
width: 100%;
}
}
&:hover {
background-color: var(--block-bg) !important;
}
}
/* Correct behavior in a strange way */
@media (max-width: 768px) {
:root {
--min-item-width: 26ch;
}
}
/* Monitor name and badge container */
.info {
display: flex;
justify-content: space-between;
margin-bottom: 4px;
}
/* Monitor name */
.item-name {
padding-right: 0 !important;
padding-left: 4px !important;
overflow: hidden;
color: var(--heading-color);
font-weight: 500;
text-overflow: ellipsis;
white-space: nowrap;
}
/* Uptime percentage badge (now just text) */
.badge {
all: unset;
order: 2;
padding-right: 2px !important;
color: var(--badge-color) !important;
background-color: transparent !important;
}
/* Hmm... */
@media (max-width: 600px) {
.badge {
padding-right: 4px !important;
}
}
/* Extra vertical indentation */
.extra-info {
display: none !important;
}
/* HP bar and time container */
.wrap {
padding: 4px 2px !important;
}
/* Beat of HP bar */
.beat {
height: 1.5rem !important;
background-color: var(--beat-ok-bg) !important;
&.empty {
background-color: var(--beat-empty-bg) !important;
}
&.down {
background-color: var(--beat-down-bg) !important;
}
&.pending {
background-color: var(--beat-pending-bg) !important;
}
&.maintenance {
background-color: var(--beat-maintenance-bg) !important;
}
}
/* Time under the HP bar */
.word {
padding-right: 2px !important;
padding-left: 2px !important;
color: var(--word-color) !important;
}
/* Custom footer and Uptime Kuma branding */
footer p,
footer p a {
color: var(--secondary-color) !important;
}
/* Remove a refresh timer.
Comment "display: none" to return */
.refresh-info {
display: none;
opacity: 1 !important;
color: var(--secondary-color);
}