/* =========================================================================
   Binek Oto Kira Gider Kısıtlaması Hesaplama — Apple-style tasarım
   ========================================================================= */

.bokh-wrap {
	--bokh-bg: #f5f5f7;
	--bokh-card: #ffffff;
	--bokh-text: #1d1d1f;
	--bokh-secondary: #6e6e73;
	--bokh-accent: #0071e3;
	--bokh-accent-dark: #0058b9;
	--bokh-accept: #0071e3;
	--bokh-kkeg: #ff9500;
	--bokh-success: #34c759;
	--bokh-danger: #ff3b30;
	--bokh-divider: #d2d2d7;
	--bokh-radius: 18px;
	--bokh-radius-sm: 12px;
	--bokh-shadow: 0 2px 16px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);

	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
		"Helvetica Neue", Arial, sans-serif;
	background: var(--bokh-bg);
	color: var(--bokh-text);
	padding: 56px 20px;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

.bokh-wrap * {
	box-sizing: border-box;
}

.bokh-container {
	max-width: 680px;
	margin: 0 auto;
}

/* ---------- Header ---------- */

.bokh-header {
	text-align: center;
	margin-bottom: 36px;
}

.bokh-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bokh-accent);
	margin: 0 0 12px;
}

.bokh-title {
	font-size: 34px;
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin: 0 0 14px;
	color: var(--bokh-text);
}

.bokh-subtitle {
	font-size: 16px;
	line-height: 1.5;
	color: var(--bokh-secondary);
	max-width: 480px;
	margin: 0 auto;
}

/* ---------- Cards ---------- */

.bokh-card {
	background: var(--bokh-card);
	border-radius: var(--bokh-radius);
	box-shadow: var(--bokh-shadow);
	padding: 28px;
	margin-bottom: 20px;
}

.bokh-card-title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 4px;
}

.bokh-card-subtitle {
	font-size: 13px;
	color: var(--bokh-secondary);
	margin: 0 0 20px;
}

/* ---------- Inputs ---------- */

.bokh-field-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.bokh-field {
	display: flex;
	flex-direction: column;
}

.bokh-field label {
	font-size: 13px;
	font-weight: 600;
	color: var(--bokh-text);
	margin-bottom: 7px;
}

.bokh-field-hint {
	font-weight: 400;
	color: var(--bokh-secondary);
}

.bokh-field input {
	font-family: inherit;
	font-size: 16px;
	color: var(--bokh-text);
	background: var(--bokh-bg);
	border: 1px solid transparent;
	border-radius: var(--bokh-radius-sm);
	padding: 12px 14px;
	width: 100%;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.bokh-field input::placeholder {
	color: #aeaeb2;
}

.bokh-field input:focus {
	outline: none;
	border-color: var(--bokh-accent);
	box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.15);
	background: #ffffff;
}

.bokh-error {
	margin: 16px 0 0;
	font-size: 13px;
	color: var(--bokh-danger);
	font-weight: 600;
}

/* ---------- Result card ---------- */

.bokh-result-card {
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.bokh-result-card.bokh-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.bokh-result-card {
		transition: none;
		transform: none;
	}
}

.bokh-bar {
	display: flex;
	width: 100%;
	height: 14px;
	border-radius: 7px;
	overflow: hidden;
	background: #e8e8ed;
}

.bokh-bar-seg {
	height: 100%;
	transition: width 0.4s ease;
}

.bokh-bar-accept {
	background: var(--bokh-accept);
}

.bokh-bar-kkeg {
	background: var(--bokh-kkeg);
}

.bokh-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 16px;
}

.bokh-legend-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--bokh-secondary);
}

.bokh-legend-item strong {
	color: var(--bokh-text);
	font-weight: 600;
	margin-left: 2px;
}

.bokh-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
}

.bokh-dot-accept {
	background: var(--bokh-accept);
}

.bokh-dot-kkeg {
	background: var(--bokh-kkeg);
}

.bokh-divider {
	height: 1px;
	background: var(--bokh-divider);
	margin: 24px 0;
}

.bokh-detail-list {
	margin: 0;
}

.bokh-detail-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid #f0f0f2;
	font-size: 14.5px;
}

.bokh-detail-row:last-child {
	border-bottom: none;
}

.bokh-detail-row dt {
	color: var(--bokh-secondary);
}

.bokh-detail-row dd {
	margin: 0;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

.bokh-detail-strong dt {
	color: var(--bokh-text);
	font-weight: 600;
}

.bokh-detail-strong dd {
	font-size: 16px;
}

.bokh-banner {
	margin: 18px 0 0;
	padding: 12px 16px;
	border-radius: var(--bokh-radius-sm);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.45;
}

.bokh-banner-warning {
	background: rgba(255, 149, 0, 0.12);
	color: #9a5b00;
}

/* ---------- Fiş table ---------- */

.bokh-table-scroll {
	overflow-x: auto;
	border-radius: var(--bokh-radius-sm);
	border: 1px solid var(--bokh-divider);
}

.bokh-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	min-width: 520px;
}

.bokh-table th {
	text-align: left;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--bokh-secondary);
	background: #fafafa;
	padding: 10px 14px;
	border-bottom: 1px solid var(--bokh-divider);
}

.bokh-table td {
	padding: 11px 14px;
	border-bottom: 1px solid #f0f0f2;
	vertical-align: top;
}

.bokh-table tbody tr:last-child td {
	border-bottom: none;
}

.bokh-table .bokh-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.bokh-table-total td {
	font-weight: 700;
	background: #fafafa;
	border-top: 1px solid var(--bokh-divider);
	border-bottom: none;
}

.bokh-balance-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 16px 0 0;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
}

.bokh-balance-ok {
	background: rgba(52, 199, 89, 0.12);
	color: #1d7a35;
}

.bokh-balance-error {
	background: rgba(255, 59, 48, 0.12);
	color: #b3261e;
}

.bokh-fis-note {
	font-size: 12.5px;
	color: var(--bokh-secondary);
	line-height: 1.5;
	margin: 18px 0 0;
}

/* ---------- Footer ---------- */

.bokh-footer {
	text-align: center;
	padding: 8px 12px 0;
}

.bokh-footer p {
	font-size: 12px;
	line-height: 1.6;
	color: #aeaeb2;
	max-width: 520px;
	margin: 0 auto;
}

/* ---------- Responsive ---------- */

@media (max-width: 600px) {
	.bokh-wrap {
		padding: 36px 14px;
	}

	.bokh-title {
		font-size: 27px;
	}

	.bokh-card {
		padding: 20px;
	}

	.bokh-field-grid {
		grid-template-columns: 1fr;
	}

	.bokh-detail-row {
		font-size: 14px;
	}
}
