/* =====================================================================
   POS / Dekont — masa ızgarası + tam ekran adisyon modal
   Dokunmatik dostu: büyük butonlar, net renk kodları, hızlı erişim.
   ===================================================================== */

.ulu-pos-wrap { max-width: 100%; padding-right: 20px; }

/* =====================================================================
   GARSON SİPARİŞ MODU — [ulu-garson-siparis] talep alarm paneli
   ===================================================================== */
.ulu-waiter-alerts {
	background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
	color: #fff;
	margin: 0;
	padding: 0;
	box-shadow: 0 4px 12px rgba(220, 38, 38, .35);
	animation: ulu-waiter-pulse 1.5s ease-in-out infinite;
}
@keyframes ulu-waiter-pulse {
	0%, 100% { box-shadow: 0 4px 12px rgba(220, 38, 38, .35); }
	50%      { box-shadow: 0 6px 24px rgba(220, 38, 38, .65); }
}
.ulu-waiter-alerts-head {
	padding: 10px 16px;
	display: flex; align-items: center; justify-content: space-between;
	font-size: 13px; font-weight: 700;
	border-bottom: 1px solid rgba(255,255,255,.18);
}
.ulu-waiter-alerts-head strong { letter-spacing: .05em; }
.ulu-waiter-alerts-head #ulu-waiter-alerts-count {
	background: #fff; color: #b91c1c;
	padding: 2px 9px; border-radius: 999px;
	font-weight: 800; margin-left: 8px;
}
.ulu-waiter-alerts-list {
	display: grid; gap: 8px;
	padding: 10px 16px 14px;
}
.ulu-waiter-alert-row {
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 10px;
	padding: 10px 12px;
	display: flex; align-items: center; justify-content: space-between;
	gap: 10px;
}
.ulu-waiter-alert-row .meta {
	display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
}
.ulu-waiter-alert-row .masa { font-size: 18px; }
.ulu-waiter-alert-row .masa strong { color: #fde68a; }
.ulu-waiter-alert-row .type { font-weight: 700; }
.ulu-waiter-alert-row .time { font-size: 11px; opacity: .75; }
.ulu-waiter-alert-row .ulu-alert-done {
	background: #fff; color: #b91c1c;
	border: none; border-radius: 8px;
	padding: 9px 14px;
	font-weight: 800; cursor: pointer;
	display: inline-flex; align-items: center; gap: 6px;
	white-space: nowrap;
	transition: transform .12s, background .12s;
}
.ulu-waiter-alert-row .ulu-alert-done:hover { background: #fde68a; transform: scale(1.02); }
.ulu-waiter-alert-row .ulu-alert-done:disabled { opacity: .6; cursor: not-allowed; }

@media (max-width: 600px) {
	.ulu-waiter-alert-row { flex-direction: column; align-items: stretch; }
	.ulu-waiter-alert-row .meta { justify-content: space-between; }
	.ulu-waiter-alert-row .ulu-alert-done { width: 100%; justify-content: center; padding: 12px; }
}

/* Garson modunda hesap kapatma + aktarma butonları görünmesin (yetki yok zaten ama UI temizliği) */
.ulu-garson-siparis-mode #ulu-pos-btn-transfer,
.ulu-garson-siparis-mode #ulu-pos-btn-close-bill,
.ulu-garson-siparis-mode #ulu-pos-btn-split,
.ulu-garson-siparis-mode #ulu-pos-btn-cancel-all { display: none !important; }

/* =====================================================================
   FRONTEND KASA — [ulu_kasa] tam ekran POS
   position: fixed ile temayı tamamen örteriz. Header/footer/sidebar
   altta kalır ama görünmez; istenirse "Çıkış" → reload → login form.
   ===================================================================== */
.ulu-kasa-frontend {
	position: fixed;
	inset: 0;
	z-index: 99998; /* WP admin bar 99999'un altında, her şeyin üstünde */
	background: #f1f5f9;
	overflow-y: auto;
	overflow-x: hidden;
	font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
	color: #0f172a;
	padding: 0;
	margin: 0;
}
body.ulu-kasa-takeover { overflow: hidden !important; }
body.ulu-kasa-takeover #wpadminbar { z-index: 99997; opacity: .25; transition: opacity .2s; }
body.ulu-kasa-takeover #wpadminbar:hover { opacity: 1; }

/* Login form da tam ekran */
.ulu-kasa-login-fullscreen {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	overflow-y: auto;
}

.ulu-kasa-frontend .wrap,
.ulu-kasa-frontend .ulu-pos-wrap {
	max-width: none;
	padding: 0 14px 14px;
	margin: 0;
}
/* Topbar zaten her şeyi söylüyor — frontend'de h1 + description gereksiz yer kaplar. */
.ulu-kasa-frontend > .wrap > h1,
.ulu-kasa-frontend > .wrap > p.description,
.ulu-kasa-frontend .ulu-pos-wrap > h1,
.ulu-kasa-frontend .ulu-pos-wrap > p.description {
	display: none;
}
.ulu-kasa-frontend .ulu-pos-stats {
	margin-top: 12px;
}

/* Tema unsurları kasa tam ekran modunda görünmesin (zaten z-index'le örtüldü
   ama bazı tema overlay'leri için extra güvence) */
body.ulu-kasa-takeover .entry-title,
body.ulu-kasa-takeover .page-title,
body.ulu-kasa-takeover .wp-block-post-title { display: none !important; }

/* =====================================================================
   MOBİL RESPONSIVE — < 768px
   ===================================================================== */
@media (max-width: 768px) {
	.ulu-pos-wrap { padding-right: 0; }
	.ulu-pos-stats { gap: 6px; margin: 10px 0; }
	.ulu-pos-stat {
		flex: 1 1 calc(50% - 4px); min-width: 0;
		padding: 8px 10px;
	}
	.ulu-pos-stat strong { font-size: 18px; }
	.ulu-pos-stat small { font-size: 10px; }

	.ulu-pos-grid {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
		gap: 6px;
	}
	.ulu-pos-tile {
		min-height: 80px; padding: 14px 8px;
	}
	.ulu-pos-tile .tile-no { font-size: 18px; }
	.ulu-pos-tile .tile-waiter { font-size: 10px; }
	.ulu-pos-tile .tile-total { font-size: 13px; }

	.ulu-pos-legend { font-size: 11px; gap: 10px; }
}

/* Adisyon modali — mobilde tam ekran 1 sütun */
@media (max-width: 760px) {
	#ulu-pos-modal .ulu-pos-modal-body {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
	}
	.ulu-pos-cats-col {
		flex-direction: row; flex-wrap: nowrap; overflow-x: auto;
		max-height: 56px; padding: 6px;
		border-right: none; border-bottom: 1px solid #e5e7eb;
	}
	.ulu-pos-cat-btn {
		flex: 0 0 auto; min-height: 44px; padding: 8px 12px;
		font-size: 12px; white-space: nowrap;
	}
	.ulu-pos-products-col {
		max-height: 35vh; padding: 8px;
	}
	.ulu-pos-products-grid {
		grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
		gap: 6px;
	}
	.ulu-pos-product { padding: 8px 6px; min-height: 60px; }
	.ulu-pos-product .name { font-size: 12px; }
	.ulu-pos-product .price { font-size: 11px; }

	.ulu-pos-bill-col { border-left: none; border-top: 1px solid #e5e7eb; }

	.ulu-pos-modal-head {
		padding: 8px 10px;
	}
	.ulu-pos-modal-head h2 { font-size: 15px; }
	.ulu-pos-head-meta {
		font-size: 11px; gap: 4px;
	}
	.ulu-pos-head-meta .pill {
		padding: 4px 8px; font-size: 11px;
	}
	.ulu-pos-head-meta input[type="number"] { width: 44px; padding: 2px 4px; }
	.ulu-pos-x { padding: 4px 10px; font-size: 13px; }
	.ulu-pos-x span, .ulu-pos-x ~ span { display: none; }

	.ulu-pos-bill-actions {
		grid-template-columns: 1fr 1fr;
	}
	.ulu-pos-bill-actions .ulu-pos-action-btn { padding: 10px 4px; font-size: 11px; }
	.ulu-pos-bill-actions .ulu-pos-action-btn.primary { font-size: 13px; padding: 12px; }

	.ulu-pos-line { grid-template-columns: 1fr auto; padding: 6px 8px; }
	.ulu-pos-line .qty-controls { grid-column: 1 / -1; justify-content: space-between; }
	.ulu-pos-line .price-total { grid-column: 2; align-self: start; }

	.ulu-pos-modal.is-small .ulu-pos-modal-box { width: 96vw; max-height: 92vh; }
	.ulu-pos-pay-methods { grid-template-columns: 1fr 1fr; gap: 6px; }
	.ulu-pos-pay-methods label { padding: 8px; font-size: 12px; }
	.ulu-pos-pay-mixed, .ulu-pos-pay-extra { grid-template-columns: 1fr 1fr; gap: 6px; }
}

/* =====================================================================
   Üst sayaç bar
   ===================================================================== */
.ulu-pos-stats {
	display: flex; gap: 12px; margin: 14px 0 18px; flex-wrap: wrap;
}
.ulu-pos-stat {
	flex: 1 1 160px; min-width: 160px;
	background: #fff; border-radius: 10px; padding: 12px 16px;
	box-shadow: 0 1px 2px rgba(0,0,0,.04); border: 1px solid #e5e7eb;
	display: flex; flex-direction: column; gap: 2px;
}
.ulu-pos-stat strong { font-size: 26px; line-height: 1; font-weight: 800; }
.ulu-pos-stat small { color: #64748b; font-size: 12px; }
.ulu-pos-stat-busy strong     { color: #dc2626; }
.ulu-pos-stat-free strong     { color: #16a34a; }
.ulu-pos-stat-inactive strong { color: #6b7280; }
.ulu-pos-stat-revenue strong  { color: #f59e0b; }
.ulu-pos-stat-reserved strong { color: #b45309; }

/* =====================================================================
   Masa Konumları (Zones) — filtre çubuğu
   ===================================================================== */
.ulu-pos-zone-bar {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin: 8px 0 14px;
	padding: 4px 0;
}
.ulu-pos-zone-pill {
	background: #fff;
	color: #b91c1c;
	border: 2px solid #dc2626;
	border-radius: 10px;
	padding: 9px 18px;
	font-size: 13px; font-weight: 800;
	cursor: pointer;
	font-family: inherit;
	display: inline-flex; align-items: center; gap: 6px;
	transition: all .15s;
	letter-spacing: .03em;
	text-transform: uppercase;
	min-height: 40px;
	min-width: 90px;
	justify-content: center;
}
.ulu-pos-zone-pill:hover {
	background: #fee2e2;
	transform: translateY(-1px);
}
.ulu-pos-zone-pill.is-active {
	background: #dc2626;
	color: #fff;
	box-shadow: 0 4px 12px rgba(220,38,38,.35);
}
.ulu-pos-zone-pill.is-active:hover { background: #b91c1c; }
.ulu-pos-zone-pill i { font-size: 12px; }
.ulu-pos-zone-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 22px; height: 20px;
	padding: 0 6px;
	background: rgba(0,0,0,.08); color: inherit;
	border-radius: 999px;
	font-size: 11px; font-weight: 800;
	margin-left: 4px;
}
.ulu-pos-zone-pill.is-active .ulu-pos-zone-count {
	background: rgba(255,255,255,.28); color: #fff;
}
.ulu-pos-zone-pill-unassigned {
	border-color: #94a3b8 !important;
	color: #475569 !important;
}
.ulu-pos-zone-pill-unassigned.is-active {
	background: #475569 !important; color: #fff !important;
}

/* Filtre uygulanmışken aktif zone dışındaki tile'ları gizle.
   JS, her tile'a is-zone-match class'ı ekleyip çıkarıyor. Bu yaklaşım CSS
   parent-child attribute eşleşmesi yapamadığı için seçildi. */
.ulu-pos-grid[data-active-zone]:not([data-active-zone=""]) .ulu-pos-tile { display: none !important; }
.ulu-pos-grid[data-active-zone]:not([data-active-zone=""]) .ulu-pos-tile.is-zone-match { display: flex !important; }

@media (max-width: 480px) {
	.ulu-pos-zone-bar { gap: 5px; margin: 6px 0 10px; }
	.ulu-pos-zone-pill {
		padding: 7px 12px; font-size: 11px;
		min-width: 70px; min-height: 36px;
	}
}

/* =====================================================================
   Masa ızgarası
   ===================================================================== */
.ulu-pos-grid {
	display: grid; gap: 10px;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	margin-bottom: 16px;
}
.ulu-pos-loading { padding: 24px; text-align: center; color: #6b7280; grid-column: 1 / -1; }

.ulu-pos-tile {
	border: none; cursor: pointer; padding: 22px 14px;
	border-radius: 12px; min-height: 110px; position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 4px; font-family: inherit;
	transition: transform .12s, box-shadow .12s, filter .12s;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
	color: #0f172a; font-weight: 600; text-align: center;
	user-select: none;
}
.ulu-pos-tile * { pointer-events: none; }  /* Tıklamayı tile'a delege et */
.ulu-pos-tile:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,.12); filter: brightness(1.05); }
.ulu-pos-tile:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.ulu-pos-tile:disabled,
.ulu-pos-tile.is-inactive { cursor: not-allowed; opacity: .55; transform: none !important; }

.ulu-pos-tile .tile-no    { font-size: 22px; font-weight: 800; }
.ulu-pos-tile .tile-waiter{ font-size: 11px; opacity: .85; font-weight: 500; }
.ulu-pos-tile .tile-total { font-size: 15px; font-weight: 800; margin-top: 4px; }

.ulu-pos-tile.is-empty    { background: #5eead4; color: #0f3a37; }
.ulu-pos-tile.is-busy     { background: #fca5a5; color: #5b0a0a; }
.ulu-pos-tile.is-reserved { background: #fde68a; color: #78350f; }
.ulu-pos-tile.is-busy::before {
	content: ''; position: absolute; top: 6px; right: 6px;
	width: 8px; height: 8px; border-radius: 50%; background: #dc2626;
	animation: ulu-pulse 1.5s infinite;
	pointer-events: none;
}
.ulu-pos-tile.is-reserved::before {
	content: '\f017'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
	position: absolute; top: 6px; right: 8px;
	font-size: 11px; color: #b45309;
	pointer-events: none;
}
.ulu-pos-tile.is-inactive { background: #e5e7eb; color: #475569; }
.ulu-pos-tile .tile-resv-time {
	font-size: 12px; font-weight: 700; color: #92400e;
	display: flex; align-items: center; gap: 4px; margin-top: 2px;
}
@keyframes ulu-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .35; }
}

.ulu-pos-legend { display: flex; gap: 16px; font-size: 13px; color: #475569; padding: 8px 4px; flex-wrap: wrap; }
.ulu-pos-legend .dot { display: inline-block; width: 14px; height: 14px; border-radius: 4px; margin-right: 4px; vertical-align: middle; }
.ulu-pos-legend .dot-empty    { background: #5eead4; }
.ulu-pos-legend .dot-busy     { background: #fca5a5; }
.ulu-pos-legend .dot-inactive { background: #e5e7eb; }

/* =====================================================================
   FULL-SCREEN ADISYON MODAL — POS programı hissi
   ===================================================================== */
.ulu-pos-modal {
	position: fixed; inset: 0; z-index: 999999; /* WP admin bar (99999) üstünde */
}
.ulu-pos-modal[hidden],
.ulu-pos-pay-mixed[hidden],
.ulu-pos-pay-extra[hidden],
[hidden].ulu-pos-pay-extra,
*[hidden] { display: none !important; }  /* Tüm CSS display kurallarını override et */
body.ulu-pos-modal-open { overflow: hidden; }

/* Standart küçük modallar (transfer, ödeme) için ortalı kutu */
.ulu-pos-modal.is-small {
	display: flex; align-items: center; justify-content: center;
}
.ulu-pos-modal.is-small .ulu-pos-modal-bg {
	position: absolute; inset: 0; background: rgba(15,23,42,.55);
	backdrop-filter: blur(2px);
}
.ulu-pos-modal.is-small .ulu-pos-modal-box {
	position: relative; background: #fff; border-radius: 12px;
	width: min(96vw, 520px); max-height: 92vh;
	display: flex; flex-direction: column;
	box-shadow: 0 20px 60px rgba(0,0,0,.30);
	overflow: hidden;
}

/* Detay modali — TAM EKRAN POS arayüzü */
#ulu-pos-modal {
	background: #f1f5f9; /* WP admin yan menüsünün üstünü kaplamak için fixed */
}
#ulu-pos-modal .ulu-pos-modal-bg { display: none; }
#ulu-pos-modal .ulu-pos-modal-box {
	position: absolute; inset: 0;
	background: #f1f5f9;
	display: flex; flex-direction: column;
	border-radius: 0;
}

/* Üst başlık şeridi */
.ulu-pos-modal-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 20px; background: #0f172a; color: #fff;
	flex-wrap: wrap; gap: 10px;
}
.ulu-pos-modal-head h2 {
	margin: 0; font-size: 22px; color: #f59e0b; line-height: 1;
}
.ulu-pos-head-meta {
	display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
	font-size: 13px;
}
.ulu-pos-head-meta .pill {
	background: rgba(255,255,255,.08); border-radius: 999px;
	padding: 6px 12px; display: inline-flex; gap: 6px; align-items: center;
}
.ulu-pos-head-meta input[type="number"] {
	width: 60px; background: #fff; color: #0f172a;
	border: none; border-radius: 4px; padding: 4px 6px;
	font-weight: 700; font-size: 14px; text-align: center;
}
.ulu-pos-x {
	background: rgba(255,255,255,.08); border: none; color: #fff;
	font-size: 16px; cursor: pointer; padding: 8px 14px; border-radius: 6px;
}
.ulu-pos-x:hover { background: rgba(255,255,255,.18); color: #f59e0b; }

/* Üç sütunlu gövde */
#ulu-pos-modal .ulu-pos-modal-body {
	flex: 1; display: grid;
	grid-template-columns: 132px 180px 1fr 380px;
	gap: 0; overflow: hidden; padding: 0;
	min-height: 0;
}
@media (max-width: 1100px) {
	#ulu-pos-modal .ulu-pos-modal-body { grid-template-columns: 116px 140px 1fr 320px; }
	.ulu-pos-modal-head h2 { font-size: 18px; }
}
@media (max-width: 800px) {
	#ulu-pos-modal .ulu-pos-modal-body { grid-template-columns: 1fr; grid-template-rows: auto auto auto 1fr; }
}

/* En sol: hızlı işlem çubuğu */
.ulu-pos-side-actions {
	background: #0f172a; border-right: 1px solid #1e293b;
	padding: 12px 10px; overflow: auto;
	display: flex; flex-direction: column; gap: 10px;
}
.ulu-pos-side-btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	background: #1e293b; color: #e2e8f0; border: 1px solid #334155; border-radius: 12px;
	padding: 14px 6px; font-size: 13px; font-weight: 700; cursor: pointer; line-height: 1.2;
	transition: background .12s, transform .05s;
}
.ulu-pos-side-btn i { font-size: 20px; color: #38bdf8; }
.ulu-pos-side-btn:hover { background: #263449; }
.ulu-pos-side-btn:active { transform: scale(.97); }
.ulu-pos-side-btn.danger { border-color: #7f1d1d; }
.ulu-pos-side-btn.danger i { color: #f87171; }
@media (max-width: 800px) {
	.ulu-pos-side-actions { flex-direction: row; border-right: 0; border-bottom: 1px solid #1e293b; }
	.ulu-pos-side-btn { flex: 1; padding: 10px 4px; font-size: 12px; }
}

/* Hesap Parçala — adet çipleri */
.ulu-part-row { margin-bottom: 14px; }
.ulu-part-head { font-size: 13px; font-weight: 700; color: #334155; margin-bottom: 8px; }
.ulu-part-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ulu-part-chip {
	background: #f1f5f9; border: 2px solid #cbd5e1; border-radius: 10px;
	padding: 10px 14px; font-size: 13px; font-weight: 600; color: #334155; cursor: pointer;
	transition: all .1s;
}
.ulu-part-chip:hover { border-color: #94a3b8; }
.ulu-part-chip.is-on { background: #0f766e; border-color: #0f766e; color: #fff; }
.ulu-part-chip.is-on b { color: #fff; }

/* Sol sütun: kategoriler */
.ulu-pos-cats-col {
	background: #fff; border-right: 1px solid #e5e7eb;
	overflow: auto; padding: 10px;
	display: flex; flex-direction: column; gap: 6px;
}
.ulu-pos-cat-btn {
	background: #f8fafc; border: 2px solid transparent; border-radius: 10px;
	padding: 14px 10px; cursor: pointer;
	font-size: 13px; font-weight: 600; color: #0f172a;
	text-align: center; line-height: 1.3;
	min-height: 60px; display: flex; align-items: center; justify-content: center;
	transition: all .12s;
}
.ulu-pos-cat-btn:hover { background: #fff7ed; border-color: #fed7aa; }
.ulu-pos-cat-btn.is-active {
	background: #f59e0b; color: #fff; border-color: #d97706;
	box-shadow: 0 2px 6px rgba(245,158,11,.4);
}

/* Orta sütun: ürünler */
.ulu-pos-products-col {
	background: #f8fafc; overflow: auto; padding: 12px;
	display: flex; flex-direction: column; gap: 10px;
	min-width: 0;
}
.ulu-pos-search-bar {
	background: #fff; border-radius: 10px; padding: 6px;
	display: flex; gap: 6px; align-items: center;
	box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.ulu-pos-search-bar input {
	flex: 1; border: none; padding: 8px 10px; font-size: 14px; outline: none;
}
.ulu-pos-products-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 8px;
}
.ulu-pos-product {
	background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
	padding: 12px 10px; cursor: pointer; text-align: left;
	display: flex; flex-direction: column; gap: 4px;
	min-height: 78px; transition: all .12s;
	box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.ulu-pos-product:hover {
	border-color: #f59e0b; transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(245,158,11,.15);
}
.ulu-pos-product:active { transform: translateY(0); background: #fffbeb; }
.ulu-pos-product .name { font-size: 13px; font-weight: 600; color: #0f172a; line-height: 1.3; }
.ulu-pos-product .price { font-size: 13px; color: #f59e0b; font-weight: 800; margin-top: auto; }

/* Sağ sütun: aktif hesap */
.ulu-pos-bill-col {
	background: #fff; border-left: 1px solid #e5e7eb;
	display: flex; flex-direction: column;
	min-height: 0;
}
.ulu-pos-bill-head {
	padding: 10px 14px; border-bottom: 1px solid #e5e7eb;
	background: #fef3c7;
	display: flex; justify-content: space-between; align-items: center;
	font-size: 13px; font-weight: 700; color: #92400e;
}
.ulu-pos-bill-list {
	flex: 1; overflow: auto; padding: 8px 12px;
}
.ulu-pos-bill-empty {
	text-align: center; color: #94a3b8; padding: 60px 20px;
}
.ulu-pos-bill-empty i { font-size: 36px; opacity: .4; margin-bottom: 10px; }

.ulu-pos-order {
	margin-bottom: 12px;
}
.ulu-pos-order-head {
	background: #f8fafc; padding: 6px 10px; font-size: 11px; color: #64748b;
	display: flex; justify-content: space-between; align-items: center;
	border-radius: 6px 6px 0 0; border: 1px solid #e5e7eb; border-bottom: none;
}
.ulu-pos-order-head .cancel-link {
	color: #dc2626; cursor: pointer; font-size: 11px; background: none; border: none;
}
.ulu-pos-order-head .cancel-link:hover { text-decoration: underline; }

.ulu-pos-line {
	display: grid; grid-template-columns: 1fr auto auto;
	gap: 6px; padding: 8px 10px; align-items: center;
	border: 1px solid #e5e7eb; border-bottom: none;
	background: #fff;
}
.ulu-pos-line:last-of-type { border-radius: 0 0 6px 6px; border-bottom: 1px solid #e5e7eb; }
.ulu-pos-line .name {
	font-weight: 600; color: #0f172a; font-size: 13px;
	display: flex; flex-direction: column; gap: 2px;
}
.ulu-pos-line .item-note {
	font-size: 11px; color: #64748b; font-style: italic;
	display: flex; align-items: center; gap: 4px;
}
.ulu-pos-line .item-note button {
	background: none; border: none; color: #2563eb; cursor: pointer; padding: 0; font-size: 11px;
}
.ulu-pos-line .qty-controls {
	display: inline-flex; gap: 2px; align-items: center;
}
.ulu-pos-line .qty-controls button {
	width: 28px; height: 28px; border-radius: 6px; border: 1px solid #cbd5e1;
	background: #fff; cursor: pointer; padding: 0; font-size: 14px; font-weight: 700;
	color: #0f172a;
}
.ulu-pos-line .qty-controls button:hover { background: #f1f5f9; }
.ulu-pos-line .qty-controls .qty-val {
	min-width: 28px; text-align: center; font-weight: 700;
	background: #f8fafc; padding: 4px; border-radius: 4px;
}
.ulu-pos-line .price-total {
	font-weight: 800; color: #f59e0b;
	min-width: 70px; text-align: right; font-size: 13px;
}

/* Alt: toplam + aksiyon butonları */
.ulu-pos-bill-foot {
	border-top: 2px solid #0f172a; background: #f8fafc; padding: 14px;
}
.ulu-pos-bill-totals {
	display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px;
}
.ulu-pos-bill-totals .row {
	display: flex; justify-content: space-between; font-size: 13px;
}
.ulu-pos-bill-totals .row.total {
	font-size: 22px; font-weight: 800; color: #0f172a; padding-top: 8px;
	border-top: 1px solid #e5e7eb; margin-top: 6px;
}
.ulu-pos-bill-totals .row.total .amt { color: #f59e0b; }
.ulu-pos-bill-totals .row.per-person {
	font-size: 12px; color: #64748b; padding-top: 4px;
}

.ulu-pos-bill-actions {
	display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
}
.ulu-pos-bill-actions .ulu-pos-action-btn {
	padding: 12px 8px;
	border-radius: 8px; border: 1px solid #cbd5e1; background: #fff;
	font-weight: 600; font-size: 13px; cursor: pointer;
	display: flex; align-items: center; justify-content: center; gap: 6px;
	transition: all .12s;
	color: #0f172a;
}
.ulu-pos-bill-actions .ulu-pos-action-btn:hover { background: #f1f5f9; }
.ulu-pos-bill-actions .ulu-pos-action-btn.primary {
	background: #dc2626; color: #fff; border-color: #991b1b;
	grid-column: span 2;
	font-size: 15px; padding: 14px;
	box-shadow: 0 2px 6px rgba(220,38,38,.35);
}
.ulu-pos-bill-actions .ulu-pos-action-btn.primary:hover {
	background: #b91c1c;
	box-shadow: 0 4px 12px rgba(220,38,38,.45);
}
.ulu-pos-bill-actions .ulu-pos-action-btn.danger { color: #dc2626; }

/* =====================================================================
   Küçük modallar: ödeme / aktarma / hesap bölme / not
   ===================================================================== */
.ulu-pos-modal.is-small .ulu-pos-modal-head {
	padding: 14px 18px;
}
.ulu-pos-modal.is-small .ulu-pos-modal-head h2 { font-size: 17px; }
.ulu-pos-modal.is-small .ulu-pos-modal-body { padding: 16px 18px; overflow: auto; }

.ulu-pos-pay-totals {
	background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 12px;
	font-size: 14px;
}
.ulu-pos-pay-totals .grand {
	font-size: 24px; font-weight: 800; color: #f59e0b; margin-top: 6px;
}
.ulu-pos-pay-methods {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
	margin: 8px 0 14px;
}
.ulu-pos-pay-methods label {
	background: #fff; border: 2px solid #cbd5e1; border-radius: 8px;
	padding: 14px; cursor: pointer; text-align: center;
	display: flex; align-items: center; gap: 8px; justify-content: center;
	font-weight: 600; transition: all .12s;
}
.ulu-pos-pay-methods label:has(input:checked) {
	border-color: #f59e0b; background: #fffbeb; color: #92400e;
}
.ulu-pos-pay-methods label input { display: none; }
.ulu-pos-pay-mixed, .ulu-pos-pay-extra {
	display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px;
}
.ulu-pos-pay-mixed label, .ulu-pos-pay-extra label,
.ulu-pos-modal-body > label {
	display: block; font-size: 12px; color: #475569; margin-top: 8px;
}
.ulu-pos-pay-mixed input, .ulu-pos-pay-extra input,
#ulu-pos-note, #ulu-pos-item-note {
	width: 100%; padding: 10px 12px; border-radius: 6px; border: 1px solid #cbd5e1;
	margin-top: 4px; font-size: 14px;
}

/* Hesap bölme modali */
.ulu-pos-split-info {
	background: #f0f9ff; border: 1px solid #bae6fd;
	border-radius: 8px; padding: 12px; margin-bottom: 12px;
	font-size: 13px; color: #0c4a6e;
}
.ulu-pos-split-info strong {
	font-size: 22px; color: #0369a1;
	display: block; margin-top: 4px;
}

/* =====================================================================
   Rezervasyon aksiyon butonları (üst şerit)
   ===================================================================== */
.ulu-resv-actions {
	display: flex; gap: 10px; flex-wrap: wrap;
	margin: 14px 0 18px;
}
.ulu-resv-btn {
	border: none;
	border-radius: 10px;
	padding: 11px 18px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: inherit;
	letter-spacing: .01em;
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
	white-space: nowrap;
}
.ulu-resv-btn i { font-size: 15px; }
.ulu-resv-btn:hover  { transform: translateY(-2px); }
.ulu-resv-btn:active { transform: translateY(0); }
.ulu-resv-btn:focus-visible { outline: 3px solid rgba(245,158,11,.45); outline-offset: 2px; }

.ulu-resv-btn-primary {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
	color: #fff;
	box-shadow: 0 4px 12px rgba(245, 158, 11, .35), inset 0 1px 0 rgba(255,255,255,.18);
}
.ulu-resv-btn-primary:hover {
	box-shadow: 0 6px 18px rgba(245, 158, 11, .45), inset 0 1px 0 rgba(255,255,255,.22);
	filter: brightness(1.05);
}

.ulu-resv-btn-ghost {
	background: #fff;
	color: #92400e;
	border: 1.5px solid #fcd34d;
	box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.ulu-resv-btn-ghost:hover {
	background: #fffbeb;
	border-color: #f59e0b;
	color: #b45309;
	box-shadow: 0 4px 12px rgba(245, 158, 11, .15);
}

@media (max-width: 600px) {
	.ulu-resv-btn { padding: 10px 14px; font-size: 13px; }
	.ulu-resv-btn span { font-size: 13px; }
}

/* Rezervasyon formu */
#ulu-pos-resv-form label {
	display: block; font-size: 12px; color: #475569; margin-top: 8px; font-weight: 600;
}
#ulu-pos-resv-form input,
#ulu-pos-resv-form select,
#ulu-pos-resv-form textarea {
	width: 100%; padding: 9px 12px; border-radius: 6px; border: 1px solid #cbd5e1;
	margin-top: 4px; font-size: 14px; box-sizing: border-box; font-weight: 400;
}

/* Rezervasyon listesi satırları */
.ulu-pos-resv-row {
	background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
	padding: 12px 14px; margin-bottom: 8px;
	display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: start;
	font-size: 13px;
}
.ulu-pos-resv-row .when {
	font-weight: 800; color: #92400e; font-size: 15px;
}
.ulu-pos-resv-row .who { color: #0f172a; font-weight: 600; margin-top: 2px; }
.ulu-pos-resv-row .meta { color: #64748b; font-size: 12px; margin-top: 2px; }
.ulu-pos-resv-row .actions { display: flex; gap: 4px; flex-wrap: wrap; }
.ulu-pos-resv-row .actions button {
	background: #fff; border: 1px solid #cbd5e1; border-radius: 5px;
	padding: 4px 10px; cursor: pointer; font-size: 11px; font-weight: 600;
}
.ulu-pos-resv-row.is-arrived  { border-color: #16a34a; background: #f0fdf4; }
.ulu-pos-resv-row.is-cancelled,
.ulu-pos-resv-row.is-no_show  { opacity: .6; background: #f8fafc; }
.ulu-pos-resv-row .badge {
	display: inline-block; background: #fef3c7; color: #92400e;
	padding: 2px 8px; border-radius: 999px; font-size: 10px; font-weight: 700;
	margin-left: 6px; text-transform: uppercase;
}
.ulu-pos-resv-row.is-arrived .badge   { background: #dcfce7; color: #166534; }
.ulu-pos-resv-row.is-cancelled .badge { background: #fee2e2; color: #991b1b; }
.ulu-pos-resv-row.is-no_show .badge   { background: #fed7aa; color: #9a3412; }

/* History */
.ulu-pos-history-list {
	max-height: 50vh; overflow: auto;
}
.ulu-pos-history-row {
	background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 6px;
	padding: 10px 12px; margin-bottom: 6px;
	display: flex; justify-content: space-between; align-items: center;
	font-size: 13px;
}
.ulu-pos-history-row .meta { color: #64748b; font-size: 12px; }
.ulu-pos-history-row .total { font-weight: 800; color: #0369a1; }
.ulu-pos-history-row button {
	background: #fff; border: 1px solid #cbd5e1; border-radius: 4px;
	padding: 4px 10px; cursor: pointer; font-size: 11px;
}

/* =====================================================================
   Kalem seçimi — tıkla ve sadece seçili kalemler için ödeme al
   ===================================================================== */
.ulu-pos-line {
	cursor: pointer;
	transition: background .15s, border-left-color .15s;
	border-left: 4px solid transparent;
}
.ulu-pos-line:hover:not(.is-locked) { background: #f8fafc; }
.ulu-pos-line.is-selected {
	background: #fef3c7 !important;
	border-left-color: #f59e0b !important;
}
.ulu-pos-line.is-selected:hover { background: #fde68a !important; }
/* Kısmi qty seçimi — satırın altında "X/Y ödenecek" badge */
.ulu-pos-line[data-sel-qty] { position: relative; padding-bottom: 22px !important; }
.ulu-pos-line[data-sel-qty]::after {
	content: attr(data-sel-qty) " ödenecek";
	position: absolute;
	left: 10px; bottom: 4px;
	background: #f59e0b;
	color: #fff;
	font-size: 10px; font-weight: 800;
	padding: 2px 8px;
	border-radius: 999px;
	letter-spacing: .02em;
	pointer-events: none;
}
/* === Kalem-bazlı ödeme tracking (paid_qty) === */
/* Tam ödenmiş kalem — gri, üstü çizili, kullanıcı bu satırı görüyor ama ödenmiş */
.ulu-pos-line.is-fully-paid {
	background: linear-gradient(90deg, #f0fdf4, #ecfdf5) !important;
	border-left: 4px solid #16a34a;
	opacity: .8;
}
.ulu-pos-line.is-fully-paid .name {
	color: #166534;
	text-decoration: line-through;
	text-decoration-color: rgba(22,101,52,.5);
}
.ulu-pos-line.is-fully-paid .price-total {
	color: #16a34a;
	text-decoration: line-through;
	text-decoration-color: rgba(22,163,74,.4);
}
.ulu-pos-line.is-fully-paid .qty-controls { opacity: .4; pointer-events: none; }

/* Kısmen ödenmiş kalem — turuncu vurgulu, kalan qty görünür */
.ulu-pos-line.is-partially-paid {
	background: linear-gradient(90deg, #fffbeb, #fef3c7) !important;
	border-left: 4px solid #f59e0b;
}
.ulu-pos-line.is-partially-paid .name { color: #92400e; font-weight: 700; }
.ulu-pos-line.is-partially-paid .price-total { color: #b45309; font-weight: 800; }

/* "ÖDENDİ" / "N adet ödendi" rozeti — kalem adının yanında */
.ulu-line-paid-badge {
	display: inline-block;
	background: #16a34a; color: #fff;
	padding: 2px 7px; border-radius: 4px;
	font-size: 9px; font-weight: 800; letter-spacing: .05em;
	margin-left: 6px; vertical-align: middle;
	white-space: nowrap;
}
.ulu-line-paid-badge.ulu-line-paid-partial {
	background: #f59e0b;
}

/* Ödenmiş satır (pos_partial source) — yeşil tonlu, belirgin ÖDENDİ rozeti */
.ulu-pos-line.is-locked {
	cursor: default;
	background: linear-gradient(90deg, #dcfce7, #f0fdf4) !important;
	border-left: 4px solid #16a34a !important;
	position: relative;
}
.ulu-pos-line.is-locked:hover { background: linear-gradient(90deg, #dcfce7, #f0fdf4) !important; }
.ulu-pos-line.is-locked .name { color: #065f46; font-weight: 600; }
.ulu-pos-line.is-locked .price-total {
	color: #16a34a !important;
	font-weight: 800;
}
.ulu-pos-line.is-locked .qty-controls { display: none; }  /* qty kontrolleri gereksiz - ödendi */
.ulu-pos-line.is-locked::after {
	content: '✓ ÖDENDİ';
	position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
	background: #16a34a; color: #fff;
	padding: 2px 8px; border-radius: 4px;
	font-size: 9px; font-weight: 900; letter-spacing: .05em;
	pointer-events: none;
}
/* Pos_partial siparişi başlığı — yeşil tonlu, "Sipariş İptal" yerine "Ödeme" */
.ulu-pos-order.is-payment .ulu-pos-order-head {
	background: linear-gradient(90deg, #dcfce7, #bbf7d0);
	color: #065f46;
	border-color: #86efac;
}
.ulu-pos-order.is-payment .ulu-pos-order-head .cancel-link {
	color: #166534; font-size: 10px; opacity: .7;
}
.ulu-pos-order.is-payment .ulu-pos-order-head .cancel-link:hover { opacity: 1; }

.ulu-pos-sel-bar {
	background: linear-gradient(135deg, #fef3c7, #fde68a);
	border: 1px solid #fcd34d;
	color: #78350f;
	padding: 10px 14px;
	margin: 0 12px 8px;
	border-radius: 8px;
	display: flex; justify-content: space-between; align-items: center;
	gap: 10px;
	font-size: 13px; font-weight: 700;
	box-shadow: 0 2px 6px rgba(245,158,11,.18);
	flex-wrap: wrap;
}
.ulu-pos-sel-bar[hidden] { display: none; }
.ulu-pos-sel-bar strong { color: #b45309; font-weight: 800; }
.ulu-pos-sel-info {
	display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.ulu-pos-sel-hint {
	color: #92400e; font-size: 11px; font-weight: 600;
}
.ulu-pos-sel-hint strong { color: #b45309; }
.ulu-pos-sel-bar button {
	background: #fff;
	border: 1px solid #fcd34d;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 12px; font-weight: 700;
	cursor: pointer;
	color: #b45309;
	display: inline-flex; align-items: center; gap: 6px;
	transition: all .15s;
	flex-shrink: 0;
}
.ulu-pos-sel-bar button:hover {
	background: #fde68a;
	border-color: #f59e0b;
}

/* Toplam pill'inde seçili tutarı vurgulamak için */
.ulu-pos-head-meta .pill.is-partial {
	background: #fef3c7 !important;
	color: #92400e !important;
}

/* =====================================================================
   Hesap kapatma — iki buton (Parça Ödeme / Tam Kapat)
   ===================================================================== */
.ulu-pos-pay-actions {
	margin-top: 14px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.ulu-pos-pay-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border-radius: 8px;
	border: 2px solid transparent;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	font-family: inherit;
	transition: all .15s;
	white-space: nowrap;
}
/* Parça ödeme — sarı tonu (sekonder ama aktif) */
.ulu-pos-pay-btn-partial {
	background: #fef3c7;
	color: #92400e;
	border-color: #fcd34d;
}
.ulu-pos-pay-btn-partial:hover:not(:disabled) {
	background: #fde68a;
	border-color: #f59e0b;
	transform: translateY(-1px);
}
.ulu-pos-pay-btn-partial.is-highlighted {
	background: linear-gradient(135deg, #f59e0b, #d97706);
	color: #fff;
	border-color: #b45309;
	box-shadow: 0 4px 12px rgba(245,158,11,.4);
}
/* Tam kapat — yeşil (primary, hesap kapanır) */
.ulu-pos-pay-btn-full {
	background: #fff;
	color: #065f46;
	border-color: #10b981;
}
.ulu-pos-pay-btn-full:hover:not(:disabled) {
	background: #ecfdf5;
	border-color: #047857;
	transform: translateY(-1px);
}
.ulu-pos-pay-btn-full.is-highlighted {
	background: linear-gradient(135deg, #10b981, #047857);
	color: #fff;
	border-color: #065f46;
	box-shadow: 0 4px 12px rgba(16,185,129,.4);
}
/* Pasif görünüm — vurgulanmamış buton (click yine alır, validasyon handler içinde) */
.ulu-pos-pay-btn:not(.is-highlighted) {
	opacity: .92;
}

@media (max-width: 480px) {
	.ulu-pos-pay-actions { gap: 6px; }
	.ulu-pos-pay-btn {
		flex: 1 1 calc(50% - 3px);
		justify-content: center;
		padding: 11px 8px;
		font-size: 12px;
	}
	.ulu-pos-pay-btn[data-pos-close-pay] { flex: 1 1 100%; }
}

/* =====================================================================
   EKSTRA MOBİL İYİLEŞTİRMELER — küçük telefon (≤480px)
   Mevcut tablet/desktop kuralları aynen kalır, sadece ek override.
   ===================================================================== */

/* iOS Safari address-bar bug — 100vh yerine 100dvh ile gerçek viewport */
@supports (height: 100dvh) {
	.ulu-kasa-frontend,
	.ulu-kasa-login-fullscreen {
		height: 100dvh;
	}
}
/* iPhone notch / Android navigation bar safe area */
@supports (padding: max(0px)) {
	.ulu-kasa-frontend {
		padding-bottom: env(safe-area-inset-bottom);
	}
}

@media (max-width: 480px) {
	/* Login formu — küçük ekran */
	.ulu-kasa-login-fullscreen { padding: 10px; }
	.ulu-kasa-login-fullscreen .ulu-kasa-login,
	.ulu-kasa-login-fullscreen form {
		max-width: 100% !important;
		width: 100% !important;
		padding: 18px !important;
	}
	.ulu-kasa-login-fullscreen input,
	.ulu-kasa-login-fullscreen button[type="submit"] {
		font-size: 16px !important; /* iOS auto-zoom önle (16px alt sınır) */
		padding: 12px 14px !important;
	}

	/* Üst sayaç bar — daha sıkı 2 sütun */
	.ulu-pos-stats { gap: 4px; margin: 8px 0; }
	.ulu-pos-stat {
		flex: 1 1 calc(50% - 2px); padding: 6px 8px;
	}
	.ulu-pos-stat strong { font-size: 16px; }
	.ulu-pos-stat small { font-size: 9px; line-height: 1.2; }

	/* Masa ızgarası — daha kompakt */
	.ulu-pos-grid {
		grid-template-columns: repeat(auto-fill, minmax(95px, 1fr));
		gap: 5px;
	}
	.ulu-pos-tile { min-height: 68px; padding: 10px 6px; }
	.ulu-pos-tile .tile-no { font-size: 15px; }
	.ulu-pos-tile .tile-total { font-size: 12px; margin-top: 2px; }
	.ulu-pos-tile .tile-waiter { display: none; } /* küçük ekranda yer kazan */
	.ulu-pos-legend { font-size: 10px; gap: 8px; padding: 6px 2px; }
	.ulu-pos-legend .dot { width: 11px; height: 11px; }

	/* Adisyon modal başlığı */
	.ulu-pos-modal-head { padding: 6px 8px; gap: 4px; }
	.ulu-pos-modal-head h2 { font-size: 13px; }
	.ulu-pos-head-meta { font-size: 10px; gap: 3px; flex-wrap: wrap; }
	.ulu-pos-head-meta .pill { padding: 3px 7px; font-size: 10px; }
	.ulu-pos-x { padding: 4px 8px; font-size: 12px; min-width: 38px; }

	/* Adisyon body — kategoriler üstte yatay scroll, ürünler orta, hesap alt */
	#ulu-pos-modal .ulu-pos-modal-body {
		grid-template-rows: 48px minmax(0, 1fr) auto;
	}
	.ulu-pos-cats-col {
		max-height: 48px; padding: 4px;
	}
	.ulu-pos-cat-btn {
		min-height: 38px; padding: 6px 10px; font-size: 11px;
	}
	.ulu-pos-products-col { padding: 6px; max-height: 36vh; }
	.ulu-pos-products-grid {
		grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
		gap: 4px;
	}
	.ulu-pos-product { padding: 6px 5px; min-height: 54px; }
	.ulu-pos-product .name { font-size: 11px; line-height: 1.25; }
	.ulu-pos-product .price { font-size: 10px; }
	.ulu-pos-search-bar { padding: 4px; }
	.ulu-pos-search-bar input { font-size: 16px; padding: 6px 8px; } /* iOS auto-zoom */

	/* Bill listesi */
	.ulu-pos-bill-foot { padding: 10px 8px; }
	.ulu-pos-bill-totals .row { font-size: 12px; }
	.ulu-pos-bill-totals .row.total { font-size: 18px; }
	.ulu-pos-bill-actions { gap: 4px; }
	.ulu-pos-bill-actions .ulu-pos-action-btn {
		padding: 8px 4px; font-size: 10px; gap: 3px;
	}
	.ulu-pos-bill-actions .ulu-pos-action-btn.primary {
		font-size: 12px; padding: 10px 6px;
	}
	.ulu-pos-bill-actions .ulu-pos-action-btn i { font-size: 12px; }

	.ulu-pos-line { padding: 6px 8px; gap: 4px; }
	.ulu-pos-line .name { font-size: 12px; }
	.ulu-pos-line .qty-controls button { width: 32px; height: 32px; }
	.ulu-pos-line .price-total { font-size: 12px; min-width: 60px; }

	/* Rezervasyon aksiyonları */
	.ulu-resv-actions { gap: 6px; margin: 8px 0 12px; }
	.ulu-resv-btn { padding: 8px 12px; font-size: 12px; gap: 6px; }
	.ulu-resv-btn i { font-size: 13px; }

	/* Form input'ları iOS auto-zoom önle */
	.ulu-pos-pay-mixed input, .ulu-pos-pay-extra input,
	#ulu-pos-note, #ulu-pos-item-note,
	#ulu-pos-resv-form input,
	#ulu-pos-resv-form select,
	#ulu-pos-resv-form textarea {
		font-size: 16px; padding: 10px 12px;
	}

	/* Yatay scroll engelle */
	body.ulu-kasa-takeover { overflow-x: hidden !important; }
}

/* Çok dar ekran (≤360px – eski telefonlar) */
@media (max-width: 360px) {
	.ulu-pos-stat strong { font-size: 14px; }
	.ulu-pos-stat small { font-size: 8px; }
	.ulu-pos-grid { grid-template-columns: repeat(auto-fill, minmax(85px, 1fr)); }
	.ulu-pos-tile .tile-no { font-size: 14px; }
	.ulu-pos-products-grid { grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)); }
	.ulu-pos-bill-actions .ulu-pos-action-btn { font-size: 9px; padding: 7px 3px; }
}

/* =====================================================================
   Alınan Ödemeler bölümü — pos_partial siparişleri ana listeden ayır
   ===================================================================== */
.ulu-pos-paid-section {
	margin-top: 14px;
	background: #ecfdf5;
	border: 1px solid #86efac;
	border-radius: 10px;
	padding: 10px 12px;
}
.ulu-pos-paid-head {
	display: flex; align-items: center; gap: 8px;
	font-size: 13px; color: #065f46;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px dashed #86efac;
}
.ulu-pos-paid-head i { color: #16a34a; }
.ulu-pos-paid-head .ulu-pos-paid-total {
	margin-left: auto;
	font-size: 15px; font-weight: 800; color: #065f46;
}
.ulu-pos-paid-row {
	display: flex; align-items: center; gap: 10px;
	padding: 8px 4px;
	border-bottom: 1px dashed #d1fae5;
	font-size: 13px;
}
.ulu-pos-paid-row:last-child { border-bottom: none; }
.ulu-pos-paid-row .ulu-pos-paid-icon {
	width: 26px; height: 26px;
	background: #16a34a; color: #fff;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; flex-shrink: 0;
}
.ulu-pos-paid-row .ulu-pos-paid-info {
	flex: 1; display: flex; flex-direction: column;
}
.ulu-pos-paid-row .ulu-pos-paid-info strong {
	color: #065f46; font-weight: 700;
}
.ulu-pos-paid-row .ulu-pos-paid-info small {
	color: #047857; font-size: 11px;
}
.ulu-pos-paid-row .ulu-pos-paid-amount {
	color: #065f46; font-weight: 800; font-size: 14px;
}
.ulu-pos-paid-row .ulu-pos-paid-undo {
	background: #fff; color: #dc2626;
	border: 1px solid #fca5a5; border-radius: 4px;
	padding: 4px 8px; cursor: pointer;
	font-size: 11px;
}
.ulu-pos-paid-row .ulu-pos-paid-undo:hover {
	background: #fee2e2;
}
