/* mk-status.css: /status/ in "the control room at night". Loaded on the status page only (slug status), after home.css and
   reference.css (the plugin still gives /status/ the reference layer, body.dsd-ref, so selectors here carry #page-container
   and are more specific than reference.css). Signature element: a three column board, Live / In testing / Planned, of compact
   cards, labels legend under it. Visitor task: "what actually runs today?", so the Live column is first. */

body.dsd #page-container .dsdm-status-hero {
	padding-top: 56px !important;
	padding-bottom: 40px !important;
}
body.dsd #page-container .dsdm-status-hero .dsdh-row--head { margin-bottom: 0 !important; }
body.dsd #page-container .dsdm-status-h1 h1.et_pb_module_header {
	font-size: clamp(38px, 4.6vw, 60px) !important;
	line-height: 1.02 !important;
	letter-spacing: -0.03em !important;
	max-width: 22ch;
}
body.dsd #page-container .dsdm-status-hero .dsdh-row--head { gap: 20px; }
body.dsd #page-container .dsdm-status-board-sec { padding-top: 48px !important; }
body.dsd #page-container .dsdm-status-board-sec .dsdh-row--head { margin-bottom: 32px !important; }

/* ---------- the board ---------- */

body.dsd #page-container .dsdm-status-board.dsdh-row {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}
body.dsd #page-container .dsdm-status-board > .dsdm-status-col { gap: 12px; }
body.dsd #page-container .dsdm-status-colhead .et_pb_text_inner p.dsdm-status-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--dsc-line);
}
body.dsd #page-container .dsdm-status-colhead .et_pb_text_inner p.dsdm-status-head .dsdh-tag {
	font-size: 13px;
}
body.dsd #page-container .dsdm-status-colhead .et_pb_text_inner .dsdm-status-count {
	font-family: var(--dsc-mono);
	font-size: 22px;
	line-height: 1;
	color: var(--dsc-warn);
}
body.dsd #page-container .dsdm-status-colhead .et_pb_text_inner p.dsdm-status-note {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--dsc-muted-long);
}
/* compact cards: surface, hairline, no shadow, no hover (they are not links) */
body.dsd #page-container .dsdm-status-col > .et_pb_group.dsdm-status-card {
	display: flex !important;
	flex-direction: column;
	gap: 8px !important;
	align-items: flex-start;
	width: 100%;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 18px 20px !important;
	background: var(--dsc-surface) !important;
	border: 1px solid var(--dsc-line) !important;
	border-radius: var(--dsc-r-card) !important;
	box-shadow: none !important;
}
body.dsd #page-container .dsdm-status-card .dsdh-h3 h3.et_pb_module_header {
	font-size: 17px !important;
	line-height: 1.3 !important;
}
body.dsd #page-container .dsdm-status-card .et_pb_text_inner p {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.55;
}
body.dsd #page-container .dsdm-status-card .et_pb_text_inner > :last-child { margin-bottom: 0; }

/* ---------- today on the reference kit: one framed strip ---------- */

body.dsd #page-container .dsdm-status-today { padding-top: 0 !important; }
body.dsd #page-container .dsdm-status-today::before { display: none !important; }
body.dsd #page-container .dsdm-status-strip.dsdh-row {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 0;
	align-items: stretch;
}
body.dsd #page-container .dsdm-status-today__l { gap: 12px !important; }
body.dsd #page-container .dsdm-status-today__intro .et_pb_text_inner p,
body.dsd #page-container .dsdm-status-today__libs .et_pb_text_inner p { font-size: 15px; line-height: 1.55; margin: 0; }
body.dsd #page-container .dsdm-status-today__libs .et_pb_text_inner p strong { color: var(--dsc-text); font-weight: 600; }

/* ---------- if the brain stops ---------- */

body.dsd #page-container .dsdm-status-stops-row.dsdh-row { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 48px; }
body.dsd #page-container .dsdm-status-tablewrap {
	overflow-x: auto;
	background: var(--dsc-surface);
	border: 1px solid var(--dsc-line);
	border-radius: var(--dsc-r-card);
}
body.dsd #page-container .dsdm-status-tablewrap:focus-visible { outline: 2px solid var(--dsc-accent); outline-offset: 2px; }
body.dsd #page-container table.dsdm-status-table {
	width: 100%;
	min-width: 320px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}
body.dsd #page-container table.dsdm-status-table :is(th, td) {
	padding: 14px 20px;
	border: 0;
	border-bottom: 1px solid var(--dsc-line);
	background: transparent;
	text-align: left;
	font-size: 15px;
	line-height: 1.4;
	color: var(--dsc-muted-long);
}
body.dsd #page-container table.dsdm-status-table thead th {
	font-family: var(--dsc-mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--dsc-muted);
}
body.dsd #page-container table.dsdm-status-table tbody th { font-weight: 600; color: var(--dsc-text); }
body.dsd #page-container table.dsdm-status-table tbody td { font-family: var(--dsc-mono); font-size: 14px; color: var(--dsc-warn); }
body.dsd #page-container table.dsdm-status-table tbody tr:last-child :is(th, td) { border-bottom: 0; }

/* ---------- labels legend under the board ---------- */

body.dsd #page-container .dsdm-status-legend-row.dsdh-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; align-items: stretch; }
body.dsd #page-container .dsdm-status-leg { gap: 10px !important; }
body.dsd #page-container .dsdm-status-legtag .et_pb_text_inner p { margin: 0; }
body.dsd #page-container .dsdm-status-legtag .dsdh-tag { font-size: 13px; }
body.dsd #page-container .dsdm-status-next .et_pb_text_inner p { max-width: 70ch; }

@media (max-width: 1100px) {
	body.dsd #page-container .dsdm-status-stops-row.dsdh-row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 900px) {
	body.dsd #page-container .dsdm-status-board.dsdh-row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767px) {
	body.dsd #page-container .dsdm-status-hero { padding-top: 32px !important; padding-bottom: 24px !important; }
	body.dsd #page-container .dsdm-status-strip.dsdh-row { grid-template-columns: minmax(0, 1fr); }
	body.dsd #page-container .dsdm-status-strip > .dsdh-col + .dsdh-col { border-left: 0; border-top: 1px solid var(--dsc-line); }
	body.dsd #page-container .dsdm-status-legend-row.dsdh-row { grid-template-columns: minmax(0, 1fr); }
	body.dsd #page-container .dsdm-status-legend-row > .dsdh-col + .dsdh-col { border-left: 0; border-top: 1px solid var(--dsc-line); }
	body.dsd #page-container table.dsdm-status-table :is(th, td) { padding: 12px 14px; }
}

/* reference.css restyles bare links and heading gaps on /status/; put them back to the system */
body.dsd #page-container .dsdm-status-next .et_pb_text_inner a,
body.dsd #page-container .dsdm-status-card .et_pb_text_inner a,
body.dsd #page-container .dsdm-status-today .et_pb_text_inner a,
body.dsd #page-container .dsdm-status-stops .et_pb_text_inner a {
	display: inline;
	min-height: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(79, 157, 255, 0.35);
	border-radius: 0;
	box-shadow: none;
}
body.dsd #page-container .dsdm-status-hero .dsdh-row > .et_pb_column,
body.dsd #page-container .dsdm-status-board-sec .dsdh-row--head > .et_pb_column,
body.dsd #page-container .dsdm-status-stops .dsdh-row--head > .et_pb_column,
body.dsd #page-container .dsdm-status-legend .dsdh-row--head > .et_pb_column { gap: 16px !important; }
body.dsd #page-container table.dsdm-status-table :is(th, td) { background: transparent !important; }

/* the board's own h2 is for screen readers and the heading order only: the columns are the visible answer */
body.dsd #page-container .dsdm-status-srh {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
body.dsd #page-container .dsdm-status-board-sec { padding-top: 24px !important; }
body.dsd #page-container .dsdm-status-counts { margin-top: 24px; }

/* The board follows the header directly (answer first): no section break between them. */
body.dsd #page-container .dsdm-status-board-sec::before { display: none !important; }
