/* Uptime Sentinel — public status page */
.upsen-status {
	--us-surface: #ffffff;
	--us-plane: #f6f7f6;
	--us-border: #e3e3df;
	--us-ink: #0b0b0b;
	--us-ink-2: #52514e;
	--us-ink-3: #75746f;
	--us-good: #0ca30c;
	--us-warn: #fab219;
	--us-bad: #d03b3b;
	--us-maint: #2a78d6;
	--us-none: #dcdcd7;
	--us-good-text: #076b07;
	--us-warn-text: #8a5a00;
	--us-bad-text: #a8282a;
	--us-maint-text: #1c5cab;

	max-width: 860px;
	margin: 0 auto;
	color: var(--us-ink);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
}

@media (prefers-color-scheme: dark) {
	.upsen-status.upsen-auto-dark {
		--us-surface: #1a1a19;
		--us-plane: #111110;
		--us-border: #383835;
		--us-ink: #f0efec;
		--us-ink-2: #c3c2b7;
		--us-ink-3: #9b9a92;
		--us-none: #3a3a37;
		--us-good-text: #5fd35f;
		--us-warn-text: #fab219;
		--us-bad-text: #ff8a8a;
		--us-maint-text: #86b6ef;
	}
}

.upsen-status.upsen-dark {
	--us-surface: #1a1a19;
	--us-plane: #111110;
	--us-border: #383835;
	--us-ink: #f0efec;
	--us-ink-2: #c3c2b7;
	--us-ink-3: #9b9a92;
	--us-none: #3a3a37;
	--us-good-text: #5fd35f;
	--us-warn-text: #fab219;
	--us-bad-text: #ff8a8a;
	--us-maint-text: #86b6ef;
}

.upsen-status *,
.upsen-status *::before,
.upsen-status *::after { box-sizing: border-box; }

.upsen-status__title { margin: 0 0 6px; font-size: 1.6em; line-height: 1.25; }
.upsen-status__intro { margin: 0 0 20px; color: var(--us-ink-2); }
.upsen-status__sub { margin: 32px 0 12px; font-size: 1.1em; }

/* Sections (group="tags") */
.upsen-group__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0 10px; }
.upsen-group__title { margin: 0; font-size: 1.05em; font-weight: 600; color: var(--us-ink); }
.upsen-services + .upsen-group__head { margin-top: 28px; }
.upsen-pill--operational { color: var(--us-good-text); }
.upsen-admin-hint { margin-top: 8px; padding: 10px 14px; border: 1px dashed var(--us-border); border-radius: 8px; font-size: .88em; color: var(--us-ink-2); }

.upsen-ico { width: 18px; height: 18px; flex: none; vertical-align: -3px; }

.upsen-banner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 20px;
	border-radius: 10px;
	color: #fff;
	font-size: 1.05em;
	margin: 16px 0;
}
.upsen-banner .upsen-ico { width: 22px; height: 22px; background: rgba(255,255,255,.22); border-radius: 50%; padding: 2px; }
.upsen-banner--operational { background: #087a08; }
.upsen-banner--partial_outage { background: #945600; }
.upsen-banner--major_outage { background: #b8302f; }
.upsen-banner--degraded { background: #945600; }
.upsen-banner--maintenance { background: #1c5cab; }
.upsen-banner--unknown { background: #5f5e5a; }

.upsen-notices { display: grid; gap: 8px; margin: 0 0 16px; }
.upsen-notice {
	display: flex; gap: 10px; align-items: flex-start;
	padding: 12px 16px;
	background: var(--us-surface);
	border: 1px solid var(--us-border);
	border-left: 4px solid var(--us-maint);
	border-radius: 8px;
	color: var(--us-maint-text);
}
.upsen-notice div { display: flex; flex-direction: column; color: var(--us-ink); }
.upsen-notice span { color: var(--us-ink-2); font-size: .92em; }

.upsen-services {
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--us-surface);
	border: 1px solid var(--us-border);
	border-radius: 10px;
}
.upsen-service { padding: 16px 20px; margin: 0; }
.upsen-service + .upsen-service { border-top: 1px solid var(--us-border); }

.upsen-service__head {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	margin-bottom: 10px;
}
.upsen-service__name { font-weight: 600; overflow-wrap: anywhere; }

.upsen-pill {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: .88em; font-weight: 600; white-space: nowrap;
}
.upsen-pill--up { color: var(--us-good-text); }
.upsen-pill--down { color: var(--us-bad-text); }
.upsen-pill--degraded { color: var(--us-warn-text); }
.upsen-pill--maintenance { color: var(--us-maint-text); }
.upsen-pill--unknown, .upsen-pill--paused { color: var(--us-ink-3); }

.upsen-bars {
	display: flex;
	gap: 2px;
	height: 34px;
	align-items: stretch;
}
.upsen-bar {
	flex: 1 1 0;
	min-width: 2px;
	border-radius: 2px;
	position: relative;
	outline: none;
	cursor: default;
}
.upsen-bar--good { background: var(--us-good); }
.upsen-bar--warn { background: var(--us-warn); }
.upsen-bar--bad { background: var(--us-bad); }
.upsen-bar--none { background: var(--us-none); }
.upsen-bar:hover, .upsen-bar:focus-visible { filter: brightness(.85); }
.upsen-bar:focus-visible { box-shadow: 0 0 0 2px var(--us-surface), 0 0 0 4px var(--us-ink); }

.upsen-bar[data-tip]:hover::after,
.upsen-bar[data-tip]:focus-visible::after {
	content: attr(data-tip);
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: var(--us-ink);
	color: var(--us-surface);
	font-size: 12px;
	line-height: 1.3;
	padding: 6px 8px;
	border-radius: 6px;
	white-space: nowrap;
	pointer-events: none;
	z-index: 5;
}
.upsen-bar:first-child[data-tip]:hover::after,
.upsen-bar:first-child[data-tip]:focus-visible::after { left: 0; transform: none; }
.upsen-bar:last-child[data-tip]:hover::after,
.upsen-bar:last-child[data-tip]:focus-visible::after { left: auto; right: 0; transform: none; }

.upsen-service__foot {
	display: flex; justify-content: space-between; gap: 8px;
	margin-top: 6px;
	font-size: .8em;
	color: var(--us-ink-3);
}
.upsen-service__uptime { color: var(--us-ink-2); font-weight: 600; }
.upsen-days-short { display: none; }

.upsen-legend {
	display: flex; flex-wrap: wrap; gap: 6px 16px;
	margin: 10px 2px 0;
	font-size: .8em;
	color: var(--us-ink-2);
}
.upsen-legend span { display: inline-flex; align-items: center; gap: 6px; }
.upsen-swatch { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }

.upsen-incidents { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.upsen-incident {
	margin: 0;
	padding: 12px 16px;
	background: var(--us-surface);
	border: 1px solid var(--us-border);
	border-radius: 8px;
}
.upsen-incident__title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--us-good-text); }
.upsen-incident__title strong { color: var(--us-ink); }
.upsen-incident__title span { font-size: .88em; }
.upsen-incident--open .upsen-incident__title { color: var(--us-bad-text); }
.upsen-incident__meta { margin-top: 2px; font-size: .88em; color: var(--us-ink-2); }

.upsen-empty { color: var(--us-ink-2); }
.upsen-updated { margin-top: 24px; font-size: .8em; color: var(--us-ink-3); text-align: center; }

/* Phones: show the most recent 30 days so bars stay readable. */
@media (max-width: 600px) {
	.upsen-service { padding: 14px 16px; }
	.upsen-bar--older { display: none; }
	.upsen-days-long { display: none; }
	.upsen-days-short { display: inline; }
	.upsen-service__head { flex-wrap: wrap; }
}

@media (forced-colors: active) {
	.upsen-bar { forced-color-adjust: none; border: 1px solid CanvasText; }
}
