:root {
	--huk-red: #d71920;
	--huk-red-dark: #b70d14;
	--huk-black: #15171a;
	--huk-gray-900: #2b2f33;
	--huk-gray-600: #687078;
	--huk-gray-300: #dfe3e7;
	--huk-gray-100: #f5f6f7;
	--huk-white: #fff;
	--huk-green: #137a42;
	--huk-blue: #1b5ea8;
	--huk-radius: 14px;
	--huk-shadow: 0 16px 48px rgba(20, 25, 30, .09);
}

.huk-app,
.huk-login-box {
	box-sizing: border-box;
	width: 100%;
	max-width: 1460px;
	margin: 28px auto !important;
	padding: clamp(18px, 2.4vw, 34px);
	border: 1px solid var(--huk-gray-300);
	border-radius: 20px;
	background: var(--huk-white);
	box-shadow: var(--huk-shadow);
	color: var(--huk-black);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.huk-login-box {
	max-width: 520px;
}

.huk-app {
	position: relative;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	overflow: visible;
}

.huk-app *,
.huk-login-box * {
	box-sizing: border-box;
}

.huk-app button,
.huk-app input,
.huk-app select,
.huk-app textarea {
	max-width: 100%;
}

.huk-app-header,
.huk-section-heading,
.huk-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 26px;
}

.huk-app h1,
.huk-app h2,
.huk-login-box h2 {
	margin: 4px 0 8px;
	color: var(--huk-black);
	line-height: 1.15;
}

.huk-app h1 {
	font-size: clamp(32px, 5vw, 48px);
}

.huk-app h2 {
	font-size: clamp(22px, 2.2vw, 30px);
}

.huk-app p,
.huk-login-box p {
	margin: 6px 0;
}

.huk-app a {
	color: var(--huk-red);
}

.huk-eyebrow,
.huk-step-number {
	display: inline-block;
	color: var(--huk-red);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.huk-header-actions,
.huk-result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.huk-button {
	min-height: 46px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: 9px;
	cursor: pointer;
	font: inherit;
	font-weight: 750;
	transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.huk-button:hover {
	transform: translateY(-1px);
}

.huk-button:disabled {
	cursor: not-allowed;
	opacity: .5;
	transform: none;
}

.huk-button-primary {
	background: var(--huk-red);
	color: var(--huk-white) !important;
}

.huk-button-primary:hover {
	background: var(--huk-red-dark);
}

.huk-button-secondary {
	border-color: var(--huk-gray-300);
	background: var(--huk-white);
	color: var(--huk-black);
}

.huk-calculator-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(310px, .85fr);
	gap: 24px;
	align-items: start;
}

.huk-form-sections {
	display: grid;
	gap: 18px;
}

.huk-form-section {
	padding: clamp(20px, 2.5vw, 30px);
	border: 1px solid var(--huk-gray-300);
	border-radius: var(--huk-radius);
	background: var(--huk-gray-100);
	transition: opacity .18s ease, border-color .18s ease;
}

.huk-form-section-model {
	border-top: 4px solid var(--huk-red);
	background: var(--huk-white);
}

.huk-form-section.is-disabled {
	opacity: .48;
	pointer-events: none;
}

.huk-model-select-grid,
.huk-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.huk-model-select-grid {
	margin-top: 12px;
}

.huk-field-wide {
	grid-column: 1 / -1;
}

.huk-selected-model {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px 24px;
	margin-top: 18px;
	padding: 16px;
	border-left: 4px solid var(--huk-red);
	border-radius: 8px;
	background: #fff5f5;
}

.huk-selected-model strong {
	font-size: 18px;
}

.huk-selected-model b {
	font-size: 22px;
}

.huk-choice-grid,
.huk-check-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
}

.huk-choice-grid-compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.huk-choice,
.huk-check-card {
	position: relative;
	display: block;
}

.huk-choice input,
.huk-check-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.huk-choice span,
.huk-check-card span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 78px;
	padding: 15px;
	border: 2px solid var(--huk-gray-300);
	border-radius: 12px;
	background: var(--huk-white);
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.huk-choice input:checked + span,
.huk-check-card input:checked + span {
	border-color: var(--huk-red);
	box-shadow: 0 0 0 3px rgba(215, 25, 32, .09);
}

.huk-choice strong,
.huk-check-card strong {
	font-size: 16px;
}

.huk-choice small,
.huk-check-card small,
.huk-field small,
.huk-muted,
.huk-tax-note,
.huk-summary-panel > small {
	color: var(--huk-gray-600);
}

.huk-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 14px 0;
}

.huk-field label,
.huk-field > span {
	font-weight: 750;
}

.huk-field input,
.huk-field select,
.huk-field textarea,
.huk-section-heading input,
.huk-login-box input[type="text"],
.huk-login-box input[type="password"] {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid var(--huk-gray-300);
	border-radius: 8px;
	background: var(--huk-white);
	color: var(--huk-black);
	font: inherit;
}

.huk-field select:disabled {
	background: #eceff1;
}

.huk-field textarea {
	resize: vertical;
}

.huk-inline-check {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 18px 0;
	font-weight: 750;
}

.huk-factory-box {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid #bfd3ea;
	border-radius: 12px;
	background: #f6faff;
}

.huk-alert {
	margin: 12px 0 18px;
	padding: 14px 16px;
	border-left: 4px solid var(--huk-gray-600);
	border-radius: 6px;
	background: var(--huk-gray-100);
}

.huk-alert-success {
	border-color: var(--huk-green);
	background: #edf8f2;
}

.huk-alert-error {
	border-color: var(--huk-red);
	background: #fff0f1;
}

.huk-alert-info {
	border-color: var(--huk-blue);
	background: #eaf3ff;
}

.huk-summary-panel {
	position: sticky;
	top: 28px;
	padding: 22px;
	border: 1px solid var(--huk-gray-300);
	border-top: 4px solid var(--huk-red);
	border-radius: var(--huk-radius);
	background: var(--huk-white);
	box-shadow: 0 10px 30px rgba(20, 25, 30, .08);
}

.huk-summary-panel .huk-preview {
	min-height: 190px;
	margin: 12px 0 16px;
	padding: 0;
	border: 0;
	background: transparent;
}

.huk-summary-panel .huk-button {
	width: 100%;
	margin: 12px 0 8px;
}

.huk-preview,
.huk-result {
	margin-top: 22px;
	padding: 22px;
	border: 1px solid var(--huk-gray-300);
	border-radius: 12px;
	background: var(--huk-white);
}

.huk-summary-table {
	width: 100%;
	border-collapse: collapse;
}

.huk-summary-table td {
	padding: 9px 0;
	border-bottom: 1px solid var(--huk-gray-300);
}

.huk-summary-table td:last-child {
	text-align: right;
	font-weight: 700;
}

.huk-summary-table .is-negative {
	color: var(--huk-red);
}

.huk-total-row,
.huk-result-price {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 0 8px;
	font-size: 18px;
}

.huk-total-row strong,
.huk-result-price strong {
	font-size: clamp(24px, 4vw, 34px);
}

.huk-payable,
.huk-result-price.is-secondary {
	color: var(--huk-red);
}

.huk-result {
	padding: clamp(24px, 5vw, 48px);
}

.huk-result-actions {
	margin-top: 24px;
}

.huk-send-panel {
	margin-top: 24px;
	padding: 18px;
	border: 1px solid var(--huk-gray-300);
	border-radius: 12px;
	background: var(--huk-gray-100);
}

.huk-send-panel > label {
	display: block;
	margin-bottom: 8px;
	font-weight: 750;
}

.huk-send-row {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	gap: 10px;
	align-items: stretch;
}

.huk-send-row input {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid var(--huk-gray-300);
	border-radius: 8px;
	background: var(--huk-white);
	color: var(--huk-black);
	font: inherit;
}

.huk-result-message {
	margin-top: 12px;
	padding: 11px 13px;
	border-left: 4px solid var(--huk-gray-600);
	border-radius: 6px;
	background: var(--huk-white);
}

.huk-result-message-success {
	border-color: var(--huk-green);
	background: #edf8f2;
}

.huk-result-message-error {
	border-color: var(--huk-red);
	background: #fff0f1;
}

.huk-result-message-progress {
	border-color: var(--huk-blue);
	background: #eaf3ff;
}

.huk-section-heading input {
	max-width: 420px;
}

.huk-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--huk-gray-300);
	border-radius: 12px;
}

.huk-inventory-table {
	width: 100%;
	min-width: 850px;
	border-collapse: collapse;
}

.huk-inventory-table th,
.huk-inventory-table td {
	padding: 14px;
	border-bottom: 1px solid var(--huk-gray-300);
	text-align: left;
	vertical-align: top;
}

.huk-inventory-table th {
	background: var(--huk-gray-100);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.huk-stock-status {
	display: inline-flex;
	padding: 4px 8px;
	border-radius: 20px;
	background: var(--huk-gray-100);
	font-size: 12px;
	font-weight: 800;
}

.huk-stock-available { background: #e5f7ed; color: var(--huk-green); }
.huk-stock-reserved { background: #fff0f1; color: var(--huk-red); }
.huk-stock-incoming { background: #eaf3ff; color: var(--huk-blue); }
.huk-stock-test,
.huk-stock-self_registered { background: #fff5dc; color: #815f00; }

.huk-expiry-warning {
	color: var(--huk-red);
	font-weight: 800;
}

.huk-toast {
	position: fixed;
	z-index: 99999;
	right: 24px;
	bottom: 24px;
	max-width: 420px;
	padding: 15px 18px;
	border-radius: 9px;
	background: var(--huk-black);
	box-shadow: var(--huk-shadow);
	color: var(--huk-white);
	font-weight: 700;
}

.huk-toast-error { background: var(--huk-red-dark); }
.huk-toast-success { background: var(--huk-green); }
.huk-hidden { display: none !important; }

@media (max-width: 1050px) {
	.huk-calculator-layout {
		grid-template-columns: 1fr;
	}

	.huk-summary-panel {
		position: static;
		order: -1;
	}
}

@media (max-width: 720px) {
	.huk-app,
	.huk-login-box {
		width: calc(100% - 16px);
		margin: 8px auto !important;
		padding: 16px;
		border-radius: 14px;
	}

	.huk-app-header,
	.huk-section-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.huk-choice-grid,
	.huk-check-list,
	.huk-form-grid,
	.huk-model-select-grid,
	.huk-choice-grid-compact {
		grid-template-columns: 1fr;
	}

	.huk-field-wide {
		grid-column: auto;
	}

	.huk-selected-model {
		grid-template-columns: 1fr;
	}

	.huk-send-row {
		grid-template-columns: 1fr;
	}

	.huk-button {
		width: 100%;
	}

	.huk-header-actions,
	.huk-result-actions {
		width: 100%;
	}

	.huk-total-row,
	.huk-result-price {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}
}
