/**
 * Infrastructure tools: the bits the verdict primitive has no shape for.
 *
 * Everything the verdict itself renders lives in verdict.css. Here there is only
 * what these two tools add: the tier ladder with its breakpoints, the
 * verification commands next to a derived assumption, and the provisional-values
 * banner that stays until the coefficients are measured.
 */

.tools-sizing-managed { border-left: 3px solid var(--c-blue); padding-left: var(--s-4); }

.tools-sizing-provisional {
	display: flex;
	gap: var(--s-3);
	align-items: flex-start;
	font-size: 13px;
	color: var(--c-warning-fg);
	background: var(--c-warning-bg);
	border-radius: var(--r-sm);
	padding: var(--s-3);
	margin-bottom: var(--s-4);
}

.tools-sizing-spend {
	font-size: 18px;
	font-weight: 600;
	color: var(--c-ink);
	background: var(--c-blue-50);
	border-radius: var(--r-md);
	padding: var(--s-4);
	margin-bottom: var(--s-4);
}

.tools-sizing-spend--over { background: var(--c-danger-bg); color: var(--c-danger-fg); }

/* Verification command: it must read as something you copy and send, not as
   decoration, so it keeps the monospace and the full width even on mobile. */
.tools-sizing-verify {
	display: block;
	font-family: var(--font-mono);
	font-size: 12px;
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: var(--r-sm);
	padding: var(--s-2) var(--s-3);
	margin-top: var(--s-2);
	overflow-x: auto;
	white-space: pre;
	color: var(--c-ink-soft);
}

.tools-sizing-verify-label {
	display: block;
	font-family: var(--font-sans);
	font-size: 12px;
	color: var(--c-ink-mute);
	margin-top: var(--s-2);
}

/* ===== Tier ladder ===== */

.tools-sizing-ladder { width: 100%; border-collapse: collapse; font-size: 14px; }

.tools-sizing-ladder th,
.tools-sizing-ladder td {
	text-align: left;
	padding: var(--s-2) var(--s-3) var(--s-2) 0;
	border-bottom: 1px solid var(--c-line);
	vertical-align: top;
}

.tools-sizing-ladder thead th {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--c-ink-mute);
	font-weight: 700;
}

.tools-sizing-ladder tbody tr.is-fit { background: var(--c-success-bg); }
.tools-sizing-ladder tbody tr.is-fit td:first-child { font-weight: 700; }

.tools-sizing-ladder .tools-sizing-sku { font-family: var(--font-mono); font-weight: 700; }
.tools-sizing-ladder .tools-sizing-price { font-family: var(--font-mono); white-space: nowrap; }
.tools-sizing-ladder .tools-sizing-ceiling { white-space: nowrap; }

.tools-sizing-zone {
	display: inline-block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: var(--r-pill);
	padding: 1px var(--s-2);
	border: 1px solid var(--c-line);
	background: var(--c-bg);
	color: var(--c-ink-mute);
}

.tools-sizing-zone--extra {
	background: var(--c-warning-bg);
	color: var(--c-warning-fg);
	border-color: rgb(202 138 4 / 0.3);
}

.tools-sizing-badge {
	display: inline-block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: var(--r-pill);
	padding: 1px var(--s-2);
	background: var(--c-success-bg);
	color: var(--c-success-fg);
	border: 1px solid rgb(21 128 61 / 0.25);
}

@media (max-width: 768px) {
	.tools-sizing-ladder,
	.tools-sizing-ladder tbody,
	.tools-sizing-ladder tr,
	.tools-sizing-ladder td { display: block; width: auto; }
	.tools-sizing-ladder thead { display: none; }
	.tools-sizing-ladder tr { border-bottom: 1px solid var(--c-line); padding: var(--s-3) 0; }
	.tools-sizing-ladder td { border-bottom: 0; padding: 0; }
}
