/* BLI Inventory Portal v0.7 */

/* The theme's accessibility skip-link is useful site-wide, but its
   theme positioning expects get_header(). Keep it from appearing visibly
   on this standalone application page. */
.bli-inventory-standalone .skip-link,
.bli-inventory-standalone .skip-to-content,
.bli-inventory-standalone a.skip-link,
.bli-inventory-standalone .screen-reader-text.skip-link {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	padding: 0 !important;
	margin: -1px !important;
}



.bli-inventory-standalone-page {
	min-height: 100vh;
	background: #fff;
}

.bli-inventory-logo {
	padding: 18px 20px 10px;
	text-align: center;
}

.bli-inventory-logo .custom-logo-link {
	display: inline-block;
}

.bli-inventory-logo .custom-logo {
	display: block;
	max-width: 220px;
	height: auto;
	margin: 0 auto;
}

.bli-inventory-content-area {
	padding-top: 20px;
	padding-bottom: 40px;
}

.bli-inventory-app {
	--bli-blue: #1f5fae;
	--bli-blue-dark: #174a89;
	--bli-maroon: #8a1538;
	--bli-red: #b42318;
	--bli-green: #18794e;
	--bli-border: #d9dee7;
	--bli-text: #1f2937;
	--bli-muted: #667085;
	--bli-white: #ffffff;

	box-sizing: border-box;
	width: 100%;
	color: var(--bli-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.bli-inventory-app *,
.bli-inventory-app *::before,
.bli-inventory-app *::after {
	box-sizing: border-box;
}

.bli-inventory-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 26px;
	background: var(--bli-blue);
	color: var(--bli-white);
	border-radius: 10px 10px 0 0;
}

.bli-inventory-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	opacity: 0.9;
}

.bli-inventory-header h1 {
	margin: 3px 0 0 !important;
	font-size: clamp(25px, 3vw, 34px) !important;
	line-height: 1.1;
	color: var(--bli-white) !important;
}

.bli-inventory-user {
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 14px;
	white-space: nowrap;
}

.bli-inventory-user a {
	color: var(--bli-white);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bli-inventory-controls {
	display: grid;
	grid-template-columns: minmax(280px, 2fr) repeat(6, minmax(135px, 1fr));
	gap: 14px;
	padding: 20px;
	background: var(--bli-white);
	border: 1px solid var(--bli-border);
	border-top: 0;
	box-shadow: 0 2px 8px rgba(16, 24, 40, 0.05);
}

.bli-inventory-search,
.bli-inventory-control {
	min-width: 0;
}

.bli-inventory-controls label {
	display: block;
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--bli-muted);
}

.bli-inventory-controls input,
.bli-inventory-controls select {
	display: block;
	width: 100%;
	height: 43px;
	padding: 0 12px;
	border: 1px solid #cbd2dc;
	border-radius: 7px;
	background: var(--bli-white);
	color: var(--bli-text);
	font-size: 14px;
	outline: none;
}

.bli-inventory-controls input:focus,
.bli-inventory-controls select:focus {
	border-color: var(--bli-blue);
	box-shadow: 0 0 0 3px rgba(31, 95, 174, 0.12);
}

.bli-inventory-discount-bar {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 20px;
	background: var(--bli-white);
	border: 1px solid var(--bli-border);
	border-top: 0;
}

.bli-inventory-discount-main {
	min-width: 0;
	flex: 1;
}

.bli-inventory-discount-fields {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	width: 100%;
}

.bli-inventory-discount-field {
	width: 112px;
	min-width: 112px;
	flex: 0 0 112px;
}

.bli-inventory-discount-field label {
	display: block;
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	color: var(--bli-muted);
}

.bli-inventory-percent-input {
	position: relative;
}

.bli-inventory-percent-input input {
	display: block;
	width: 72px;
	height: 38px;
	padding: 0 24px 0 10px;
	border: 1px solid #cbd2dc;
	border-radius: 7px;
	background: var(--bli-white);
	color: var(--bli-text);
	font-size: 13px;
	outline: none;
}

.bli-inventory-percent-input input:focus {
	border-color: var(--bli-blue);
	box-shadow: 0 0 0 3px rgba(31, 95, 174, 0.12);
}

.bli-inventory-percent-input span {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	color: var(--bli-muted);
	font-size: 13px;
	pointer-events: none;
}

.bli-inventory-discount-help {
	margin-top: 6px;
	font-size: 11px;
	line-height: 1.35;
	color: var(--bli-muted);
}

.bli-inventory-discount-message {
	min-height: 15px;
	margin-top: 4px;
	font-size: 11px;
	color: var(--bli-muted);
}

.bli-inventory-discount-message.is-success {
	color: #18794e;
}

.bli-inventory-discount-message.is-error {
	color: #b42318;
}

.bli-inventory-export-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
}

.bli-inventory-report-actions {
	display: grid;
	grid-template-columns: repeat(4, minmax(132px, 1fr));
	gap: 7px;
	width: 610px;
	flex: 0 0 610px;
}

.bli-inventory-report-button {
	appearance: none;
	border: 1px solid var(--bli-maroon);
	border-radius: 6px;
	min-height: 34px;
	padding: 6px 7px;
	background: var(--bli-maroon);
	color: var(--bli-white);
	font: inherit;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.15;
	cursor: pointer;
}

.bli-inventory-report-button[data-report$="-pdf"] {
	background: var(--bli-red);
	border-color: var(--bli-red);
}

.bli-inventory-report-button[data-report$="-excel"] {
	background: var(--bli-green);
	border-color: var(--bli-green);
}

.bli-inventory-report-button:hover:not(:disabled) {
	filter: brightness(0.92);
}

.bli-inventory-report-button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.bli-inventory-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 12px 4px;
	font-size: 13px;
	color: var(--bli-muted);
}

.bli-inventory-export {
	appearance: none;
	border: 1px solid var(--bli-maroon);
	border-radius: 7px;
	padding: 9px 15px;
	background: var(--bli-maroon);
	color: var(--bli-white);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.bli-inventory-export:hover:not(:disabled) {
	background: #6f102d;
	border-color: #6f102d;
}

.bli-inventory-export:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Frozen portal header.
   The complete portal header, filters, result count, and Export button are
   kept in their own element, completely separate from the inventory table.
   The table contains data rows only. */
.bli-inventory-frozen-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--bli-white);
}

body.admin-bar .bli-inventory-frozen-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .bli-inventory-frozen-header {
		top: 46px;
	}
}

.bli-inventory-frozen-header .bli-inventory-header {
	position: relative;
}

.bli-inventory-frozen-header .bli-inventory-summary {
	background: var(--bli-white);
}

.bli-inventory-column-header-viewport {
	width: 100%;
	overflow: hidden;
	background: var(--bli-blue);
	border: 1px solid var(--bli-blue);
	border-radius: 9px 9px 0 0;
}

.bli-inventory-column-header-track {
	display: grid;
	grid-template-columns: 70px 320px 120px 150px 85px 110px 140px 140px 100px 135px;
	min-width: 1370px;
	width: max-content;
	background: var(--bli-blue);
	color: var(--bli-white);
	font-size: 12px;
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
	transform: translateX(0);
	will-change: transform;
}

.bli-inventory-column-header-track > div {
	padding: 12px 10px;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* v0.8.5: measured text-only alignment correction.
   Column widths and the rendered header/table geometry are unchanged.
   The Product and Expected Delivery labels were the only left-aligned
   labels measurably offset by 1px in the supplied rendered screenshot. */
.bli-inventory-column-header-track > div:nth-child(2),
.bli-inventory-column-header-track > div:nth-child(4) {
	transform: translateX(-1px);
}

/* v0.8.6: Center the numeric header labels and their matching data values.
   Column widths and geometry are unchanged. */
.bli-inventory-column-header-track > div:nth-child(n+5) {
	text-align: center;
}

.bli-inventory-table-wrap {
	overflow-x: auto;
	background: var(--bli-white);
	border: 1px solid var(--bli-border);
	border-top: 0;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 2px 8px rgba(16, 24, 40, 0.05);
}

.bli-inventory-table {
	margin-left: -2px;
	width: 100%;
	min-width: 0;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 13px;
}

.bli-inventory-table td {
	padding: 11px 10px;
	border-top: 1px solid #edf0f4;
	vertical-align: middle;
	white-space: nowrap;
	background: var(--bli-white);
}

.bli-inventory-table tbody tr:hover td {
	background: #f8fafc;
}

.bli-inventory-sku {
	font-weight: 700;
	color: var(--bli-blue-dark);
}

.bli-inventory-product {
	overflow: hidden;
	text-overflow: ellipsis;
}

.bli-inventory-number,
.bli-inventory-money,
.bli-inventory-percentage {
	text-align: center;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

.bli-inventory-percentage {
	font-weight: 700;
}

/* Project grouping headers */
.bli-inventory-project-header td { padding: 10px 12px; background: #eaf2fa; color: #1f5fae; font-weight: 700; font-size: 15px; position: relative; z-index: 1; border-top: 2px solid #1f5fae; border-bottom: 1px solid #c9d9ea; }

.bli-inventory-empty-row td,
.bli-inventory-placeholder-row td {
	padding: 50px 25px;
	text-align: center;
	white-space: normal;
}

.bli-inventory-placeholder {
	max-width: 650px;
	margin: 0 auto;
	color: var(--bli-muted);
}

.bli-inventory-placeholder strong {
	display: block;
	margin-bottom: 8px;
	color: var(--bli-text);
	font-size: 16px;
}

.bli-inventory-placeholder code {
	display: inline-block;
	margin-top: 8px;
	padding: 6px 9px;
	background: #f0f2f5;
	border-radius: 5px;
	font-size: 12px;
}

.bli-inventory-login-required {
	max-width: 560px;
	margin: 40px auto;
	padding: 35px;
	text-align: center;
	background: var(--bli-white);
	border: 1px solid var(--bli-border);
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(16, 24, 40, 0.06);
}

.bli-inventory-login-required h2 {
	margin-top: 0;
}

.bli-inventory-button {
	display: inline-block;
	padding: 11px 20px;
	background: var(--bli-blue);
	color: var(--bli-white);
	border-radius: 7px;
	text-decoration: none;
	font-weight: 700;
}

.bli-inventory-banner .container {
	text-align: center;
}

.bli-inventory-banner .container a {
	margin: 0 8px;
}

@media (max-width: 1200px) {
	.bli-inventory-discount-bar {
		align-items: flex-start;
		flex-direction: column;
	}

	.bli-inventory-discount-main {
		width: 100%;
	}

	.bli-inventory-export-actions {
		width: 100%;
		justify-content: flex-end;
	}
}

@media (max-width: 1100px) {
	.bli-inventory-controls {
		grid-template-columns: repeat(2, minmax(180px, 1fr));
	}

	.bli-inventory-search {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.bli-inventory-logo {
		padding-top: 12px;
	}

	.bli-inventory-logo .custom-logo {
		max-width: 180px;
	}

	.bli-inventory-content-area {
		padding-top: 15px;
	}

	.bli-inventory-header {
		align-items: flex-start;
		flex-direction: column;
		padding: 20px;
	}

	.bli-inventory-user {
		width: 100%;
		justify-content: space-between;
	}

	.bli-inventory-controls {
		grid-template-columns: 1fr;
		padding: 15px;
	}

	.bli-inventory-search {
		grid-column: auto;
	}

	.bli-inventory-table {
		min-width: 1050px;
	}
}


/* Custom per-SKU accessory discounts. */
.bli-inventory-custom-discounts {
	padding: 10px 20px 14px;
	background: var(--bli-white);
	border: 1px solid var(--bli-border);
	border-top: 0;
}

.bli-inventory-custom-discount-heading {
	font-size: 12px;
	font-weight: 700;
	color: var(--bli-text);
	margin-bottom: 3px;
}

.bli-inventory-custom-discount-help {
	font-size: 11px;
	line-height: 1.35;
	color: var(--bli-muted);
	margin-bottom: 9px;
}

.bli-inventory-custom-discount-form {
	display: flex;
	align-items: flex-end;
	gap: 10px;
}

.bli-inventory-custom-discount-field {
	width: 112px;
	min-width: 112px;
}

.bli-inventory-custom-sku-field {
	width: 150px;
	min-width: 150px;
}

.bli-inventory-custom-discount-field label {
	display: block;
	margin: 0 0 5px;
	font-size: 11px;
	font-weight: 700;
	color: var(--bli-muted);
}

.bli-inventory-custom-sku-field input {
	display: block;
	width: 100%;
	height: 34px;
	padding: 0 9px;
	border: 1px solid #cbd2dc;
	border-radius: 7px;
	background: var(--bli-white);
	color: var(--bli-text);
	font-size: 13px;
	box-sizing: border-box;
}

.bli-inventory-custom-discount-form .bli-inventory-percent-input input {
	height: 34px;
}

.bli-inventory-custom-discount-list {
	margin-top: 10px;
	max-width: 650px;
}

.bli-inventory-custom-discount-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 11px;
}

.bli-inventory-custom-discount-table th,
.bli-inventory-custom-discount-table td {
	padding: 6px 8px;
	border: 1px solid var(--bli-border);
	text-align: left;
}

.bli-inventory-custom-discount-table th {
	font-weight: 700;
	background: var(--bli-light-blue);
}

.bli-inventory-custom-discount-table td:nth-child(2),
.bli-inventory-custom-discount-table td:nth-child(3),
.bli-inventory-custom-discount-table th:nth-child(2),
.bli-inventory-custom-discount-table th:nth-child(3) {
	text-align: center;
}

.bli-inventory-custom-remove {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--bli-blue);
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
}

.bli-inventory-custom-remove:hover {
	text-decoration: underline;
}

.bli-inventory-custom-discount-empty {
	font-size: 11px;
	color: var(--bli-muted);
}

@media (max-width: 700px) {
	.bli-inventory-custom-discount-form {
		align-items: flex-start;
		flex-wrap: wrap;
	}
}

/* v0.8.25: dark-blue accordion bars and compact right-aligned current-view export. */
.bli-inventory-accordion {
	border: 1px solid var(--bli-border);
	border-top: 0;
	background: var(--bli-white);
}

.bli-inventory-accordion-toggle {
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 36px;
	padding: 7px 14px;
	border: 0;
	background: #1f5fae !important;
	color: var(--bli-white);
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.bli-inventory-accordion-toggle:hover {
	background: #eaf2fa;
	color: var(--bli-blue-dark);
}

.bli-inventory-accordion-icon {
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	color: inherit;
}

.bli-inventory-accordion-toggle:hover .bli-inventory-accordion-icon {
	color: var(--bli-blue-dark);
}

.bli-inventory-accordion-panel {
	border-top: 1px solid var(--bli-border);
}

.bli-inventory-accordion-panel[hidden] {
	display: none;
}

.bli-inventory-accordion-panel .bli-inventory-report-actions {
	width: 100%;
	max-width: none;
	padding: 12px 14px;
}

.bli-inventory-current-export-row {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 8px 14px;
	border: 1px solid var(--bli-border);
	border-top: 0;
	background: var(--bli-white);
}

.bli-inventory-current-export-button {
	width: auto;
	min-width: 115px;
	background: var(--bli-green) !important;
	border-color: var(--bli-green) !important;
}

.bli-inventory-current-export-button:hover:not(:disabled) {
	background: #12613e !important;
	border-color: #12613e !important;
}

.bli-inventory-header {
	padding: 12px 20px;
}

.bli-inventory-kicker {
	font-size: 10px;
}

.bli-inventory-header h1 {
	font-size: clamp(23px, 2.5vw, 29px) !important;
	line-height: 1.05;
}


.bli-inventory-update-now-button {
	margin-left: 8px;
}

.bli-inventory-update-now-message {
	margin-left: 10px;
	font-size: 13px;
	font-weight: 600;
	vertical-align: middle;
}

.bli-inventory-update-now-message.is-success {
	color: #1f6f43;
}

.bli-inventory-update-now-message.is-error {
	color: #b42318;
}


/* Available Now column visibility; compact arrow control lives in the frozen header. */
.bli-inventory-column-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	margin-left: 4px;
	padding: 0;
	border: 1px solid #aeb6c2;
	border-radius: 3px;
	background: #e6e9ee;
	color: #263445;
	font: 700 12px/1 Arial, sans-serif;
	cursor: pointer;
	vertical-align: middle;
}
.bli-inventory-column-toggle:hover,
.bli-inventory-column-toggle:focus-visible {
	background: #d2d8e1;
	border-color: #8793a3;
}
.bli-inventory-app.bli-hide-available-now #bli-inventory-colgroup > col:nth-child(7),
.bli-inventory-app.bli-hide-available-now .bli-inventory-table tbody tr:not(.bli-inventory-project-header):not(.bli-inventory-empty-row) > td:nth-child(7),
.bli-inventory-app.bli-hide-available-now #bli-inventory-column-header-track > div:nth-child(7) {
	display: none !important;
}
.bli-inventory-app.bli-hide-available-now #bli-inventory-column-header-track .bli-available-now-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
}
.bli-inventory-app:not(.bli-hide-available-now) #bli-inventory-column-header-track .bli-available-now-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
}


/* Match Joe Grubba's Left To Sell conditional formatting. */
.bli-inventory-table td.bli-left-to-sell-incomplete {
	background-color: #ffc7ce !important;
	color: #9c0006 !important;
}
.bli-inventory-table td.bli-left-to-sell-complete {
	background-color: #c6efce !important;
	color: #006100 !important;
}


/* v0.8.40: align all 11 frozen headers to the rendered table columns and wrap long labels. */
.bli-inventory-column-header-track {
	box-sizing: border-box;
	grid-template-columns: 70px minmax(320px, 1fr) 120px 150px 85px 110px 155px 140px 140px 100px 135px;
	grid-auto-flow: row;
	align-items: stretch;
	white-space: normal !important;
}
.bli-inventory-column-header-track > div {
	box-sizing: border-box;
	min-width: 0;
	height: auto;
	min-height: 40px;
	padding: 9px 8px;
	white-space: normal !important;
	overflow: visible;
	text-overflow: clip;
	overflow-wrap: anywhere;
	word-break: normal;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.bli-inventory-column-header-track > div:nth-child(2),
.bli-inventory-column-header-track > div:nth-child(4) {
	justify-content: flex-start;
	text-align: left;
}


/* v0.8.43: explicit neutral override for Left To Sell color exceptions. */
.bli-inventory-table td.bli-left-to-sell-neutral {
	background-color: transparent !important;
	color: inherit !important;
}
